mirror of
https://github.com/cmderdev/cmder.git
synced 2025-07-16 12:39:38 +08:00
Compare commits
182 Commits
Author | SHA1 | Date | |
---|---|---|---|
711fe2895e | |||
7cc1c77225 | |||
f0c4e85ac8 | |||
ea0145448c | |||
0281ee7dda | |||
f997da60e3 | |||
34df88aa76 | |||
c51c3c55a8 | |||
0e8c556e7d | |||
357e51acd1 | |||
66f9d582ec | |||
83a95d1412 | |||
a1417f6cf9 | |||
8ea4bbb11c | |||
f39aade500 | |||
004535e0bc | |||
6ae2f97f52 | |||
0326f2e3a8 | |||
9f065a63e8 | |||
b6316eb447 | |||
59dfa9c46f | |||
a4cb56b083 | |||
ad6979d25f | |||
addcefdd47 | |||
0637d6b3e9 | |||
f72c285d8b | |||
f24266014f | |||
c27cedc9b3 | |||
4c85e8b2f1 | |||
c75c02c9ce | |||
9de284123c | |||
93715461e6 | |||
fc6cf025be | |||
f809af1eec | |||
5b071d8d59 | |||
6d1e2d6e8b | |||
2ef8c967d2 | |||
b885b4e235 | |||
f717f5031b | |||
710cc3ecc3 | |||
0fc6b6571e | |||
48f50568b0 | |||
b8760e4d04 | |||
ae7209f254 | |||
9d4da63184 | |||
62a6311b6d | |||
b40510f3a0 | |||
e7a6e64473 | |||
f6c2657b23 | |||
91aabe75af | |||
946f929eaf | |||
8a870c093a | |||
bfe526604d | |||
79e505acf8 | |||
9a2e22cb6d | |||
b2add2b966 | |||
74202a8719 | |||
5305ebd4a6 | |||
4e22ad93f4 | |||
6730f864b1 | |||
56b04fc9ce | |||
55ff611095 | |||
aebe37bd28 | |||
413fb2f1ac | |||
73ad62eaa2 | |||
4fab4cc6e4 | |||
a41fad80d5 | |||
c9acb13d0b | |||
03d0f913ea | |||
a5c98d4fe9 | |||
9df8f1a92a | |||
c262934822 | |||
f1665ddd7d | |||
36f4ce0e3c | |||
59941f5dfa | |||
6d79ed5eb2 | |||
99a7445fcb | |||
d6b5fe8e1d | |||
11fb1b3a50 | |||
810a3da955 | |||
e8df3ef247 | |||
8d6ce3e4ac | |||
9793ca1ed9 | |||
d9b2c729f9 | |||
8fa351810a | |||
3752b95218 | |||
e0cb86d738 | |||
0ef76ee2d3 | |||
8a2ace9fc2 | |||
37c7b1dc02 | |||
ad755dc7f9 | |||
6027ac31c4 | |||
c34eb73555 | |||
f7df79a2d7 | |||
0fd2d9c8a8 | |||
e918b18ca7 | |||
0a7f1623f7 | |||
d02be816e2 | |||
8452f33407 | |||
a66b8b3035 | |||
ed60c14a44 | |||
cc1d459ea9 | |||
633d673bd7 | |||
a7e45ef64a | |||
10d63daf90 | |||
6c15598010 | |||
3608b5bc81 | |||
2d75a635de | |||
9cf3ba222e | |||
01d300f779 | |||
ba1027f6d5 | |||
b5d172cd32 | |||
f362ba8dba | |||
783cf68d10 | |||
c4fb7e6034 | |||
da0af1d96b | |||
9c9eac1875 | |||
ae0b7722ed | |||
bb2f89d044 | |||
24cad3ed5c | |||
ae7ddb7f86 | |||
e0b8ebc669 | |||
00b22ea79a | |||
eb8e470fe3 | |||
9088a5e2e6 | |||
25bc575e8a | |||
0ff3b391f1 | |||
11a78a8d64 | |||
2a9a4d2860 | |||
4874e78953 | |||
f4988480f6 | |||
44f5095047 | |||
2205461943 | |||
467b4d4ad9 | |||
ea6e18c834 | |||
4378741aad | |||
6458199812 | |||
d1adf16fa8 | |||
cda883bc39 | |||
b1ef763922 | |||
2cd7632720 | |||
92169c1295 | |||
e0aba11018 | |||
e8fe522a99 | |||
937874f03c | |||
9e085f5938 | |||
829a65f552 | |||
93b69798f4 | |||
3f6aa3b348 | |||
a1785415fd | |||
794ae2ad60 | |||
28c416a15c | |||
70aa573111 | |||
4cacd2fdc8 | |||
80f76ad956 | |||
906bb5d357 | |||
29d784b2b1 | |||
fc90722faa | |||
167c49ee6d | |||
0ed10e5e89 | |||
cd50db3a7f | |||
37a223b449 | |||
334838c079 | |||
0c3d89925e | |||
020661af95 | |||
79261d4d27 | |||
7326a3cfc5 | |||
fdcbd6df87 | |||
0c41d5f5d4 | |||
40c58417b2 | |||
97a41ddd99 | |||
954937cf97 | |||
2c620d1d67 | |||
5e7a7029d1 | |||
f1c1354c00 | |||
0f12de345b | |||
c332ab1a34 | |||
4403edb110 | |||
00bc5439fd | |||
da5f1bc4db | |||
52f5ad62c3 | |||
250ae06e7a |
2
.gitignore
vendored
2
.gitignore
vendored
@ -11,9 +11,11 @@ vendor/*/*
|
||||
!vendor/lib/*
|
||||
!vendor/*
|
||||
!vendor/psmodules/*
|
||||
vendor/git-for-windows
|
||||
|
||||
config/*
|
||||
!config/Readme.md
|
||||
!config/profile.d/README.md
|
||||
|
||||
config_user/*
|
||||
|
||||
|
69
CHANGELOG.md
69
CHANGELOG.md
@ -1,5 +1,74 @@
|
||||
# Change Log
|
||||
|
||||
## [1.3.19](https://github.com/cmderdev/cmder/tree/v1.3.19) (2022-01-15)
|
||||
|
||||
### Changes
|
||||
|
||||
- Update Git for Windows to 2.34.0
|
||||
- Update to Clink 1.2.46
|
||||
- Update to stable Conemu 210912
|
||||
- Do not rely on having a `%cmder_root%\config\cmder_prompt_config.lua`
|
||||
|
||||
### Adds
|
||||
|
||||
- Powershell Git version Discovery - See #2373 for the full proposal.
|
||||
- Find user installed Git on Path
|
||||
- If found
|
||||
- if newer than Cmder embedded Git
|
||||
- Use it's existing Path config and completely ignore embedded Git.
|
||||
- Else if Cmder embedded Git exists and is newer
|
||||
- Match User installed Git path config using Cmder embedded Git folders.
|
||||
- Else if Cmder embedded Git exists
|
||||
- Add Cmder embedded Git folders to the path.
|
||||
- `$env:cmder_root\vendor\git-for-windows\cmd;$env:path`
|
||||
- `$env:path;$env:cmder_root\vendor\git-for-windows\usr\bin`
|
||||
- `$env:path;$env:cmder_root\vendor\git-for-windows\mingw64\bin`
|
||||
- Configurable prompt for `cmd.exe` sessions. See `%cmder_root%\config\cmder_prompt_config.lua`
|
||||
- Configurable colors
|
||||
- Option to change `λ` to another character.
|
||||
- Option to add `[user]@[host]` to the prompt
|
||||
- Option to use of `~` to represent `$HOME` folder.
|
||||
- Option to use folder name vs. full working directory path in prompt.
|
||||
- Option to use single line prompt.
|
||||
|
||||
### Fixes
|
||||
|
||||
- Git prompt opt-out works better with additional changes to `clink-completions`
|
||||
|
||||
## [1.3.18](https://github.com/cmderdev/cmder/tree/v1.3.18) (2021-3-26)
|
||||
|
||||
### Changes
|
||||
|
||||
- Update to Clink 1.1.45 to fix #2451, #2465, and #2473
|
||||
- Update to ConEmu v21.03.04
|
||||
- `init.bat` auto migrates the history alias to use `clink history` if required.
|
||||
- Remove Tilde match from clink.lua in favor of builtin Clink capability.
|
||||
|
||||
## [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)
|
||||
|
||||
### Fixes
|
||||
|
||||
* Merge pull request #2357 from FloSchwalm/fix-git-version-comparison [Dax T Games]
|
||||
* Merge pull request #2339 from daxgames/fix_global_vars_vscode_err [Dax T Games]
|
||||
|
||||
### Changes
|
||||
|
||||
* Merge pull request #2358 from FloSchwalm/update-to-git-2.28 [Dax T Games]
|
||||
|
||||
## [1.3.15](https://github.com/cmderdev/cmder/tree/v1.3.15) (2020-06-26)
|
||||
|
||||
* Fixes #2247, fixes #2254 [#2265](https://github.com/cmderdev/cmder/pull/2265)
|
||||
|
@ -7,7 +7,7 @@ If you follow them your contribution will likely be pulled in quicker.
|
||||
## Getting Started
|
||||
|
||||
* Fork the repository on GitHub (It's that easy)
|
||||
* Create a feature branch based on the development branch.
|
||||
* Create a feature branch based on the `master` branch.
|
||||
|
||||
## Making Changes
|
||||
|
||||
|
52
README.md
52
README.md
@ -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
|
||||
1. Download the [latest release](https://github.com/cmderdev/cmder/releases/)
|
||||
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.
|
||||
- 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.
|
||||
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.
|
||||
@ -60,7 +60,7 @@ The Cmder's user interface is also designed to be more eye pleasing, and you can
|
||||
| `/SINGLE` | Start Cmder in single mode. |
|
||||
| `/START [start_path]` | Folder path to start in. |
|
||||
| `/TASK [task_name]` | Task to start after launch. |
|
||||
| `/X [ConEmu extras pars]` | Forwads parameters to ConEmu |
|
||||
| `/X [ConEmu extras pars]` | Forwards parameters to ConEmu |
|
||||
|
||||
## Context Menu Integration
|
||||
|
||||
@ -134,7 +134,27 @@ cd mintty-colors-solarized/
|
||||
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` Prompt Config File
|
||||
|
||||
The default Cmder shell `cmd::Cmder` prompt is customized using `Clink` and is configured by editing a config file that exists in one of two locations:
|
||||
|
||||
- Single User Portable Config `%CMDER_ROOT%\config\cmder_prompt_config.lua`
|
||||
- Shared Cmder install with Non-Portable Individual User Config `%CMDER_USER_CONFIG%\cmder_prompt_config.lua`
|
||||
|
||||
If your Cmder setup does not have this file create it from `%CMDER_ROOT%\vendor\cmder_prompt_config.lua.default`
|
||||
|
||||
Customizations include:
|
||||
|
||||
- Colors.
|
||||
- Single/Multi-line.
|
||||
- Full path/Folder only.
|
||||
- `[user]@[host]` to the beginning of the prompt.
|
||||
- `~` for home directory.
|
||||
- `λ` symbol
|
||||
|
||||
Documentation is in the file for each setting.
|
||||
|
||||
### Changing Cmder Default `cmd.exe` Shell Startup Behaviour Using Task Arguments
|
||||
|
||||
@ -157,15 +177,15 @@ You may find some Monokai color schemes for mintty to match Cmder [here](https:/
|
||||
| `/c [user cmder root]` | Enables user bin and config folders for 'Cmder as admin' sessions due to non-shared environment. | not set |
|
||||
| `/d` | Enables debug output. | not set |
|
||||
| `/f` | Enables Cmder Fast Init Mode. This disables some features, see pull request [#1492](https://github.com/cmderdev/cmder/pull/1942) for more details. | not set |
|
||||
| `/t` | Enables Cmder Timed Init Mode. This displays the time taken run init scripts | not set |
|
||||
| `/t` | Enables Cmder Timed Init Mode. This displays the time taken run init scripts | not set |
|
||||
| `/git_install_root [file path]` | User specified Git installation root path. | `%CMDER_ROOT%\vendor\Git-for-Windows` |
|
||||
| `/home [home folder]` | User specified folder path to set `%HOME%` environment variable. | `%userprofile%` |
|
||||
| `/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 |
|
||||
| `/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 |
|
||||
| (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 usage. | not set |
|
||||
|
||||
### Cmder Shell User Config
|
||||
Single user portable configuration is possible using the cmder specific shell config files. Edit the below files to add your own configuration:
|
||||
@ -206,14 +226,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`
|
||||
|
||||
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:
|
||||
|
||||
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\user-aliases.cmd`
|
||||
* `%CMDER_ROOT%\config\user_aliases.cmd`
|
||||
* `%CMDER_ROOT%\config\user_profile.cmd`
|
||||
|
||||
#### Bash.exe|Mintty.exe Aliases
|
||||
@ -249,7 +269,7 @@ If you want to run SSH agent on startup, include the line `@call "%GIT_INSTALL_R
|
||||
|
||||
Cmder is by default shipped with a vendored Git installation. On each instance of launching Cmder, an attempt is made to locate any other user provided Git binaries. Upon finding a `git.exe` binary, Cmder further compares its version against the vendored one _by executing_ it. The vendored `git.exe` binary is _only_ used when it is more recent than the user-installed one.
|
||||
|
||||
You may use your favorite version of Git by including its path in the `%PATH%` enviroment variable. Moreover, the **Mini** edition of Cmder (found on the [downloads page](https://github.com/cmderdev/cmder/releases)) excludes any vendored Git binaries.
|
||||
You may use your favorite version of Git by including its path in the `%PATH%` environment variable. Moreover, the **Mini** edition of Cmder (found on the [downloads page](https://github.com/cmderdev/cmder/releases)) excludes any vendored Git binaries.
|
||||
|
||||
### Using external Cygwin/Babun, MSys2, WSL, or Git for Windows SDK with Cmder.
|
||||
|
||||
@ -278,7 +298,7 @@ Uncomment and edit the below line in the script to use Cmder config even when la
|
||||
# CMDER_ROOT=${USERPROFILE}/cmder # This is not required if launched from Cmder.
|
||||
```
|
||||
|
||||
### Customizing user sessions using `init.bat` custom arguments.
|
||||
### Customizing user sessions using `init.bat` custom arguments.
|
||||
|
||||
You can pass custom arguments to `init.bat` and use `cexec.cmd` in your `user_profile.cmd` to evaluate these
|
||||
arguments then execute commands based on a particular flag being detected or not.
|
||||
@ -289,7 +309,7 @@ arguments then execute commands based on a particular flag being detected or not
|
||||
|
||||
```
|
||||
ccall=call C:\Users\user\cmderdev\vendor\bin\cexec.cmd
|
||||
```
|
||||
```
|
||||
|
||||
Example: `%ccall% /startnotepad start notepad.exe`
|
||||
|
||||
@ -311,17 +331,17 @@ To conditionally start `notepad.exe` when you start a specific `cmder` task:
|
||||
* Add the below to the `Commands` block:
|
||||
|
||||
```batch
|
||||
|
||||
|
||||
cmd.exe /k ""%ConEmuDir%\..\init.bat" /startnotepad"
|
||||
|
||||
|
||||
```
|
||||
|
||||
* Add the below to your `%cmder_root%\config\user_profile.cmd`
|
||||
|
||||
```batch
|
||||
|
||||
|
||||
%ccall% "/startNotepad" "start" "notepad.exe"`
|
||||
|
||||
|
||||
```
|
||||
|
||||
To see detailed usage of `cexec`, type `cexec /?` in cmder.
|
||||
|
3
config/profile.d/README.md
Normal file
3
config/profile.d/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
## Profile.d Folder
|
||||
|
||||
* Files in this folder named `*.{sh|cmd|ps1}`: Will be executed by the appropriate shell when starting the shell.
|
@ -250,7 +250,7 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
|
||||
{
|
||||
MessageBox(NULL,
|
||||
(GetLastError() == ERROR_ACCESS_DENIED)
|
||||
? L"Failed to copy conig/ConEmu-%COMPUTERNAME%.xml file to vendor/conemu-maximus5/ConEmu.xml! Access Denied."
|
||||
? L"Failed to copy config/ConEmu-%COMPUTERNAME%.xml file to vendor/conemu-maximus5/ConEmu.xml! Access Denied."
|
||||
: L"Failed to copy config/ConEmu-%COMPUTERNAME%.xml file to vendor/conemu-maximus5/ConEmu.xml!", MB_TITLE, MB_ICONSTOP);
|
||||
exit(1);
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ function Extract-Archive($source, $target) {
|
||||
Write-Verbose $("Extracting Archive '$cmder_root\vendor\" + $source.replace('/','\') + " to '$cmder_root\vendor\$target'")
|
||||
Invoke-Expression "7z x -y -o`"$($target)`" `"$source`" > `$null"
|
||||
if ($lastexitcode -ne 0) {
|
||||
Write-Error "Extracting of $source failied"
|
||||
Write-Error "Extracting of $source failed"
|
||||
}
|
||||
Remove-Item $source
|
||||
}
|
||||
@ -41,7 +41,7 @@ function Create-Archive($source, $target, $params) {
|
||||
Write-Verbose "Running: $command"
|
||||
Invoke-Expression $command
|
||||
if ($lastexitcode -ne 0) {
|
||||
Write-Error "Compressing $source failied"
|
||||
Write-Error "Compressing $source failed"
|
||||
}
|
||||
}
|
||||
|
||||
|
4
vendor/ConEmu.xml.default
vendored
4
vendor/ConEmu.xml.default
vendored
@ -549,14 +549,14 @@
|
||||
<value name="GuiArgs" type="string" data=" /icon "%CMDER_ROOT%\icons\cmder.ico""/>
|
||||
<value name="Active" type="long" data="0"/>
|
||||
<value name="Count" type="long" data="1"/>
|
||||
<value name="Cmd1" type="string" data="*cmd /c ""%ConEmuDir%\..\git-for-windows\bin\bash" --login -i""/>
|
||||
<value name="Cmd1" type="string" data="*"%ConEmuDir%\..\git-for-windows\usr\bin\bash.exe" --login -i"/>
|
||||
</key>
|
||||
<key name="Task8" modified="2018-02-22 06:05:13" build="171109">
|
||||
<value name="Name" type="string" data="{bash::bash}"/>
|
||||
<value name="Flags" type="dword" data="00000000"/>
|
||||
<value name="Hotkey" type="dword" data="00000000"/>
|
||||
<value name="GuiArgs" type="string" data=" /icon "%CMDER_ROOT%\icons\cmder.ico""/>
|
||||
<value name="Cmd1" type="string" data="cmd /c ""%ConEmuDir%\..\git-for-windows\bin\bash" --login -i""/>
|
||||
<value name="Cmd1" type="string" data=""%ConEmuDir%\..\git-for-windows\usr\bin\bash.exe" --login -i"/>
|
||||
<value name="Active" type="long" data="0"/>
|
||||
<value name="Count" type="long" data="1"/>
|
||||
</key>
|
||||
|
9
vendor/bin/alias.cmd
vendored
9
vendor/bin/alias.cmd
vendored
@ -91,7 +91,7 @@ if not ["%_temp%"] == ["%alias_name%"] (
|
||||
)
|
||||
|
||||
:: replace already defined alias
|
||||
%WINDIR%\System32\findstr /b /v /i "%alias_name%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
||||
%WINDIR%\System32\findstr /b /l /v /i "%alias_name%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
||||
echo %alias_name%=%alias_value% >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
||||
doskey /macrofile="%ALIASES%"
|
||||
endlocal
|
||||
@ -99,7 +99,8 @@ exit /b
|
||||
|
||||
:p_del
|
||||
set del_alias=%~1
|
||||
%WINDIR%\System32\findstr /b /v /i "%del_alias%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
||||
|
||||
%WINDIR%\System32\findstr /b /l /v /i "%del_alias%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
||||
type "%ALIASES%".tmp > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
||||
doskey %del_alias%=
|
||||
doskey /macrofile="%ALIASES%"
|
||||
@ -139,9 +140,9 @@ echo. in he alias is desired. Variables in aliases surrounded by double
|
||||
echo. quotes only require '^^%%' vs '^^^^^^^^%%'
|
||||
echo. $* - allows the alias to assume all the parameters of the supplied
|
||||
echo. command.
|
||||
echo. $1-$9 - Allows you to seperate parameter by number, much like %%1 in
|
||||
echo. $1-$9 - Allows you to separate parameter by number, much like %%1 in
|
||||
echo. batch.
|
||||
echo. $T - Command seperator, allowing you to string several commands
|
||||
echo. $T - Command separator, allowing you to string several commands
|
||||
echo. together into one alias.
|
||||
echo.
|
||||
echo. For more information, read DOSKEY /?
|
||||
|
18
vendor/bin/cexec.cmd
vendored
18
vendor/bin/cexec.cmd
vendored
@ -1,5 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if "%~1" equ "" goto :wrongSyntax
|
||||
|
||||
@ -8,6 +7,7 @@ if not defined CMDER_USER_FLAGS (
|
||||
set "CMDER_USER_FLAGS= "
|
||||
)
|
||||
|
||||
|
||||
set "feNot=false"
|
||||
goto :parseArgument
|
||||
|
||||
@ -17,10 +17,8 @@ goto :parseArgument
|
||||
:parseArgument
|
||||
set "currenArgu=%~1"
|
||||
if /i "%currenArgu%" equ "/setPath" (
|
||||
:: set %flag_exists% shortcut
|
||||
endlocal
|
||||
set "ccall=call ^"%~dp0cexec.cmd^""
|
||||
set "cexec=^"%~dp0cexec.cmd^""
|
||||
set ccall=call "%~dp0cexec.cmd"
|
||||
set cexec="%~dp0cexec.cmd"
|
||||
) else if /i "%currenArgu%" == "/?" (
|
||||
goto :help
|
||||
) else if /i "%currenArgu%" equ "/help" (
|
||||
@ -86,29 +84,29 @@ echo Usage:
|
||||
echo.
|
||||
echo cexec /setPath [NOT] flagName command/program [parameters]
|
||||
echo.
|
||||
echo /setPath Generate a global varibles %%ccall%% and %%cexec%% for
|
||||
echo /setPath Generate a global variables %%ccall%% and %%cexec%% for
|
||||
echo quicker use. Following arguments will be ignored.
|
||||
echo.
|
||||
echo NOT Specifies that cexec should carry out
|
||||
echo the command only if the flag is missing.
|
||||
echo.
|
||||
echo /[flagName] Specifies which flag name is to detect. It's recommand
|
||||
echo /[flagName] Specifies which flag name is to detect. It's recommended
|
||||
echo to use a pair of double quotation marks to wrap
|
||||
echo your flag name to avoid exceed expectation.
|
||||
echo.
|
||||
echo command/program Specifies the command to carry out if the
|
||||
echo argument name is detected. It's recommand to
|
||||
echo argument name is detected. It's recommended to
|
||||
echo use a pair of double quotation marks to
|
||||
echo wrap your command to avoid exceed expectation.
|
||||
echo.
|
||||
echo parameters These are the parameters passed to the command/program.
|
||||
echo It's recommand to use a pair of double quotation marks
|
||||
echo It's recommended to use a pair of double quotation marks
|
||||
echo to wrap your flag name to avoid exceed expectation.
|
||||
echo.
|
||||
echo Examples:
|
||||
echo.
|
||||
echo These examples are expected to be written in %cmder_root%/config/user-profile.cmd
|
||||
echo CExec evaluates the environment varible "CMDER_USER_FLAGS" and conditionally
|
||||
echo CExec evaluates the environment variable "CMDER_USER_FLAGS" and conditionally
|
||||
echo caries out actions based on flags that are passed.
|
||||
echo.
|
||||
echo Case 1:
|
||||
|
44
vendor/bin/cmder_diag.cmd
vendored
44
vendor/bin/cmder_diag.cmd
vendored
@ -1,5 +1,29 @@
|
||||
@echo off
|
||||
|
||||
(echo.
|
||||
echo ------------------------------------
|
||||
echo set
|
||||
echo ------------------------------------
|
||||
set
|
||||
|
||||
echo.
|
||||
echo ------------------------------------
|
||||
echo where git
|
||||
echo ------------------------------------
|
||||
where git
|
||||
|
||||
echo.
|
||||
echo ------------------------------------
|
||||
echo where clink
|
||||
echo ------------------------------------
|
||||
where clink
|
||||
|
||||
echo.
|
||||
echo ------------------------------------
|
||||
echo systeminfo
|
||||
echo ------------------------------------
|
||||
systeminfo
|
||||
|
||||
echo ------------------------------------
|
||||
echo dir "%cmder_root%"
|
||||
echo ------------------------------------
|
||||
@ -23,19 +47,15 @@ echo dir /s "%cmder_root%\config"
|
||||
echo ------------------------------------
|
||||
dir /s "%cmder_root%\config"
|
||||
|
||||
echo.
|
||||
echo ------------------------------------
|
||||
echo set
|
||||
echo ------------------------------------
|
||||
set
|
||||
|
||||
echo.
|
||||
echo ------------------------------------
|
||||
echo where git
|
||||
echo ------------------------------------
|
||||
where git
|
||||
|
||||
echo.
|
||||
echo ------------------------------------
|
||||
echo Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!
|
||||
echo ------------------------------------
|
||||
) > "%temp%\cmder_diag_cmd.log"
|
||||
|
||||
type "%temp%\cmder_diag_cmd.log"
|
||||
|
||||
echo.
|
||||
echo Above output was saved in "%temp%\cmder_diag_cmd.log"
|
||||
|
||||
|
||||
|
91
vendor/bin/cmder_diag.ps1
vendored
91
vendor/bin/cmder_diag.ps1
vendored
@ -1,39 +1,64 @@
|
||||
write-host ------------------------------------
|
||||
write-host get-childitem "$env:CMDER_ROOT"
|
||||
write-host ------------------------------------
|
||||
get-childitem "$env:CMDER_ROOT"
|
||||
if (test-path $env:temp\cmder_diag_ps.log) {
|
||||
remove-item $env:temp\cmder_diag_ps.log
|
||||
}
|
||||
|
||||
write-host ''
|
||||
write-host ------------------------------------
|
||||
write-host get-childitem "$env:CMDER_ROOT/vendor"
|
||||
write-host ------------------------------------
|
||||
get-childitem "$env:CMDER_ROOT/vendor"
|
||||
$cmder_diag = {
|
||||
""
|
||||
"------------------------------------"
|
||||
"get-childitem env:"
|
||||
"------------------------------------"
|
||||
get-childitem env: | ft -autosize -wrap 2>&1
|
||||
|
||||
write-host ''
|
||||
write-host ------------------------------------
|
||||
write-host get-childitem -s "$env:CMDER_ROOT/bin"
|
||||
write-host ------------------------------------
|
||||
get-childitem -s "$env:CMDER_ROOT/bin"
|
||||
""
|
||||
"------------------------------------"
|
||||
"get-command git -all -ErrorAction SilentlyContinue"
|
||||
"------------------------------------"
|
||||
get-command git -all -ErrorAction SilentlyContinue
|
||||
|
||||
write-host ''
|
||||
write-host ------------------------------------
|
||||
write-host get-childitem -s "$env:CMDER_ROOT/config"
|
||||
write-host ------------------------------------
|
||||
get-childitem -s "$env:CMDER_ROOT/config"
|
||||
""
|
||||
"------------------------------------"
|
||||
"get-command clink -all -ErrorAction SilentlyContinue"
|
||||
"------------------------------------"
|
||||
get-command clink -all -ErrorAction SilentlyContinue
|
||||
|
||||
write-host ''
|
||||
write-host ------------------------------------
|
||||
write-host get-childitem env:
|
||||
write-host ------------------------------------
|
||||
get-childitem env: |ft -autosize -wrap
|
||||
""
|
||||
"------------------------------------"
|
||||
"systeminfo"
|
||||
"------------------------------------"
|
||||
systeminfo 2>&1
|
||||
|
||||
write-host ''
|
||||
write-host ------------------------------------
|
||||
write-host get-command git
|
||||
write-host ------------------------------------
|
||||
get-command git
|
||||
"------------------------------------"
|
||||
"get-childitem '$env:CMDER_ROOT'"
|
||||
"------------------------------------"
|
||||
get-childitem "$env:CMDER_ROOT" |ft LastWriteTime,mode,length,FullName
|
||||
|
||||
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 ------------------------------------
|
||||
""
|
||||
"------------------------------------"
|
||||
"get-childitem '$env:CMDER_ROOT/vendor'"
|
||||
"------------------------------------"
|
||||
get-childitem "$env:CMDER_ROOT/vendor" |ft LastWriteTime,mode,length,FullName
|
||||
|
||||
""
|
||||
"------------------------------------"
|
||||
"get-childitem -s '$env:CMDER_ROOT/bin'"
|
||||
"------------------------------------"
|
||||
get-childitem -s "$env:CMDER_ROOT/bin" |ft LastWriteTime,mode,length,FullName
|
||||
|
||||
""
|
||||
"------------------------------------"
|
||||
"get-childitem -s '$env:CMDER_ROOT/config'"
|
||||
"------------------------------------"
|
||||
get-childitem -s "$env:CMDER_ROOT/config" |ft LastWriteTime,mode,length,FullName
|
||||
|
||||
""
|
||||
"------------------------------------"
|
||||
"Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!"
|
||||
"------------------------------------"
|
||||
}
|
||||
|
||||
& $cmder_diag | out-file -filePath $env:temp\cmder_diag_ps.log
|
||||
|
||||
get-content "$env:temp\cmder_diag_ps.log"
|
||||
|
||||
write-host ""
|
||||
write-host Above output was saved in "$env:temp\cmder_diag_ps.log"
|
||||
|
70
vendor/bin/cmder_diag.sh
vendored
70
vendor/bin/cmder_diag.sh
vendored
@ -1,39 +1,61 @@
|
||||
echo ------------------------------------
|
||||
echo ls -la "$CMDER_ROOT"
|
||||
echo ------------------------------------
|
||||
ls -la "$CMDER_ROOT"
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo ls -la "$CMDER_ROOT/vendor"
|
||||
echo ------------------------------------
|
||||
ls -la "$CMDER_ROOT/vendor"
|
||||
[[ -f "$TEMP/cmder_diag_sh.log" ]] && rm -f "$TEMP/cmder_diag_sh.log"
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo ls -la /s "$CMDER_ROOT/bin"
|
||||
echo ------------------------------------
|
||||
ls -laR /s "$CMDER_ROOT/bin"
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo ls -la /s "$CMDER_ROOT/config"
|
||||
echo ------------------------------------
|
||||
ls -laR /s "$CMDER_ROOT/config"
|
||||
|
||||
echo ''
|
||||
(echo ''
|
||||
echo ------------------------------------
|
||||
echo env
|
||||
echo ------------------------------------
|
||||
env
|
||||
env 2>&1
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo which git
|
||||
echo ------------------------------------
|
||||
which git
|
||||
which git 2>&1
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo which clink
|
||||
echo ------------------------------------
|
||||
which clink 2>&1
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo systeminfo
|
||||
echo ------------------------------------
|
||||
systeminfo 2>&1
|
||||
|
||||
echo ------------------------------------
|
||||
echo ls -la "$CMDER_ROOT"
|
||||
echo ------------------------------------
|
||||
ls -la "$CMDER_ROOT" 2>&1
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo ls -la "$CMDER_ROOT/vendor"
|
||||
echo ------------------------------------
|
||||
ls -la "$CMDER_ROOT/vendor" 2>&1
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo ls -la /s "$CMDER_ROOT/bin"
|
||||
echo ------------------------------------
|
||||
ls -laR /s "$CMDER_ROOT/bin" 2>&1
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo ls -la /s "$CMDER_ROOT/config"
|
||||
echo ------------------------------------
|
||||
ls -laR /s "$CMDER_ROOT/config" 2>&1
|
||||
|
||||
echo ''
|
||||
echo ------------------------------------
|
||||
echo Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!
|
||||
echo ------------------------------------
|
||||
) > "$TEMP/cmder_diag_sh.log"
|
||||
|
||||
cat "$TEMP/cmder_diag_sh.log"
|
||||
|
||||
echo ''
|
||||
echo Above output was saved in "$TEMP/cmder_diag_sh.log"
|
||||
|
22
vendor/bin/vscode_init.cmd
vendored
22
vendor/bin/vscode_init.cmd
vendored
@ -1,4 +1,26 @@
|
||||
@echo off
|
||||
|
||||
rem Find root dir
|
||||
|
||||
if not defined CMDER_ROOT (
|
||||
for /f "delims=" %%i in ("%~dp0\..\..") do (
|
||||
set "cmder_root=%%~fi"
|
||||
)
|
||||
)
|
||||
|
||||
if defined cmder_user_bin (
|
||||
set CMDER_VSCODE_INIT_ARGS=%cmder_user_bin%\vscode_init_args.cmd
|
||||
) else (
|
||||
set CMDER_VSCODE_INIT_ARGS=%CMDER_ROOT%\bin\vscode_init_args.cmd
|
||||
)
|
||||
|
||||
if not exist "%CMDER_VSCODE_INIT_ARGS%" (
|
||||
echo Creating initial "%CMDER_VSCODE_INIT_ARGS%"...
|
||||
copy "%CMDER_ROOT%\vendor\bin\vscode_init_args.cmd.default" "%CMDER_VSCODE_INIT_ARGS%"
|
||||
) else (
|
||||
call "%CMDER_VSCODE_INIT_ARGS%"
|
||||
)
|
||||
|
||||
IF [%1] == [] (
|
||||
REM -- manually opened console (Ctrl + Shift + `) --
|
||||
CALL "%~dp0..\init.bat"
|
||||
|
58
vendor/bin/vscode_init_args.cmd.default
vendored
Normal file
58
vendor/bin/vscode_init_args.cmd.default
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
@echo off
|
||||
|
||||
rem Below are the default Cmder session settings:
|
||||
rem
|
||||
rem See "%CMDER_ROOT%\README.md" for details on these settings.
|
||||
rem
|
||||
rem `Cmder.exe` Arguments:
|
||||
rem ----------------------
|
||||
rem
|
||||
rem `/c [cmder_user_cfg_root]
|
||||
rem set cmder_user_bin=[cmder_user_cfg_root]\bin
|
||||
rem set cmder_user_config=[cmder_user_cfg_root]\config
|
||||
rem
|
||||
rem `init.bat` Arguments
|
||||
rem --------------------
|
||||
rem
|
||||
rem `/d`
|
||||
rem debug_output=0
|
||||
rem
|
||||
rem `/v`
|
||||
rem verbose_output=0
|
||||
rem
|
||||
rem `/f`
|
||||
rem fast_init=0
|
||||
rem
|
||||
rem `/nix_tools`
|
||||
rem nix_tools=1
|
||||
rem
|
||||
rem `/t`
|
||||
rem time_init=0
|
||||
rem
|
||||
rem `/max_depth`
|
||||
rem max_depth=1
|
||||
rem
|
||||
rem `/user_aliases`
|
||||
rem user_aliases=
|
||||
rem
|
||||
rem `/git_install_root`
|
||||
rem GIT_INSTALL_ROOT=
|
||||
rem
|
||||
rem `/home`
|
||||
rem HOME=
|
||||
rem
|
||||
rem `/svn_ssh`
|
||||
rem SVN_SSH=
|
||||
|
||||
echo Applying Cmder VSCode settings from '%~0'...
|
||||
|
||||
if defined CMDER_CONFIGURED (
|
||||
rem Set Cmder settings here for when VSCode is launched inside Cmder.
|
||||
set verbose_output=1
|
||||
) else (
|
||||
rem Set Cmder settings here for when VSCode is launched from outside Cmder.
|
||||
set verbose_output=1
|
||||
)
|
||||
|
||||
rem Set all required Cmder VSCode terminal environment settings above this line.
|
||||
echo Applying Cmder VSCode settings is complete!
|
325
vendor/clink.lua
vendored
325
vendor/clink.lua
vendored
@ -13,6 +13,38 @@ dofile(clink_lua_file)
|
||||
|
||||
-- now add our own things...
|
||||
|
||||
|
||||
local function get_uah_color()
|
||||
return uah_color or "\x1b[1;33;40m" -- Green = uah = [user]@[hostname]
|
||||
end
|
||||
|
||||
local function get_cwd_color()
|
||||
return cwd_color or "\x1b[1;32;40m" -- Yellow cwd = Current Working Directory
|
||||
end
|
||||
|
||||
local function get_lamb_color()
|
||||
return lamb_color or "\x1b[1;30;40m" -- Light Grey = Lambda Color
|
||||
end
|
||||
|
||||
|
||||
local function get_clean_color()
|
||||
return clean_color or "\x1b[1;37;40m"
|
||||
end
|
||||
|
||||
|
||||
local function get_dirty_color()
|
||||
return dirty_color or "\x1b[33;3m"
|
||||
end
|
||||
|
||||
|
||||
local function get_conflict_color()
|
||||
return conflict_color or "\x1b[31;1m"
|
||||
end
|
||||
|
||||
local function get_unknown_color()
|
||||
return unknown_color or "\x1b[37;1m"
|
||||
end
|
||||
|
||||
---
|
||||
-- Makes a string safe to use as the replacement in string.gsub
|
||||
---
|
||||
@ -21,6 +53,42 @@ local function verbatim(s)
|
||||
return s
|
||||
end
|
||||
|
||||
-- Extracts only the folder name from the input Path
|
||||
-- Ex: Input C:\Windows\System32 returns System32
|
||||
---
|
||||
local function get_folder_name(path)
|
||||
local reversePath = string.reverse(path)
|
||||
local slashIndex = string.find(reversePath, "\\")
|
||||
return string.sub(path, string.len(path) - slashIndex + 2)
|
||||
end
|
||||
|
||||
|
||||
---
|
||||
-- Forward/backward compatibility for Clink asynchronous prompt filtering.
|
||||
-- With Clink v1.2.10 and higher this lets git status run in the background and
|
||||
-- refresh the prompt when it finishes, to eliminate waits in large git repos.
|
||||
---
|
||||
local io_popenyield
|
||||
local clink_promptcoroutine
|
||||
local cached_info = {}
|
||||
if clink.promptcoroutine and io.popenyield then
|
||||
io_popenyield = io.popenyield
|
||||
clink_promptcoroutine = clink.promptcoroutine
|
||||
else
|
||||
io_popenyield = io.popen
|
||||
clink_promptcoroutine = function (func)
|
||||
return func(false)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
---
|
||||
-- Global variable so other Lua scripts can detect whether they're in a Cmder
|
||||
-- shell session.
|
||||
---
|
||||
CMDER_SESSION = true
|
||||
|
||||
|
||||
---
|
||||
-- Setting the prompt in clink means that commands which rewrite the prompt do
|
||||
-- not destroy our own prompt. It also means that started cmds (or batch files
|
||||
@ -44,17 +112,67 @@ local function set_prompt_filter()
|
||||
-- also check for square brackets
|
||||
if env == nil then env = old_prompt:match('.*%[([^%]]+)%].+:') end
|
||||
|
||||
-- build our own prompt
|
||||
-- orig: $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m{lamb}$S$E[0m
|
||||
-- color codes: "\x1b[1;37;40m"
|
||||
local cmder_prompt = "\x1b[1;32;40m{cwd} {git}{hg}{svn} \n\x1b[1;39;40m{lamb} \x1b[0m"
|
||||
local lambda = "λ"
|
||||
cmder_prompt = string.gsub(cmder_prompt, "{cwd}", verbatim(cwd))
|
||||
|
||||
if env ~= nil then
|
||||
lambda = "("..env..") "..lambda
|
||||
-- Much of the below was 'borrowed' from https://github.com/AmrEldib/cmder-powerline-prompt
|
||||
-- Symbol displayed for the home dir in the prompt.
|
||||
if not prompt_homeSymbol then
|
||||
prompt_homeSymbol = "~"
|
||||
end
|
||||
clink.prompt.value = string.gsub(cmder_prompt, "{lamb}", verbatim(lambda))
|
||||
|
||||
-- Symbol displayed in the new line below the prompt.
|
||||
if not prompt_lambSymbol then
|
||||
prompt_lambSymbol = "λ"
|
||||
end
|
||||
|
||||
if not prompt_type then
|
||||
prompt_type = "full"
|
||||
end
|
||||
|
||||
if prompt_useHomeSymbol == nil then
|
||||
prompt_useHomeSymbol = false
|
||||
end
|
||||
|
||||
if prompt_useUserAtHost == nil then
|
||||
prompt_useUserAtHost = false
|
||||
end
|
||||
|
||||
if prompt_singleLine == nil then
|
||||
prompt_singleLine = false
|
||||
end
|
||||
|
||||
if prompt_includeVersionControl == nil then
|
||||
prompt_includeVersionControl = true
|
||||
end
|
||||
|
||||
if prompt_type == 'folder' then
|
||||
cwd = get_folder_name(cwd)
|
||||
end
|
||||
|
||||
if prompt_useHomeSymbol and string.find(cwd, clink.get_env("HOME")) then
|
||||
cwd = string.gsub(cwd, clink.get_env("HOME"), prompt_homeSymbol)
|
||||
end
|
||||
|
||||
uah = ''
|
||||
if prompt_useUserAtHost then
|
||||
uah = clink.get_env("USERNAME") .. "@" .. clink.get_env("COMPUTERNAME") .. ' '
|
||||
end
|
||||
|
||||
cr = "\n"
|
||||
if prompt_singleLine then
|
||||
cr = ' '
|
||||
end
|
||||
|
||||
if env ~= nil then env = "("..env..") " else env = "" end
|
||||
|
||||
if uah ~= '' then uah = get_uah_color() .. uah end
|
||||
if cwd ~= '' then cwd = get_cwd_color() .. cwd end
|
||||
|
||||
local version_control = prompt_includeVersionControl and "{git}{hg}{svn}" or ""
|
||||
|
||||
prompt = "{uah}{cwd}" .. version_control .. get_lamb_color() .. cr .. "{env}{lamb} \x1b[0m"
|
||||
prompt = string.gsub(prompt, "{uah}", uah)
|
||||
prompt = string.gsub(prompt, "{cwd}", cwd)
|
||||
prompt = string.gsub(prompt, "{env}", env)
|
||||
clink.prompt.value = string.gsub(prompt, "{lamb}", prompt_lambSymbol)
|
||||
end
|
||||
|
||||
local function percent_prompt_filter()
|
||||
@ -221,32 +339,27 @@ local function get_svn_branch(svn_dir)
|
||||
end
|
||||
|
||||
---
|
||||
-- Get the status of working dir
|
||||
-- @return {bool}
|
||||
-- Get the status and conflict status of working dir
|
||||
-- @return {bool <status>, bool <is_conflict>}
|
||||
---
|
||||
local function get_git_status()
|
||||
local file = io.popen("git --no-optional-locks status --porcelain 2>nul")
|
||||
local file = io_popenyield("git --no-optional-locks status --porcelain 2>nul")
|
||||
local conflict_found = false
|
||||
local is_status = true
|
||||
for line in file:lines() do
|
||||
file:close()
|
||||
return false
|
||||
local code = line:sub(1, 2)
|
||||
-- print (string.format("code: %s, line: %s", code, line))
|
||||
if code == "DD" or code == "AU" or code == "UD" or code == "UA" or code == "DU" or code == "AA" or code == "UU" then
|
||||
is_status = false
|
||||
conflict_found = true
|
||||
break
|
||||
-- unversioned files are ignored, comment out 'code ~= "!!"' to unignore them
|
||||
elseif code ~= "!!" and code ~= "??" then
|
||||
is_status = false
|
||||
end
|
||||
end
|
||||
file:close()
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
---
|
||||
-- Gets the conflict status
|
||||
-- @return {bool} indicating true for conflict, false for no conflicts
|
||||
---
|
||||
function get_git_conflict()
|
||||
local file = io.popen("git diff --name-only --diff-filter=U 2>nul")
|
||||
for line in file:lines() do
|
||||
file:close()
|
||||
return true;
|
||||
end
|
||||
file:close()
|
||||
return false
|
||||
return { status = is_status, conflict = conflict_found }
|
||||
end
|
||||
|
||||
|
||||
@ -280,58 +393,110 @@ local function get_svn_status()
|
||||
return true
|
||||
end
|
||||
|
||||
---
|
||||
-- Use a prompt coroutine to get git status in the background.
|
||||
-- Cache the info so we can reuse it next time to reduce flicker.
|
||||
---
|
||||
local function get_git_info_table()
|
||||
local info = clink_promptcoroutine(function ()
|
||||
return get_git_status()
|
||||
end)
|
||||
if not info then
|
||||
info = cached_info.git_info or {}
|
||||
else
|
||||
cached_info.git_info = info
|
||||
end
|
||||
return info
|
||||
end
|
||||
|
||||
---
|
||||
-- Get the status of working dir
|
||||
-- @return {bool}
|
||||
---
|
||||
local function get_git_status_setting()
|
||||
gitStatusSetting = io.popen("git --no-pager config -l 2>nul")
|
||||
-- When async prompt filtering is available, check the
|
||||
-- prompt_overrideGitStatusOptIn config setting for whether to ignore the
|
||||
-- cmder.status and cmder.cmdstatus git config opt-in settings.
|
||||
if clink.promptcoroutine and io.popenyield and settings.get("prompt.async") then
|
||||
if prompt_overrideGitStatusOptIn then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
for line in gitStatusSetting:lines() do
|
||||
if string.match(line, 'cmder.status=false') or string.match(line, 'cmder.cmdstatus=false') then
|
||||
gitStatusSetting:close()
|
||||
local gitStatusConfig = io.popen("git --no-pager config cmder.status 2>nul")
|
||||
|
||||
for line in gitStatusConfig:lines() do
|
||||
if string.match(line, 'false') then
|
||||
gitStatusConfig:close()
|
||||
return false
|
||||
end
|
||||
end
|
||||
gitStatusSetting:close()
|
||||
|
||||
local gitCmdStatusConfig = io.popen("git --no-pager config cmder.cmdstatus 2>nul")
|
||||
for line in gitCmdStatusConfig:lines() do
|
||||
if string.match(line, 'false') then
|
||||
gitCmdStatusConfig:close()
|
||||
return false
|
||||
end
|
||||
end
|
||||
gitStatusConfig:close()
|
||||
gitCmdStatusConfig:close()
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
local function git_prompt_filter()
|
||||
|
||||
-- Don't do any git processing if the prompt doesn't want to show git info.
|
||||
if not clink.prompt.value:find("{git}") then
|
||||
return false
|
||||
end
|
||||
|
||||
-- Colors for git status
|
||||
local colors = {
|
||||
clean = "\x1b[1;37;40m",
|
||||
dirty = "\x1b[33;3m",
|
||||
conflict = "\x1b[31;1m"
|
||||
clean = get_clean_color(),
|
||||
dirty = get_dirty_color(),
|
||||
conflict = get_conflict_color(),
|
||||
nostatus = get_unknown_color()
|
||||
}
|
||||
|
||||
local git_dir = get_git_dir()
|
||||
local color
|
||||
cmderGitStatusOptIn = get_git_status_setting()
|
||||
if git_dir then
|
||||
local branch = get_git_branch(git_dir)
|
||||
if branch then
|
||||
-- If in a different repo or branch than last time, discard cached info.
|
||||
if cached_info.git_dir ~= git_dir or cached_info.git_branch ~= branch then
|
||||
cached_info.git_info = nil
|
||||
cached_info.git_dir = git_dir
|
||||
cached_info.git_branch = branch
|
||||
end
|
||||
-- Use git status if allowed.
|
||||
if cmderGitStatusOptIn then
|
||||
-- if we're inside of git repo then try to detect current branch
|
||||
-- Has branch => therefore it is a git folder, now figure out status
|
||||
local gitInfo = get_git_info_table()
|
||||
local gitStatus = gitInfo.status
|
||||
local gitConflict = gitInfo.conflict
|
||||
|
||||
if get_git_status_setting() then
|
||||
if git_dir then
|
||||
-- if we're inside of git repo then try to detect current branch
|
||||
local branch = get_git_branch(git_dir)
|
||||
local color
|
||||
if branch then
|
||||
-- Has branch => therefore it is a git folder, now figure out status
|
||||
local gitStatus = get_git_status()
|
||||
local gitConflict = get_git_conflict()
|
||||
if gitStatus == nil then
|
||||
color = colors.nostatus
|
||||
elseif gitStatus then
|
||||
color = colors.clean
|
||||
else
|
||||
color = colors.dirty
|
||||
end
|
||||
|
||||
color = colors.dirty
|
||||
if gitStatus then
|
||||
color = colors.clean
|
||||
end
|
||||
|
||||
if gitConflict then
|
||||
color = colors.conflict
|
||||
end
|
||||
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", color.."("..verbatim(branch)..")")
|
||||
return false
|
||||
end
|
||||
end
|
||||
if gitConflict then
|
||||
color = colors.conflict
|
||||
end
|
||||
else
|
||||
color = colors.nostatus
|
||||
end
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", color.."("..verbatim(branch)..")")
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- No git present or not in git file
|
||||
@ -341,14 +506,20 @@ end
|
||||
|
||||
local function hg_prompt_filter()
|
||||
|
||||
-- Don't do any hg processing if the prompt doesn't want to show hg info.
|
||||
if not clink.prompt.value:find("{hg}") then
|
||||
return false
|
||||
end
|
||||
|
||||
local result = ""
|
||||
|
||||
local hg_dir = get_hg_dir()
|
||||
if hg_dir then
|
||||
-- Colors for mercurial status
|
||||
local colors = {
|
||||
clean = "\x1b[1;37;40m",
|
||||
dirty = "\x1b[31;1m",
|
||||
clean = get_clean_color(),
|
||||
dirty = get_dirty_color(),
|
||||
nostatus = get_unknown_color()
|
||||
}
|
||||
|
||||
local pipe = io.popen("hg branch 2>&1")
|
||||
@ -379,10 +550,17 @@ local function hg_prompt_filter()
|
||||
end
|
||||
|
||||
local function svn_prompt_filter()
|
||||
|
||||
-- Don't do any svn processing if the prompt doesn't want to show svn info.
|
||||
if not clink.prompt.value:find("{svn}") then
|
||||
return false
|
||||
end
|
||||
|
||||
-- Colors for svn status
|
||||
local colors = {
|
||||
clean = "\x1b[1;37;40m",
|
||||
dirty = "\x1b[31;1m",
|
||||
clean = get_clean_color(),
|
||||
dirty = get_dirty_color(),
|
||||
nostatus = get_unknown_color()
|
||||
}
|
||||
|
||||
if get_svn_dir() then
|
||||
@ -406,24 +584,7 @@ local function svn_prompt_filter()
|
||||
return false
|
||||
end
|
||||
|
||||
local function tilde_match (text, f, l)
|
||||
if text == '~' then
|
||||
clink.add_match(clink.get_env('userprofile'))
|
||||
clink.matches_are_files()
|
||||
return true
|
||||
end
|
||||
|
||||
if text:sub(1, 1) == '~' then
|
||||
clink.add_match(string.gsub(text, "~", clink.get_env('userprofile'), 1))
|
||||
-- second match prevents adding a space so we can look for more matches
|
||||
clink.add_match(string.gsub(text, "~", clink.get_env('userprofile'), 1) .. '+')
|
||||
clink.matches_are_files()
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
-- insert the set_prompt at the very beginning so that it runs first
|
||||
clink.register_match_generator(tilde_match, 1)
|
||||
clink.prompt.register_filter(set_prompt_filter, 1)
|
||||
clink.prompt.register_filter(hg_prompt_filter, 50)
|
||||
clink.prompt.register_filter(git_prompt_filter, 50)
|
||||
|
123
vendor/clink_settings.default
vendored
123
vendor/clink_settings.default
vendored
@ -1,116 +1,19 @@
|
||||
# name: Pressing Ctrl-D exits session
|
||||
# type: bool
|
||||
# Ctrl-D exits cmd.exe when it is pressed on an empty line.
|
||||
ctrld_exits = 1
|
||||
|
||||
# name: Toggle if pressing Esc clears line
|
||||
# type: bool
|
||||
# Clink clears the current line when Esc is pressed (unless Readline's Vi mode
|
||||
# is enabled).
|
||||
esc_clears_line = 1
|
||||
|
||||
# name: Match display colour
|
||||
# type: int
|
||||
# Colour to use when displaying matches. A value less than 0 will be the
|
||||
# opposite brightness of the default colour.
|
||||
match_colour = -1
|
||||
|
||||
# name: Executable match style
|
||||
# type: enum
|
||||
# 0 = PATH only
|
||||
# 1 = PATH and CWD
|
||||
# 2 = PATH, CWD, and directories
|
||||
# Changes how Clink will match executables when there is no path separator on
|
||||
# the line. 0 = PATH only, 1 = PATH and CWD, 2 = PATH, CWD, and directories. In
|
||||
# all cases both executables and directories are matched when there is a path
|
||||
# separator present. A value of -1 will disable executable matching completely.
|
||||
exec_match_style = 2
|
||||
|
||||
# name: Whitespace prefix matches files
|
||||
# type: bool
|
||||
# If the line begins with whitespace then Clink bypasses executable matching and
|
||||
# will match all files and directories instead.
|
||||
space_prefix_match_files = 1
|
||||
|
||||
# name: Colour of the prompt
|
||||
# type: int
|
||||
# Surrounds the prompt in ANSI escape codes to set the prompt's colour. Disabled
|
||||
# when the value is less than 0.
|
||||
prompt_colour = -1
|
||||
|
||||
# name: Auto-answer terminate prompt
|
||||
# type: enum
|
||||
# 0 = Disabled
|
||||
# 1 = Answer 'Y'
|
||||
# 2 = Answer 'N'
|
||||
# Automatically answers cmd.exe's 'Terminate batch job (Y/N)?' prompts. 0 =
|
||||
# disabled, 1 = answer 'Y', 2 = answer 'N'.
|
||||
terminate_autoanswer = 0
|
||||
|
||||
# name: Lines of history saved to disk
|
||||
# type: int
|
||||
# When set to a positive integer this is the number of lines of history that
|
||||
# will persist when Clink saves the command history to disk. Use 0 for infinite
|
||||
# lines and <0 to disable history persistence.
|
||||
history_file_lines = 10000
|
||||
|
||||
# name: Skip adding lines prefixed with whitespace
|
||||
# type: bool
|
||||
# Ignore lines that begin with whitespace when adding lines in to the history.
|
||||
history_ignore_space = 0
|
||||
|
||||
# name: Controls how duplicate entries are handled
|
||||
# type: enum
|
||||
# 0 = Always add
|
||||
# 1 = Ignore
|
||||
# 2 = Erase previous
|
||||
# If a line is a duplicate of an existing history entry Clink will erase the
|
||||
# duplicate when this is set 2. A value of 1 will not add duplicates to the
|
||||
# history and a value of 0 will always add lines. Note that history is not
|
||||
# deduplicated when reading/writing to disk.
|
||||
history_dupe_mode = 2
|
||||
|
||||
# name: Read/write history file each line edited
|
||||
# type: bool
|
||||
# When non-zero the history will be read from disk before editing a new line and
|
||||
# written to disk afterwards.
|
||||
history_io = 1
|
||||
# For explanation of these and other settings see:
|
||||
# https://chrisant996.github.io/clink/clink.html
|
||||
|
||||
# name: Sets how command history expansion is applied
|
||||
# type: enum
|
||||
# 0 = Off
|
||||
# 1 = On
|
||||
# 2 = Not in single quotes
|
||||
# 3 = Not in double quote
|
||||
# 4 = Not in any quotes
|
||||
# The '!' character in an entered line can be interpreted to introduce words
|
||||
# from the history. This can be enabled and disable by setting this value to 1
|
||||
# or 0. Values or 2, 3 or 4 will skip any ! character quoted in single, double,
|
||||
# or both quotes respectively.
|
||||
history_expand_mode = 3
|
||||
# options: off,on,not_squoted,not_dquoted,not_quoted
|
||||
history.expand_mode = not_dquoted
|
||||
|
||||
# name: Support Windows' Ctrl-Alt substitute for AltGr
|
||||
# type: bool
|
||||
# Windows provides Ctrl-Alt as a substitute for AltGr, historically to support
|
||||
# keyboards with no AltGr key. This may collide with some of Readline's
|
||||
# bindings.
|
||||
use_altgr_substitute = 1
|
||||
# name: Skip adding lines prefixed with whitespace
|
||||
# type: boolean
|
||||
history.ignore_space = False
|
||||
|
||||
# name: Strips CR and LF chars on paste
|
||||
# type: enum
|
||||
# 0 = Paste unchanged
|
||||
# 1 = Strip
|
||||
# 2 = As space
|
||||
# Setting this to a value >0 will make Clink strip CR and LF characters from
|
||||
# text pasted into the current line. Set this to 1 to strip all newline
|
||||
# characters and 2 to replace them with a space.
|
||||
strip_crlf_on_paste = 2
|
||||
|
||||
# name: Enables basic ANSI escape code support
|
||||
# type: bool
|
||||
# When printing the prompt, Clink has basic built-in support for SGR ANSI escape
|
||||
# codes to control the text colours. This is automatically disabled if a third
|
||||
# party tool is detected that also provides this facility. It can also be
|
||||
# disabled by setting this to 0.
|
||||
ansi_code_support = 1
|
||||
# name: The number of history lines to save
|
||||
# type: integer
|
||||
history.max_lines = 10000
|
||||
|
||||
# name: Share history between instances
|
||||
# type: boolean
|
||||
history.shared = True
|
||||
|
6
vendor/cmder.sh
vendored
6
vendor/cmder.sh
vendored
@ -42,10 +42,10 @@ elif [ -d "${CMDER_ROOT}/vendor/git-for-windows" ] ; then
|
||||
fi
|
||||
|
||||
if [[ ! "$PATH" =~ "${GIT_INSTALL_ROOT}/bin:" ]] ; then
|
||||
PATH=${GIT_INSTALL_ROOT}/bin:$PATH
|
||||
PATH="${GIT_INSTALL_ROOT}/bin:$PATH"
|
||||
fi
|
||||
|
||||
PATH=${CMDER_ROOT}/bin:${CMDER_ROOT}/vendor/bin:$PATH:${CMDER_ROOT}
|
||||
PATH="${CMDER_ROOT}/bin:${CMDER_ROOT}/vendor/bin:$PATH:${CMDER_ROOT}"
|
||||
|
||||
export PATH
|
||||
|
||||
@ -80,7 +80,7 @@ if [ "${CMDER_USER_CONFIG}" != "" ] ; then
|
||||
mv "$CMDER_USER_CONFIG/user-profile.sh" "$CMDER_USER_CONFIG/user_profile.sh"
|
||||
fi
|
||||
|
||||
export PATH=${CMDER_USER_CONFIG}/bin:$PATH
|
||||
export PATH="${CMDER_USER_CONFIG}/bin:$PATH"
|
||||
|
||||
CmderUserProfilePath="${CMDER_USER_CONFIG}/user_profile.sh"
|
||||
if [ -f "${CMDER_USER_CONFIG}/user_profile.sh" ] ; then
|
||||
|
2
vendor/cmder_exinit
vendored
2
vendor/cmder_exinit
vendored
@ -10,7 +10,7 @@
|
||||
# zsh - Copy to /etc/profile.d/cmder_exinit.zsh
|
||||
# Add portable user customizations ${CMDER_ROOT}/config/user-profile.sh or
|
||||
# add whole config scripts to ${CMDER_ROOT}/config/profile.d both will be sourced
|
||||
# from mthis file and be appied to the environment at startup.
|
||||
# from this file and be applied to the environment at startup.
|
||||
#
|
||||
# These customizations will follow Cmder if $CMDER_ROOT is copied
|
||||
# to another machine.
|
||||
|
55
vendor/cmder_prompt_config.lua.default
vendored
Normal file
55
vendor/cmder_prompt_config.lua.default
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
-- All of the below was 'borrowed' from https://github.com/AmrEldib/cmder-powerline-prompt
|
||||
|
||||
--- REQUIRED. config_prompt_type is whether the displayed prompt is the full path or only the folder name
|
||||
-- Use:
|
||||
-- "full" for full path like C:\Windows\System32
|
||||
-- "folder" for folder name only like System32
|
||||
-- default is full
|
||||
prompt_type = "full"
|
||||
|
||||
--- REQUIRED. config_prompt_useHomeSymbol is whether to show ~ instead of the full path to the user's home folder
|
||||
-- Use true or false
|
||||
-- default is false
|
||||
prompt_useHomeSymbol = false
|
||||
|
||||
-- Symbols
|
||||
-- REQUIRED. Prompt displayed instead of user's home folder e.g. C:\Users\username
|
||||
-- default is '~'
|
||||
prompt_homeSymbol = "~"
|
||||
|
||||
-- REQUIRED. Symbol displayed in the new line below the prompt.
|
||||
-- default is 'λ'
|
||||
prompt_lambSymbol = "λ"
|
||||
|
||||
-- REQUIRED. Adds [user]@[host] to the beginning of the prompt like bash
|
||||
-- default is false
|
||||
prompt_useUserAtHost = false
|
||||
|
||||
-- REQUIRED. If true prompt is a single line instead of default two line prompt.
|
||||
-- default is false
|
||||
prompt_singleLine = false
|
||||
|
||||
-- OPTIONAL. If true then always ignore the cmder.status and cmder.cmdstatus git config settings and run the git prompt commands in the background.
|
||||
-- default is false
|
||||
-- NOTE: This only takes effect if using Clink v1.2.10 or higher.
|
||||
prompt_overrideGitStatusOptIn = false
|
||||
|
||||
-- OPTIONAL. If true then Cmder includes git, mercurial, and subversion status in the prompt.
|
||||
-- default is true
|
||||
prompt_includeVersionControl = true
|
||||
|
||||
-- Prompt Attributes
|
||||
--
|
||||
-- Colors
|
||||
-- Green: "\x1b[1;33;40m"
|
||||
-- Yellow: "\x1b[1;32;40m"
|
||||
-- Light Grey: "\x1b[1;30;40m"
|
||||
|
||||
-- Prompt Element Colors
|
||||
uah_color = "\x1b[1;33;40m" -- Green = uah = [user]@[hostname]
|
||||
cwd_color = "\x1b[1;32;40m" -- Yellow cwd = Current Working Directory
|
||||
lamb_color = "\x1b[1;30;40m" -- Light Grey = Lambda Color
|
||||
clean_color = "\x1b[1;37;40m"
|
||||
dirty_color = "\x1b[33;3m"
|
||||
conflict_color = "\x1b[31;1m"
|
||||
unknown_color = "\x1b[37;1m" -- White = No VCS Status Branch Color
|
1
vendor/git-for-windows_1.29.1
vendored
Symbolic link
1
vendor/git-for-windows_1.29.1
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
../../../dtgam/bin/git-2.29.0
|
18
vendor/git-prompt.sh
vendored
18
vendor/git-prompt.sh
vendored
@ -9,6 +9,21 @@ function getGitStatusSetting() {
|
||||
fi
|
||||
}
|
||||
|
||||
function getSimpleGitBranch() {
|
||||
gitDir=$(git rev-parse --git-dir 2>/dev/null)
|
||||
if [ -z "$gitDir" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
headContent=$(< "$gitDir/HEAD")
|
||||
if [[ "$headContent" == "ref: refs/heads/"* ]]
|
||||
then
|
||||
echo " (${headContent:16})"
|
||||
else
|
||||
echo " (HEAD detached at ${headContent:0:7})"
|
||||
fi
|
||||
}
|
||||
|
||||
if test -f /etc/profile.d/git-sdk.sh
|
||||
then
|
||||
TITLEPREFIX=SDK-${MSYSTEM#MINGW}
|
||||
@ -45,6 +60,9 @@ else
|
||||
. "$COMPLETION_PATH/git-prompt.sh"
|
||||
PS1="$PS1"'\[\033[36m\]' # change color to cyan
|
||||
PS1="$PS1"'`__git_ps1`' # bash function
|
||||
else
|
||||
PS1="$PS1"'\[\033[37;1m\]' # change color to white
|
||||
PS1="$PS1"'`getSimpleGitBranch`'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
138
vendor/init.bat
vendored
138
vendor/init.bat
vendored
@ -67,7 +67,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
|
||||
set "max_depth=%~2"
|
||||
shift
|
||||
) 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
|
||||
)
|
||||
) else if /i "%1" == "/c" (
|
||||
@ -88,7 +88,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
|
||||
set "GIT_INSTALL_ROOT=%~2"
|
||||
shift
|
||||
) 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
|
||||
)
|
||||
) else if /i "%1"=="/nix_tools" (
|
||||
@ -110,7 +110,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
|
||||
set "HOME=%~2"
|
||||
shift
|
||||
) 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
|
||||
)
|
||||
) else if /i "%1" == "/svn_ssh" (
|
||||
@ -125,13 +125,13 @@ goto var_loop
|
||||
:start
|
||||
:: Sets CMDER_SHELL, CMDER_CLINK, CMDER_ALIASES
|
||||
%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%"
|
||||
%print_debug% init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%"
|
||||
%print_debug% init.bat "Env Var - debug_output=%debug_output%"
|
||||
|
||||
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"
|
||||
)
|
||||
|
||||
:: Pick right version of clink
|
||||
@ -144,32 +144,67 @@ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
||||
)
|
||||
|
||||
if "%CMDER_CLINK%" == "1" (
|
||||
%lib_console% verbose_output "Injecting Clink!"
|
||||
%print_verbose% "Injecting Clink!"
|
||||
|
||||
:: Run clink
|
||||
if defined CMDER_USER_CONFIG (
|
||||
if not exist "%CMDER_USER_CONFIG%\settings" (
|
||||
echo Generating clink initial settings in "%CMDER_USER_CONFIG%\settings"
|
||||
copy "%CMDER_ROOT%\vendor\clink_settings.default" "%CMDER_USER_CONFIG%\settings"
|
||||
echo Additional *.lua files in "%CMDER_USER_CONFIG%" are loaded on startup.\
|
||||
if not exist "%CMDER_USER_CONFIG%\settings" if not exist "%CMDER_USER_CONFIG%\clink_settings" (
|
||||
echo Generating clink initial settings in "%CMDER_USER_CONFIG%\clink_settings"
|
||||
copy "%CMDER_ROOT%\vendor\clink_settings.default" "%CMDER_USER_CONFIG%\clink_settings"
|
||||
echo Additional *.lua files in "%CMDER_USER_CONFIG%" are loaded on startup.
|
||||
)
|
||||
|
||||
if not exist "%CMDER_USER_CONFIG%\cmder_prompt_config.lua" (
|
||||
echo Creating Cmder prompt config file: "%CMDER_USER_CONFIG%\cmder_prompt_config.lua"
|
||||
copy "%CMDER_ROOT%\vendor\cmder_prompt_config.lua.default" "%CMDER_USER_CONFIG%\cmder_prompt_config.lua"
|
||||
)
|
||||
|
||||
REM Cleanup lagacy Clink Settings file
|
||||
if exist "%CMDER_USER_CONFIG%\settings" if exist "%CMDER_USER_CONFIG%\clink_settings" (
|
||||
del "%CMDER_USER_CONFIG%\settings"
|
||||
)
|
||||
|
||||
REM Cleanup legacy CLink history file
|
||||
if exist "%CMDER_USER_CONFIG%\.history" if exist "%CMDER_USER_CONFIG%\clink_history" (
|
||||
del "%CMDER_USER_CONFIG%\.history"
|
||||
)
|
||||
"%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" inject --quiet --profile "%CMDER_USER_CONFIG%" --scripts "%CMDER_ROOT%\vendor"
|
||||
) else (
|
||||
if not exist "%CMDER_ROOT%\config\settings" (
|
||||
echo Generating clink initial settings in "%CMDER_ROOT%\config\settings"
|
||||
copy "%CMDER_ROOT%\vendor\clink_settings.default" "%CMDER_ROOT%\config\settings"
|
||||
if not exist "%CMDER_ROOT%\config\settings" if not exist "%CMDER_ROOT%\config\clink_settings" (
|
||||
echo Generating clink initial settings in "%CMDER_ROOT%\config\clink_settings"
|
||||
copy "%CMDER_ROOT%\vendor\clink_settings.default" "%CMDER_ROOT%\config\clink_settings"
|
||||
echo Additional *.lua files in "%CMDER_ROOT%\config" are loaded on startup.
|
||||
)
|
||||
|
||||
if not exist "%CMDER_ROOT%\config\cmder_prompt_config.lua" (
|
||||
echo Creating Cmder prompt config file: "%CMDER_ROOT%\config\cmder_prompt_config.lua"
|
||||
copy "%CMDER_ROOT%\vendor\cmder_prompt_config.lua.default" "%CMDER_ROOT%\config\cmder_prompt_config.lua"
|
||||
)
|
||||
|
||||
REM Cleanup lagacy Clink Settings file
|
||||
if exist "%CMDER_ROOT%\config\settings" if exist "%CMDER_ROOT%\config\clink_settings" (
|
||||
del "%CMDER_ROOT%\config\settings"
|
||||
)
|
||||
|
||||
REM Cleanup legacy Clink history file
|
||||
if exist "%CMDER_ROOT%\config\.history" if exist "%CMDER_ROOT%\config\clink_history" (
|
||||
del "%CMDER_ROOT%\config\.history"
|
||||
)
|
||||
|
||||
"%CMDER_ROOT%\vendor\clink\clink_%clink_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!"
|
||||
%print_verbose% "WARNING: Incompatible 'ComSpec/Shell' Detetected Skipping Clink Injection!"
|
||||
)
|
||||
|
||||
if "%CMDER_CONFIGURED%" == "1" (
|
||||
echo Cmder is already configured, skipping Cmder Init!
|
||||
if "%CMDER_CONFIGURED%" GTR "1" (
|
||||
%print_verbose% "Cmder is already configured, skipping Cmder Init!"
|
||||
|
||||
goto CMDER_CONFIGURED
|
||||
goto USER_ALIASES
|
||||
) else if "%CMDER_CONFIGURED%" == "1" (
|
||||
%print_verbose% "Cmder is already configured, skipping to Cmder User Init!"
|
||||
|
||||
goto USER_CONFIG_START
|
||||
)
|
||||
|
||||
:: Prepare for git-for-windows
|
||||
@ -187,15 +222,15 @@ if defined GIT_INSTALL_ROOT (
|
||||
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :SPECIFIED_GIT
|
||||
) else if "%fast_init%" == "1" (
|
||||
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
|
||||
)
|
||||
)
|
||||
|
||||
%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
|
||||
%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%
|
||||
|
||||
:: check if git is in path...
|
||||
@ -204,51 +239,53 @@ for /F "delims=" %%F in ('where git.exe 2^>nul') do (
|
||||
%lib_git% is_git_shim "%%~dpF"
|
||||
%lib_git% get_user_git_version
|
||||
%lib_git% compare_git_versions
|
||||
)
|
||||
|
||||
if defined GIT_INSTALL_ROOT (
|
||||
goto :FOUND_GIT
|
||||
if defined GIT_INSTALL_ROOT (
|
||||
goto :FOUND_GIT
|
||||
)
|
||||
)
|
||||
|
||||
:: our last hope: our own git...
|
||||
:VENDORED_GIT
|
||||
if exist "%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
|
||||
) else (
|
||||
goto :NO_GIT
|
||||
)
|
||||
|
||||
:SPECIFIED_GIT
|
||||
%lib_console% debug_output "Using /GIT_INSTALL_ROOT..."
|
||||
%print_debug% "Using /GIT_INSTALL_ROOT..."
|
||||
goto :CONFIGURE_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
|
||||
|
||||
: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
|
||||
rem add the unix commands at the end to not shadow windows commands like more
|
||||
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
|
||||
if %nix_tools% equ 1 (
|
||||
%lib_console% debug_output init.bat "Preferring Windows commands"
|
||||
%print_verbose% "Preferring Windows commands"
|
||||
set "path_position=append"
|
||||
) else (
|
||||
%lib_console% debug_output init.bat "Preferring *nix commands"
|
||||
%print_verbose% "Preferring *nix commands"
|
||||
set "path_position="
|
||||
)
|
||||
|
||||
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" %lib_path% enhance_path "%GIT_INSTALL_ROOT%\cmd" %path_position%
|
||||
if %nix_tools% geq 1 (
|
||||
if exist "%GIT_INSTALL_ROOT%\mingw32" (
|
||||
%lib_path% enhance_path "%GIT_INSTALL_ROOT%\mingw32\bin" %path_position%
|
||||
) else if exist "%GIT_INSTALL_ROOT%\mingw64" (
|
||||
%lib_path% enhance_path "%GIT_INSTALL_ROOT%\mingw64\bin" %path_position%
|
||||
)
|
||||
|
||||
%lib_path% enhance_path "%GIT_INSTALL_ROOT%\usr\bin" %path_position%
|
||||
if exist "%GIT_INSTALL_ROOT%\usr\bin" (
|
||||
%lib_path% enhance_path "%GIT_INSTALL_ROOT%\usr\bin" %path_position%
|
||||
)
|
||||
)
|
||||
|
||||
:: define SVN_SSH so we can use git svn with ssh svn repositories
|
||||
@ -260,17 +297,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 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 (
|
||||
%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 (
|
||||
for /F "delims=" %%F in ('%git_locale% -uU 2') do (
|
||||
for /F "delims=" %%F in ('!git_locale! -uU 2') do (
|
||||
set "LANG=%%F"
|
||||
)
|
||||
)
|
||||
)
|
||||
endlocal && set LANG=%LANG%
|
||||
|
||||
%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%'"
|
||||
%print_debug% init.bat "Env Var - GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
|
||||
%print_debug% init.bat "Found Git in: '%GIT_INSTALL_ROOT%'"
|
||||
goto :PATH_ENHANCE
|
||||
|
||||
:NO_GIT
|
||||
@ -294,6 +334,7 @@ if defined CMDER_USER_CONFIG (
|
||||
%lib_profile% run_profile_d "%CMDER_USER_CONFIG%\profile.d"
|
||||
)
|
||||
|
||||
:USER_ALIASES
|
||||
:: Allows user to override default aliases store using profile.d
|
||||
:: scripts run above by setting the 'aliases' env variable.
|
||||
::
|
||||
@ -336,8 +377,17 @@ if "%CMDER_ALIASES%" == "1" (
|
||||
)
|
||||
|
||||
:: Add aliases to the environment
|
||||
type "%user_aliases%" | findstr /b /l /i "history=cat " >nul
|
||||
if "%ERRORLEVEL%" == "0" (
|
||||
echo Migrating alias 'history' to new Clink 1.x.x...
|
||||
call "%CMDER_ROOT%\vendor\bin\alias.cmd" /d history
|
||||
echo Restart the session to activate changes!
|
||||
)
|
||||
|
||||
call "%user_aliases%"
|
||||
|
||||
if "%CMDER_CONFIGURED%" gtr "1" goto CMDER_CONFIGURED
|
||||
|
||||
:: See vendor\git-for-windows\README.portable for why we do this
|
||||
:: Basically we need to execute this post-install.bat because we are
|
||||
:: manually extracting the archive rather than executing the 7z sfx
|
||||
@ -350,12 +400,12 @@ if exist "%GIT_INSTALL_ROOT%\post-install.bat" (
|
||||
|
||||
:: Set home path
|
||||
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"
|
||||
if exist "%CMDER_ROOT%\config\user_profile.cmd" (
|
||||
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"
|
||||
)
|
||||
|
||||
@ -363,7 +413,7 @@ if defined CMDER_USER_CONFIG (
|
||||
set "initialConfig=%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
|
||||
%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"
|
||||
)
|
||||
)
|
||||
@ -389,11 +439,11 @@ if "%CMDER_ALIASES%" == "1" if exist "%CMDER_ROOT%\bin\alias.bat" if exist "%CMD
|
||||
set initialConfig=
|
||||
|
||||
:CMDER_CONFIGURED
|
||||
set CMDER_CONFIGURED=1
|
||||
if not defined CMDER_CONFIGURED set CMDER_CONFIGURED=1
|
||||
|
||||
set CMDER_INIT_END=%time%
|
||||
|
||||
if %time_init% gtr 0 (
|
||||
"%cmder_root%\vendor\bin\timer.cmd" %CMDER_INIT_START% %CMDER_INIT_END%
|
||||
"%cmder_root%\vendor\bin\timer.cmd" "%CMDER_INIT_START%" "%CMDER_INIT_END%"
|
||||
)
|
||||
exit /b
|
||||
|
9
vendor/lib/lib_console.cmd
vendored
9
vendor/lib/lib_console.cmd
vendored
@ -1,10 +1,15 @@
|
||||
@echo off
|
||||
|
||||
if "%fast_init%" == "1" exit /b
|
||||
|
||||
call "%~dp0lib_base.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 "%~1" == "/h" (
|
||||
%lib_base% help "%~0"
|
||||
) else if "%1" neq "" (
|
||||
|
55
vendor/lib/lib_git.cmd
vendored
55
vendor/lib/lib_git.cmd
vendored
@ -14,7 +14,7 @@ exit /b
|
||||
|
||||
:read_version
|
||||
:::===============================================================================
|
||||
:::read_version - Get the git.exe verion
|
||||
:::read_version - Get the git.exe version
|
||||
:::.
|
||||
:::include:
|
||||
:::.
|
||||
@ -39,28 +39,27 @@ exit /b
|
||||
|
||||
:: set the executable path
|
||||
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
|
||||
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
|
||||
)
|
||||
|
||||
:: get the git version in the provided directory
|
||||
|
||||
"%git_executable%" --version > "%temp%\git_version.txt"
|
||||
setlocal enabledelayedexpansion
|
||||
for /F "tokens=1,2,3 usebackq" %%A in (`type "%temp%\git_version.txt" 2^>nul`) do (
|
||||
if /i "%%A %%B" == "git version" (
|
||||
set "GIT_VERSION=%%C"
|
||||
) else (
|
||||
echo "'git --version' returned an inproper version string!"
|
||||
echo "'git --version' returned an improper version string!"
|
||||
pause
|
||||
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
|
||||
|
||||
@ -90,7 +89,7 @@ exit /b
|
||||
:::-------------------------------------------------------------------------------
|
||||
|
||||
:: 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
|
||||
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
|
||||
%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
|
||||
|
||||
:: ... 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" (
|
||||
%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 (
|
||||
%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
|
||||
|
||||
@ -164,9 +163,9 @@ exit /b
|
||||
:: 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.
|
||||
|
||||
%lib_console% debug_output Comparing:
|
||||
%lib_console% debug_output %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%
|
||||
%lib_console% debug_output %~2: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%
|
||||
%print_debug% Comparing:
|
||||
%print_debug% %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%
|
||||
%print_debug% %~2: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
if !%~1_MAJOR! GTR !%~2_MAJOR! (endlocal & exit /b 1)
|
||||
@ -231,29 +230,31 @@ exit /b
|
||||
:::-------------------------------------------------------------------------------
|
||||
|
||||
:compare_git_versions
|
||||
if %errorlevel% geq 0 (
|
||||
setlocal enabledelayedexpansion
|
||||
if ERRORLEVEL 0 (
|
||||
:: 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
|
||||
if %errorlevel% geq 0 if exist "%test_dir:~0,-4%\cmd\git.exe" (
|
||||
set "GIT_INSTALL_ROOT=%test_dir:~0,-4%"
|
||||
set test_dir=
|
||||
) else if %errorlevel% geq 0 (
|
||||
set "GIT_INSTALL_ROOT=%test_dir%"
|
||||
set test_dir=
|
||||
if ERRORLEVEL 0 (
|
||||
if exist "!test_dir:~0,-4!\cmd\git.exe" (
|
||||
set "GIT_INSTALL_ROOT=!test_dir:~0,-4!"
|
||||
) else (
|
||||
set "GIT_INSTALL_ROOT=!test_dir!"
|
||||
)
|
||||
) else (
|
||||
call :verbose_output Found old %GIT_VERSION_USER% in "%test_dir%", but not using...
|
||||
set test_dir=
|
||||
%print_verbose% "Found old !GIT_VERSION_USER! in !test_dir!, but not using..."
|
||||
)
|
||||
) else (
|
||||
:: compare the user git version against the vendored version
|
||||
:: if the user provided git executable is not found
|
||||
if %errorlevel% equ -255 (
|
||||
call :verbose_output No git at "%git_executable%" found.
|
||||
IF ERRORLEVEL -255 IF NOT ERRORLEVEL -254 (
|
||||
%print_verbose% "No git at "!git_executable!" found."
|
||||
set test_dir=
|
||||
)
|
||||
)
|
||||
endlocal && set "GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%" && set test_dir=
|
||||
|
||||
exit /b
|
||||
|
||||
:::===============================================================================
|
||||
@ -270,7 +271,7 @@ exit /b
|
||||
|
||||
:get_user_git_version
|
||||
:: 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%
|
||||
exit /b
|
||||
|
||||
|
75
vendor/lib/lib_path.cmd
vendored
75
vendor/lib/lib_path.cmd
vendored
@ -32,6 +32,7 @@ exit /b
|
||||
:::options:
|
||||
:::
|
||||
::: append <in> Append to the path env variable rather than pre-pend.
|
||||
::B
|
||||
:::
|
||||
:::output:
|
||||
:::
|
||||
@ -41,7 +42,7 @@ exit /b
|
||||
if "%~1" neq "" (
|
||||
set "add_path=%~1"
|
||||
) 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
|
||||
)
|
||||
|
||||
@ -73,36 +74,36 @@ exit /b
|
||||
set "find_query=%add_to_path%"
|
||||
set "find_query=%find_query:\=\\%"
|
||||
set "find_query=%find_query: =\ %"
|
||||
set OLD_PATH=%PATH%
|
||||
set "OLD_PATH=%PATH%"
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
if "%found%" == "0" (
|
||||
echo "%path%"|%WINDIR%\System32\findstr >nul /I /R /C:";%find_query%;"
|
||||
if "!found!" == "0" (
|
||||
echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!;"
|
||||
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" (
|
||||
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
|
||||
)
|
||||
%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 (
|
||||
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
|
||||
)
|
||||
%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%
|
||||
|
||||
if "%found%" == "0" (
|
||||
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%"
|
||||
) 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%"
|
||||
)
|
||||
|
||||
@ -111,13 +112,30 @@ exit /b
|
||||
|
||||
:end_enhance_path
|
||||
set "PATH=%PATH:;;=;%"
|
||||
if NOT "%OLD_PATH%" == "%PATH%" (
|
||||
%lib_console% debug_output :enhance_path "END Env Var - PATH=%path%"
|
||||
%lib_console% debug_output :enhance_path "Env Var %find_query% - found=%found%"
|
||||
)
|
||||
set "position="
|
||||
|
||||
REM echo %path%|"C:\Users\dgames\cmder - dev\vendor\git-for-windows\usr\bin\wc" -c
|
||||
if "%fast_init%" == "1" exit /b
|
||||
|
||||
if not "%OLD_PATH:~0,3000%" == "%OLD_PATH:~0,3001%" goto :toolong
|
||||
if not "%OLD_PATH%" == "%PATH%" goto :changed
|
||||
exit /b
|
||||
|
||||
:toolong
|
||||
echo "%OLD_PATH%">tempfileA
|
||||
echo "%PATH%">tempfileB
|
||||
fc /b tempfileA tempfileB 2>nul 1>nul
|
||||
if errorlevel 1 ( del tempfileA & del tempfileB & goto :changed )
|
||||
del tempfileA & del tempfileB
|
||||
exit /b
|
||||
|
||||
:changed
|
||||
%print_debug% :enhance_path "END Env Var - PATH=%path%"
|
||||
%print_debug% :enhance_path "Env Var %find_query% - found=%found%"
|
||||
exit /b
|
||||
|
||||
exit /b
|
||||
|
||||
|
||||
:set_found
|
||||
if "%ERRORLEVEL%" == "0" (
|
||||
set found=1
|
||||
@ -144,7 +162,7 @@ exit /b
|
||||
:::.
|
||||
:::options:
|
||||
:::.
|
||||
::: [max_depth] <in> Max recuse depth. Default: 1
|
||||
::: [max_depth] <in> Max recursion depth. Default: 1
|
||||
:::.
|
||||
::: append <in> Append instead to path env variable rather than pre-pend.
|
||||
:::.
|
||||
@ -155,7 +173,7 @@ exit /b
|
||||
if "%~1" neq "" (
|
||||
set "add_path=%~1"
|
||||
) 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
|
||||
)
|
||||
|
||||
@ -168,7 +186,8 @@ exit /b
|
||||
set "position="
|
||||
)
|
||||
|
||||
dir "%add_path%" | findstr -i "\.COM \.EXE \.BAT \.CMD \.PS1 \.VBS" >NUL
|
||||
dir "%add_path%" 2>NUL | findstr -i "\.COM \.EXE \.BAT \.CMD \.PS1 \.VBS" >NUL
|
||||
|
||||
if "%ERRORLEVEL%" == "0" (
|
||||
set "add_to_path=%add_path%"
|
||||
) else (
|
||||
@ -186,14 +205,14 @@ exit /b
|
||||
exit /b
|
||||
)
|
||||
|
||||
%lib_console% debug_output :enhance_path_recursive "Env Var - add_path=%add_to_path%"
|
||||
%lib_console% debug_output :enhance_path_recursive "Env Var - position=%position%"
|
||||
%lib_console% debug_output :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 - add_path=%add_to_path%"
|
||||
%print_debug% :enhance_path_recursive "Env Var - position=%position%"
|
||||
%print_debug% :enhance_path_recursive "Env Var - depth=%depth%"
|
||||
%print_debug% :enhance_path_recursive "Env Var - max_depth=%max_depth%"
|
||||
|
||||
if %max_depth% gtr %depth% (
|
||||
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 :set_depth
|
||||
@ -214,10 +233,10 @@ exit /b
|
||||
)
|
||||
|
||||
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 "Found Subdirectory - '%%~fi'"
|
||||
%print_debug% :enhance_path_recursive "Env Var BEFORE - depth=%depth%"
|
||||
%print_debug% :enhance_path_recursive "Found Subdirectory - '%%~fi'"
|
||||
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
|
||||
|
||||
|
2
vendor/lib/lib_profile.cmd
vendored
2
vendor/lib/lib_profile.cmd
vendored
@ -38,7 +38,7 @@ exit /b
|
||||
|
||||
pushd "%~1"
|
||||
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"
|
||||
)
|
||||
popd
|
||||
|
53
vendor/profile.ps1
vendored
53
vendor/profile.ps1
vendored
@ -3,6 +3,7 @@
|
||||
|
||||
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
||||
# !!! Use "%CMDER_ROOT%\config\user_profile.ps1" to add your own startup commands
|
||||
$CMDER_INIT_START=$(Get-Date -UFormat %s)
|
||||
|
||||
# Compatibility with PS major versions <= 2
|
||||
if(!$PSScriptRoot) {
|
||||
@ -13,7 +14,7 @@ if ($ENV:CMDER_USER_CONFIG) {
|
||||
# write-host "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '$ENV:CMDER_USER_CONFIG'!"
|
||||
}
|
||||
|
||||
# We do this for Powershell as Admin Sessions because CMDER_ROOT is not beng set.
|
||||
# We do this for Powershell as Admin Sessions because CMDER_ROOT is not being set.
|
||||
if (! $ENV:CMDER_ROOT ) {
|
||||
if ( $ENV:ConEmuDir ) {
|
||||
$ENV:CMDER_ROOT = resolve-path( $ENV:ConEmuDir + "\..\.." )
|
||||
@ -39,13 +40,48 @@ if(-not $moduleInstallerAvailable -and -not $env:PSModulePath.Contains($CmderMod
|
||||
$env:PSModulePath = $env:PSModulePath.Insert(0, "$CmderModulePath;")
|
||||
}
|
||||
|
||||
try {
|
||||
# Check if git is on PATH, i.e. Git already installed on system
|
||||
Get-command -Name "git" -ErrorAction Stop >$null
|
||||
} catch {
|
||||
if (test-path "$env:CMDER_ROOT\vendor\git-for-windows") {
|
||||
Configure-Git "$env:CMDER_ROOT\vendor\git-for-windows"
|
||||
$gitVersionVendor = (readVersion -gitPath "$ENV:CMDER_ROOT\vendor\git-for-windows\cmd")
|
||||
# write-host "GIT VENDOR: ${gitVersionVendor}"
|
||||
|
||||
# Get user installed Git Version[s] and Compare with vendored if found.
|
||||
foreach ($git in (get-command -ErrorAction SilentlyContinue 'git')) {
|
||||
# write-host "GIT Path: " + $git.Path
|
||||
$gitDir = Split-Path -Path $git.Path
|
||||
$gitDir = isGitShim -gitPath $gitDir
|
||||
$gitVersionUser = (readVersion -gitPath $gitDir)
|
||||
# write-host "GIT USER: ${gitVersionUser}"
|
||||
|
||||
$useGitVersion = compare_git_versions -userVersion $gitVersionUser -vendorVersion $gitVersionVendor
|
||||
# write-host "Using GIT Version: ${useGitVersion}"
|
||||
|
||||
# Use user installed Git
|
||||
if ($gitPathUser -eq $null) {
|
||||
if ($gitDir -match '\\mingw32\\bin' -or $gitDir -match '\\mingw64\\bin') {
|
||||
$gitPathUser = ($gitDir.subString(0,$gitDir.Length - 12))
|
||||
} else {
|
||||
$gitPathUser = ($gitDir.subString(0,$gitDir.Length - 4))
|
||||
}
|
||||
}
|
||||
|
||||
if ($useGitVersion -eq $gitVersionUser) {
|
||||
# write-host "Using GIT Dir: ${gitDir}"
|
||||
$ENV:GIT_INSTALL_ROOT = $gitPathUser
|
||||
$ENV:GIT_INSTALL_TYPE = 'USER'
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
# User vendored Git.
|
||||
if ($ENV:GIT_INSTALL_ROOT -eq $null -and $gitVersionVendor -ne $null) {
|
||||
$ENV:GIT_INSTALL_ROOT = "$ENV:CMDER_ROOT\vendor\git-for-windows"
|
||||
$ENV:GIT_INSTALL_TYPE = 'VENDOR'
|
||||
}
|
||||
|
||||
# write-host "GIT_INSTALL_ROOT: ${ENV:GIT_INSTALL_ROOT}"
|
||||
# write-host "GIT_INSTALL_TYPE: ${ENV:GIT_INSTALL_TYPE}"
|
||||
|
||||
if (-not($ENV:GIT_INSTALL_ROOT -eq $null)) {
|
||||
$env:Path = Configure-Git -gitRoot "$ENV:GIT_INSTALL_ROOT" -gitType $ENV:GIT_INSTALL_TYPE -gitPathUser $gitPathUser
|
||||
}
|
||||
|
||||
if ( Get-command -Name "vim" -ErrorAction silentlycontinue) {
|
||||
@ -177,3 +213,6 @@ if ( $(get-command prompt).Definition -match 'PS \$\(\$executionContext.SessionS
|
||||
# if (!$(get-command Prompt).Options -match 'ReadOnly') {Set-Item -Path function:\prompt -Value $Prompt -Options ReadOnly}
|
||||
Set-Item -Path function:\prompt -Value $Prompt -Options ReadOnly
|
||||
}
|
||||
|
||||
$CMDER_INIT_END=$(Get-Date -UFormat %s)
|
||||
# write-host "Elapsed Time: $(get-Date) `($($CMDER_INIT_END - $CMDER_INIT_START) total`)"
|
||||
|
140
vendor/psmodules/Cmder.ps1
vendored
140
vendor/psmodules/Cmder.ps1
vendored
@ -1,26 +1,128 @@
|
||||
function Configure-Git($GIT_INSTALL_ROOT){
|
||||
$env:Path += $(";" + $GIT_INSTALL_ROOT + "\cmd")
|
||||
function readVersion($gitPath) {
|
||||
$gitExecutable = "${gitPath}\git.exe"
|
||||
|
||||
# Add "$GIT_INSTALL_ROOT\usr\bin" to the path if exists and not done already
|
||||
$GIT_INSTALL_ROOT_ESC=$GIT_INSTALL_ROOT.replace('\','\\')
|
||||
if ((test-path "$GIT_INSTALL_ROOT\usr\bin") -and -not ($env:path -match "$GIT_INSTALL_ROOT_ESC\\usr\\bin")) {
|
||||
$env:path = "$env:path;$GIT_INSTALL_ROOT\usr\bin"
|
||||
}
|
||||
if (!(test-path "$gitExecutable")) {
|
||||
return $null
|
||||
}
|
||||
|
||||
# Add "$GIT_INSTALL_ROOT\mingw[32|64]\bin" to the path if exists and not done already
|
||||
if ((test-path "$GIT_INSTALL_ROOT\mingw32\bin") -and -not ($env:path -match "$GIT_INSTALL_ROOT_ESC\\mingw32\\bin")) {
|
||||
$env:path = "$env:path;$GIT_INSTALL_ROOT\mingw32\bin"
|
||||
} elseif ((test-path "$GIT_INSTALL_ROOT\mingw64\bin") -and -not ($env:path -match "$GIT_INSTALL_ROOT_ESC\\mingw64\\bin")) {
|
||||
$env:path = "$env:path;$GIT_INSTALL_ROOT\mingw64\bin"
|
||||
}
|
||||
$gitVersion = (cmd /c "${gitExecutable}" --version)
|
||||
|
||||
if ($gitVersion -match 'git version') {
|
||||
($trash1, $trash2, $gitVersion) = $gitVersion.split(' ', 3)
|
||||
} else {
|
||||
pause
|
||||
return $null
|
||||
}
|
||||
|
||||
return $gitVersion.toString()
|
||||
}
|
||||
|
||||
function isGitShim($gitPath) {
|
||||
# check if there's shim - and if yes follow the path
|
||||
|
||||
if (test-path "${gitPath}\git.shim") {
|
||||
$shim = (get-content "${gitPath}\git.shim")
|
||||
($trash, $gitPath) = $shim.replace(' ','').split('=')
|
||||
|
||||
$gitPath=$gitPath.replace('\git.exe','')
|
||||
}
|
||||
|
||||
return $gitPath.toString()
|
||||
}
|
||||
|
||||
function compareVersions($userVersion, $vendorVersion) {
|
||||
if (-not($userVersion -eq $null)) {
|
||||
($userMajor, $userMinor, $userPatch, $userBuild) = $userVersion.split('.', 4)
|
||||
} else {
|
||||
return -1
|
||||
}
|
||||
|
||||
if (-not($vendorVersion -eq $null)) {
|
||||
($vendorMajor, $vendorMinor, $vendorPatch, $vendorBuild) = $vendorVersion.split('.', 4)
|
||||
} else {
|
||||
return 1
|
||||
}
|
||||
|
||||
if (($userMajor -eq $vendorMajor) -and ($userMinor -eq $vendorMinor) -and ($userPatch -eq $vendorPatch) -and ($userBuild -eq $vendorBuild)) {
|
||||
return 1
|
||||
}
|
||||
|
||||
if ($userMajor -gt $vendorMajor) {return 1}
|
||||
if ($userMajor -lt $vendorMajor) {return -1}
|
||||
|
||||
if ($userMinor -gt $vendorMinor) {return 1}
|
||||
if ($userMinor -lt $vendorMinor) {return -1}
|
||||
|
||||
if ($userPatch -gt $vendorPatch) {return 1}
|
||||
if ($userPatch -lt $vendorPatch) {return -1}
|
||||
|
||||
if ($userBuild -gt $vendorBuild) {return 1}
|
||||
if ($userBuild -lt $vendorBuild) {return -1}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
function compare_git_versions($userVersion, $vendorVersion) {
|
||||
$result = compareVersions -userVersion $userVersion -vendorVersion $vendorVersion
|
||||
|
||||
# write-host "Compare Versions Result: ${result}"
|
||||
if ($result -ge 0) {
|
||||
return $userVersion
|
||||
} else {
|
||||
return $vendorVersion
|
||||
}
|
||||
}
|
||||
|
||||
function Configure-Git($gitRoot, $gitType, $gitPathUser){
|
||||
# Proposed Behavior
|
||||
|
||||
# Modify the path if we are using VENDORED Git do nothing if using USER Git.
|
||||
# If User Git is installed but older match its path config adding paths
|
||||
# in the same path positions allowing a user to configure Cmder Git path
|
||||
# using locally installed Git Path Config.
|
||||
if ($gitType -eq 'VENDOR') {
|
||||
# If User Git is installed replace its path config with Newer Vendored Git Path
|
||||
if ($gitPathUser -ne '' -and $gitPathUser -ne $null) {
|
||||
# write-host "Cmder 'profile.ps1': Replacing older user Git path '$gitPathUser' with newer vendored Git path '$gitRoot' in the system path..."
|
||||
|
||||
$newPath = ($env:path -ireplace [regex]::Escape($gitPathUser), $gitRoot)
|
||||
} else {
|
||||
if (!($env:Path -match [regex]::Escape("$gitRoot\cmd"))) {
|
||||
# write-host "Adding $gitRoot\cmd to the path"
|
||||
$newPath = $($gitRoot + "\cmd" + ";" + $env:Path)
|
||||
}
|
||||
|
||||
# Add "$gitRoot\mingw[32|64]\bin" to the path if exists and not done already
|
||||
if ((test-path "$gitRoot\mingw32\bin") -and -not ($env:path -match [regex]::Escape("$gitRoot\mingw32\bin"))) {
|
||||
# write-host "Adding $gitRoot\mingw32\bin to the path"
|
||||
$newPath = "$newPath;$gitRoot\mingw32\bin"
|
||||
} elseif ((test-path "$gitRoot\mingw64\bin") -and -not ($env:path -match [regex]::Escape("$gitRoot\mingw64\bin"))) {
|
||||
# write-host "Adding $gitRoot\mingw64\bin to the path"
|
||||
$newPath = "$newPath;$gitRoot\mingw64\bin"
|
||||
}
|
||||
|
||||
# Add "$gitRoot\usr\bin" to the path if exists and not done already
|
||||
if ((test-path "$gitRoot\usr\bin") -and -not ($env:path -match [regex]::Escape("$gitRoot\usr\bin"))) {
|
||||
# write-host "Adding $gitRoot\usr\bin to the path"
|
||||
$newPath = "$newPath;$gitRoot\usr\bin"
|
||||
}
|
||||
}
|
||||
|
||||
return $newPath
|
||||
}
|
||||
|
||||
return $env:path
|
||||
}
|
||||
|
||||
function Import-Git(){
|
||||
|
||||
$GitModule = Get-Module -Name Posh-Git -ListAvailable
|
||||
if($GitModule | select version | where version -le ([version]"0.6.1.20160330")){
|
||||
Import-Module Posh-Git > $null
|
||||
}
|
||||
if($GitModule | select version | where version -ge ([version]"1.0.0")){
|
||||
Import-Module Posh-Git > $null
|
||||
$GitPromptSettings.AnsiConsole = $false
|
||||
}
|
||||
if(-not ($GitModule) ) {
|
||||
Write-Warning "Missing git support, install posh-git with 'Install-Module posh-git' and restart cmder."
|
||||
}
|
||||
@ -28,7 +130,7 @@ function Import-Git(){
|
||||
return $true
|
||||
}
|
||||
|
||||
function checkGit($Path) {
|
||||
function checkGit($Path) {
|
||||
if (Test-Path -Path (Join-Path $Path '.git') ) {
|
||||
if($env:gitLoaded -eq 'false') {
|
||||
$env:gitLoaded = Import-Git
|
||||
@ -36,6 +138,14 @@ function checkGit($Path) {
|
||||
|
||||
if (getGitStatusSetting -eq $true) {
|
||||
Write-VcsStatus
|
||||
} else {
|
||||
$headContent = Get-Content (Join-Path $Path '.git/HEAD')
|
||||
if ($headContent -like "ref: refs/heads/*") {
|
||||
$branchName = $headContent.Substring(16)
|
||||
} else {
|
||||
$branchName = "HEAD detached at $($headContent.Substring(0, 7))"
|
||||
}
|
||||
Write-Host " [$branchName]" -NoNewline -ForegroundColor White
|
||||
}
|
||||
|
||||
return
|
||||
|
16
vendor/psmodules/PsGet/PsGet.psm1
vendored
16
vendor/psmodules/PsGet/PsGet.psm1
vendored
@ -124,7 +124,7 @@ Set-Variable -Name PSGET_PSD1 -Value 'PSD1' -Option Constant -Scope Script
|
||||
|
||||
Description
|
||||
-----------
|
||||
Installs the module witout importing it to the current session
|
||||
Installs the module without importing it to the current session
|
||||
|
||||
.EXAMPLE
|
||||
# Install-Module PoshHg -AddToProfile
|
||||
@ -448,7 +448,7 @@ function Update-Module {
|
||||
|
||||
Description
|
||||
-----------
|
||||
Retrieves information about all registerd modules that starts with PoshCo.
|
||||
Retrieves information about all registered modules that start with PoshCo.
|
||||
#>
|
||||
function Get-PsGetModuleInfo {
|
||||
[CmdletBinding()]
|
||||
@ -694,7 +694,7 @@ function Install-ModuleFromDirectory {
|
||||
throw "Module $Module was not found in central repository"
|
||||
}
|
||||
|
||||
# $Module and $moduleData.Id are not equally by garantee, so we have to test again.
|
||||
# $Module and $moduleData.Id are not equally by guarantee, so we have to test again.
|
||||
if (Test-ModuleInstalledAndImport -ModuleName:$moduleData.ModuleName -Destination:$Destination -Update:$Update -DoNotImport:$DoNotImport -ModuleHash:$ModuleHash) {
|
||||
return
|
||||
}
|
||||
@ -1488,7 +1488,7 @@ function Invoke-DownloadModuleFromWeb {
|
||||
Install the module inside of the provided directory into the defined destination
|
||||
and perform the following steps:
|
||||
|
||||
* Rename module if requestes by provided InstallWithModuleName
|
||||
* Rename module if requested by provided InstallWithModuleName
|
||||
* If a ModuleHash is provided, check if it matches.
|
||||
* Add the destination path to the PSModulePath if necessary (depends on provided parameters)
|
||||
* Place the conventions-matching module folder in the destination folder
|
||||
@ -1796,9 +1796,9 @@ function Test-ModuleInstalledAndImport {
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Extract the content of the referenced zip file to the defind destination
|
||||
Extract the content of the referenced zip file to the defined destination
|
||||
|
||||
.PARAMATER Path
|
||||
.PARAMETER Path
|
||||
Path to a zip file with the file extension '.zip'
|
||||
|
||||
.Parameter Destination
|
||||
@ -1856,7 +1856,7 @@ function Expand-ZipModule {
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Update '$env:PSModulePath' from 'User' and 'Machine' scope envrionment variables
|
||||
Update '$env:PSModulePath' from 'User' and 'Machine' scope environment variables
|
||||
#>
|
||||
function Update-PSModulePath {
|
||||
process {
|
||||
@ -2152,4 +2152,4 @@ Export-ModuleMember TabExpansion
|
||||
Export-ModuleMember -Alias inmo
|
||||
Export-ModuleMember -Alias ismo
|
||||
Export-ModuleMember -Alias upmo
|
||||
#endregion
|
||||
#endregion
|
||||
|
16
vendor/sources.json
vendored
16
vendor/sources.json
vendored
@ -1,22 +1,22 @@
|
||||
[
|
||||
{
|
||||
"name": "git-for-windows",
|
||||
"version": "v2.26.2.windows.1",
|
||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.26.2.windows.1/PortableGit-2.26.2-64-bit.7z.exe"
|
||||
"version": "v2.34.0.windows.1",
|
||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.34.0.windows.1/PortableGit-2.34.0-64-bit.7z.exe"
|
||||
},
|
||||
{
|
||||
"name": "clink",
|
||||
"version": "0.4.9",
|
||||
"url": "https://github.com/mridgers/clink/releases/download/0.4.9/clink_0.4.9.zip"
|
||||
"version": "1.2.46",
|
||||
"url": "https://github.com/chrisant996/clink/releases/download/v1.2.46/clink.1.2.46.69fc92.zip"
|
||||
},
|
||||
{
|
||||
"name": "conemu-maximus5",
|
||||
"version": "191012",
|
||||
"url": "https://github.com/Maximus5/ConEmu/releases/download/v19.10.12/ConEmuPack.191012.7z"
|
||||
"version": "210912",
|
||||
"url": "https://github.com/Maximus5/ConEmu/releases/download/v21.09.12/ConEmuPack.210912.7z"
|
||||
},
|
||||
{
|
||||
"name": "clink-completions",
|
||||
"version": "0.3.5",
|
||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.5.zip"
|
||||
"version": "0.3.7",
|
||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.7.zip"
|
||||
}
|
||||
]
|
||||
|
1
vendor/user_aliases.cmd.default
vendored
1
vendor/user_aliases.cmd.default
vendored
@ -9,7 +9,6 @@ gl=git log --oneline --all --graph --decorate $*
|
||||
ls=ls --show-control-chars -F --color $*
|
||||
pwd=cd
|
||||
clear=cls
|
||||
history=cat -n "%CMDER_ROOT%\config\.history"
|
||||
unalias=alias /d $1
|
||||
vi=vim $*
|
||||
cmderr=cd /d "%CMDER_ROOT%"
|
||||
|
2
vendor/user_profile.cmd.default
vendored
2
vendor/user_profile.cmd.default
vendored
@ -12,7 +12,7 @@
|
||||
:: set "PATH=%CMDER_ROOT%\vendor\whatever;%PATH%"
|
||||
|
||||
:: arguments in this batch are passed from init.bat, you can quickly parse them like so:
|
||||
:: more useage can be seen by typing "cexec /?"
|
||||
:: more usage can be seen by typing "cexec /?"
|
||||
|
||||
:: %ccall% "/customOption" "command/program"
|
||||
|
||||
|
Reference in New Issue
Block a user