annotate runtime/pack/dist/opt/cfilter/plugin/cfilter.vim @ 35294:87914e4b8178 default tip

check.vim complains about overlong comment lines Commit: https://github.com/vim/vim/commit/32a5faa6d7592795c6ec77e44dc0357b92b8a681 Author: Christian Brabandt <cb@256bit.org> Date: Thu May 30 09:51:47 2024 +0200 check.vim complains about overlong comment lines Problem: check.vim complains about overlong comment lines Solution: only check the length of non-commented lines Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 30 May 2024 10:00:04 +0200
parents 01cbbc20df1f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
1 vim9script
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
2
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
3 # cfilter.vim: Plugin to filter entries from a quickfix/location list
32820
01cbbc20df1f Use string interpolation (#12823)
Christian Brabandt <cb@256bit.org>
parents: 29352
diff changeset
4 # Last Change: August 16, 2023
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
5 # Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
6 # Version: 2.0
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
7 #
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
8 # Commands to filter the quickfix list:
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
9 # :Cfilter[!] /{pat}/
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
10 # Create a new quickfix list from entries matching {pat} in the current
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
11 # quickfix list. Both the file name and the text of the entries are
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
12 # matched against {pat}. If ! is supplied, then entries not matching
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
13 # {pat} are used. The pattern can be optionally enclosed using one of
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
14 # the following characters: ', ", /. If the pattern is empty, then the
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
15 # last used search pattern is used.
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
16 # :Lfilter[!] /{pat}/
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
17 # Same as :Cfilter but operates on the current location list.
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
18 #
14595
2b9c586918f8 patch 8.1.0311: filtering entries in a quickfix list is not easy
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
20 def Qf_filter(qf: bool, searchpat: string, bang: string)
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
21 var Xgetlist: func
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
22 var Xsetlist: func
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
23 var cmd: string
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
24 var firstchar: string
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
25 var lastchar: string
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
26 var pat: string
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
27 var title: string
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
28 var Cond: func
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
29 var items: list<any>
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
30
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
31 if qf
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
32 Xgetlist = function('getqflist')
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
33 Xsetlist = function('setqflist')
32820
01cbbc20df1f Use string interpolation (#12823)
Christian Brabandt <cb@256bit.org>
parents: 29352
diff changeset
34 cmd = $':Cfilter{bang}'
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
35 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
36 Xgetlist = function('getloclist', [0])
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
37 Xsetlist = function('setloclist', [0])
32820
01cbbc20df1f Use string interpolation (#12823)
Christian Brabandt <cb@256bit.org>
parents: 29352
diff changeset
38 cmd = $':Lfilter{bang}'
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
39 endif
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
40
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
41 firstchar = searchpat[0]
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
42 lastchar = searchpat[-1 :]
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
43 if firstchar == lastchar &&
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
44 (firstchar == '/' || firstchar == '"' || firstchar == "'")
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
45 pat = searchpat[1 : -2]
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
46 if pat == ''
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
47 # Use the last search pattern
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
48 pat = @/
14595
2b9c586918f8 patch 8.1.0311: filtering entries in a quickfix list is not easy
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
49 endif
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
50 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
51 pat = searchpat
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
52 endif
14595
2b9c586918f8 patch 8.1.0311: filtering entries in a quickfix list is not easy
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
53
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
54 if pat == ''
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
55 return
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
56 endif
14637
0ecb909e3249 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14595
diff changeset
57
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
58 if bang == '!'
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
59 Cond = (_, val) => val.text !~# pat && bufname(val.bufnr) !~# pat
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
60 else
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
61 Cond = (_, val) => val.text =~# pat || bufname(val.bufnr) =~# pat
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
62 endif
14637
0ecb909e3249 Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 14595
diff changeset
63
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
64 items = filter(Xgetlist(), Cond)
32820
01cbbc20df1f Use string interpolation (#12823)
Christian Brabandt <cb@256bit.org>
parents: 29352
diff changeset
65 title = $'{cmd} /{pat}/'
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
66 Xsetlist([], ' ', {title: title, items: items})
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
67 enddef
14595
2b9c586918f8 patch 8.1.0311: filtering entries in a quickfix list is not easy
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
68
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
69 command! -nargs=+ -bang Cfilter Qf_filter(true, <q-args>, <q-bang>)
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
70 command! -nargs=+ -bang Lfilter Qf_filter(false, <q-args>, <q-bang>)
14595
2b9c586918f8 patch 8.1.0311: filtering entries in a quickfix list is not easy
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
71
29352
912224cab37f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 14637
diff changeset
72 # vim: shiftwidth=2 sts=2 expandtab