Vim "mini-plugin": Task file lists
Page created: 2023-06-16Back to vim or vim-mini-plugins.
Custom syntax highlighting
This one is incredibly silly and incredibly helpful. At work, we have a lot
of source files. When I start a new task, I make a VimWiki page for it
using a script that pre-populates the page with a title and that sort of
thing. It also creates a block with FILELIST … ENDFILELIST
.
In that block, I put file paths related to the task along with comments about that file. It looks like this:
Notes, blah blah blah. FILELIST foo/bar.js <--- added new function biz/baz.html todo: add section biz/baz.js Note: Surprisingly not related to baz.html ENDFILELIST
Jump to file
The coloring helps me see the file names easily, which is important because
I also use them as a menu! I just put the cursor over the path and type
g f
which is the standard Vim command to "go to the file" under the
cursor!
Another important shortcut not shown here because it is highly custom to my
setup: I also defined g w
to "go back to the wiki page" for the current task.
Source
function! FileListMiniPlug() syn region sweetFileList start=/FILELIST/ end=/ENDFILELIST/ keepend syn match sweetFile /^[^ ]\+/ containedin=sweetFileList contained syn match sweetNote / .\+/ containedin=sweetFileList contained syn match sweetSyntax /FILELIST\|ENDFILELIST/ containedin=sweetFileList contained hi link sweetFile Special hi link sweetNote Comment hi link sweetSyntax Keyword endfunction # apply the "mini-plugin" when we enter a vimwiki page: augroup sweet autocmd! autocmd FileType vimwiki call FileListMiniPlug() augroup END
I laughed out loud when I saw the "sweet" names in the above vimscript. I hadn’t seen this code for years. It’s just been quietly working in the background for all that time.