changeset 94:9def999915f2

Fix incremental indexing on save (thanks @humeniuc!).
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 20 Feb 2016 12:41:26 -0800
parents edd488d8d37e
children 74528efaa5eb
files plat/unix/update_tags.sh plat/win32/update_tags.cmd
diffstat 2 files changed, 14 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/plat/unix/update_tags.sh	Wed Feb 17 23:30:24 2016 -0800
+++ b/plat/unix/update_tags.sh	Sat Feb 20 12:41:26 2016 -0800
@@ -69,18 +69,23 @@
 # Remove lock and temp file if script is stopped unexpectedly.
 trap "errorcode=$?; rm -f \"$TAGS_FILE.lock\" \"$TAGS_FILE.temp\"; exit $errorcode" INT TERM EXIT
 
+INDEX_WHOLE_PROJECT=1
 if [ -f "$TAGS_FILE" ]; then
     if [ "$UPDATED_SOURCE" != "" ]; then
         echo "Removing references to: $UPDATED_SOURCE"
         echo "grep -v "$UPDATED_SOURCE" \"$TAGS_FILE\" > \"$TAGS_FILE.temp\""
         grep -v "$UPDATED_SOURCE" "$TAGS_FILE" > "$TAGS_FILE.temp"
         CTAGS_ARGS="$CTAGS_ARGS --append \"$UPDATED_SOURCE\""
+        INDEX_WHOLE_PROJECT=0
     fi
 fi
+if [ $INDEX_WHOLE_PROJECT -eq 1 ]; then
+    CTAGS_ARGS="$CTAGS_ARGS \"$PROJECT_ROOT\""
+fi
 
 echo "Running ctags"
-echo "$CTAGS_EXE -f \"$TAGS_FILE.temp\" $CTAGS_ARGS \"$PROJECT_ROOT\""
-$CTAGS_EXE -f "$TAGS_FILE.temp" $CTAGS_ARGS "$PROJECT_ROOT"
+echo "$CTAGS_EXE -f \"$TAGS_FILE.temp\" $CTAGS_ARGS"
+$CTAGS_EXE -f "$TAGS_FILE.temp" $CTAGS_ARGS
 
 echo "Replacing tags file"
 echo "mv -f \"$TAGS_FILE.temp\" \"$TAGS_FILE\""
--- a/plat/win32/update_tags.cmd	Wed Feb 17 23:30:24 2016 -0800
+++ b/plat/win32/update_tags.cmd	Sat Feb 20 12:41:26 2016 -0800
@@ -73,18 +73,23 @@
 echo Locking tags file... > %LOG_FILE%
 echo locked > "%TAGS_FILE%.lock"
 
+set INDEX_WHOLE_PROJECT=1
 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%
         findstr /V /C:"%UPDATED_SOURCE%" "%TAGS_FILE%" > "%TAGS_FILE%.temp"
         set CTAGS_ARGS=%CTAGS_ARGS% --append "%UPDATED_SOURCE%"
+        set INDEX_WHOLE_PROJECT=0
     )
 )
+if ["%INDEX_WHOLE_PROJECT%"]==["1"] (
+    set CTAGS_ARGS=%CTAGS_ARGS% "%PROJECT_ROOT%"
+)
 
 echo Running ctags >> %LOG_FILE%
-echo call "%CTAGS_EXE%" -f "%TAGS_FILE%.temp" %CTAGS_ARGS% "%PROJECT_ROOT%" >> %LOG_FILE%
-call "%CTAGS_EXE%" -f "%TAGS_FILE%.temp" %CTAGS_ARGS% "%PROJECT_ROOT%" >> %LOG_FILE% 2>&1
+echo call "%CTAGS_EXE%" -f "%TAGS_FILE%.temp" %CTAGS_ARGS% >> %LOG_FILE%
+call "%CTAGS_EXE%" -f "%TAGS_FILE%.temp" %CTAGS_ARGS% >> %LOG_FILE% 2>&1
 if ERRORLEVEL 1 (
     echo ERROR: Ctags executable returned non-zero code. >> %LOG_FILE%
     goto :Unlock