diff autoload/gutentags/ctags.vim @ 160:1b980f5071a0

Post-processing for `tags` files, extra args for `ctags`.
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 17 Feb 2017 17:21:57 -0800
parents bba76de4371a
children cbc1ebe23ef1
line wrap: on
line diff
--- a/autoload/gutentags/ctags.vim	Fri Feb 17 17:20:57 2017 -0800
+++ b/autoload/gutentags/ctags.vim	Fri Feb 17 17:21:57 2017 -0800
@@ -7,6 +7,8 @@
 let g:gutentags_auto_set_tags = get(g:, 'gutentags_auto_set_tags', 1)
 let g:gutentags_ctags_options_file = get(g:, 'gutentags_ctags_options_file', '.gutctags')
 let g:gutentags_ctags_check_tagfile = get(g:, 'gutentags_ctags_check_tagfile', 0)
+let g:gutentags_ctags_extra_args = get(g:, 'gutentags_ctags_extra_args', [])
+let g:gutentags_ctags_post_process_cmd = get(g:, 'gutentags_ctags_post_process_cmd', '')
 
 " }}}
 
@@ -102,6 +104,12 @@
             " Omit --recursive if this project uses a file list command.
             let l:cmd .= ' -o "' . gutentags#get_res_file('ctags_recursive.options') . '"'
         endif
+        if !empty(g:gutentags_ctags_extra_args)
+            let l:cmd .= ' -O '.shellescape(join(g:gutentags_ctags_extra_args))
+        endif
+        if !empty(g:gutentags_ctags_post_process_cmd)
+            let l:cmd .= ' -P '.shellescape(g:gutentags_ctags_post_process_cmd)
+        endif
         let l:proj_options_file = a:proj_dir . '/' .
                     \g:gutentags_ctags_options_file
         if filereadable(l:proj_options_file)