mirror of
https://github.com/cmderdev/cmder.git
synced 2024-11-10 17:59:11 +08:00
add vendor/user_init.optional.cmd
This commit is contained in:
parent
56f45a81ca
commit
7e50f50863
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
|
Loading…
Reference in New Issue
Block a user