comparison 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
comparison
equal deleted inserted replaced
159:41fa23706d9c 160:1b980f5071a0
5 let g:gutentags_ctags_executable = get(g:, 'gutentags_ctags_executable', 'ctags') 5 let g:gutentags_ctags_executable = get(g:, 'gutentags_ctags_executable', 'ctags')
6 let g:gutentags_tagfile = get(g:, 'gutentags_tagfile', 'tags') 6 let g:gutentags_tagfile = get(g:, 'gutentags_tagfile', 'tags')
7 let g:gutentags_auto_set_tags = get(g:, 'gutentags_auto_set_tags', 1) 7 let g:gutentags_auto_set_tags = get(g:, 'gutentags_auto_set_tags', 1)
8 let g:gutentags_ctags_options_file = get(g:, 'gutentags_ctags_options_file', '.gutctags') 8 let g:gutentags_ctags_options_file = get(g:, 'gutentags_ctags_options_file', '.gutctags')
9 let g:gutentags_ctags_check_tagfile = get(g:, 'gutentags_ctags_check_tagfile', 0) 9 let g:gutentags_ctags_check_tagfile = get(g:, 'gutentags_ctags_check_tagfile', 0)
10 let g:gutentags_ctags_extra_args = get(g:, 'gutentags_ctags_extra_args', [])
11 let g:gutentags_ctags_post_process_cmd = get(g:, 'gutentags_ctags_post_process_cmd', '')
10 12
11 " }}} 13 " }}}
12 14
13 " Gutentags Module Interface {{{ 15 " Gutentags Module Interface {{{
14 16
100 " Pass the Gutentags recursive options file before the project 102 " Pass the Gutentags recursive options file before the project
101 " options file, so that users can override --recursive. 103 " options file, so that users can override --recursive.
102 " Omit --recursive if this project uses a file list command. 104 " Omit --recursive if this project uses a file list command.
103 let l:cmd .= ' -o "' . gutentags#get_res_file('ctags_recursive.options') . '"' 105 let l:cmd .= ' -o "' . gutentags#get_res_file('ctags_recursive.options') . '"'
104 endif 106 endif
107 if !empty(g:gutentags_ctags_extra_args)
108 let l:cmd .= ' -O '.shellescape(join(g:gutentags_ctags_extra_args))
109 endif
110 if !empty(g:gutentags_ctags_post_process_cmd)
111 let l:cmd .= ' -P '.shellescape(g:gutentags_ctags_post_process_cmd)
112 endif
105 let l:proj_options_file = a:proj_dir . '/' . 113 let l:proj_options_file = a:proj_dir . '/' .
106 \g:gutentags_ctags_options_file 114 \g:gutentags_ctags_options_file
107 if filereadable(l:proj_options_file) 115 if filereadable(l:proj_options_file)
108 let l:proj_options_file = s:process_options_file( 116 let l:proj_options_file = s:process_options_file(
109 \a:proj_dir, l:proj_options_file) 117 \a:proj_dir, l:proj_options_file)