2016-03-07 05:40:06 +08:00
|
|
|
@echo off
|
|
|
|
|
2013-09-29 02:38:52 +08:00
|
|
|
:: Init Script for cmd.exe
|
|
|
|
:: Created as part of cmder project
|
|
|
|
|
2015-08-26 01:44:23 +08:00
|
|
|
:: !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
2015-11-25 07:23:04 +08:00
|
|
|
:: !!! Use "%CMDER_ROOT%\config\user-profile.cmd" to add your own startup commands
|
2015-08-26 01:44:23 +08:00
|
|
|
|
2014-03-13 23:48:50 +08:00
|
|
|
:: Find root dir
|
2016-03-07 05:40:06 +08:00
|
|
|
if not defined CMDER_ROOT (
|
|
|
|
for /f "delims=" %%i in ("%ConEmuDir%\..\..") do set CMDER_ROOT=%%~fi
|
2014-03-13 23:48:50 +08:00
|
|
|
)
|
|
|
|
|
Added/enhanced bash with cmder.sh/user-cmder.sh, organized tasks menu
added personal files to .gitignore so they never get uploaded to the repo and added support for msys2 bash in the new git for windows
added autocreate of config/user-cmder.sh if iot does not exist and added it to the .gitignore
Added tasks: cmd::Cmder, cmd::Cmder as Admin, bash::bash, bash::bash as Admin, bash::mintty, bash::mintty as admin, powershell::powershell, powershell::powershell as Admin. Set default task to cmd::Cmder. Cot rid of init.bat running before /bin/bash, fixes double exit requirement
Added running git for windows post-install.bat on first cmder launch
fixed file/path not found errors when launching powershell as admin
fixed file/path not found errors when launching bash/mintty as admin
fixed PATH in vendor/cmder.sh
Added sourcing ~/.bashrc if it exists.
changed .gitignore to ignore anything with path of config/user-*
removed my personal files from .gitignore, left in config/user-*
Make sure $CMDER_ROOT does not have a trailing '/'
%CMDER_ROOT% does not have trailing '\'. allow user to specify a conemu.xml on the command line
Removed '\' from %CMDER_ROOT%
2015-11-09 11:25:42 +08:00
|
|
|
:: Remove trailing '\'
|
2016-03-07 05:40:06 +08:00
|
|
|
if "%CMDER_ROOT:~-1%" == "\" SET CMDER_ROOT=%CMDER_ROOT:~0,-1%
|
Added/enhanced bash with cmder.sh/user-cmder.sh, organized tasks menu
added personal files to .gitignore so they never get uploaded to the repo and added support for msys2 bash in the new git for windows
added autocreate of config/user-cmder.sh if iot does not exist and added it to the .gitignore
Added tasks: cmd::Cmder, cmd::Cmder as Admin, bash::bash, bash::bash as Admin, bash::mintty, bash::mintty as admin, powershell::powershell, powershell::powershell as Admin. Set default task to cmd::Cmder. Cot rid of init.bat running before /bin/bash, fixes double exit requirement
Added running git for windows post-install.bat on first cmder launch
fixed file/path not found errors when launching powershell as admin
fixed file/path not found errors when launching bash/mintty as admin
fixed PATH in vendor/cmder.sh
Added sourcing ~/.bashrc if it exists.
changed .gitignore to ignore anything with path of config/user-*
removed my personal files from .gitignore, left in config/user-*
Make sure $CMDER_ROOT does not have a trailing '/'
%CMDER_ROOT% does not have trailing '\'. allow user to specify a conemu.xml on the command line
Removed '\' from %CMDER_ROOT%
2015-11-09 11:25:42 +08:00
|
|
|
|
2013-12-08 04:04:38 +08:00
|
|
|
:: Change the prompt style
|
|
|
|
:: Mmm tasty lamb
|
2016-03-07 05:40:06 +08:00
|
|
|
prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m{lamb}$S$E[0m
|
2013-09-29 02:38:52 +08:00
|
|
|
|
2013-07-09 15:43:50 +08:00
|
|
|
:: Pick right version of clink
|
2016-03-07 05:40:06 +08:00
|
|
|
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
2013-07-09 15:43:50 +08:00
|
|
|
set architecture=86
|
|
|
|
) else (
|
|
|
|
set architecture=64
|
|
|
|
)
|
|
|
|
|
2016-01-09 19:43:52 +08:00
|
|
|
:: Tell the user about the clink config files...
|
2016-03-07 05:40:06 +08:00
|
|
|
if not exist "%CMDER_ROOT%\config\settings" (
|
2016-01-09 19:43:52 +08:00
|
|
|
echo Generating clink initial settings in %CMDER_ROOT%\config\settings
|
|
|
|
echo Additional *.lua files in %CMDER_ROOT%\config are loaded on startup.
|
2016-03-22 03:35:48 +08:00
|
|
|
)
|
2016-01-09 19:43:52 +08:00
|
|
|
|
2013-07-09 15:43:50 +08:00
|
|
|
:: Run clink
|
2016-03-07 05:40:06 +08:00
|
|
|
"%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
|
|
|
|
2015-08-24 02:09:06 +08:00
|
|
|
:: Prepare for git-for-windows
|
2013-11-04 01:04:36 +08:00
|
|
|
|
2013-09-29 02:38:52 +08:00
|
|
|
:: I do not even know, copypasted from their .bat
|
2016-03-07 05:40:06 +08:00
|
|
|
set PLINK_PROTOCOL=ssh
|
|
|
|
if not defined TERM set TERM=cygwin
|
2013-07-16 05:45:25 +08:00
|
|
|
|
2015-01-10 16:59:18 +08:00
|
|
|
:: Check if msysgit is installed
|
2016-03-07 05:40:06 +08:00
|
|
|
if exist "%ProgramFiles%\Git" (
|
2015-01-10 16:59:18 +08:00
|
|
|
set "GIT_INSTALL_ROOT=%ProgramFiles%\Git"
|
|
|
|
) else if exist "%ProgramFiles(x86)%\Git" (
|
|
|
|
set "GIT_INSTALL_ROOT=%ProgramFiles(x86)%\Git"
|
2015-11-25 06:26:41 +08:00
|
|
|
) else if exist "%USERPROFILE%\AppData\Local\Programs\Git" (
|
|
|
|
set "GIT_INSTALL_ROOT=%USERPROFILE%\AppData\Local\Programs\Git"
|
2015-11-08 08:12:54 +08:00
|
|
|
) else if exist "%CMDER_ROOT%\vendor\git-for-windows" (
|
2015-08-24 02:09:06 +08:00
|
|
|
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
|
2015-01-10 16:59:18 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
:: Add git to the path
|
2016-03-07 05:40:06 +08:00
|
|
|
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%"
|
2015-01-10 16:59:18 +08:00
|
|
|
:: 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
|
2016-03-07 05:40:06 +08:00
|
|
|
set "PATH=%CMDER_ROOT%\bin;%PATH%;%CMDER_ROOT%\"
|
2013-07-16 05:45:25 +08:00
|
|
|
|
2016-03-07 22:12:50 +08:00
|
|
|
:: 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-01-12 05:09:23 +08:00
|
|
|
)
|
2015-11-25 06:38:26 +08:00
|
|
|
|
2016-03-07 22:12:50 +08:00
|
|
|
pushd "%CMDER_ROOT%\config\profile.d"
|
|
|
|
for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
|
|
|
|
REM echo Calling %CMDER_ROOT%\config\profile.d\%%x...
|
|
|
|
call "%CMDER_ROOT%\config\profile.d\%%x"
|
|
|
|
)
|
|
|
|
popd
|
2015-11-25 06:38:26 +08:00
|
|
|
|
2016-03-20 21:30:20 +08:00
|
|
|
:: Allows user to override default aliases store using profile.d
|
|
|
|
:: scripts run above. Note: If overriding default aliases file
|
|
|
|
:: in profile.d the aliases must also be loaded in profile.d.
|
2016-03-22 03:35:48 +08:00
|
|
|
set user-aliases=%CMDER_ROOT%\config\user-aliases.cmd
|
2016-03-20 21:30:20 +08:00
|
|
|
if not defined aliases (
|
2016-03-22 03:35:48 +08:00
|
|
|
set aliases=%user-aliases%
|
|
|
|
)
|
|
|
|
|
|
|
|
:: make sure we have an example file
|
|
|
|
if not exist "%user-aliases%" (
|
|
|
|
echo Creating intial user-aliases store in "%user-aliases%"...
|
|
|
|
copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"
|
2016-03-02 10:30:51 +08:00
|
|
|
)
|
2015-11-25 06:38:26 +08:00
|
|
|
|
2016-03-22 03:35:48 +08:00
|
|
|
:: Update old 'user-aliases' to new self executing 'user-aliases.cmd'
|
|
|
|
if exist "%CMDER_ROOT%\config\aliases" (
|
|
|
|
echo Updating old "%CMDER_ROOT%\config\aliases" to new format...
|
|
|
|
type "%CMDER_ROOT%\config\aliases" >> "%user-aliases%" && del "%CMDER_ROOT%\config\aliases"
|
2016-03-20 21:30:20 +08:00
|
|
|
)
|
2013-07-09 15:43:50 +08:00
|
|
|
|
2016-03-22 03:35:48 +08:00
|
|
|
:: Add aliases to the environment
|
|
|
|
call "%user-aliases%"
|
|
|
|
|
Added/enhanced bash with cmder.sh/user-cmder.sh, organized tasks menu
added personal files to .gitignore so they never get uploaded to the repo and added support for msys2 bash in the new git for windows
added autocreate of config/user-cmder.sh if iot does not exist and added it to the .gitignore
Added tasks: cmd::Cmder, cmd::Cmder as Admin, bash::bash, bash::bash as Admin, bash::mintty, bash::mintty as admin, powershell::powershell, powershell::powershell as Admin. Set default task to cmd::Cmder. Cot rid of init.bat running before /bin/bash, fixes double exit requirement
Added running git for windows post-install.bat on first cmder launch
fixed file/path not found errors when launching powershell as admin
fixed file/path not found errors when launching bash/mintty as admin
fixed PATH in vendor/cmder.sh
Added sourcing ~/.bashrc if it exists.
changed .gitignore to ignore anything with path of config/user-*
removed my personal files from .gitignore, left in config/user-*
Make sure $CMDER_ROOT does not have a trailing '/'
%CMDER_ROOT% does not have trailing '\'. allow user to specify a conemu.xml on the command line
Removed '\' from %CMDER_ROOT%
2015-11-09 11:25:42 +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
|
2016-03-07 05:40:06 +08:00
|
|
|
if exist "%CMDER_ROOT%\vendor\git-for-windows\post-install.bat" (
|
Added/enhanced bash with cmder.sh/user-cmder.sh, organized tasks menu
added personal files to .gitignore so they never get uploaded to the repo and added support for msys2 bash in the new git for windows
added autocreate of config/user-cmder.sh if iot does not exist and added it to the .gitignore
Added tasks: cmd::Cmder, cmd::Cmder as Admin, bash::bash, bash::bash as Admin, bash::mintty, bash::mintty as admin, powershell::powershell, powershell::powershell as Admin. Set default task to cmd::Cmder. Cot rid of init.bat running before /bin/bash, fixes double exit requirement
Added running git for windows post-install.bat on first cmder launch
fixed file/path not found errors when launching powershell as admin
fixed file/path not found errors when launching bash/mintty as admin
fixed PATH in vendor/cmder.sh
Added sourcing ~/.bashrc if it exists.
changed .gitignore to ignore anything with path of config/user-*
removed my personal files from .gitignore, left in config/user-*
Make sure $CMDER_ROOT does not have a trailing '/'
%CMDER_ROOT% does not have trailing '\'. allow user to specify a conemu.xml on the command line
Removed '\' from %CMDER_ROOT%
2015-11-09 11:25:42 +08:00
|
|
|
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
|
2016-03-07 05:40:06 +08:00
|
|
|
if not defined HOME set HOME=%USERPROFILE%
|
2013-12-07 22:17:35 +08:00
|
|
|
|
2016-01-12 05:09:23 +08:00
|
|
|
:: 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"
|
2016-03-07 05:40:06 +08:00
|
|
|
if defined CMDER_START (
|
|
|
|
cd /d "%CMDER_START%"
|
2014-03-12 03:12:35 +08:00
|
|
|
)
|
2014-12-17 14:53:09 +08:00
|
|
|
|
2016-02-25 21:53:57 +08:00
|
|
|
|
2016-03-07 05:40:06 +08:00
|
|
|
if exist "%CMDER_ROOT%\config\user-profile.cmd" (
|
|
|
|
rem create this file and place your own command in there
|
2015-11-25 07:23:04 +08:00
|
|
|
call "%CMDER_ROOT%\config\user-profile.cmd"
|
2015-08-26 01:44:23 +08:00
|
|
|
) else (
|
2016-03-07 05:40:06 +08:00
|
|
|
echo Creating user startup file: "%CMDER_ROOT%\config\user-profile.cmd"
|
2015-08-26 01:44:23 +08:00
|
|
|
(
|
2016-03-07 05:40:06 +08:00
|
|
|
echo :: use this file to run your own startup commands
|
|
|
|
echo :: use in front of the command to prevent printing the command
|
|
|
|
echo.
|
|
|
|
echo :: call "%%GIT_INSTALL_ROOT%%/cmd/start-ssh-agent.cmd
|
|
|
|
echo :: set PATH=%%CMDER_ROOT%%\vendor\whatever;%%PATH%%
|
|
|
|
echo.
|
2015-11-25 07:23:04 +08:00
|
|
|
) > "%CMDER_ROOT%\config\user-profile.cmd"
|
2015-08-26 01:44:23 +08:00
|
|
|
)
|