mirror of
				https://github.com/cmderdev/cmder.git
				synced 2025-11-04 11:22:13 +08:00 
			
		
		
		
	Merge pull request #1871 from daxgames/user_lua
Embed 'alias' functionality into 'vendor\bin' and Load User Lua files
This commit is contained in:
		
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,7 +1,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Those files should be taken from their repositary
 | 
					## Those files should be taken from their repositary
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bin/*/*
 | 
				
			||||||
 | 
					!bin/Readme.md
 | 
				
			||||||
vendor/*/*
 | 
					vendor/*/*
 | 
				
			||||||
 | 
					!vendor/bin/*
 | 
				
			||||||
!vendor/lib/*
 | 
					!vendor/lib/*
 | 
				
			||||||
!vendor/*
 | 
					!vendor/*
 | 
				
			||||||
!vendor/psmodules/PsGet
 | 
					!vendor/psmodules/PsGet
 | 
				
			||||||
@@ -15,6 +18,7 @@ Version v*
 | 
				
			|||||||
*.bak
 | 
					*.bak
 | 
				
			||||||
config/user-*
 | 
					config/user-*
 | 
				
			||||||
config/user_*
 | 
					config/user_*
 | 
				
			||||||
 | 
					config/*.lua
 | 
				
			||||||
config/settings
 | 
					config/settings
 | 
				
			||||||
config/aliases
 | 
					config/aliases
 | 
				
			||||||
config/profile.d
 | 
					config/profile.d
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -88,6 +88,8 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr
 | 
				
			|||||||
	wchar_t userProfiledDirPath[MAX_PATH] = { 0 };
 | 
						wchar_t userProfiledDirPath[MAX_PATH] = { 0 };
 | 
				
			||||||
	wchar_t userProfilePath[MAX_PATH] = { 0 };
 | 
						wchar_t userProfilePath[MAX_PATH] = { 0 };
 | 
				
			||||||
	wchar_t legacyUserProfilePath[MAX_PATH] = { 0 };
 | 
						wchar_t legacyUserProfilePath[MAX_PATH] = { 0 };
 | 
				
			||||||
 | 
						wchar_t userAliasesPath[MAX_PATH] = { 0 };
 | 
				
			||||||
 | 
						wchar_t legacyUserAliasesPath[MAX_PATH] = { 0 };
 | 
				
			||||||
	wchar_t args[MAX_PATH * 2 + 256] = { 0 };
 | 
						wchar_t args[MAX_PATH * 2 + 256] = { 0 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	std::wstring cmderStart = path;
 | 
						std::wstring cmderStart = path;
 | 
				
			||||||
@@ -122,6 +124,20 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr
 | 
				
			|||||||
		rename(lPr, pR);
 | 
							rename(lPr, pR);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						PathCombine(legacyUserAliasesPath, configDirPath, L"user-aliases.cmd");
 | 
				
			||||||
 | 
						if (PathFileExists(legacyUserAliasesPath)) {
 | 
				
			||||||
 | 
							PathCombine(userAliasesPath, configDirPath, L"user_aliases.cmd");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							char      *lPr = (char *)malloc(MAX_PATH);
 | 
				
			||||||
 | 
							char      *pR = (char *)malloc(MAX_PATH);
 | 
				
			||||||
 | 
							size_t i;
 | 
				
			||||||
 | 
							wcstombs_s(&i, lPr, (size_t)MAX_PATH,
 | 
				
			||||||
 | 
								legacyUserAliasesPath, (size_t)MAX_PATH);
 | 
				
			||||||
 | 
							wcstombs_s(&i, pR, (size_t)MAX_PATH,
 | 
				
			||||||
 | 
								userAliasesPath, (size_t)MAX_PATH);
 | 
				
			||||||
 | 
							rename(lPr, pR);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (wcscmp(userConfigDirPath, L"") == 0)
 | 
						if (wcscmp(userConfigDirPath, L"") == 0)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		PathCombine(userConfigDirPath, exeDir, L"config");
 | 
							PathCombine(userConfigDirPath, exeDir, L"config");
 | 
				
			||||||
@@ -150,6 +166,20 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr
 | 
				
			|||||||
				userProfilePath, (size_t)MAX_PATH);
 | 
									userProfilePath, (size_t)MAX_PATH);
 | 
				
			||||||
			rename(lPr, pR);
 | 
								rename(lPr, pR);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							PathCombine(legacyUserAliasesPath, userConfigDirPath, L"user-aliases.cmd");
 | 
				
			||||||
 | 
							if (PathFileExists(legacyUserAliasesPath)) {
 | 
				
			||||||
 | 
								PathCombine(userAliasesPath, userConfigDirPath, L"user_aliases.cmd");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								char      *lPr = (char *)malloc(MAX_PATH);
 | 
				
			||||||
 | 
								char      *pR = (char *)malloc(MAX_PATH);
 | 
				
			||||||
 | 
								size_t i;
 | 
				
			||||||
 | 
								wcstombs_s(&i, lPr, (size_t)MAX_PATH,
 | 
				
			||||||
 | 
									legacyUserAliasesPath, (size_t)MAX_PATH);
 | 
				
			||||||
 | 
								wcstombs_s(&i, pR, (size_t)MAX_PATH,
 | 
				
			||||||
 | 
									userAliasesPath, (size_t)MAX_PATH);
 | 
				
			||||||
 | 
								rename(lPr, pR);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Set path to vendored ConEmu config file
 | 
						// Set path to vendored ConEmu config file
 | 
				
			||||||
@@ -392,6 +422,7 @@ cmderOptions GetOption()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for (int i = 1; i < argCount; i++)
 | 
						for (int i = 1; i < argCount; i++)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// MessageBox(NULL, szArgList[i], L"Arglist contents", MB_OK);
 | 
							// MessageBox(NULL, szArgList[i], L"Arglist contents", MB_OK);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (_wcsicmp(L"/c", szArgList[i]) == 0)
 | 
							if (_wcsicmp(L"/c", szArgList[i]) == 0)
 | 
				
			||||||
@@ -411,6 +442,12 @@ cmderOptions GetOption()
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		else if (_wcsicmp(L"/start", szArgList[i]) == 0)
 | 
							else if (_wcsicmp(L"/start", szArgList[i]) == 0)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
								int len = wcslen(szArgList[i + 1]);
 | 
				
			||||||
 | 
								if (wcscmp(&szArgList[i + 1][len - 1], L"\"") == 0)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									szArgList[i + 1][len - 1] = '\0';
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (PathFileExists(szArgList[i + 1]))
 | 
								if (PathFileExists(szArgList[i + 1]))
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				cmderOptions.cmderStart = szArgList[i + 1];
 | 
									cmderOptions.cmderStart = szArgList[i + 1];
 | 
				
			||||||
@@ -455,9 +492,22 @@ cmderOptions GetOption()
 | 
				
			|||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else if (cmderOptions.cmderStart == L"" && PathFileExists(szArgList[i]))
 | 
							else if (cmderOptions.cmderStart == L"")
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								int len = wcslen(szArgList[i]);
 | 
				
			||||||
 | 
								if (wcscmp(&szArgList[i][len - 1], L"\"") == 0)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									szArgList[i][len - 1] = '\0';
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
								if (PathFileExists(szArgList[i]))
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				cmderOptions.cmderStart = szArgList[i];
 | 
									cmderOptions.cmderStart = szArgList[i];
 | 
				
			||||||
 | 
									i++;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else {
 | 
				
			||||||
 | 
									MessageBox(NULL, szArgList[i], L"Folder does not exist!", MB_OK);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else {
 | 
							else {
 | 
				
			||||||
			MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n    /c [CMDER User Root Path]\n\n    /task [ConEmu Task Name]\n\n    [/start [Start in Path] | [Start in Path]]\n\n    /single\n\nor\n\n    /register [USER | ALL]\n\nor\n\n    /unregister [USER | ALL]\n", MB_TITLE, MB_OK);
 | 
								MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n    /c [CMDER User Root Path]\n\n    /task [ConEmu Task Name]\n\n    [/start [Start in Path] | [Start in Path]]\n\n    /single\n\nor\n\n    /register [USER | ALL]\n\nor\n\n    /unregister [USER | ALL]\n", MB_TITLE, MB_OK);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								bin/alias.bat → vendor/bin/alias.cmd
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								bin/alias.bat → vendor/bin/alias.cmd
									
									
									
									
										vendored
									
									
								
							@@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if "%ALIASES%" == "" (
 | 
					if "%ALIASES%" == "" (
 | 
				
			||||||
  set ALIASES="%CMDER_ROOT%\config\user-aliases.cmd"
 | 
					  set ALIASES="%CMDER_ROOT%\config\user_aliases.cmd"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setlocal enabledelayedexpansion
 | 
					setlocal enabledelayedexpansion
 | 
				
			||||||
@@ -50,7 +50,7 @@ goto parseargument
 | 
				
			|||||||
  )
 | 
					  )
 | 
				
			||||||
rem #endregion parseargument
 | 
					rem #endregion parseargument
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if "%ALIASES%" neq "%CMDER_ROOT%\config\user-aliases.cmd" (
 | 
					if "%ALIASES%" neq "%CMDER_ROOT%\config\user_aliases.cmd" (
 | 
				
			||||||
  set _x=!_x:/f "%ALIASES%" =!
 | 
					  set _x=!_x:/f "%ALIASES%" =!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if not exist "%ALIASES%" (
 | 
					  if not exist "%ALIASES%" (
 | 
				
			||||||
@@ -117,9 +117,9 @@ echo.Options:
 | 
				
			|||||||
echo.
 | 
					echo.
 | 
				
			||||||
echo.     /d [alias]     Delete an [alias].
 | 
					echo.     /d [alias]     Delete an [alias].
 | 
				
			||||||
echo.     /f [macrofile] Path to the [macrofile] you want to store the new alias in.
 | 
					echo.     /f [macrofile] Path to the [macrofile] you want to store the new alias in.
 | 
				
			||||||
echo.                    Default: %cmder_root%\config\user-aliases.cmd
 | 
					echo.                    Default: %cmder_root%\config\user_aliases.cmd
 | 
				
			||||||
echo.     /reload        Reload the aliases file.  Can be used with /f argument.
 | 
					echo.     /reload        Reload the aliases file.  Can be used with /f argument.
 | 
				
			||||||
echo.                    Default: %cmder_root%\config\user-aliases.cmd
 | 
					echo.                    Default: %cmder_root%\config\user_aliases.cmd
 | 
				
			||||||
echo.
 | 
					echo.
 | 
				
			||||||
echo.	If alias is called with no parameters, it will display the list of existing aliases.
 | 
					echo.	If alias is called with no parameters, it will display the list of existing aliases.
 | 
				
			||||||
echo.
 | 
					echo.
 | 
				
			||||||
							
								
								
									
										24
									
								
								vendor/clink.lua
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/clink.lua
									
									
									
									
										vendored
									
									
								
							@@ -367,3 +367,27 @@ for _,lua_module in ipairs(clink.find_files(completions_dir..'*.lua')) do
 | 
				
			|||||||
        dofile(filename)
 | 
					        dofile(filename)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local cmder_config_dir = clink.get_env('CMDER_ROOT')..'/config/'
 | 
				
			||||||
 | 
					for _,lua_module in ipairs(clink.find_files(cmder_config_dir..'*.lua')) do
 | 
				
			||||||
 | 
					    -- Skip files that starts with _. This could be useful if some files should be ignored
 | 
				
			||||||
 | 
					    if not string.match(lua_module, '^_.*') then
 | 
				
			||||||
 | 
					        local filename = cmder_config_dir..lua_module
 | 
				
			||||||
 | 
					        -- use dofile instead of require because require caches loaded modules
 | 
				
			||||||
 | 
					        -- so config reloading using Alt-Q won't reload updated modules.
 | 
				
			||||||
 | 
					        dofile(filename)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if clink.get_env('CMDER_USER_CONFIG') then
 | 
				
			||||||
 | 
					  local cmder_user_config_dir = clink.get_env('CMDER_USER_CONFIG')..'/'
 | 
				
			||||||
 | 
					  for _,lua_module in ipairs(clink.find_files(cmder_user_config_dir..'*.lua')) do
 | 
				
			||||||
 | 
					      -- Skip files that starts with _. This could be useful if some files should be ignored
 | 
				
			||||||
 | 
					      if not string.match(lua_module, '^_.*') then
 | 
				
			||||||
 | 
					          local filename = cmder_user_config_dir..lua_module
 | 
				
			||||||
 | 
					          -- use dofile instead of require because require caches loaded modules
 | 
				
			||||||
 | 
					          -- so config reloading using Alt-Q won't reload updated modules.
 | 
				
			||||||
 | 
					          dofile(filename)
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										125
									
								
								vendor/init.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										125
									
								
								vendor/init.bat
									
									
									
									
										vendored
									
									
								
							@@ -7,8 +7,8 @@
 | 
				
			|||||||
:: !!! 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: Use /v command line arg or set to > 0 for verbose output to aid in debugging.
 | 
					:: Use /v command line arg or set to > 0 for verbose output to aid in debugging.
 | 
				
			||||||
set verbose-output=0
 | 
					set verbose_output=0
 | 
				
			||||||
set debug-output=0
 | 
					set debug_output=0
 | 
				
			||||||
set max_depth=1
 | 
					set max_depth=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: Find root dir
 | 
					:: Find root dir
 | 
				
			||||||
@@ -37,9 +37,9 @@ call "%cmder_root%\vendor\lib\lib_profile"
 | 
				
			|||||||
    if "%~1" == "" (
 | 
					    if "%~1" == "" (
 | 
				
			||||||
        goto :start
 | 
					        goto :start
 | 
				
			||||||
    ) else if /i "%1"=="/v" (
 | 
					    ) else if /i "%1"=="/v" (
 | 
				
			||||||
        set verbose-output=1
 | 
					        set verbose_output=1
 | 
				
			||||||
    ) else if /i "%1"=="/d" (
 | 
					    ) else if /i "%1"=="/d" (
 | 
				
			||||||
        set debug-output=1
 | 
					        set debug_output=1
 | 
				
			||||||
    ) else if /i "%1" == "/max_depth" (
 | 
					    ) else if /i "%1" == "/max_depth" (
 | 
				
			||||||
        if "%~2" geq "1" if "%~2" leq "5" (
 | 
					        if "%~2" geq "1" if "%~2" leq "5" (
 | 
				
			||||||
            set "max_depth=%~2"
 | 
					            set "max_depth=%~2"
 | 
				
			||||||
@@ -58,7 +58,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
    ) else if /i "%1" == "/user_aliases" (
 | 
					    ) else if /i "%1" == "/user_aliases" (
 | 
				
			||||||
        if exist "%~2" (
 | 
					        if exist "%~2" (
 | 
				
			||||||
            set "user-aliases=%~2"
 | 
					            set "user_aliases=%~2"
 | 
				
			||||||
            shift
 | 
					            shift
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
    ) else if /i "%1" == "/git_install_root" (
 | 
					    ) else if /i "%1" == "/git_install_root" (
 | 
				
			||||||
@@ -85,11 +85,13 @@ call "%cmder_root%\vendor\lib\lib_profile"
 | 
				
			|||||||
goto var_loop
 | 
					goto var_loop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:start
 | 
					:start
 | 
				
			||||||
%lib_console% debug-output init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%"
 | 
					:: Sets CMDER_SHELL, CMDER_CLINK, CMDER_ALIASES
 | 
				
			||||||
%lib_console% debug-output init.bat "Env Var - debug-output=%debug-output%"
 | 
					%lib_base% cmder_shell
 | 
				
			||||||
 | 
					%lib_console% debug_output init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%"
 | 
				
			||||||
 | 
					%lib_console% debug_output init.bat "Env Var - debug_output=%debug_output%"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if defined CMDER_USER_CONFIG (
 | 
					if defined CMDER_USER_CONFIG (
 | 
				
			||||||
    %lib_console% debug-output init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
 | 
					    %lib_console% debug_output init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: Pick right version of clink
 | 
					:: Pick right version of clink
 | 
				
			||||||
@@ -101,22 +103,26 @@ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
 | 
				
			|||||||
    set architecture_bits=64
 | 
					    set architecture_bits=64
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: Tell the user about the clink config files...
 | 
					if "%CMDER_CLINK%" == "1" (
 | 
				
			||||||
if defined "%CMDER_USER_CONFIG%\settings" if not exist "%CMDER_USER_CONFIG%\settings" (
 | 
					  %lib_console% verbose_output "Injecting Clink!"
 | 
				
			||||||
    echo Generating clink initial settings in "%CMDER_USER_CONFIG%\settings"
 | 
					 | 
				
			||||||
    echo Additional *.lua files in "%CMDER_USER_CONFIG%" are loaded on startup.\
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
} else 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.
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  :: Run clink
 | 
					  :: Run clink
 | 
				
			||||||
  if defined CMDER_USER_CONFIG (
 | 
					  if defined CMDER_USER_CONFIG (
 | 
				
			||||||
 | 
					    if not exist "%CMDER_USER_CONFIG%\settings" (
 | 
				
			||||||
 | 
					      echo Generating clink initial settings in "%CMDER_USER_CONFIG%\settings"
 | 
				
			||||||
 | 
					      echo Additional *.lua files in "%CMDER_USER_CONFIG%" are loaded on startup.\
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    "%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_USER_CONFIG%" --scripts "%CMDER_ROOT%\vendor"
 | 
					    "%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_USER_CONFIG%" --scripts "%CMDER_ROOT%\vendor"
 | 
				
			||||||
  ) else (
 | 
					  ) else (
 | 
				
			||||||
 | 
					    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.
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    "%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
 | 
					    "%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
 | 
					) else (
 | 
				
			||||||
 | 
					  %lib_console% verbose_output "WARNING: Incompatible 'ComSpec/Shell' Detetected Skipping Clink Injection!"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: Prepare for git-for-windows
 | 
					:: Prepare for git-for-windows
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -131,10 +137,10 @@ if not defined TERM set TERM=cygwin
 | 
				
			|||||||
:: also check that we have a recent enough version of git by examining the version string
 | 
					:: also check that we have a recent enough version of git by examining the version string
 | 
				
			||||||
setlocal enabledelayedexpansion
 | 
					setlocal enabledelayedexpansion
 | 
				
			||||||
if defined GIT_INSTALL_ROOT (
 | 
					if defined GIT_INSTALL_ROOT (
 | 
				
			||||||
    if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :FOUND_GIT)
 | 
					    if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :FOUND_GIT
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%lib_console% debug-output init.bat "Looking for Git install root..."
 | 
					%lib_console% debug_output init.bat "Looking for Git install root..."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: get the version information for vendored git binary
 | 
					:: get the version information for vendored git binary
 | 
				
			||||||
%lib_git% read_version VENDORED "%CMDER_ROOT%\vendor\git-for-windows\cmd"
 | 
					%lib_git% read_version VENDORED "%CMDER_ROOT%\vendor\git-for-windows\cmd"
 | 
				
			||||||
@@ -165,19 +171,18 @@ for /F "delims=" %%F in ('where git.exe 2^>nul') do (
 | 
				
			|||||||
            set test_dir=
 | 
					            set test_dir=
 | 
				
			||||||
            goto :FOUND_GIT
 | 
					            goto :FOUND_GIT
 | 
				
			||||||
        ) else (
 | 
					        ) else (
 | 
				
			||||||
            call :verbose-output Found old !GIT_VERSION_USER! in "!test_dir!", but not using...
 | 
					            call :verbose_output Found old !GIT_VERSION_USER! in "!test_dir!", but not using...
 | 
				
			||||||
            set test_dir=
 | 
					            set test_dir=
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
    ) else (
 | 
					    ) else (
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        :: if the user provided git executable is not found
 | 
					        :: if the user provided git executable is not found
 | 
				
			||||||
        if !errorlevel! equ -255 (
 | 
					        if !errorlevel! equ -255 (
 | 
				
			||||||
            call :verbose-output No git at "!git_executable!" found.
 | 
					            call :verbose_output No git at "!git_executable!" found.
 | 
				
			||||||
            set test_dir=
 | 
					            set test_dir=
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: our last hope: our own git...
 | 
					:: our last hope: our own git...
 | 
				
			||||||
@@ -203,14 +208,15 @@ if defined GIT_INSTALL_ROOT (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    :: 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"
 | 
				
			||||||
    for /F "delims=" %%F in ('env /usr/bin/locale -uU 2^>nul') do (
 | 
					
 | 
				
			||||||
 | 
					    for /F "delims=" %%F in ('env /usr/bin/locale -uU 2') do (
 | 
				
			||||||
        set "LANG=%%F"
 | 
					        set "LANG=%%F"
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
endlocal & set "PATH=%PATH%" & set "LANG=%LANG%" & set "SVN_SSH=%SVN_SSH%" & set "GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
 | 
					endlocal & set "PATH=%PATH%" & set "LANG=%LANG%" & set "SVN_SSH=%SVN_SSH%" & set "GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
 | 
				
			||||||
%lib_console% debug-output init.bat "Env Var - GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
 | 
					%lib_console% debug_output init.bat "Env Var - GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
 | 
				
			||||||
%lib_console% debug-output init.bat "Found Git in: '%GIT_INSTALL_ROOT%'"
 | 
					%lib_console% debug_output init.bat "Found Git in: '%GIT_INSTALL_ROOT%'"
 | 
				
			||||||
goto :PATH_ENHANCE
 | 
					goto :PATH_ENHANCE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:NO_GIT
 | 
					:NO_GIT
 | 
				
			||||||
@@ -218,6 +224,7 @@ goto :PATH_ENHANCE
 | 
				
			|||||||
endlocal
 | 
					endlocal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:PATH_ENHANCE
 | 
					:PATH_ENHANCE
 | 
				
			||||||
 | 
					%lib_path% enhance_path "%CMDER_ROOT%\vendor\bin"
 | 
				
			||||||
%lib_path% enhance_path_recursive "%CMDER_ROOT%\bin" %max_depth%
 | 
					%lib_path% enhance_path_recursive "%CMDER_ROOT%\bin" %max_depth%
 | 
				
			||||||
if defined CMDER_USER_BIN (
 | 
					if defined CMDER_USER_BIN (
 | 
				
			||||||
  %lib_path% enhance_path_recursive "%CMDER_USER_BIN%" %max_depth%
 | 
					  %lib_path% enhance_path_recursive "%CMDER_USER_BIN%" %max_depth%
 | 
				
			||||||
@@ -235,59 +242,63 @@ if defined CMDER_USER_CONFIG (
 | 
				
			|||||||
:: scripts run above by setting the 'aliases' env variable.
 | 
					:: scripts run above by setting the 'aliases' env variable.
 | 
				
			||||||
::
 | 
					::
 | 
				
			||||||
:: Note: If overriding default aliases store file the aliases
 | 
					:: Note: If overriding default aliases store file the aliases
 | 
				
			||||||
:: 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.
 | 
				
			||||||
if not defined user-aliases (
 | 
					if not defined user_aliases (
 | 
				
			||||||
  if defined CMDER_USER_CONFIG (
 | 
					  if defined CMDER_USER_CONFIG (
 | 
				
			||||||
     set "user-aliases=%CMDER_USER_CONFIG%\user-aliases.cmd"
 | 
					     set "user_aliases=%CMDER_USER_CONFIG%\user_aliases.cmd"
 | 
				
			||||||
  ) else (
 | 
					  ) else (
 | 
				
			||||||
     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
 | 
					if "%CMDER_ALIASES%" == "1" (
 | 
				
			||||||
:: the default file to store new aliases in.
 | 
					  REM The aliases environment variable is used by alias.bat to id
 | 
				
			||||||
 | 
					  REM 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 a self-extracting user-aliases.cmd file
 | 
					  REM Make sure we have a self-extracting user_aliases.cmd file
 | 
				
			||||||
  setlocal enabledelayedexpansion
 | 
					  setlocal enabledelayedexpansion
 | 
				
			||||||
if not exist "%user-aliases%" (
 | 
					  if not exist "%user_aliases%" (
 | 
				
			||||||
    echo Creating initial user-aliases store in "%user-aliases%"...
 | 
					      echo Creating initial 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 (
 | 
					  ) else (
 | 
				
			||||||
    type "%user-aliases%" | findstr /i ";= Add aliases below here" >nul
 | 
					      type "%user_aliases%" | findstr /i ";= Add aliases below here" >nul
 | 
				
			||||||
      if "!errorlevel!" == "1" (
 | 
					      if "!errorlevel!" == "1" (
 | 
				
			||||||
        echo Creating initial user-aliases store in "%user-aliases%"...
 | 
					          echo Creating initial user_aliases store in "%user_aliases%"...
 | 
				
			||||||
          if defined CMDER_USER_CONFIG (
 | 
					          if defined CMDER_USER_CONFIG (
 | 
				
			||||||
            copy "%user-aliases%" "%user-aliases%.old_format"
 | 
					              copy "%user_aliases%" "%user_aliases%.old_format"
 | 
				
			||||||
            copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"
 | 
					              copy "%CMDER_ROOT%\vendor\user_aliases.cmd.example" "%user_aliases%"
 | 
				
			||||||
          ) else (
 | 
					          ) else (
 | 
				
			||||||
            copy "%user-aliases%" "%user-aliases%.old_format"
 | 
					              copy "%user_aliases%" "%user_aliases%.old_format"
 | 
				
			||||||
            copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"
 | 
					              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%"
 | 
				
			||||||
) else if exist "%user-aliases%.old_format" (
 | 
					    del "%CMDER_ROOT%\config\aliases"
 | 
				
			||||||
  echo Updating old "%user-aliases%" to new format...
 | 
					  ) else if exist "%user_aliases%.old_format" (
 | 
				
			||||||
  type "%user-aliases%.old_format" >> "%user-aliases%" && del "%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
 | 
					  endlocal
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: Add aliases to the environment
 | 
					:: Add aliases to the environment
 | 
				
			||||||
call "%user-aliases%"
 | 
					call "%user_aliases%"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:: See vendor\git-for-windows\README.portable for why we do this
 | 
					:: See vendor\git-for-windows\README.portable for why we do this
 | 
				
			||||||
:: 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 "%GIT_INSTALL_ROOT%\post-install.bat" (
 | 
					if exist "%GIT_INSTALL_ROOT%\post-install.bat" (
 | 
				
			||||||
    %lib_console% verbose-output "Running Git for Windows one time Post Install...."
 | 
					    %lib_console% verbose_output "Running Git for Windows one time Post Install...."
 | 
				
			||||||
    pushd "%GIT_INSTALL_ROOT%\"
 | 
					    pushd "%GIT_INSTALL_ROOT%\"
 | 
				
			||||||
    "%GIT_INSTALL_ROOT%\git-bash.exe" --no-needs-console --hide --no-cd --command=post-install.bat
 | 
					    "%GIT_INSTALL_ROOT%\git-bash.exe" --no-needs-console --hide --no-cd --command=post-install.bat
 | 
				
			||||||
    popd
 | 
					    popd
 | 
				
			||||||
@@ -295,7 +306,7 @@ if exist "%GIT_INSTALL_ROOT%\post-install.bat" (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
:: Set home path
 | 
					:: Set home path
 | 
				
			||||||
if not defined HOME set "HOME=%USERPROFILE%"
 | 
					if not defined HOME set "HOME=%USERPROFILE%"
 | 
				
			||||||
%lib_console% debug-output init.bat "Env Var - HOME=%HOME%"
 | 
					%lib_console% debug_output init.bat "Env Var - HOME=%HOME%"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set "initialConfig=%CMDER_ROOT%\config\user_profile.cmd"
 | 
					set "initialConfig=%CMDER_ROOT%\config\user_profile.cmd"
 | 
				
			||||||
if exist "%CMDER_ROOT%\config\user_profile.cmd" (
 | 
					if exist "%CMDER_ROOT%\config\user_profile.cmd" (
 | 
				
			||||||
@@ -331,5 +342,19 @@ echo @echo off
 | 
				
			|||||||
) >"%initialConfig%"
 | 
					) >"%initialConfig%"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if "%CMDER_ALIASES%" == "1" if exist "%CMDER_ROOT%\bin\alias.bat" if exist "%CMDER_ROOT%\vendor\bin\alias.cmd" (
 | 
				
			||||||
 | 
					  echo Cmder's 'alias' command has been moved into '%CMDER_ROOT%\vendor\bin\alias.cmd'
 | 
				
			||||||
 | 
					  echo to get rid of this message either:
 | 
				
			||||||
 | 
					  echo.
 | 
				
			||||||
 | 
					  echo Delete the file '%CMDER_ROOT%\bin\alias.bat'
 | 
				
			||||||
 | 
					  echo.
 | 
				
			||||||
 | 
					  echo or
 | 
				
			||||||
 | 
					  echo.
 | 
				
			||||||
 | 
					  echo If you have customized it and want to continue using it instead of the included version
 | 
				
			||||||
 | 
					  echo   * Rename '%CMDER_ROOT%\bin\alias.bat' to '%CMDER_ROOT%\bin\alias.cmd'.
 | 
				
			||||||
 | 
					  echo   * Search for 'user-aliases' and replace it with 'user_aliases'.
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set initialConfig=
 | 
					set initialConfig=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
exit /b
 | 
					exit /b
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										31
									
								
								vendor/lib/lib_base.cmd
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								vendor/lib/lib_base.cmd
									
									
									
									
										vendored
									
									
								
							@@ -43,3 +43,34 @@ exit /b
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    pause
 | 
					    pause
 | 
				
			||||||
    exit /b
 | 
					    exit /b
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:cmder_shell
 | 
				
			||||||
 | 
					:::===============================================================================
 | 
				
			||||||
 | 
					:::show_subs - shows all sub routines in a .bat/.cmd file with documentation
 | 
				
			||||||
 | 
					:::.
 | 
				
			||||||
 | 
					:::include:
 | 
				
			||||||
 | 
					:::.
 | 
				
			||||||
 | 
					:::       call "lib_base.cmd"
 | 
				
			||||||
 | 
					:::.
 | 
				
			||||||
 | 
					:::usage:
 | 
				
			||||||
 | 
					:::.
 | 
				
			||||||
 | 
					:::       %lib_base% cmder_shell
 | 
				
			||||||
 | 
					:::.
 | 
				
			||||||
 | 
					:::options:
 | 
				
			||||||
 | 
					:::.
 | 
				
			||||||
 | 
					:::       file <in> full path to file containing lib_routines to display
 | 
				
			||||||
 | 
					:::.
 | 
				
			||||||
 | 
					:::-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					    echo %comspec% | find /i "\cmd.exe" > nul && set "CMDER_SHELL=cmd"
 | 
				
			||||||
 | 
					    echo %comspec% | find /i "\tcc.exe" > nul && set "CMDER_SHELL=tcc"
 | 
				
			||||||
 | 
					    echo %comspec% | find /i "\tccle" > nul && set "CMDER_SHELL=tccle"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    set CMDER_CLINK=1
 | 
				
			||||||
 | 
					    if "%CMDER_SHELL%" equ "tcc" set CMDER_CLINK=0
 | 
				
			||||||
 | 
					    if "%CMDER_SHELL%" equ "tccle" set CMDER_CLINK=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    set CMDER_ALIASES=1
 | 
				
			||||||
 | 
					    if "%CMDER_SHELL%" equ "tcc" set CMDER_ALIASES=0
 | 
				
			||||||
 | 
					    if "%CMDER_SHELL%" equ "tccle" set CMDER_ALIASES=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    exit /b
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								vendor/lib/lib_console.cmd
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								vendor/lib/lib_console.cmd
									
									
									
									
										vendored
									
									
								
							@@ -13,9 +13,9 @@ if "%~1" == "/h" (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
exit /b
 | 
					exit /b
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:debug-output
 | 
					:debug_output
 | 
				
			||||||
:::===============================================================================
 | 
					:::===============================================================================
 | 
				
			||||||
:::debug-output - Output a debug message to the console.
 | 
					:::debug_output - Output a debug message to the console.
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::include:
 | 
					:::include:
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
@@ -23,22 +23,22 @@ exit /b
 | 
				
			|||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::usage:
 | 
					:::usage:
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::  %lib_console% debug-output [caller] [message]
 | 
					:::  %lib_console% debug_output [caller] [message]
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::required:
 | 
					:::required:
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::  [caller]  <in> Script/sub routine name calling debug-output
 | 
					:::  [caller]  <in> Script/sub routine name calling debug_output
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::  [message] <in> Message text to display.
 | 
					:::  [message] <in> Message text to display.
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::-------------------------------------------------------------------------------
 | 
					:::-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if %debug-output% gtr 0 echo DEBUG(%~1): %~2 & echo.
 | 
					    if %debug_output% gtr 0 echo DEBUG(%~1): %~2 & echo.
 | 
				
			||||||
    exit /b
 | 
					    exit /b
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:verbose-output
 | 
					:verbose_output
 | 
				
			||||||
:::===============================================================================
 | 
					:::===============================================================================
 | 
				
			||||||
:::verbose-output - Output a debug message to the console.
 | 
					:::verbose_output - Output a debug message to the console.
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::include:
 | 
					:::include:
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
@@ -46,7 +46,7 @@ exit /b
 | 
				
			|||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::usage:
 | 
					:::usage:
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::  %lib_console% verbose-output "[message]"
 | 
					:::  %lib_console% verbose_output "[message]"
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::required:
 | 
					:::required:
 | 
				
			||||||
:::.
 | 
					:::.
 | 
				
			||||||
@@ -54,7 +54,7 @@ exit /b
 | 
				
			|||||||
:::.
 | 
					:::.
 | 
				
			||||||
:::-------------------------------------------------------------------------------
 | 
					:::-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if %verbose-output% gtr 0 echo %~1
 | 
					    if %verbose_output% gtr 0 echo %~1
 | 
				
			||||||
    exit /b
 | 
					    exit /b
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:show_error
 | 
					:show_error
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										14
									
								
								vendor/lib/lib_git.cmd
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/lib/lib_git.cmd
									
									
									
									
										vendored
									
									
								
							@@ -42,11 +42,11 @@ exit /b
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    :: set the executable path
 | 
					    :: set the executable path
 | 
				
			||||||
    set "git_executable=%~2\git.exe"
 | 
					    set "git_executable=%~2\git.exe"
 | 
				
			||||||
    %lib_console% debug-output :read_version "Env Var - git_executable=%git_executable%"
 | 
					    %lib_console% debug_output :read_version "Env Var - git_executable=%git_executable%"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    :: check if the executable actually exists
 | 
					    :: check if the executable actually exists
 | 
				
			||||||
    if not exist "%git_executable%" (
 | 
					    if not exist "%git_executable%" (
 | 
				
			||||||
        %lib_console% debug-output :read_version "%git_executable% does not exist."
 | 
					        %lib_console% debug_output :read_version "%git_executable% does not exist."
 | 
				
			||||||
        exit /b -255
 | 
					        exit /b -255
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -54,7 +54,7 @@ exit /b
 | 
				
			|||||||
    for /F "tokens=1,2,3 usebackq" %%A in (`"%git_executable%" --version 2^>nul`) do (
 | 
					    for /F "tokens=1,2,3 usebackq" %%A in (`"%git_executable%" --version 2^>nul`) do (
 | 
				
			||||||
        if /i "%%A %%B" == "git version" (
 | 
					        if /i "%%A %%B" == "git version" (
 | 
				
			||||||
            set "GIT_VERSION_%~1=%%C"
 | 
					            set "GIT_VERSION_%~1=%%C"
 | 
				
			||||||
            %lib_console% debug-output :read_version "Env Var - GIT_VERSION_%~1=%%C"
 | 
					            %lib_console% debug_output :read_version "Env Var - GIT_VERSION_%~1=%%C"
 | 
				
			||||||
        ) else (
 | 
					        ) else (
 | 
				
			||||||
            %lib_console% show_error "git --version" returned an inproper version string!
 | 
					            %lib_console% show_error "git --version" returned an inproper version string!
 | 
				
			||||||
            pause
 | 
					            pause
 | 
				
			||||||
@@ -124,7 +124,7 @@ exit /b
 | 
				
			|||||||
    call :parse_version %~1 %~2
 | 
					    call :parse_version %~1 %~2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    :: ... and maybe display it, for debugging purposes.
 | 
					    :: ... and maybe display it, for debugging purposes.
 | 
				
			||||||
    %lib_console% debug-output :validate_version "Found Git Version for %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!"
 | 
					    %lib_console% debug_output :validate_version "Found Git Version for %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!"
 | 
				
			||||||
    exit /b
 | 
					    exit /b
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:compare_versions
 | 
					:compare_versions
 | 
				
			||||||
@@ -148,9 +148,9 @@ exit /b
 | 
				
			|||||||
    :: checks all major, minor, patch and build variables for the given arguments.
 | 
					    :: checks all major, minor, patch and build variables for the given arguments.
 | 
				
			||||||
    :: whichever binary that has the most recent version will be used based on the return code.
 | 
					    :: whichever binary that has the most recent version will be used based on the return code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    :: %lib_console% debug-output Comparing:
 | 
					    :: %lib_console% debug_output Comparing:
 | 
				
			||||||
    :: %lib_console% debug-output %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!
 | 
					    :: %lib_console% debug_output %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!
 | 
				
			||||||
    :: %lib_console% debug-output %~2: !%~2_MAJOR!.!%~2_MINOR!.!%~2_PATCH!.!%~2_BUILD!
 | 
					    :: %lib_console% debug_output %~2: !%~2_MAJOR!.!%~2_MINOR!.!%~2_PATCH!.!%~2_BUILD!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if !%~1_MAJOR! GTR !%~2_MAJOR! (exit /b  1)
 | 
					    if !%~1_MAJOR! GTR !%~2_MAJOR! (exit /b  1)
 | 
				
			||||||
    if !%~1_MAJOR! LSS !%~2_MAJOR! (exit /b -1)
 | 
					    if !%~1_MAJOR! LSS !%~2_MAJOR! (exit /b -1)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								vendor/lib/lib_path.cmd
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								vendor/lib/lib_path.cmd
									
									
									
									
										vendored
									
									
								
							@@ -57,28 +57,28 @@ exit /b
 | 
				
			|||||||
    set "find_query=%find_query: =\ %"
 | 
					    set "find_query=%find_query: =\ %"
 | 
				
			||||||
    set found=0
 | 
					    set found=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    %lib_console% debug-output  :enhance_path "Env Var - find_query=%find_query%"
 | 
					    %lib_console% debug_output  :enhance_path "Env Var - find_query=%find_query%"
 | 
				
			||||||
    echo "%PATH%"|findstr >nul /I /R ";%find_query%\"$"
 | 
					    echo "%path%"|findstr >nul /I /R ";%find_query%\"$"
 | 
				
			||||||
    if "!ERRORLEVEL!" == "0" set found=1
 | 
					    if "!ERRORLEVEL!" == "0" set found=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    %lib_console% debug-output  :enhance_path "Env Var 1 - found=!found!"
 | 
					    %lib_console% debug_output  :enhance_path "Env Var 1 - found=!found!"
 | 
				
			||||||
    if "!found!" == "0" (
 | 
					    if "!found!" == "0" (
 | 
				
			||||||
        echo "%PATH%"|findstr >nul /i /r ";%find_query%;"
 | 
					        echo "%path%"|findstr >nul /i /r ";%find_query%;"
 | 
				
			||||||
        if "!ERRORLEVEL!" == "0" set found=1
 | 
					        if "!ERRORLEVEL!" == "0" set found=1
 | 
				
			||||||
        %lib_console% debug-output  :enhance_path "Env Var 2 - found=!found!"
 | 
					        %lib_console% debug_output  :enhance_path "Env Var 2 - found=!found!"
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if "%found%" == "0" (
 | 
					    if "%found%" == "0" (
 | 
				
			||||||
        %lib_console% debug-output :enhance_path "BEFORE Env Var - PATH=!path!"
 | 
					        %lib_console% debug_output :enhance_path "BEFORE Env Var - PATH=!path!"
 | 
				
			||||||
        if /i "%position%" == "append" (
 | 
					        if /i "%position%" == "append" (
 | 
				
			||||||
            %lib_console% debug-output :enhance_path "Appending '%add_path%'"
 | 
					            %lib_console% debug_output :enhance_path "Appending '%add_path%'"
 | 
				
			||||||
            set "PATH=%PATH%;%add_path%"
 | 
					            set "PATH=%PATH%;%add_path%"
 | 
				
			||||||
        ) else (
 | 
					        ) else (
 | 
				
			||||||
            %lib_console% debug-output :enhance_path "Prepending '%add_path%'"
 | 
					            %lib_console% debug_output :enhance_path "Prepending '%add_path%'"
 | 
				
			||||||
            set "PATH=%add_path%;%PATH%"
 | 
					            set "PATH=%add_path%;%PATH%"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        %lib_console% debug-output  :enhance_path "AFTER Env Var - PATH=!path!"
 | 
					        %lib_console% debug_output  :enhance_path "AFTER Env Var - PATH=!path!"
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    endlocal & set "PATH=%PATH:;;=;%"
 | 
					    endlocal & set "PATH=%PATH:;;=;%"
 | 
				
			||||||
@@ -134,20 +134,20 @@ exit /b
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if "%depth%" == "" set depth=0
 | 
					    if "%depth%" == "" set depth=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    %lib_console% debug-output  :enhance_path_recursive "Env Var - add_path=%add_path%"
 | 
					    %lib_console% debug_output  :enhance_path_recursive "Env Var - add_path=%add_path%"
 | 
				
			||||||
    %lib_console% debug-output  :enhance_path_recursive "Env Var - position=%position%"
 | 
					    %lib_console% debug_output  :enhance_path_recursive "Env Var - position=%position%"
 | 
				
			||||||
    %lib_console% debug-output  :enhance_path_recursive "Env Var - max_depth=%max_depth%"
 | 
					    %lib_console% debug_output  :enhance_path_recursive "Env Var - max_depth=%max_depth%"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if %max_depth% gtr !depth! (
 | 
					    if %max_depth% gtr !depth! (
 | 
				
			||||||
        %lib_console% debug-output :enhance_path_recursive "Adding parent directory - '%add_path%'"
 | 
					        %lib_console% debug_output :enhance_path_recursive "Adding parent directory - '%add_path%'"
 | 
				
			||||||
        call :enhance_path "%add_path%" %position%
 | 
					        call :enhance_path "%add_path%" %position%
 | 
				
			||||||
        set /a "depth=!depth!+1"
 | 
					        set /a "depth=!depth!+1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for /d %%i in ("%add_path%\*") do (
 | 
					        for /d %%i in ("%add_path%\*") do (
 | 
				
			||||||
            %lib_console% debug-output  :enhance_path_recursive "Env Var BEFORE - depth=!depth!"
 | 
					            %lib_console% debug_output  :enhance_path_recursive "Env Var BEFORE - depth=!depth!"
 | 
				
			||||||
            %lib_console% debug-output :enhance_path_recursive "Found Subdirectory - '%%~fi'"
 | 
					            %lib_console% debug_output :enhance_path_recursive "Found Subdirectory - '%%~fi'"
 | 
				
			||||||
            call :enhance_path_recursive "%%~fi" %max_depth% %position%
 | 
					            call :enhance_path_recursive "%%~fi" %max_depth% %position%
 | 
				
			||||||
            %lib_console% debug-output  :enhance_path_recursive "Env Var AFTER- depth=!depth!"
 | 
					            %lib_console% debug_output  :enhance_path_recursive "Env Var AFTER- depth=!depth!"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								vendor/lib/lib_profile.cmd
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/lib/lib_profile.cmd
									
									
									
									
										vendored
									
									
								
							@@ -39,7 +39,7 @@ exit /b
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  pushd "%~1"
 | 
					  pushd "%~1"
 | 
				
			||||||
  for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
 | 
					  for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
 | 
				
			||||||
    %lib_console% verbose-output "Calling '%~1\%%x'..."
 | 
					    %lib_console% verbose_output "Calling '%~1\%%x'..."
 | 
				
			||||||
    call "%~1\%%x"
 | 
					    call "%~1\%%x"
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
  popd
 | 
					  popd
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user