From a9f4901e25ccb3f04fcf14e71d7e763ce3746126 Mon Sep 17 00:00:00 2001 From: Jakub Fojt Date: Sat, 4 Jul 2020 21:24:48 +0200 Subject: [PATCH] vimrc: Disable gutentags when ctags unavailable --- .vimrc | 124 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 64 insertions(+), 60 deletions(-) diff --git a/.vimrc b/.vimrc index b496415..fa524da 100755 --- a/.vimrc +++ b/.vimrc @@ -113,71 +113,75 @@ command! -bang -range=% -complete=file -nargs=* W ,write " Gutentags configuration -let g:gutentags_add_default_project_roots = 0 -let g:gutentags_project_root = ['.git'] +if !executable('ctags') + let g:gutentags_enabled = 0 +else + let g:gutentags_add_default_project_roots = 0 + let g:gutentags_project_root = ['.git'] -let g:gutentags_generate_on_new = 1 -let g:gutentags_generate_on_missing = 1 -let g:gutentags_generate_on_write = 1 -let g:gutentags_generate_on_empty_buffer = 0 + let g:gutentags_generate_on_new = 1 + let g:gutentags_generate_on_missing = 1 + let g:gutentags_generate_on_write = 1 + let g:gutentags_generate_on_empty_buffer = 0 -" Put all tags in one place -let g:gutentags_cache_dir = expand('~/.cache/vim/ctags/') + " Put all tags in one place + let g:gutentags_cache_dir = expand('~/.cache/vim/ctags/') -" Extra tag information -let g:gutentags_ctags_extra_args = [ - \ '--tag-relative=yes', - \ '--fields=+ailmnS', - \ ] + " Extra tag information + let g:gutentags_ctags_extra_args = [ + \ '--tag-relative=yes', + \ '--fields=+ailmnS', + \ ] -let g:gutentags_ctags_exclude = [ - \ '*.git', '*.svg', '*.hg', - \ '*/tests/*', - \ 'build', - \ 'dist', - \ '*sites/*/files/*', - \ 'bin', - \ 'node_modules', - \ 'bower_components', - \ 'cache', - \ 'compiled', - \ 'docs', - \ 'example', - \ 'bundle', - \ 'vendor', - \ '*.md', - \ '*-lock.json', - \ '*.lock', - \ '*bundle*.js', - \ '*build*.js', - \ '.*rc*', - \ '*.json', - \ '*.min.*', - \ '*.map', - \ '*.bak', - \ '*.zip', - \ '*.pyc', - \ '*.class', - \ '*.sln', - \ '*.Master', - \ '*.csproj', - \ '*.tmp', - \ '*.csproj.user', - \ '*.cache', - \ '*.pdb', - \ 'tags*', - \ 'cscope.*', - \ '*.css', - \ '*.less', - \ '*.scss', - \ '*.exe', '*.dll', - \ '*.mp3', '*.ogg', '*.flac', - \ '*.swp', '*.swo', - \ '*.bmp', '*.gif', '*.ico', '*.jpg', '*.png', - \ '*.rar', '*.zip', '*.tar', '*.tar.gz', '*.tar.xz', '*.tar.bz2', - \ '*.pdf', '*.doc', '*.docx', '*.ppt', '*.pptx', - \ ] + let g:gutentags_ctags_exclude = [ + \ '*.git', '*.svg', '*.hg', + \ '*/tests/*', + \ 'build', + \ 'dist', + \ '*sites/*/files/*', + \ 'bin', + \ 'node_modules', + \ 'bower_components', + \ 'cache', + \ 'compiled', + \ 'docs', + \ 'example', + \ 'bundle', + \ 'vendor', + \ '*.md', + \ '*-lock.json', + \ '*.lock', + \ '*bundle*.js', + \ '*build*.js', + \ '.*rc*', + \ '*.json', + \ '*.min.*', + \ '*.map', + \ '*.bak', + \ '*.zip', + \ '*.pyc', + \ '*.class', + \ '*.sln', + \ '*.Master', + \ '*.csproj', + \ '*.tmp', + \ '*.csproj.user', + \ '*.cache', + \ '*.pdb', + \ 'tags*', + \ 'cscope.*', + \ '*.css', + \ '*.less', + \ '*.scss', + \ '*.exe', '*.dll', + \ '*.mp3', '*.ogg', '*.flac', + \ '*.swp', '*.swo', + \ '*.bmp', '*.gif', '*.ico', '*.jpg', '*.png', + \ '*.rar', '*.zip', '*.tar', '*.tar.gz', '*.tar.xz', '*.tar.bz2', + \ '*.pdf', '*.doc', '*.docx', '*.ppt', '*.pptx', + \ ] +endif " fugitive.vim looks for tags in .git " set tags +=~/tags " Recursively move upwards in tree, searching in subfolders for tags file