command-t icon indicating copy to clipboard operation
command-t copied to clipboard

Hitting Ctrl-F to flush the Command-T cache doesn't pay attention to changed &wildignore setting

Open mgedmin opened this issue 7 years ago • 2 comments

I've upgraded command-t and was disappointed to see it no longer ignores my ./client/node_modules tree (which is huge and causes the 200,000 file limit warning message). I then read :h command-t again and noticed that my &wildignore setting was incorrect (I used set wildignore+=**/node_modules/** where I should've just used */node_modules/*).

I fixed my ~/.vimrc, reset wildignore to the default (:set wildignore&), sourced ~/.vim/vimrc again, then tried to flush the Command-T cache by doing <Leader>t followed by Ctrl+F.

I expected not to see node modules any more, but instead I got the 200,000 file warning again plus everything.

After wasting 15 minutes trying to figure out what I was doing wrong I finally quit vim and restarted it -- and discovered that Command-T started paying attention and ignoring the node_modules directory.

mgedmin avatar Jun 23 '17 15:06 mgedmin

(For the record, using :CommandTFlush instead of Ctrl+F does pay attention to changes in &wildignore)

mgedmin avatar Jun 23 '17 15:06 mgedmin

Yeah, the whole OO hierarchy orchestrated by the controller class is a tangled mess of statefulness. <C-f> is not intended to be a full reset, but rather just instructs the scanner to scan again. On the other hand, :CommandTFlush is able to blow away a bit more state.

The whole thing needs to be rewritten, to be honest. It started out simply, and as is often the way, gradually accrued complexity over time, to the point where it has definitely outgrown itself, so to speak. See also #290, which is about toggling a setting while the match listing is open: I hacked together a sample showing how the desired functionality could be added (https://gist.github.com/wincent/2c9d67ce73f381093a0342322d858137) but I am hesitant to ship it because it really needs to be rewritten from the ground up if we're going to support this kind of live-update of the settings scenario and expect things to work well.

wincent avatar Jun 23 '17 15:06 wincent

Given the big rewrite for v6.0.x, I'm closing all older issues as there is unlikely to be anything significant happening on the 5-x-devel branch from here on[^patches]. Feedback issue for 6.0.x is here:

  • https://github.com/wincent/command-t/issues/393

[^patches]: Patches and PRs would be welcome, but my personal efforts are going to be directed towards main.

wincent avatar Aug 26 '22 21:08 wincent