A Vim plugin to execute ctags command on any events for any directories.
- Support multiple entry points, e.g., current directory and directory for libraries
- Execute
ctagscommand onautocmdevents you specify - Execute
ctagscommand asynchronously - Wait to execute
ctagscommand if the entry point's command is running
Execute ctags command for all entry points.
Execute ctags command for specified entry point.
entry-point is a string which you want to execute ctags for.
delay is milliseconds for waiting to execute ctags for the entry-point. Default: 300
call parallel_auto_ctags#create("pwd")
call parallel_auto_ctags#create("libs", 1000)Remove lock files and temp files, which are created to avoid duplicated executing ctags command.
Note: This function is called on VimLeavePre.
Command name or executable filepath to execute ctags.
Default: "ctags"
Filename of tagfile.
Default: "tags"
Options of ctags command.
Specify this by List.
Default: []
let g:parallel_auto_ctags#options = [
\ "--fields=n",
\ "--tag-relative=yes",
\ "--recurse=yes",
\ "--sort=yes",
\ ]Entry point names and each entry point's configurations.
Specify this by Dictionary.
Default: {}
Its keys are entry point names. Its values are their configurations. Each value should be a Dictionary which can have path, options, events, and silent keys.
path(String/required)- Path to target directory of the entry point. A tag file will be created in this directory.
options(List/optional)- Entry point specific options of
ctagscommand. Unless defined,g:parallel_auto_ctags#optionsis used instead.
- Entry point specific options of
events(List/optional)- A list of
autocmd-eventsto executectagsautomatically. - Default:
[]
- A list of
silent(Boolean/optional)- Whether executing
ctagssilently or not. - Default:
v:false
- Whether executing
let g:parallel_auto_ctags#entry_points = {
\ "pwd": {
\ "path": ".",
\ "options": ["--exclude=node_modules"],
\ "events": ["VimEnter", "BufWritePost"],
\ "silent": v:true,
\ },
\ "libs": {
\ "path": "/path/to/libraries",
\ "options": ["--exclude=test", "--languages=something"],
\ "events": ["VimEnter"],
\ "silent": v:false,
\ },
\ }If you use dein.vim:
call dein#add("kg8m/vim-parallel-auto-ctags")- Universal Ctags (recommended) or other ctags
- Newer Vim
- Linux or Mac