Mercurial > vim-gutentags
changeset 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 | 41fa23706d9c |
children | 97e1b266d045 |
files | autoload/gutentags/ctags.vim plat/win32/update_tags.cmd |
diffstat | 2 files changed, 29 insertions(+), 1 deletions(-) [+] |
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)
--- a/plat/win32/update_tags.cmd Fri Feb 17 17:20:57 2017 -0800 +++ b/plat/win32/update_tags.cmd Fri Feb 17 17:21:57 2017 -0800 @@ -12,6 +12,7 @@ set FILE_LIST_CMD= set FILE_LIST_CMD_IS_ABSOLUTE=0 set UPDATED_SOURCE= +set POST_PROCESS_CMD= set PAUSE_BEFORE_EXIT=0 set LOG_FILE= @@ -65,6 +66,16 @@ shift goto :LoopParseArgs ) +if [%1]==[-O] ( + set CTAGS_ARGS=%CTAGS_ARGS% %~2 + shift + goto :LoopParseArgs +) +if [%1]==[-P] ( + set POST_PROCESS_CMD=%~2 + shift + goto :LoopParseArgs +) echo Invalid Argument: %1 goto :Usage @@ -98,7 +109,6 @@ set CTAGS_ARGS=%CTAGS_ARGS% "%PROJECT_ROOT%" if not ["%FILE_LIST_CMD%"]==[""] ( echo Running custom file lister >> %LOG_FILE% - echo Licensee is %LICENSEE_ID% >> %LOG_FILE% set use_raw_list=0 if ["%PROJECT_ROOT%"]==["."] set use_raw_list=1 if ["%FILE_LIST_CMD_IS_ABSOLUTE%"]==["1"] set use_raw_list=1 @@ -125,6 +135,16 @@ goto :Unlock ) +if not ["%POST_PROCESS_CMD%"]==[""] ( + echo Running post process >> %LOG_FILE% + echo call %POST_PROCESS_CMD% %TAGS_FILE%.temp >> %LOG_FILE% + call %POST_PROCESS_CMD% %TAGS_FILE%.temp >> %LOG_FILE% 2>&1 + if ERRORLEVEL 1 ( + echo ERROR: Post process returned non-zero code. >> %LOG_FILE% + goto :Unlock + ) +) + echo Replacing tags file >> %LOG_FILE% echo move /Y "%TAGS_FILE%.temp" "%TAGS_FILE%" >> %LOG_FILE% move /Y "%TAGS_FILE%.temp" "%TAGS_FILE%" >> %LOG_FILE% 2>&1