@ECHO OFF SETLOCAL DISABLEDELAYEDEXPANSION IF "%1" == "install" ( CALL :Install ) ELSE ( IF "%1" == "pull" ( CALL :Pull ) ELSE ( ECHO usage: %0 ^ ) ) GOTO :EOF :Install ECHO [Info] :: Installing dotfiles XCOPY /E /I /Y /Q "config\nvim" "%LOCALAPPDATA%\nvim" > NUL COPY /Y "config\starship.toml" "%APPDATA%\" > NUL COPY /Y "config\clink\inputrc" "%LOCALAPPDATA%\.inputrc" > NUL CALL :Patch %APPDATA%\starship.toml WHERE /q "starship" IF %ERRORLEVEL% equ 0 ( IF NOT EXIST "%LOCALAPPDATA%\clink" ( MKDIR "%LOCALAPPDATA%\clink" ) COPY "config\clink\starship.lua" "%LOCALAPPDATA%\clink\" > NUL ) GOTO :EOF :Pull ECHO [Info] :: Pulling dotfile changes XCOPY /E /I /Y "%LOCALAPPDATA%\nvim" "config\nvim" COPY /Y "%LOCALAPPDATA%\.inputrc" "config\clink\inputrc" GOTO :EOF :Patch SET "PREFIX=#%COMPUTERNAME% " SET "REPLACEMENT=" SET "TEMPFILE=%TEMP%\tmpdots%RANDOM%" FOR /f "DELIMS=" %%A in ('FINDSTR /N "^" "%1"') DO ( SET "LINE=%%A" SETLOCAL ENABLEDELAYEDEXPANSION SET "LINE=!LINE:%PREFIX%=%REPLACEMENT%!" SET "LINE=!LINE:*:=!" ECHO:!LINE!>> %TEMPFILE% ENDLOCAL ) MOVE /Y %TEMPFILE% %1 > NUL GOTO :EOF