cmder/vendor/init.bat

119 lines
4.0 KiB
Batchfile
Raw Normal View History

:: Init Script for cmd.exe
:: Created as part of cmder project
:: !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
:: !!! Use "%CMDER_ROOT%\config\user-profile.cmd" to add your own startup commands
:: Find root dir
@if not defined CMDER_ROOT (
for /f "delims=" %%i in ("%ConEmuDir%\..\..") do @set CMDER_ROOT=%%~fi
)
:: Remove trailing '\'
@if "%CMDER_ROOT:~-1%" == "\" SET CMDER_ROOT=%CMDER_ROOT:~0,-1%
2013-12-08 04:04:38 +08:00
:: Change the prompt style
:: Mmm tasty lamb
2015-02-23 20:23:39 +08:00
@prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m{lamb}$S$E[0m
2013-07-09 15:43:50 +08:00
:: Pick right version of clink
2013-09-07 23:39:24 +08:00
@if "%PROCESSOR_ARCHITECTURE%"=="x86" (
2013-07-09 15:43:50 +08:00
set architecture=86
) else (
set architecture=64
)
:: Tell the user about the clink config files...
@if not exist "%CMDER_ROOT%\config\settings" (
echo Generating clink initial settings in %CMDER_ROOT%\config\settings
echo Additional *.lua files in %CMDER_ROOT%\config are loaded on startup.
)
2013-07-09 15:43:50 +08:00
:: Run clink
@"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
2013-07-09 15:43:50 +08:00
:: Prepare for git-for-windows
2013-11-04 01:04:36 +08:00
:: I do not even know, copypasted from their .bat
2013-09-07 23:52:50 +08:00
@set PLINK_PROTOCOL=ssh
2013-12-05 19:03:13 +08:00
@if not defined TERM set TERM=cygwin
2013-07-16 05:45:25 +08:00
:: Check if msysgit is installed
@if exist "%ProgramFiles%\Git" (
set "GIT_INSTALL_ROOT=%ProgramFiles%\Git"
) else if exist "%ProgramFiles(x86)%\Git" (
set "GIT_INSTALL_ROOT=%ProgramFiles(x86)%\Git"
) else if exist "%USERPROFILE%\AppData\Local\Programs\Git" (
set "GIT_INSTALL_ROOT=%USERPROFILE%\AppData\Local\Programs\Git"
) else if exist "%CMDER_ROOT%\vendor\git-for-windows" (
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
)
:: Add git to the path
@if defined GIT_INSTALL_ROOT (
2015-10-14 21:35:51 +08:00
set "PATH=%GIT_INSTALL_ROOT%\bin;%GIT_INSTALL_ROOT%\usr\bin;%GIT_INSTALL_ROOT%\usr\share\vim\vim74;%PATH%"
:: define SVN_SSH so we can use git svn with ssh svn repositories
if not defined SVN_SSH set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe"
)
2013-07-09 15:43:50 +08:00
:: Enhance Path
@set "PATH=%CMDER_ROOT%\bin;%PATH%;%CMDER_ROOT%\"
2013-07-16 05:45:25 +08:00
2015-11-25 06:38:26 +08:00
:: make sure we have an example file
@if not exist "%CMDER_ROOT%\config\aliases" (
echo Creating intial aliases in %CMDER_ROOT%\config\aliases
copy "%CMDER_ROOT%\vendor\aliases.example" "%CMDER_ROOT%\config\aliases" > null
)
2015-11-25 06:38:26 +08:00
2013-07-16 05:45:25 +08:00
:: Add aliases
@doskey /macrofile="%CMDER_ROOT%\config\aliases"
2013-07-09 15:43:50 +08:00
:: See vendor\git-for-windows\README.portable for why we do this
:: Basically we need to execute this post-install.bat because we are
:: manually extracting the archive rather than executing the 7z sfx
@if exist "%CMDER_ROOT%\vendor\git-for-windows\post-install.bat" (
echo Running Git for Windows one time Post Install....
cd /d "%CMDER_ROOT%\vendor\git-for-windows\"
"%CMDER_ROOT%\vendor\git-for-windows\git-bash.exe" --no-needs-console --hide --no-cd --command=post-install.bat
cd /d %USERPROFILE%
)
2013-11-16 00:06:15 +08:00
:: Set home path
2014-03-12 03:08:24 +08:00
@if not defined HOME set HOME=%USERPROFILE%
:: This is either a env variable set by the user or the result of
:: cmder.exe setting this variable due to a commandline argument or a "cmder here"
2014-03-12 03:12:35 +08:00
@if defined CMDER_START (
@cd /d "%CMDER_START%"
)
:: Drop *.bat and *.cmd files into "%CMDER_ROOT%\config\profile.d"
:: to run them at startup.
@if not exist "%CMDER_ROOT%\config\profile.d" (
mkdir "%CMDER_ROOT%\config\profile.d"
2016-03-02 10:35:55 +08:00
)
@pushd "%CMDER_ROOT%\config\profile.d"
for /f "usebackq" %%x in ( `dir /b *.bat *.cmd` ) do (
REM @echo Calling %CMDER_ROOT%\config\profile.d\%%x...
@call "%CMDER_ROOT%\config\profile.d\%%x"
)
@popd
@if exist "%CMDER_ROOT%\config\user-profile.cmd" (
@rem create this file and place your own command in there
call "%CMDER_ROOT%\config\user-profile.cmd"
) else (
@echo Creating user startup file: "%CMDER_ROOT%\config\user-profile.cmd"
(
2015-10-14 21:35:51 +08:00
@echo :: use this file to run your own startup commands
@echo :: use @ in front of the command to prevent printing the command
2015-10-14 21:35:51 +08:00
@echo.
2015-10-14 18:48:14 +08:00
@echo :: @call "%%GIT_INSTALL_ROOT%%/cmd/start-ssh-agent.cmd
@echo :: @set PATH=%%CMDER_ROOT%%\vendor\whatever;%%PATH%%
2015-10-14 21:35:51 +08:00
@echo.
) > "%CMDER_ROOT%\config\user-profile.cmd"
)