fuzzyfinder に render_max_limit が欲しい
fuzzyfinder に render_max_limit が欲しい
なぁ。MRU を多用してるんだけど、マッチしすぎると、filter/sort よりも CUI のレンダリングに時間がかかる。ので render_max_limit を作った。
let g:FuzzyFinderOptions.Base.render_max_limit = 20
とか .vimrc に書いておけば20件しかレンダリングしなくなる。もしよかったら本家のオプションにも取り込んでいただけるとうれしいです!>d:id:ns9tks
function! g:FuzzyFinderMode.Base.complete(findstart, base)
if a:findstart
return 0
elseif !self.exists_prompt(a:base) || len(self.remove_prompt(a:base)) < self.min_length
return []
endif
call s:HighlightPrompt(self.prompt, self.prompt_highlight)
" FIXME: ExpandAbbrevMap duplicates index
let result = []
for expanded_base in s:ExpandAbbrevMap(self.remove_prompt(a:base), self.abbrev_map)
let result += self.on_complete(expanded_base)
endfor
call sort(result, 's:CompareRanks')
if self.render_max_limit
let result = result[0:self.render_max_limit-1]
endif
if empty(result)
call s:HighlightError()
else
call feedkeys("\\", 'n')
endif
return result
endfunction