g0xa52a2a / sf.vim Goto Github PK
View Code? Open in Web Editor NEWThe silent quickfix plugin.
The silent quickfix plugin.
If you have something like the following in your configuration it will
not be triggered by this plugin.
autocmd QuickFixCmdPost [^l]* nested cwindow
This is because before executing doautocmd
a check is performed to see
if there are associated events. This will be in the from of
exists('QuickFixCmdPost#grep')
or exists('QuickFixCmdPost#make')
,
neither of which will match the above as exists()
doesn't evaluate the
pattern.
The reason this check is done is to avoid Vim printing "No matching
autocommands" if there are no associated events. This must be checked
using exists()
as if we were to use :silent
it would also silence
any potential output from events. This cannot be handled with :try
either as this isn't a hard error.
There can be other subtle issues using such a pattern as a means to
trigger events for anything that is not location list related, e.g
romainl/vim-qf#93. It is for this reason that
I won't be expanding the check to try and catch the pattern above. If
you have something like this in your configuration I recommend
explicitly listing events.
One way to do this is as follows, though it's just an example, handle
this however you want.
let s:cmds =
[ , 'caddbuffer'
\ , 'caddexpr'
\ , 'caddfile'
\ , 'cbuffer'
\ , 'cexpr'
\ , 'cfile'
\ , 'cgetbuffer'
\ , 'cgetexpr'
\ , 'cgetfile'
\ , 'cscope'
\ , 'grep'
\ , 'grepadd'
\ , 'helpgrep'
\ , 'make'
\ , 'vimgrep'
\ , 'vimgrepadd'
\ ]
augroup cwindow
autocmd!
augroup END
execute 'autocmd cwindow QuickFixCmdPost' join(s:cmds, ',') 'nested cwindow'
unlet s:cmds
Frankly the overlap between the location list and quickfix list in Vim
is a mess but we just have to deal with it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.