Mercurial > vim-gutentags
changeset 137:98cec968205b
Fix some problems on Windows with the custom file lister:
* Redirection to a file from a `for` loop happens every loop, so we need to
initialize the output file first, and then use `>>` in the loop.
* Fix typo when cleaning up files.
* Add some logging.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 09 Aug 2016 22:12:28 -0700 |
parents | 286e5b3095d0 |
children | 851aec42057d |
files | plat/win32/update_tags.cmd |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/plat/win32/update_tags.cmd Fri Jul 22 19:25:05 2016 -0700 +++ b/plat/win32/update_tags.cmd Tue Aug 09 22:12:28 2016 -0700 @@ -83,7 +83,7 @@ if exist "%TAGS_FILE%" ( if not ["%UPDATED_SOURCE%"]==[""] ( echo Removing references to: %UPDATED_SOURCE% >> %LOG_FILE% - echo type "%TAGS_FILE%" ^| findstr /V /C:"%UPDATED_SOURCE%" ^> "%TAGS_FILE%.temp" >> %LOG_FILE% + echo findstr /V /C:"%UPDATED_SOURCE%" "%TAGS_FILE%" ^> "%TAGS_FILE%.temp" >> %LOG_FILE% findstr /V /C:"%UPDATED_SOURCE%" "%TAGS_FILE%" > "%TAGS_FILE%.temp" set CTAGS_ARGS=%CTAGS_ARGS% --append "%UPDATED_SOURCE%" set INDEX_WHOLE_PROJECT=0 @@ -91,13 +91,17 @@ ) if ["%INDEX_WHOLE_PROJECT%"]==["1"] ( set CTAGS_ARGS=%CTAGS_ARGS% "%PROJECT_ROOT%" - if NOT ["%FILE_LIST_CMD%"]==[""] ( + if not ["%FILE_LIST_CMD%"]==[""] ( + echo Running custom file lister >> %LOG_FILE% if ["%PROJECT_ROOT%"]==["."] ( + echo call %FILE_LIST_CMD% ^> %TAGS_FILE%.files >> %LOG_FILE% call %FILE_LIST_CMD% > %TAGS_FILE%.files ) else ( rem Potentially useful: rem http://stackoverflow.com/questions/9749071/cmd-iterate-stdin-piped-from-another-command - %FILE_LIST_CMD% | for /F "usebackq delims=" %%F in (`findstr "."`) do @echo %PROJECT_ROOT%\%%F > %TAGS_FILE%.files + echo call %FILE_LIST_CMD% -- with loop for prepending project root >> %LOG_FILE% + type NUL > %TAGS_FILE%.files + for /F "usebackq delims=" %%F in (`%FILE_LIST_CMD%`) do @echo %PROJECT_ROOT%\%%F >> %TAGS_FILE%.files ) set CTAGS_ARGS=%CTAGS_ARGS% -L %TAGS_FILE%.files ) @@ -121,7 +125,7 @@ :Unlock echo Unlocking tags file... >> %LOG_FILE% -del /F "%TAGS_FILE.files" "%TAGS_FILE%.lock" +del /F "%TAGS_FILE%.files" "%TAGS_FILE%.lock" if ERRORLEVEL 1 ( echo ERROR: Unable to remove file lock. >> %LOG_FILE% )