mirror of
				https://github.com/cmderdev/cmder.git
				synced 2025-10-31 17:32:27 +08:00 
			
		
		
		
	Added :verbose-output subroutine, made aliases update more functional
This commit is contained in:
		
							
								
								
									
										46
									
								
								vendor/init.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										46
									
								
								vendor/init.bat
									
									
									
									
										vendored
									
									
								
							| @@ -6,6 +6,9 @@ | |||||||
| :: !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED | :: !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED | ||||||
| :: !!! Use "%CMDER_ROOT%\config\user-profile.cmd" to add your own startup commands | :: !!! Use "%CMDER_ROOT%\config\user-profile.cmd" to add your own startup commands | ||||||
|  |  | ||||||
|  | :: Set to > 0 for verbose output to aid in debugging. | ||||||
|  | set verbose-output=0 | ||||||
|  |  | ||||||
| :: Find root dir | :: Find root dir | ||||||
| if not defined CMDER_ROOT ( | if not defined CMDER_ROOT ( | ||||||
|     for /f "delims=" %%i in ("%ConEmuDir%\..\..") do set "CMDER_ROOT=%%~fi" |     for /f "delims=" %%i in ("%ConEmuDir%\..\..") do set "CMDER_ROOT=%%~fi" | ||||||
| @@ -51,7 +54,7 @@ if defined GIT_INSTALL_ROOT ( | |||||||
|  |  | ||||||
| :: check if git is in path... | :: check if git is in path... | ||||||
| setlocal enabledelayedexpansion | setlocal enabledelayedexpansion | ||||||
| for /F "delims=" %%F in ('where git.exe') do @( | for /F "delims=" %%F in ('where git.exe 2^>nul') do @( | ||||||
|     pushd %%~dpF |     pushd %%~dpF | ||||||
|     cd .. |     cd .. | ||||||
|     set "test_dir=!CD!" |     set "test_dir=!CD!" | ||||||
| @@ -70,7 +73,7 @@ for /F "delims=" %%F in ('where git.exe') do @( | |||||||
| :VENDORED_GIT | :VENDORED_GIT | ||||||
| if exist "%CMDER_ROOT%\vendor\git-for-windows" ( | if exist "%CMDER_ROOT%\vendor\git-for-windows" ( | ||||||
|     set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows" |     set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows" | ||||||
|     rem add the minimal git commands to the front of the path |     call :verbose-output Add the minimal git commands to the front of the path | ||||||
|     set "PATH=!GIT_INSTALL_ROOT!\cmd;%PATH%" |     set "PATH=!GIT_INSTALL_ROOT!\cmd;%PATH%" | ||||||
| ) else ( | ) else ( | ||||||
|     goto :NO_GIT |     goto :NO_GIT | ||||||
| @@ -80,7 +83,7 @@ if exist "%CMDER_ROOT%\vendor\git-for-windows" ( | |||||||
| :: Add git to the path | :: Add git to the path | ||||||
| if defined GIT_INSTALL_ROOT ( | if defined GIT_INSTALL_ROOT ( | ||||||
|     rem add the unix commands at the end to not shadow windows commands like more |     rem add the unix commands at the end to not shadow windows commands like more | ||||||
|     echo Enhancing PATH with unix commands from git in "%GIT_INSTALL_ROOT%\usr\bin" |     call :verbose-output Enhancing PATH with unix commands from git in "%GIT_INSTALL_ROOT%\usr\bin" | ||||||
|     set "PATH=%PATH%;%GIT_INSTALL_ROOT%\usr\bin;%GIT_INSTALL_ROOT%\usr\share\vim\vim74" |     set "PATH=%PATH%;%GIT_INSTALL_ROOT%\usr\bin;%GIT_INSTALL_ROOT%\usr\share\vim\vim74" | ||||||
|     :: define SVN_SSH so we can use git svn with ssh svn repositories |     :: 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" |     if not defined SVN_SSH set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe" | ||||||
| @@ -100,7 +103,7 @@ if not exist "%CMDER_ROOT%\config\profile.d" ( | |||||||
|  |  | ||||||
| pushd "%CMDER_ROOT%\config\profile.d" | pushd "%CMDER_ROOT%\config\profile.d" | ||||||
| for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do ( | for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do ( | ||||||
|   REM echo Calling "%CMDER_ROOT%\config\profile.d\%%x"... |   call :verbose-output Calling "%CMDER_ROOT%\config\profile.d\%%x"... | ||||||
|   call "%CMDER_ROOT%\config\profile.d\%%x" |   call "%CMDER_ROOT%\config\profile.d\%%x" | ||||||
| ) | ) | ||||||
| popd | popd | ||||||
| @@ -112,22 +115,36 @@ popd | |||||||
| :: must also be self executing, see '.\user-aliases.cmd.example', | :: must also be self executing, see '.\user-aliases.cmd.example', | ||||||
| :: and be in profile.d folder. | :: and be in profile.d folder. | ||||||
| set "user-aliases=%CMDER_ROOT%\config\user-aliases.cmd" | set "user-aliases=%CMDER_ROOT%\config\user-aliases.cmd" | ||||||
|  |  | ||||||
|  | :: The aliases environment variable is used by alias.bat to id | ||||||
|  | :: the default file to store new aliases in. | ||||||
| if not defined aliases ( | if not defined aliases ( | ||||||
|   set "aliases=%user-aliases%" |   set "aliases=%user-aliases%" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| :: make sure we have an example file | :: Make sure we have a self-extracting user-aliases.cmd file | ||||||
|  | setlocal enabledelayedexpansion | ||||||
| if not exist "%user-aliases%" ( | if not exist "%user-aliases%" ( | ||||||
|    echo Creating intial user-aliases store in "%user-aliases%"... |     echo Creating intial user-aliases store in "%user-aliases%"... | ||||||
|    copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%" |     copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%" | ||||||
|  | ) else ( | ||||||
|  |     type "%user-aliases%" | findstr /i ";= Add aliases below here" >nul | ||||||
|  |     if "!errorlevel!" == "1" ( | ||||||
|  |         echo Creating intial user-aliases store in "%user-aliases%"... | ||||||
|  |         copy "%CMDER_ROOT%\%user-aliases%" "%user-aliases%.old_format"  | ||||||
|  |         copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"  | ||||||
|  |     ) | ||||||
| ) | ) | ||||||
|  |  | ||||||
| :: Update old 'user-aliases' to new self executing 'user-aliases.cmd' | :: Update old 'user-aliases' to new self executing 'user-aliases.cmd' | ||||||
| if exist "%CMDER_ROOT%\config\aliases" ( | if exist "%CMDER_ROOT%\config\aliases" ( | ||||||
|   echo Updating old "%CMDER_ROOT%\config\aliases" to new format... |   echo Updating old "%CMDER_ROOT%\config\aliases" to new format... | ||||||
|   type "%CMDER_ROOT%\config\aliases" >> "%user-aliases%" && del "%CMDER_ROOT%\config\aliases" |   type "%CMDER_ROOT%\config\aliases" >> "%user-aliases%" && del "%CMDER_ROOT%\config\aliases" | ||||||
|  | ) else if exist "%user-aliases%.old_format" ( | ||||||
|  |   echo Updating old "%user-aliases%" to new format... | ||||||
|  |   type "%user-aliases%.old_format" >> "%user-aliases%" && del "%user-aliases%.old_format" | ||||||
| ) | ) | ||||||
|  | endlocal | ||||||
| :: Add aliases to the environment | :: Add aliases to the environment | ||||||
| call "%user-aliases%" | call "%user-aliases%" | ||||||
|  |  | ||||||
| @@ -135,7 +152,7 @@ call "%user-aliases%" | |||||||
| :: Basically we need to execute this post-install.bat because we are | :: Basically we need to execute this post-install.bat because we are | ||||||
| :: manually extracting the archive rather than executing the 7z sfx | :: manually extracting the archive rather than executing the 7z sfx | ||||||
| if exist "%CMDER_ROOT%\vendor\git-for-windows\post-install.bat" ( | if exist "%CMDER_ROOT%\vendor\git-for-windows\post-install.bat" ( | ||||||
|     echo Running Git for Windows one time Post Install.... |     call :verbose-output Running Git for Windows one time Post Install.... | ||||||
|     cd /d "%CMDER_ROOT%\vendor\git-for-windows\" |     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 |     "%CMDER_ROOT%\vendor\git-for-windows\git-bash.exe" --no-needs-console --hide --no-cd --command=post-install.bat | ||||||
|     cd /d %USERPROFILE% |     cd /d %USERPROFILE% | ||||||
| @@ -152,7 +169,7 @@ if defined CMDER_START ( | |||||||
|  |  | ||||||
|  |  | ||||||
| if exist "%CMDER_ROOT%\config\user-profile.cmd" ( | if exist "%CMDER_ROOT%\config\user-profile.cmd" ( | ||||||
|     rem create this file and place your own command in there |     REM Create this file and place your own command in there | ||||||
|     call "%CMDER_ROOT%\config\user-profile.cmd" |     call "%CMDER_ROOT%\config\user-profile.cmd" | ||||||
| ) else ( | ) else ( | ||||||
|     echo Creating user startup file: "%CMDER_ROOT%\config\user-profile.cmd" |     echo Creating user startup file: "%CMDER_ROOT%\config\user-profile.cmd" | ||||||
| @@ -165,3 +182,12 @@ if exist "%CMDER_ROOT%\config\user-profile.cmd" ( | |||||||
|     echo. |     echo. | ||||||
|     ) > "%CMDER_ROOT%\config\user-profile.cmd" |     ) > "%CMDER_ROOT%\config\user-profile.cmd" | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | exit /b | ||||||
|  |  | ||||||
|  | :: | ||||||
|  | :: sub-routines below here | ||||||
|  | :: | ||||||
|  | :verbose-output | ||||||
|  |     if %verbose-output% gtr 0 echo %* | ||||||
|  |     exit /b | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user