1
0

updater for Windows v4.5 (#407)

support commenting-out active user-prefs with the merge function
This commit is contained in:
earthlng 2018-04-25 21:28:09 +02:00 committed by GitHub
parent bb4bf835b0
commit 94f86465e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,7 +3,7 @@ TITLE ghacks user.js updater
REM ## ghacks-user.js updater for Windows REM ## ghacks-user.js updater for Windows
REM ## author: @claustromaniac REM ## author: @claustromaniac
REM ## version: 4.4 REM ## version: 4.5
REM ## instructions: https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.3-Updater-Scripts REM ## instructions: https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.3-Updater-Scripts
SET _myname=%~n0 SET _myname=%~n0
@ -75,7 +75,7 @@ ECHO:
ECHO: ######################################## ECHO: ########################################
ECHO: #### user.js Updater for Windows #### ECHO: #### user.js Updater for Windows ####
ECHO: #### by claustromaniac #### ECHO: #### by claustromaniac ####
ECHO: #### v4.4 #### ECHO: #### v4.5 ####
ECHO: ######################################## ECHO: ########################################
ECHO: ECHO:
SET /A "_line=0" SET /A "_line=0"
@ -191,8 +191,9 @@ GOTO :EOF
REM ############ Merge function ############ REM ############ Merge function ############
:merge :merge
SETLOCAL DisableDelayedExpansion SETLOCAL DisableDelayedExpansion
FOR /F tokens^=2^,^*^ delims^=^'^" %%G IN ('FINDSTR /R /C:"^user_pref[ ]*\([ ]*[\"'].*[\"'][ ]*,.*\)[ ]*;" "%~1"') DO (SET "[%%G]=%%H")
FOR /F tokens^=2^,^*^ delims^=^' %%G IN ('FINDSTR /R /C:"^//// --- comment-out --- '[^'][^']*'.*" "%~1"') DO (SET "__unset__%%G=1")
( (
FOR /F tokens^=2^,^*^ delims^=^'^" %%G IN ('FINDSTR /B /R /C:"user_pref.*\)[ ]*;" "%~1"') DO (IF NOT "%%H"=="" (SET "%%G=%%H"))
FOR /F "tokens=1,* delims=:" %%I IN ('FINDSTR /N "^" "%~1"') DO ( FOR /F "tokens=1,* delims=:" %%I IN ('FINDSTR /N "^" "%~1"') DO (
SET "_temp=%%J" SET "_temp=%%J"
SETLOCAL EnableDelayedExpansion SETLOCAL EnableDelayedExpansion
@ -205,11 +206,15 @@ SETLOCAL DisableDelayedExpansion
ENDLOCAL ENDLOCAL
FOR /F tokens^=2^ delims^=^'^" %%K IN ("%%J") DO ( FOR /F tokens^=2^ delims^=^'^" %%K IN ("%%J") DO (
IF NOT "_user.js.parrot"=="%%K" ( IF NOT "_user.js.parrot"=="%%K" (
IF DEFINED %%K ( IF DEFINED __unset__%%K (
SETLOCAL EnableDelayedExpansion ECHO://%%J
FOR /F "delims=" %%L IN ("!%%K!") DO ( ) ELSE (
ENDLOCAL & ECHO:user_pref("%%K"%%L IF DEFINED [%%K] (
SET "%%K=" SETLOCAL EnableDelayedExpansion
FOR /F "delims=" %%L IN ("![%%K]!") DO (
ENDLOCAL & ECHO:user_pref("%%K"%%L
SET "[%%K]="
)
) )
) )
) ELSE (ECHO:%%J) ) ELSE (ECHO:%%J)