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
ctags
command onautocmd
events you specify - Execute
ctags
command asynchronously - Wait to execute
ctags
command 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
ctags
command. Unless defined,g:parallel_auto_ctags#options
is used instead.
- Entry point specific options of
events
(List
/optional)- A list of
autocmd-events
to executectags
automatically. - Default:
[]
- A list of
silent
(Boolean
/optional)- Whether executing
ctags
silently 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