Atags.vim Save

:collision: A plugin that simplifies tags generation on neovim

Project README

atags.vim is a Neovim plugin that helps you creating and updating your tag files.

Installation

Using vim-plug

Plug 'fntlnz/atags.vim'

Customization

Customize the generation command

The generation command is a list of commands that will be executed to generate your tags.

This is the default generation command:

let g:atags_build_commands_list = [
    \"ctags -R -f tags.tmp",
    \"awk 'length($0) < 400' tags.tmp > tags",
    \"rm tags.tmp"
    \]

Use cases

Generate tags with <Leader>t

map <Leader>t :call atags#generate()<cr>

Generate tags everytime a file is being written.

autocmd BufWritePost * call atags#generate()

Generation examples

Generate tags using stags within a Docker container

let g:atags_build_commands_list = [
    \"docker run --rm -v $PWD:/project -w /project fntlnz/pfff:latest stags -lang php -o tags -vim ."
    \]
]

Generate tags only for files that are not in .gitignore

let g:atags_build_commands_list = [
    \ 'ag -g "" | ctags -L - --fields=+l -f tags.tmp',
    \ 'awk "length($0) < 400" tags.tmp > tags',
    \ 'rm tags.tmp'
    \ ]

Generate tags only for PHP files that are not in .gitignore

let g:atags_build_commands_list = [
    \ 'ag --php -g "" | ctags -L - --fields=+l -f tags.tmp',
    \ 'awk "length($0) < 400" tags.tmp > tags',
    \ 'rm tags.tmp'
    \ ]

Work in progress

  • Support for different tag generators. At the moment this supports only ctags.
  • Use tpope/vim-dispatch to be compatible with vim that doesn't have jobstart
  • Write the docs
Open Source Agenda is not affiliated with "Atags.vim" Project. README Source: fntlnz/atags.vim
Stars
40
Open Issues
4
Last Commit
7 years ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating