mirror of
				https://github.com/cmderdev/cmder.git
				synced 2025-10-31 17:32:27 +08:00 
			
		
		
		
	add vendor/user_init.optional.cmd
This commit is contained in:
		
							
								
								
									
										160
									
								
								vendor/user_init.optional.cmd
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								vendor/user_init.optional.cmd
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,160 @@ | |||||||
|  | @echo off | ||||||
|  |  | ||||||
|  | :: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= | ||||||
|  | :: WARNING: THIS IS UNSUPORTED CODE USE IT IF YOU WANT. SEE BELOW FOR DETAILS! | ||||||
|  | :: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= | ||||||
|  | :: | ||||||
|  | :: If you use this file you will be using an unsupported option you assume all | ||||||
|  | :: and responsibility for troubleshooting any issues! | ||||||
|  | :: | ||||||
|  | :: ## What is this? | ||||||
|  | :: | ||||||
|  | :: This file initializes the Cmder `cmd.exe` shell with hard coded settings so it is much | ||||||
|  | :: faster at loading the session config since it does not have to auto discover anything. | ||||||
|  | :: | ||||||
|  | :: If you want complete control and responsibility of your Cmder setup copy this file to | ||||||
|  | :: `%CMDER_ROOT%\config\user_init.cmd` and edit to customize your setup your way. | ||||||
|  | :: | ||||||
|  | :: ## Shared Cmder Installs | ||||||
|  | :: | ||||||
|  | :: If using in a shared Cmder install copy to `%CMDER_ROOT%\config\user_init.cmd` or | ||||||
|  | :: `%CMDER_USER_ROOT%\config\user_init.cmd` whichever acieves the goal of the shared | ||||||
|  | :: install. | ||||||
|  | :: | ||||||
|  |  | ||||||
|  | if "%CMDER_CLINK%" == "1" ( | ||||||
|  |   goto :INJECT_CLINK | ||||||
|  | ) else if "%CMDER_CLINK%" == "2" ( | ||||||
|  |   goto :CLINK_FINISH | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | goto :SKIP_CLINK | ||||||
|  |  | ||||||
|  | :INJECT_CLINK | ||||||
|  |   %print_verbose% "Injecting Clink!" | ||||||
|  |  | ||||||
|  |   :: Check if Clink is not present | ||||||
|  |   if not exist "%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" ( | ||||||
|  |       goto :SKIP_CLINK | ||||||
|  |   ) | ||||||
|  |  | ||||||
|  |   :: Run Clink | ||||||
|  |   if not exist "%CMDER_CONFIG_DIR%\settings" if not exist "%CMDER_CONFIG_DIR%\clink_settings" ( | ||||||
|  |       echo Generating Clink initial settings in "%CMDER_CONFIG_DIR%\clink_settings" | ||||||
|  |       copy "%CMDER_ROOT%\vendor\clink_settings.default" "%CMDER_CONFIG_DIR%\clink_settings" | ||||||
|  |       echo Additional *.lua files in "%CMDER_CONFIG_DIR%" are loaded on startup. | ||||||
|  |   ) | ||||||
|  |  | ||||||
|  |   if not exist "%CMDER_CONFIG_DIR%\cmder_prompt_config.lua" ( | ||||||
|  |       echo Creating Cmder prompt config file: "%CMDER_CONFIG_DIR%\cmder_prompt_config.lua" | ||||||
|  |       copy "%CMDER_ROOT%\vendor\cmder_prompt_config.lua.default" "%CMDER_CONFIG_DIR%\cmder_prompt_config.lua" | ||||||
|  |   ) | ||||||
|  |  | ||||||
|  |   "%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" inject --quiet --profile "%CMDER_CONFIG_DIR%" --scripts "%CMDER_ROOT%\vendor" | ||||||
|  |  | ||||||
|  |   if errorlevel 1 ( | ||||||
|  |       %print_error% "Clink initialization has failed with error code: %errorlevel%" | ||||||
|  |       goto :CLINK_FINISH | ||||||
|  |   ) | ||||||
|  |  | ||||||
|  |   set CMDER_CLINK=2 | ||||||
|  |   goto :CLINK_FINISH | ||||||
|  |  | ||||||
|  | :SKIP_CLINK | ||||||
|  |   %print_warning% "Skipping Clink Injection!" | ||||||
|  |  | ||||||
|  |   for /f "tokens=2 delims=:." %%x in ('chcp') do set cp=%%x | ||||||
|  |   chcp 65001>nul | ||||||
|  |  | ||||||
|  |   :: Revert back to plain cmd.exe prompt without clink | ||||||
|  |   prompt $E[1;32;49m$P$S$_$E[1;30;49mλ$S$E[0m | ||||||
|  |  | ||||||
|  |   chcp %cp%>nul | ||||||
|  | :CLINK_FINISH | ||||||
|  |  | ||||||
|  | if not defined GIT_INSTALL_ROOT set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows" | ||||||
|  | if not defined SVN_SSH          set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe" | ||||||
|  | if not defined git_locale       set git_locale="%GIT_INSTALL_ROOT%\usr\bin\locale.exe" | ||||||
|  | if not defined LANG             set LANG=en_US.UTF-8 | ||||||
|  | if not defined user_aliases     set "user_aliases=%CMDER_ROOT%\config\user_aliases.cmd" | ||||||
|  | if not defined aliases          set "aliases=%user_aliases%" | ||||||
|  | if not defined HOME             set "HOME=%USERPROFILE%" | ||||||
|  |  | ||||||
|  | set PLINK_PROTOCOL=ssh | ||||||
|  |  | ||||||
|  | set "path=%GIT_INSTALL_ROOT%\cmd;%path%" | ||||||
|  |  | ||||||
|  | set path_position=append | ||||||
|  | if %nix_tools% equ 1 ( | ||||||
|  |     set "path_position=append" | ||||||
|  | ) else ( | ||||||
|  |     set "path_position=" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | if %nix_tools% geq 1 ( | ||||||
|  |     if exist "%GIT_INSTALL_ROOT%\mingw32" ( | ||||||
|  |         if "%path_position%" == "append" ( | ||||||
|  |           set "path=%path%;%GIT_INSTALL_ROOT%\mingw32\bin" | ||||||
|  |         ) else ( | ||||||
|  |           set "path=%GIT_INSTALL_ROOT%\mingw32\bin;%path%" | ||||||
|  |         ) | ||||||
|  |     ) else if exist "%GIT_INSTALL_ROOT%\mingw64" ( | ||||||
|  |         if "%path_position%" == "append" ( | ||||||
|  |           set "path=%path%;%GIT_INSTALL_ROOT%\mingw64\bin" | ||||||
|  |         ) else ( | ||||||
|  |           set "path=%GIT_INSTALL_ROOT%\mingw64\bin;%path%" | ||||||
|  |         ) | ||||||
|  |     ) | ||||||
|  |     if exist "%GIT_INSTALL_ROOT%\usr\bin" ( | ||||||
|  |         if "%path_position%" == "append" ( | ||||||
|  |           set "path=%path%;%GIT_INSTALL_ROOT%\usr\bin" | ||||||
|  |         ) else ( | ||||||
|  |           set "path=%GIT_INSTALL_ROOT%\usr\bin;%path%" | ||||||
|  |         ) | ||||||
|  |     ) | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | set "path=%CMDER_ROOT%\vendor\bin;%path%" | ||||||
|  |  | ||||||
|  | :USER_CONFIG_START | ||||||
|  | if %max_depth% gtr 1 ( | ||||||
|  |   %lib_path% enhance_path_recursive "%CMDER_ROOT%\bin" 0 %max_depth% | ||||||
|  | ) else ( | ||||||
|  |   set "path=%CMDER_ROOT%\bin;%path%" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | setlocal enabledelayedexpansion | ||||||
|  | if defined CMDER_USER_BIN ( | ||||||
|  |   if %max_depth% gtr 1 ( | ||||||
|  |     %lib_path% enhance_path_recursive "%CMDER_USER_BIN%" 0 %max_depth% | ||||||
|  |   ) else ( | ||||||
|  |     set "path=%CMDER_USER_ROOT%\bin;%path%" | ||||||
|  |   ) | ||||||
|  | ) | ||||||
|  | endlocal && set "path=%path%" | ||||||
|  |   | ||||||
|  | set "path=%path%;%CMDER_ROOT%" | ||||||
|  |  | ||||||
|  | call "%user_aliases%" | ||||||
|  |  | ||||||
|  | %lib_profile% run_profile_d "%CMDER_ROOT%\config\profile.d" | ||||||
|  | if defined CMDER_USER_CONFIG ( | ||||||
|  |   %lib_profile% run_profile_d "%CMDER_USER_CONFIG%\profile.d" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | call "%CMDER_ROOT%\config\user_profile.cmd" | ||||||
|  | if defined CMDER_USER_CONFIG ( | ||||||
|  |   if exist "%CMDER_USER_CONFIG%\user_profile.cmd" ( | ||||||
|  |     call "%CMDER_USER_CONFIG%\user_profile.cmd" | ||||||
|  |   ) | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | set "path=%path:;;=;% | ||||||
|  |  | ||||||
|  | :CMDER_CONFIGURED | ||||||
|  | if not defined CMDER_CONFIGURED set CMDER_CONFIGURED=1 | ||||||
|  |  | ||||||
|  | set CMDER_INIT_END=%time% | ||||||
|  |  | ||||||
|  | "%cmder_root%\vendor\bin\timer.cmd" "%CMDER_INIT_START%" "%CMDER_INIT_END%" | ||||||
|  | exit /b | ||||||
		Reference in New Issue
	
	Block a user