Compare commits

..

33 Commits

Author SHA1 Message Date
9c9eac1875 Merge pull request #2449 from daxgames/alias_fix
Alias fix
2020-12-23 07:55:52 -05:00
ae0b7722ed CHANGELOG.md 2020-12-23 07:55:16 -05:00
bb2f89d044 CHANGELOG.md 2020-12-23 07:33:12 -05:00
24cad3ed5c fix 'alias ..=cd ..' removing 2 char aliases 2020-12-23 07:30:47 -05:00
ae7ddb7f86 Merge branch 'master' of https://github.com/cmderdev/cmder 2020-12-23 07:29:36 -05:00
e0b8ebc669 Clink fork fixes (#2441)
* debug

* remove debug

* Switch to chrisant996 Clink 1.1.8

* Update to Clink 1.1 10

* CHANGELOG.md

Co-authored-by: dgames <dgames@dtg.local>
2020-12-21 21:30:30 +00:00
00b22ea79a Update clink-completions to 0.3.6 (#2440)
https://github.com/vladimir-kotikov/clink-completions/releases/tag/0.3.6
2020-12-17 10:26:59 +00:00
eb8e470fe3 Merge branch 'master' of https://github.com/cmderdev/cmder 2020-12-11 05:52:31 -05:00
9088a5e2e6 Merge pull request #2430 from qfp64/faster-init
Improve init speed
2020-12-11 05:48:07 -05:00
25bc575e8a Merge pull request #2390 from daxgames/sysinfo
add systeminfo.exe output to cmder_diag.*
2020-12-11 05:42:22 -05:00
0ff3b391f1 Merge branch 'master' of https://github.com/cmderdev/cmder into master 2020-12-11 03:47:19 -05:00
11a78a8d64 Fix errors 2020-12-10 13:35:40 +00:00
2a9a4d2860 Speed up calls to lib_console 2020-12-07 19:41:11 +00:00
4874e78953 remove debug 2020-12-06 10:56:58 -05:00
f4988480f6 debug 2020-12-06 09:23:23 -05:00
44f5095047 fix docs for user-aliases.cmd #2397 (#2398) 2020-10-27 17:32:05 +00:00
2205461943 Update git for windows to 2.29.1 (#2410) 2020-10-27 17:31:19 +00:00
467b4d4ad9 hide possible file write conflict 2020-09-13 08:27:10 -04:00
ea6e18c834 hide possible file write confilct 2020-09-13 08:02:46 -04:00
4378741aad add systeminfo.exe output 2020-09-12 06:10:41 -04:00
6458199812 Merge pull request #2380 from daxgames/fix_git_not_expected
Fix `\Git\cmd\git.exe" found." was unexpected at this time.`
2020-08-31 19:11:19 -04:00
d1adf16fa8 'fixes' 2020-08-24 20:27:56 -04:00
cda883bc39 add setlocal 2020-08-23 08:47:20 -04:00
b1ef763922 add setlocal 2020-08-23 08:42:58 -04:00
2cd7632720 Merge pull request #2376 from MMShep97/update-readme-links
Update readme links
2020-08-15 09:02:51 -04:00
92169c1295 Deletes link to non-existent repo :( 2020-08-14 17:57:50 -05:00
e0aba11018 Updates readme link to correct path
Fixes capitalization

Fixes opt to be bin

Updates readme link to correct path
2020-08-14 17:47:24 -05:00
e8fe522a99 Merge pull request #2372 from cmderdev/revert-2371-revert-2369-fix-powershell-prompt
Revert "Revert "Update profile.ps1""
2020-08-13 12:19:36 -04:00
937874f03c Revert "Revert "Update profile.ps1"" 2020-08-13 07:29:24 -04:00
9e085f5938 Merge pull request #2371 from cmderdev/revert-2369-fix-powershell-prompt
Revert "Update profile.ps1"
2020-08-13 07:09:20 -04:00
829a65f552 Revert "Update profile.ps1" 2020-08-13 07:08:20 -04:00
93b69798f4 Merge pull request #2369 from mcnubblet/fix-powershell-prompt
Update profile.ps1
2020-08-13 06:48:01 -04:00
3f6aa3b348 Update profile.ps1
Set utf-8 BOM in profile.ps1 to fix incorrect prompt display in PowerShell
2020-08-13 14:05:49 +10:00
14 changed files with 142 additions and 97 deletions

View File

@ -1,5 +1,20 @@
# Change Log # Change Log
## [1.3.17](https://github.com/cmderdev/cmder/tree/v1.3.17) (2020-12-23)
### Fixes
- [bug] Running `alias ..=cd ..` removes other aliases #2394
- Switch to @chrisant996 [Clink](https://github.com/chrisant996/clink/) v1.1.10 to fix Clink newer Windows 10 releases.
- Fix `\Git\cmd\git.exe found. was unexpected at this time.`
- Documentation fixes.
### Changes
- Update Git to 2.29.0
- Improve `init.bat` Speed
- Add `systeminfo.exe` output to iag scripts.
## [1.3.16](https://github.com/cmderdev/cmder/tree/v1.3.16) (2020-07-29) ## [1.3.16](https://github.com/cmderdev/cmder/tree/v1.3.16) (2020-07-29)
### Fixes ### Fixes

View File

@ -23,10 +23,10 @@ The Cmder's user interface is also designed to be more eye pleasing, and you can
### Shared Cmder install with Non-Portable Individual User Config ### Shared Cmder install with Non-Portable Individual User Config
1. Download the [latest release](https://github.com/cmderdev/cmder/releases/) 1. Download the [latest release](https://github.com/cmderdev/cmder/releases/)
2. Extract the archive to a shared location. 2. Extract the archive to a shared location.
3. (optional) Place your own executable files and custom app folders into the `%cmder_root%\bin`. See: [opt/README.md](./bin/README) 3. (optional) Place your own executable files and custom app folders into the `%cmder_root%\bin`. See: [bin/README.md](./bin/Readme.md)
- This folder to be injected into your PATH by default. - This folder to be injected into your PATH by default.
- See `/max_depth [1-5]` in 'Command Line Arguments for `init.bat`' table to add subdirectories recursively. - See `/max_depth [1-5]` in 'Command Line Arguments for `init.bat`' table to add subdirectories recursively.
4. (optional) Place your own custom app folders into the `%cmder_root%\opt`. See: [opt/README.md](./opt/README) 4. (optional) Place your own custom app folders into the `%cmder_root%\opt`. See: [opt/README.md](./opt/Readme.md)
- This folder will NOT be injected into your PATH so you have total control of what gets added. - This folder will NOT be injected into your PATH so you have total control of what gets added.
5. Run `Cmder.exe` with `/C` command line argument. Example: `cmder.exe /C %userprofile%\cmder_config` 5. Run `Cmder.exe` with `/C` command line argument. Example: `cmder.exe /C %userprofile%\cmder_config`
* This will create the following directory structure if it is missing. * This will create the following directory structure if it is missing.
@ -134,7 +134,7 @@ cd mintty-colors-solarized/
echo source \$CMDER_ROOT/vendor/mintty-colors-solarized/mintty-solarized-dark.sh>>$CMDER_ROOT/config/user_profile.sh echo source \$CMDER_ROOT/vendor/mintty-colors-solarized/mintty-solarized-dark.sh>>$CMDER_ROOT/config/user_profile.sh
``` ```
You may find some Monokai color schemes for mintty to match Cmder [here](https://github.com/PhilipDaniels/mintty/blob/master/themes/Monokai) or [here](https://github.com/oumu/mintty-color-schemes/blob/master/base16-monokai-mod.minttyrc). You may find some Monokai color schemes for mintty to match Cmder [here](https://github.com/oumu/mintty-color-schemes/blob/master/base16-monokai-mod.minttyrc).
### Changing Cmder Default `cmd.exe` Shell Startup Behaviour Using Task Arguments ### Changing Cmder Default `cmd.exe` Shell Startup Behaviour Using Task Arguments
@ -163,7 +163,7 @@ You may find some Monokai color schemes for mintty to match Cmder [here](https:/
| `/max_depth [1-5]` | Define max recurse depth when adding to the path for `%cmder_root%\bin` and `%cmder_user_bin%` | 1 | | `/max_depth [1-5]` | Define max recurse depth when adding to the path for `%cmder_root%\bin` and `%cmder_user_bin%` | 1 |
| `/nix_tools [0-2]` | Define how `*nix` tools are added to the path. Prefer Windows Tools: 1, Prefer *nix Tools: 2, No `/usr/bin` in `%PATH%`: 0 | 1 | | `/nix_tools [0-2]` | Define how `*nix` tools are added to the path. Prefer Windows Tools: 1, Prefer *nix Tools: 2, No `/usr/bin` in `%PATH%`: 0 | 1 |
| `/svn_ssh [path to ssh.exe]` | Define `%SVN_SSH%` so we can use git svn with ssh svn repositories. | `%GIT_INSTALL_ROOT%\bin\ssh.exe` | | `/svn_ssh [path to ssh.exe]` | Define `%SVN_SSH%` so we can use git svn with ssh svn repositories. | `%GIT_INSTALL_ROOT%\bin\ssh.exe` |
| `/user_aliases [file path]` | File path pointing to user aliases. | `%CMDER_ROOT%\config\user-aliases.cmd` | | `/user_aliases [file path]` | File path pointing to user aliases. | `%CMDER_ROOT%\config\user_aliases.cmd` |
| `/v` | Enables verbose output. | not set | | `/v` | Enables verbose output. | not set |
| (custom arguments) | User defined arguments processed by `cexec`. Type `cexec /?` for more useage. | not set | | (custom arguments) | User defined arguments processed by `cexec`. Type `cexec /?` for more useage. | not set |
@ -206,14 +206,14 @@ You can define simple aliases for `cmd.exe` sessions with a command like `alias
Cmd.exe aliases can also be more complex. See: [DOSKEY.EXE documentation](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/doskey) for additional details on complex aliases/macros for `cmd.exe` Cmd.exe aliases can also be more complex. See: [DOSKEY.EXE documentation](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/doskey) for additional details on complex aliases/macros for `cmd.exe`
Aliases defined using the `alias.bat` command will automatically be saved in the `%CMDER_ROOT%\config\user-aliases.cmd` file Aliases defined using the `alias.bat` command will automatically be saved in the `%CMDER_ROOT%\config\user_aliases.cmd` file
To make an alias and/or any other profile settings permanent add it to one of the following: To make an alias and/or any other profile settings permanent add it to one of the following:
Note: These are loaded in this order by `$CMDER_ROOT/vendor/init.bat`. Anything stored in `%CMDER_ROOT%` will be a portable setting and will follow cmder to another machine. Note: These are loaded in this order by `$CMDER_ROOT/vendor/init.bat`. Anything stored in `%CMDER_ROOT%` will be a portable setting and will follow cmder to another machine.
* `%CMDER_ROOT%\config\profile.d\*.cmd` and `\*.bat` * `%CMDER_ROOT%\config\profile.d\*.cmd` and `\*.bat`
* `%CMDER_ROOT%\config\user-aliases.cmd` * `%CMDER_ROOT%\config\user_aliases.cmd`
* `%CMDER_ROOT%\config\user_profile.cmd` * `%CMDER_ROOT%\config\user_profile.cmd`
#### Bash.exe|Mintty.exe Aliases #### Bash.exe|Mintty.exe Aliases

11
vendor/bin/alias.cmd vendored
View File

@ -81,6 +81,9 @@ set alias_name=!alias_name:~1!
:: trailing quotes added while validating :: trailing quotes added while validating
set alias_value=!alias_value:~0,-1! set alias_value=!alias_value:~0,-1!
:: '.' escaped
set alias_name_esc=!alias_name:.=\.!
::remove spaces ::remove spaces
set _temp=%alias_name: =% set _temp=%alias_name: =%
@ -91,7 +94,7 @@ if not ["%_temp%"] == ["%alias_name%"] (
) )
:: replace already defined alias :: replace already defined alias
%WINDIR%\System32\findstr /b /v /i "%alias_name%=" "%ALIASES%" >> "%ALIASES%.tmp" %WINDIR%\System32\findstr /v /i "^%alias_name_esc%=" "%ALIASES%" >> "%ALIASES%.tmp"
echo %alias_name%=%alias_value% >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp" echo %alias_name%=%alias_value% >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
doskey /macrofile="%ALIASES%" doskey /macrofile="%ALIASES%"
endlocal endlocal
@ -99,7 +102,11 @@ exit /b
:p_del :p_del
set del_alias=%~1 set del_alias=%~1
%WINDIR%\System32\findstr /b /v /i "%del_alias%=" "%ALIASES%" >> "%ALIASES%.tmp"
:: '.' escaped
set del_alias_esc=!del_alias:.=\.!
%WINDIR%\System32\findstr /v /i "^%del_alias_esc%=" "%ALIASES%" >> "%ALIASES%.tmp"
type "%ALIASES%".tmp > "%ALIASES%" & @del /f /q "%ALIASES%.tmp" type "%ALIASES%".tmp > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
doskey %del_alias%= doskey %del_alias%=
doskey /macrofile="%ALIASES%" doskey /macrofile="%ALIASES%"

View File

@ -1,5 +1,4 @@
@echo off @echo off
setlocal
if "%~1" equ "" goto :wrongSyntax if "%~1" equ "" goto :wrongSyntax
@ -8,6 +7,7 @@ if not defined CMDER_USER_FLAGS (
set "CMDER_USER_FLAGS= " set "CMDER_USER_FLAGS= "
) )
set "feNot=false" set "feNot=false"
goto :parseArgument goto :parseArgument
@ -17,10 +17,8 @@ goto :parseArgument
:parseArgument :parseArgument
set "currenArgu=%~1" set "currenArgu=%~1"
if /i "%currenArgu%" equ "/setPath" ( if /i "%currenArgu%" equ "/setPath" (
:: set %flag_exists% shortcut set ccall=call "%~dp0cexec.cmd"
endlocal set cexec="%~dp0cexec.cmd"
set "ccall=call ^"%~dp0cexec.cmd^""
set "cexec=^"%~dp0cexec.cmd^""
) else if /i "%currenArgu%" == "/?" ( ) else if /i "%currenArgu%" == "/?" (
goto :help goto :help
) else if /i "%currenArgu%" equ "/help" ( ) else if /i "%currenArgu%" equ "/help" (

View File

@ -35,6 +35,12 @@ echo where git
echo ------------------------------------ echo ------------------------------------
where git where git
echo.
echo ------------------------------------
echo systeminfo
echo ------------------------------------
systeminfo
echo. echo.
echo ------------------------------------ echo ------------------------------------
echo Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team! echo Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!

View File

@ -33,6 +33,12 @@ write-host get-command git
write-host ------------------------------------ write-host ------------------------------------
get-command git get-command git
write-host ''
write-host ------------------------------------
write-host systeminfo
write-host ------------------------------------
systeminfo
write-host '' write-host ''
write-host ------------------------------------ write-host ------------------------------------
write-host Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team! write-host Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!

View File

@ -31,7 +31,13 @@ echo ''
echo ------------------------------------ echo ------------------------------------
echo which git echo which git
echo ------------------------------------ echo ------------------------------------
which git which git
echo ''
echo ------------------------------------
echo systeminfo
echo ------------------------------------
systeminfo
echo '' echo ''
echo ------------------------------------ echo ------------------------------------

55
vendor/init.bat vendored
View File

@ -67,7 +67,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
set "max_depth=%~2" set "max_depth=%~2"
shift shift
) else ( ) else (
%lib_console% show_error "'/max_depth' requires a number between 1 and 5!" %print_error% "'/max_depth' requires a number between 1 and 5!"
exit /b exit /b
) )
) else if /i "%1" == "/c" ( ) else if /i "%1" == "/c" (
@ -88,7 +88,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
set "GIT_INSTALL_ROOT=%~2" set "GIT_INSTALL_ROOT=%~2"
shift shift
) else ( ) else (
%lib_console% show_error "The Git install root folder "%~2", you specified does not exist!" %print_error% "The Git install root folder "%~2", you specified does not exist!"
exit /b exit /b
) )
) else if /i "%1"=="/nix_tools" ( ) else if /i "%1"=="/nix_tools" (
@ -110,7 +110,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
set "HOME=%~2" set "HOME=%~2"
shift shift
) else ( ) else (
%lib_console% show_error The home folder "%2", you specified does not exist! %print_error% The home folder "%2", you specified does not exist!
exit /b exit /b
) )
) else if /i "%1" == "/svn_ssh" ( ) else if /i "%1" == "/svn_ssh" (
@ -125,11 +125,11 @@ goto var_loop
:start :start
:: Sets CMDER_SHELL, CMDER_CLINK, CMDER_ALIASES :: Sets CMDER_SHELL, CMDER_CLINK, CMDER_ALIASES
%lib_base% cmder_shell %lib_base% cmder_shell
%lib_console% debug_output init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%" %print_debug% init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%"
%lib_console% debug_output init.bat "Env Var - debug_output=%debug_output%" %print_debug% 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%'!" %print_debug% init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
if not exist "%CMDER_USER_CONFIG%\opt" md "%CMDER_USER_CONFIG%\opt" if not exist "%CMDER_USER_CONFIG%\opt" md "%CMDER_USER_CONFIG%\opt"
) )
@ -144,7 +144,7 @@ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
) )
if "%CMDER_CLINK%" == "1" ( if "%CMDER_CLINK%" == "1" (
%lib_console% verbose_output "Injecting Clink!" %print_verbose% "Injecting Clink!"
:: Run clink :: Run clink
if defined CMDER_USER_CONFIG ( if defined CMDER_USER_CONFIG (
@ -163,15 +163,15 @@ if "%CMDER_CLINK%" == "1" (
"%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor" "%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
) )
) else ( ) else (
%lib_console% verbose_output "WARNING: Incompatible 'ComSpec/Shell' Detetected Skipping Clink Injection!" %print_verbose% "WARNING: Incompatible 'ComSpec/Shell' Detetected Skipping Clink Injection!"
) )
if "%CMDER_CONFIGURED%" GTR "1" ( if "%CMDER_CONFIGURED%" GTR "1" (
%lib_console% verbose_output "Cmder is already configured, skipping Cmder Init!" %print_verbose% "Cmder is already configured, skipping Cmder Init!"
goto USER_ALIASES goto USER_ALIASES
) else if "%CMDER_CONFIGURED%" == "1" ( ) else if "%CMDER_CONFIGURED%" == "1" (
%lib_console% verbose_output "Cmder is already configured, skipping to Cmder User Init!" %print_verbose% "Cmder is already configured, skipping to Cmder User Init!"
goto USER_CONFIG_START goto USER_CONFIG_START
) )
@ -191,15 +191,15 @@ if defined GIT_INSTALL_ROOT (
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :SPECIFIED_GIT if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :SPECIFIED_GIT
) else if "%fast_init%" == "1" ( ) else if "%fast_init%" == "1" (
if exist "%CMDER_ROOT%\vendor\git-for-windows\cmd\git.exe" ( if exist "%CMDER_ROOT%\vendor\git-for-windows\cmd\git.exe" (
%lib_console% debug_output "Skipping Git Auto-Detect!" %print_debug% "Skipping Git Auto-Detect!"
goto :VENDORED_GIT goto :VENDORED_GIT
) )
) )
%lib_console% debug_output init.bat "Looking for Git install root..." %print_debug% 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" 2>nul
%lib_git% validate_version VENDORED %GIT_VERSION_VENDORED% %lib_git% validate_version VENDORED %GIT_VERSION_VENDORED%
:: check if git is in path... :: check if git is in path...
@ -218,31 +218,31 @@ for /F "delims=" %%F in ('where git.exe 2^>nul') 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"
%lib_console% debug_output "Using vendored Git '%GIT_VERSION_VENDORED%'..." %print_debug% "Using vendored Git '%GIT_VERSION_VENDORED%'..."
goto :CONFIGURE_GIT goto :CONFIGURE_GIT
) else ( ) else (
goto :NO_GIT goto :NO_GIT
) )
:SPECIFIED_GIT :SPECIFIED_GIT
%lib_console% debug_output "Using /GIT_INSTALL_ROOT..." %print_debug% "Using /GIT_INSTALL_ROOT..."
goto :CONFIGURE_GIT goto :CONFIGURE_GIT
:FOUND_GIT :FOUND_GIT
%lib_console% debug_output "Using found Git '%GIT_VERSION_USER%' from '%GIT_INSTALL_ROOT%..." %print_debug% "Using found Git '%GIT_VERSION_USER%' from '%GIT_INSTALL_ROOT%..."
goto :CONFIGURE_GIT goto :CONFIGURE_GIT
:CONFIGURE_GIT :CONFIGURE_GIT
%lib_console% debug_output "Using Git from '%GIT_INSTALL_ROOT%..." %print_debug% "Using Git from '%GIT_INSTALL_ROOT%..."
:: Add git to the path :: Add git to the path
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" %lib_path% enhance_path "%GIT_INSTALL_ROOT%\cmd" "" if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" %lib_path% enhance_path "%GIT_INSTALL_ROOT%\cmd" ""
:: Add the unix commands at the end to not shadow windows commands like more :: Add the unix commands at the end to not shadow windows commands like more
if %nix_tools% equ 1 ( if %nix_tools% equ 1 (
%lib_console% verbose_output "Preferring Windows commands" %print_verbose% "Preferring Windows commands"
set "path_position=append" set "path_position=append"
) else ( ) else (
%lib_console% verbose_output "Preferring *nix commands" %print_verbose% "Preferring *nix commands"
set "path_position=" set "path_position="
) )
@ -265,17 +265,20 @@ if not defined git_locale for /F "tokens=* delims=" %%F in ('where locale.exe 2^
if not defined git_locale if exist "%GIT_INSTALL_ROOT%\usr\bin\env.exe" set git_locale="%GIT_INSTALL_ROOT%\usr\bin\env.exe" /usr/bin/locale if not defined git_locale if exist "%GIT_INSTALL_ROOT%\usr\bin\env.exe" set git_locale="%GIT_INSTALL_ROOT%\usr\bin\env.exe" /usr/bin/locale
if not defined git_locale for /F "tokens=* delims=" %%F in ('where env.exe 2^>nul') do ( if not defined git_locale set git_locale="%%F" /usr/bin/locale ) if not defined git_locale for /F "tokens=* delims=" %%F in ('where env.exe 2^>nul') do ( if not defined git_locale set git_locale="%%F" /usr/bin/locale )
setlocal enabledelayedexpansion
if defined git_locale ( if defined git_locale (
%lib_console% debug_output init.bat "Env Var - git_locale=%git_locale%"
REM %print_debug% init.bat "Env Var - git_locale=!git_locale!"
if not defined LANG ( if not defined LANG (
for /F "delims=" %%F in ('%git_locale% -uU 2') do ( for /F "delims=" %%F in ('!git_locale! -uU 2') do (
set "LANG=%%F" set "LANG=%%F"
) )
) )
) )
endlocal && set LANG=%LANG%
%lib_console% debug_output init.bat "Env Var - GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%" %print_debug% init.bat "Env Var - GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
%lib_console% debug_output init.bat "Found Git in: '%GIT_INSTALL_ROOT%'" %print_debug% init.bat "Found Git in: '%GIT_INSTALL_ROOT%'"
goto :PATH_ENHANCE goto :PATH_ENHANCE
:NO_GIT :NO_GIT
@ -358,12 +361,12 @@ 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%" %print_debug% 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" (
REM Create this file and place your own command in there REM Create this file and place your own command in there
%lib_console% debug_output init.bat "Calling - %CMDER_ROOT%\config\user_profile.cmd" %print_debug% init.bat "Calling - %CMDER_ROOT%\config\user_profile.cmd"
call "%CMDER_ROOT%\config\user_profile.cmd" call "%CMDER_ROOT%\config\user_profile.cmd"
) )
@ -371,7 +374,7 @@ if defined CMDER_USER_CONFIG (
set "initialConfig=%CMDER_USER_CONFIG%\user_profile.cmd" set "initialConfig=%CMDER_USER_CONFIG%\user_profile.cmd"
if exist "%CMDER_USER_CONFIG%\user_profile.cmd" ( if exist "%CMDER_USER_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
%lib_console% debug_output init.bat "Calling - %CMDER_USER_CONFIG%\user_profile.cmd" %print_debug% init.bat "Calling - %CMDER_USER_CONFIG%\user_profile.cmd"
call "%CMDER_USER_CONFIG%\user_profile.cmd" call "%CMDER_USER_CONFIG%\user_profile.cmd"
) )
) )

View File

@ -3,6 +3,11 @@
call "%~dp0lib_base.cmd" call "%~dp0lib_base.cmd"
set lib_console=call "%~dp0lib_console.cmd" set lib_console=call "%~dp0lib_console.cmd"
:: Much faster than using "%lib_console% debug_output ..." etc.
set print_debug=if %debug_output% gtr 0 %lib_console% debug_output
set print_verbose=if %verbose_output% gtr 0 %lib_console% verbose_output
set print_error=%lib_console% show_error
if "%fast_init%" == "1" exit /b if "%fast_init%" == "1" exit /b
if "%~1" == "/h" ( if "%~1" == "/h" (

View File

@ -39,16 +39,15 @@ 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%" %print_debug% :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." %print_debug% :read_version "%git_executable% does not exist."
exit /b -255 exit /b -255
) )
:: get the git version in the provided directory :: get the git version in the provided directory
"%git_executable%" --version > "%temp%\git_version.txt" "%git_executable%" --version > "%temp%\git_version.txt"
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
for /F "tokens=1,2,3 usebackq" %%A in (`type "%temp%\git_version.txt" 2^>nul`) do ( for /F "tokens=1,2,3 usebackq" %%A in (`type "%temp%\git_version.txt" 2^>nul`) do (
@ -60,7 +59,7 @@ exit /b
exit /b exit /b
) )
) )
endlocal & set "GIT_VERSION_%~1=%GIT_VERSION%" & %lib_console% debug_output :read_version "Env Var - GIT_VERSION_%~1=%GIT_VERSION%" endlocal & set "GIT_VERSION_%~1=%GIT_VERSION%" & %print_debug% :read_version "Env Var - GIT_VERSION_%~1=%GIT_VERSION%"
exit /b exit /b
@ -90,7 +89,7 @@ exit /b
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
:: process a `x.x.x.xxxx.x` formatted string :: process a `x.x.x.xxxx.x` formatted string
%lib_console% debug_output :parse_version "ARGV[1]=%~1, ARGV[2]=%~2" %print_debug% :parse_version "ARGV[1]=%~1, ARGV[2]=%~2"
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
for /F "tokens=1-3* delims=.,-" %%A in ("%2") do ( for /F "tokens=1-3* delims=.,-" %%A in ("%2") do (
@ -130,16 +129,16 @@ exit /b
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
:: now parse the version information into the corresponding variables :: now parse the version information into the corresponding variables
%lib_console% debug_output :validate_version "ARGV[1]=%~1, ARGV[2]=%~2" %print_debug% :validate_version "ARGV[1]=%~1, ARGV[2]=%~2"
call :parse_version %~1 %~2 call :parse_version %~1 %~2
:: ... and maybe display it, for debugging purposes. :: ... and maybe display it, for debugging purposes.
REM %lib_console% debug_output :validate_version "Found Git Version for %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!" REM %print_debug% :validate_version "Found Git Version for %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!"
if "%~1" == "VENDORED" ( if "%~1" == "VENDORED" (
%lib_console% debug_output :validate_version "Found Git Version for %~1: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%" %print_debug% :validate_version "Found Git Version for %~1: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%"
) else ( ) else (
%lib_console% debug_output :validate_version "Found Git Version for %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%" %print_debug% :validate_version "Found Git Version for %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%"
) )
exit /b exit /b
@ -164,9 +163,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: %print_debug% Comparing:
%lib_console% debug_output %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD% %print_debug% %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%
%lib_console% debug_output %~2: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD% %print_debug% %~2: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
if !%~1_MAJOR! GTR !%~2_MAJOR! (endlocal & exit /b 1) if !%~1_MAJOR! GTR !%~2_MAJOR! (endlocal & exit /b 1)
@ -231,31 +230,31 @@ exit /b
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
:compare_git_versions :compare_git_versions
setlocal enabledelayedexpansion
if ERRORLEVEL 0 ( if ERRORLEVEL 0 (
:: compare the user git version against the vendored version :: compare the user git version against the vendored version
%lib_git% compare_versions USER VENDORED !lib_git! compare_versions USER VENDORED
:: use the user provided git if its version is greater than, or equal to the vendored git :: use the user provided git if its version is greater than, or equal to the vendored git
if ERRORLEVEL 0 ( if ERRORLEVEL 0 (
if exist "%test_dir:~0,-4%\cmd\git.exe" ( if exist "!test_dir:~0,-4!\cmd\git.exe" (
set "GIT_INSTALL_ROOT=%test_dir:~0,-4%" set "GIT_INSTALL_ROOT=!test_dir:~0,-4!"
set test_dir=
) else ( ) else (
set "GIT_INSTALL_ROOT=%test_dir%" set "GIT_INSTALL_ROOT=!test_dir!"
set test_dir=
) )
) else ( ) else (
%lib_console% verbose_output "Found old %GIT_VERSION_USER% in %test_dir%, but not using..." %print_verbose% "Found old !GIT_VERSION_USER! in !test_dir!, but not using..."
set test_dir=
) )
) else ( ) else (
:: compare the user git version against the vendored version :: compare the user git version against the vendored version
:: if the user provided git executable is not found :: if the user provided git executable is not found
IF ERRORLEVEL -255 IF NOT ERRORLEVEL -254 ( IF ERRORLEVEL -255 IF NOT ERRORLEVEL -254 (
%lib_console% verbose_output "No git at "%git_executable%" found." %print_verbose% "No git at "!git_executable!" found."
set test_dir= set test_dir=
) )
) )
endlocal && set "GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%" && set test_dir=
exit /b exit /b
:::=============================================================================== :::===============================================================================
@ -272,7 +271,7 @@ exit /b
:get_user_git_version :get_user_git_version
:: get the version information for the user provided git binary :: get the version information for the user provided git binary
%lib_git% read_version USER "%test_dir%" %lib_git% read_version USER "%test_dir%" 2>nul
%lib_git% validate_version USER %GIT_VERSION_USER% %lib_git% validate_version USER %GIT_VERSION_USER%
exit /b exit /b

View File

@ -42,7 +42,7 @@ exit /b
if "%~1" neq "" ( if "%~1" neq "" (
set "add_path=%~1" set "add_path=%~1"
) else ( ) else (
%lib_console% show_error "You must specify a directory to add to the path!" %print_error% "You must specify a directory to add to the path!"
exit 1 exit 1
) )
@ -77,33 +77,33 @@ exit /b
set OLD_PATH=%PATH% set OLD_PATH=%PATH%
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
if "%found%" == "0" ( if "!found!" == "0" (
echo "%path%"|%WINDIR%\System32\findstr >nul /I /R /C:";%find_query%;" echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!;"
call :set_found call :set_found
) )
%lib_console% debug_output :enhance_path "Env Var INSIDE PATH %find_query% - found=%found%" %print_debug% :enhance_path "Env Var INSIDE PATH !find_query! - found=!found!"
if /i "%position%" == "append" ( if /i "!position!" == "append" (
if "!found!" == "0" ( if "!found!" == "0" (
echo "%path%"|%WINDIR%\System32\findstr >nul /I /R /C:";%find_query%\"$" echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!\"$"
call :set_found call :set_found
) )
%lib_console% debug_output :enhance_path "Env Var END PATH %find_query% - found=!found!" %print_debug% :enhance_path "Env Var END PATH !find_query! - found=!found!"
) else ( ) else (
if "!found!" == "0" ( if "!found!" == "0" (
echo "%path%"|%WINDIR%\System32\findstr >nul /I /R /C:"^\"%find_query%;" echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:"^\"!find_query!;"
call :set_found call :set_found
) )
%lib_console% debug_output :enhance_path "Env Var BEGIN PATH %find_query% - found=!found!" %print_debug% :enhance_path "Env Var BEGIN PATH !find_query! - found=!found!"
) )
endlocal & set found=%found% endlocal & set found=%found%
if "%found%" == "0" ( if "%found%" == "0" (
if /i "%position%" == "append" ( if /i "%position%" == "append" (
%lib_console% debug_output :enhance_path "Appending '%add_to_path%'" %print_debug% :enhance_path "Appending '%add_to_path%'"
set "PATH=%PATH%;%add_to_path%" set "PATH=%PATH%;%add_to_path%"
) else ( ) else (
%lib_console% debug_output :enhance_path "Prepending '%add_to_path%'" %print_debug% :enhance_path "Prepending '%add_to_path%'"
set "PATH=%add_to_path%;%PATH%" set "PATH=%add_to_path%;%PATH%"
) )
@ -113,8 +113,8 @@ exit /b
:end_enhance_path :end_enhance_path
set "PATH=%PATH:;;=;%" set "PATH=%PATH:;;=;%"
if NOT "%OLD_PATH%" == "%PATH%" ( if NOT "%OLD_PATH%" == "%PATH%" (
%lib_console% debug_output :enhance_path "END Env Var - PATH=%path%" %print_debug% :enhance_path "END Env Var - PATH=%path%"
%lib_console% debug_output :enhance_path "Env Var %find_query% - found=%found%" %print_debug% :enhance_path "Env Var %find_query% - found=%found%"
) )
set "position=" set "position="
exit /b exit /b
@ -156,7 +156,7 @@ exit /b
if "%~1" neq "" ( if "%~1" neq "" (
set "add_path=%~1" set "add_path=%~1"
) else ( ) else (
%lib_console% show_error "You must specify a directory to add to the path!" %print_error% "You must specify a directory to add to the path!"
exit 1 exit 1
) )
@ -188,14 +188,14 @@ exit /b
exit /b exit /b
) )
%lib_console% debug_output :enhance_path_recursive "Env Var - add_path=%add_to_path%" %print_debug% :enhance_path_recursive "Env Var - add_path=%add_to_path%"
%lib_console% debug_output :enhance_path_recursive "Env Var - position=%position%" %print_debug% :enhance_path_recursive "Env Var - position=%position%"
%lib_console% debug_output :enhance_path_recursive "Env Var - depth=%depth%" %print_debug% :enhance_path_recursive "Env Var - depth=%depth%"
%lib_console% debug_output :enhance_path_recursive "Env Var - max_depth=%max_depth%" %print_debug% :enhance_path_recursive "Env Var - max_depth=%max_depth%"
if %max_depth% gtr %depth% ( if %max_depth% gtr %depth% (
if "%add_to_path%" neq "" ( if "%add_to_path%" neq "" (
%lib_console% debug_output :enhance_path_recursive "Adding parent directory - '%add_to_path%'" %print_debug% :enhance_path_recursive "Adding parent directory - '%add_to_path%'"
call :enhance_path "%add_to_path%" %position% call :enhance_path "%add_to_path%" %position%
) )
call :set_depth call :set_depth
@ -216,10 +216,10 @@ exit /b
) )
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%" %print_debug% :enhance_path_recursive "Env Var BEFORE - depth=%depth%"
%lib_console% debug_output :enhance_path_recursive "Found Subdirectory - '%%~fi'" %print_debug% :enhance_path_recursive "Found Subdirectory - '%%~fi'"
call :enhance_path_recursive "%%~fi" %depth% %max_depth% %position% call :enhance_path_recursive "%%~fi" %depth% %max_depth% %position%
%lib_console% debug_output :enhance_path_recursive "Env Var AFTER- depth=%depth%" %print_debug% :enhance_path_recursive "Env Var AFTER- depth=%depth%"
) )
exit /b exit /b

View File

@ -38,7 +38,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'..." %print_verbose% "Calling '%~1\%%x'..."
call "%~1\%%x" call "%~1\%%x"
) )
popd popd

2
vendor/profile.ps1 vendored
View File

@ -1,4 +1,4 @@
# Init Script for PowerShell # Init Script for PowerShell
# Created as part of cmder project # Created as part of cmder project
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED # !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED

12
vendor/sources.json vendored
View File

@ -1,13 +1,13 @@
[ [
{ {
"name": "git-for-windows", "name": "git-for-windows",
"version": "v2.28.0.windows.1", "version": "v2.29.1.windows.1",
"url": "https://github.com/git-for-windows/git/releases/download/v2.28.0.windows.1/PortableGit-2.28.0-64-bit.7z.exe" "url": "https://github.com/git-for-windows/git/releases/download/v2.29.1.windows.1/PortableGit-2.29.1-64-bit.7z.exe"
}, },
{ {
"name": "clink", "name": "clink",
"version": "0.4.9", "version": "1.1.10",
"url": "https://github.com/mridgers/clink/releases/download/0.4.9/clink_0.4.9.zip" "url": "https://github.com/chrisant996/clink/releases/download/v1.1.10/clink.1.1.10.125c9f.zip"
}, },
{ {
"name": "conemu-maximus5", "name": "conemu-maximus5",
@ -16,7 +16,7 @@
}, },
{ {
"name": "clink-completions", "name": "clink-completions",
"version": "0.3.5", "version": "0.3.6",
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.5.zip" "url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.6.zip"
} }
] ]