1
0
Files
dotfiles/dots.bat

59 lines
1.2 KiB
Batchfile
Raw Normal View History

@ECHO OFF
SETLOCAL DISABLEDELAYEDEXPANSION
IF "%1" == "install" (
CALL :Install
) ELSE (
IF "%1" == "pull" (
CALL :Pull
) ELSE (
ECHO usage: %0 ^<install^|pull^|diff^>
)
)
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