mirror of
https://github.com/cmderdev/cmder.git
synced 2025-07-16 20:49:54 +08:00
Compare commits
94 Commits
Author | SHA1 | Date | |
---|---|---|---|
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 | |||
bc7984769c | |||
130dc750be | |||
c6edbc0068 | |||
c0eeec6608 | |||
ee25dbaab6 | |||
e9f20aea91 | |||
29aa75e158 | |||
8781779636 | |||
31c019b7e4 | |||
4d86559841 | |||
a5dcf9c260 | |||
a999d17f71 | |||
04c784cb16 | |||
a2ce74f981 | |||
b91bb84f3d | |||
35ace106c8 | |||
1861983469 | |||
1f5ea5e596 | |||
2936abe2a5 | |||
c9bc1f6b83 | |||
be5ec648c4 | |||
ab3639540f | |||
2517f55f15 | |||
1af12666e4 | |||
93f8718489 | |||
1071221468 | |||
a92bb1947f | |||
251968b4c6 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
bin/*
|
bin/*
|
||||||
!bin/Readme.md
|
!bin/Readme.md
|
||||||
|
opt/*
|
||||||
|
!opt/Readme.md
|
||||||
|
|
||||||
vendor/*/*
|
vendor/*/*
|
||||||
!vendor/bin/*
|
!vendor/bin/*
|
||||||
|
37
CHANGELOG.md
37
CHANGELOG.md
@ -1,5 +1,42 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
|
## [1.3.17](https://github.com/cmderdev/cmder/tree/v1.3.17) (2020-12-23)
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
- [bug] Running `alias ..=cd ..` removes other aliases #2394
|
||||||
|
- Switch to @chrisant996 [Clink](https://github.com/chrisant996/clink/) v1.1.10 to fix Clink newer Windows 10 releases.
|
||||||
|
- Fix `\Git\cmd\git.exe found. was unexpected at this time.`
|
||||||
|
- Documentation fixes.
|
||||||
|
|
||||||
|
### Changes
|
||||||
|
|
||||||
|
- Update Git to 2.29.0
|
||||||
|
- Improve `init.bat` Speed
|
||||||
|
- Add `systeminfo.exe` output to iag scripts.
|
||||||
|
|
||||||
|
## [1.3.16](https://github.com/cmderdev/cmder/tree/v1.3.16) (2020-07-29)
|
||||||
|
|
||||||
|
### 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)
|
||||||
|
* Clink path get broken if clink-completions content is created in a different order #2278Clink path get broken if clink-completions content is created in a different order [#2278](https://github.com/cmderdev/cmder/pull/2278)
|
||||||
|
* Move Git functions to `lib/git.bat` [#2293](https://github.com/cmderdev/cmder/pull/2293)
|
||||||
|
* Fix Cmder issue #2290 [#2294](https://github.com/cmderdev/cmder/pull/2294)
|
||||||
|
* Update git for windows to 2.26.2 [#2308](https://github.com/cmderdev/cmder/pull/2308)
|
||||||
|
* Update README.md #2323Update README.md [#2323](https://github.com/cmderdev/cmder/pull/2323)
|
||||||
|
* Added support for setting custom icons for Cmder window [#2335](https://github.com/cmderdev/cmder/pull/2335)
|
||||||
|
* Fix and enhance enhance_path_recursive [#2311](https://github.com/cmderdev/cmder/pull/2311)
|
||||||
|
|
||||||
## [1.3.14](https://github.com/cmderdev/cmder/tree/v1.3.14) (2020-01-08)
|
## [1.3.14](https://github.com/cmderdev/cmder/tree/v1.3.14) (2020-01-08)
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
|
@ -7,7 +7,7 @@ If you follow them your contribution will likely be pulled in quicker.
|
|||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
* Fork the repository on GitHub (It's that easy)
|
* 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
|
## Making Changes
|
||||||
|
|
||||||
|
32
README.md
32
README.md
@ -23,19 +23,29 @@ The Cmder's user interface is also designed to be more eye pleasing, and you can
|
|||||||
### Shared Cmder install with Non-Portable Individual User Config
|
### Shared Cmder install with Non-Portable Individual User Config
|
||||||
1. Download the [latest release](https://github.com/cmderdev/cmder/releases/)
|
1. Download the [latest release](https://github.com/cmderdev/cmder/releases/)
|
||||||
2. Extract the archive to a shared location.
|
2. Extract the archive to a shared location.
|
||||||
3. (optional) Place your own executable files into the `%cmder_root%\bin` folder to be injected into your PATH.
|
3. (optional) Place your own executable files and custom app folders into the `%cmder_root%\bin`. See: [bin/README.md](./bin/Readme.md)
|
||||||
4. (optional) Create `%userprofile%\cmder_config\bin` folder to be injected into individual users PATH. Default is to auto create this on first run.
|
- This folder to be injected into your PATH by default.
|
||||||
5. (optional) Place your own executable files into the `%userprofile%\cmder_config\bin` folder to be injected into your PATH.
|
- See `/max_depth [1-5]` in 'Command Line Arguments for `init.bat`' table to add subdirectories recursively.
|
||||||
6. Run `Cmder.exe` with `/C` command line argument. Example: `cmder.exe /C %userprofile%\cmder_config`
|
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.
|
* This will create the following directory structure if it is missing.
|
||||||
|
|
||||||
```
|
```
|
||||||
c:\users\[username]\cmder_config
|
c:\users\[username]\cmder_config
|
||||||
├───bin
|
├───bin
|
||||||
└───config
|
├───config
|
||||||
└───profile.d
|
│ └───profile.d
|
||||||
|
└───opt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- (optional) Place your own executable files and custom app folders into `%userprofile%\cmder_config\bin`.
|
||||||
|
- 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.
|
||||||
|
- (optional) Place your own custom app folders into the `%user_profile%\cmder_config\opt`.
|
||||||
|
- This folder will NOT be injected into your PATH so you have total control of what gets added.
|
||||||
|
|
||||||
|
|
||||||
* Both the shared install and the individual user config locations can contain a full set of init and profile.d scripts enabling shared config with user overrides. See below.
|
* Both the shared install and the individual user config locations can contain a full set of init and profile.d scripts enabling shared config with user overrides. See below.
|
||||||
|
|
||||||
## Cmder.exe Command Line Arguments
|
## Cmder.exe Command Line Arguments
|
||||||
@ -124,7 +134,7 @@ cd mintty-colors-solarized/
|
|||||||
echo source \$CMDER_ROOT/vendor/mintty-colors-solarized/mintty-solarized-dark.sh>>$CMDER_ROOT/config/user_profile.sh
|
echo source \$CMDER_ROOT/vendor/mintty-colors-solarized/mintty-solarized-dark.sh>>$CMDER_ROOT/config/user_profile.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
You may find some Monokai color schemes for mintty to match Cmder [here](https://github.com/PhilipDaniels/mintty/blob/master/themes/Monokai) or [here](https://github.com/oumu/mintty-color-schemes/blob/master/base16-monokai-mod.minttyrc).
|
You may find some Monokai color schemes for mintty to match Cmder [here](https://github.com/oumu/mintty-color-schemes/blob/master/base16-monokai-mod.minttyrc).
|
||||||
|
|
||||||
### Changing Cmder Default `cmd.exe` Shell Startup Behaviour Using Task Arguments
|
### Changing Cmder Default `cmd.exe` Shell Startup Behaviour Using Task Arguments
|
||||||
|
|
||||||
@ -153,7 +163,7 @@ You may find some Monokai color schemes for mintty to match Cmder [here](https:/
|
|||||||
| `/max_depth [1-5]` | Define max recurse depth when adding to the path for `%cmder_root%\bin` and `%cmder_user_bin%` | 1 |
|
| `/max_depth [1-5]` | Define max recurse depth when adding to the path for `%cmder_root%\bin` and `%cmder_user_bin%` | 1 |
|
||||||
| `/nix_tools [0-2]` | Define how `*nix` tools are added to the path. Prefer Windows Tools: 1, Prefer *nix Tools: 2, No `/usr/bin` in `%PATH%`: 0 | 1 |
|
| `/nix_tools [0-2]` | Define how `*nix` tools are added to the path. Prefer Windows Tools: 1, Prefer *nix Tools: 2, No `/usr/bin` in `%PATH%`: 0 | 1 |
|
||||||
| `/svn_ssh [path to ssh.exe]` | Define `%SVN_SSH%` so we can use git svn with ssh svn repositories. | `%GIT_INSTALL_ROOT%\bin\ssh.exe` |
|
| `/svn_ssh [path to ssh.exe]` | Define `%SVN_SSH%` so we can use git svn with ssh svn repositories. | `%GIT_INSTALL_ROOT%\bin\ssh.exe` |
|
||||||
| `/user_aliases [file path]` | File path pointing to user aliases. | `%CMDER_ROOT%\config\user-aliases.cmd` |
|
| `/user_aliases [file path]` | File path pointing to user aliases. | `%CMDER_ROOT%\config\user_aliases.cmd` |
|
||||||
| `/v` | Enables verbose output. | not set |
|
| `/v` | Enables verbose output. | not set |
|
||||||
| (custom arguments) | User defined arguments processed by `cexec`. Type `cexec /?` for more useage. | not set |
|
| (custom arguments) | User defined arguments processed by `cexec`. Type `cexec /?` for more useage. | not set |
|
||||||
|
|
||||||
@ -194,16 +204,16 @@ You can write `*.cmd|*.bat`, `*.ps1`, and `*.sh` scripts and just drop them in t
|
|||||||
#### Cmder(`Cmd.exe`) Aliases
|
#### Cmder(`Cmd.exe`) Aliases
|
||||||
You can define simple aliases for `cmd.exe` sessions with a command like `alias name=command`. Cmd.exe aliases support optional parameters through the `$1-9` or the `$*` special characters so the alias `vi=vim.exe $*` typed as `vi [filename]` will open `[filename]` in `vim.exe`.
|
You can define simple aliases for `cmd.exe` sessions with a command like `alias name=command`. Cmd.exe aliases support optional parameters through the `$1-9` or the `$*` special characters so the alias `vi=vim.exe $*` typed as `vi [filename]` will open `[filename]` in `vim.exe`.
|
||||||
|
|
||||||
Cmd.exe aliases can also be more complex. See: [DOSKEY.EXE documentation](http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/doskey.mspx?mfr=true) for additional details on complex aliases/macros for `cmd.exe`
|
Cmd.exe aliases can also be more complex. See: [DOSKEY.EXE documentation](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/doskey) for additional details on complex aliases/macros for `cmd.exe`
|
||||||
|
|
||||||
Aliases defined using the `alias.bat` command will automatically be saved in the `%CMDER_ROOT%\config\user-aliases.cmd` file
|
Aliases defined using the `alias.bat` command will automatically be saved in the `%CMDER_ROOT%\config\user_aliases.cmd` file
|
||||||
|
|
||||||
To make an alias and/or any other profile settings permanent add it to one of the following:
|
To make an alias and/or any other profile settings permanent add it to one of the following:
|
||||||
|
|
||||||
Note: These are loaded in this order by `$CMDER_ROOT/vendor/init.bat`. Anything stored in `%CMDER_ROOT%` will be a portable setting and will follow cmder to another machine.
|
Note: These are loaded in this order by `$CMDER_ROOT/vendor/init.bat`. Anything stored in `%CMDER_ROOT%` will be a portable setting and will follow cmder to another machine.
|
||||||
|
|
||||||
* `%CMDER_ROOT%\config\profile.d\*.cmd` and `\*.bat`
|
* `%CMDER_ROOT%\config\profile.d\*.cmd` and `\*.bat`
|
||||||
* `%CMDER_ROOT%\config\user-aliases.cmd`
|
* `%CMDER_ROOT%\config\user_aliases.cmd`
|
||||||
* `%CMDER_ROOT%\config\user_profile.cmd`
|
* `%CMDER_ROOT%\config\user_profile.cmd`
|
||||||
|
|
||||||
#### Bash.exe|Mintty.exe Aliases
|
#### Bash.exe|Mintty.exe Aliases
|
||||||
|
@ -9,12 +9,18 @@ Global
|
|||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Win32 = Debug|Win32
|
Debug|Win32 = Debug|Win32
|
||||||
Release|Win32 = Release|Win32
|
Release|Win32 = Release|Win32
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Release|x64 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|Win32.ActiveCfg = Debug|Win32
|
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|Win32.Build.0 = Debug|Win32
|
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|Win32.ActiveCfg = Release|Win32
|
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|Win32.Build.0 = Release|Win32
|
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}.Release|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -9,6 +9,14 @@
|
|||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}</ProjectGuid>
|
<ProjectGuid>{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}</ProjectGuid>
|
||||||
@ -30,6 +38,19 @@
|
|||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<PlatformToolset>v141</PlatformToolset>
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v141_xp</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -39,6 +60,12 @@
|
|||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>true</LinkIncremental>
|
||||||
@ -48,6 +75,14 @@
|
|||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
<TargetName>Cmder</TargetName>
|
<TargetName>Cmder</TargetName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<TargetName>Cmder</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<TargetName>Cmder</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
@ -94,6 +129,52 @@
|
|||||||
<Command>copy $(TargetPath) $(SolutionDir)..\$(TargetFileName)</Command>
|
<Command>copy $(TargetPath) $(SolutionDir)..\$(TargetFileName)</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>src/app.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||||
|
</Manifest>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_USING_V110_SDK71_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MinSpace</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>src/app.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||||
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>copy $(TargetPath) $(SolutionDir)..\$(TargetFileName)</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="src\Resource.rc">
|
<ResourceCompile Include="src\Resource.rc">
|
||||||
<FileType>RC</FileType>
|
<FileType>RC</FileType>
|
||||||
|
@ -71,7 +71,7 @@ bool FileExists(const wchar_t * filePath)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstring taskName = L"", std::wstring cfgRoot = L"", bool use_user_cfg = true, std::wstring conemu_args = L"")
|
void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstring taskName = L"", std::wstring iconPath = L"", std::wstring cfgRoot = L"", bool use_user_cfg = true, std::wstring conemu_args = L"")
|
||||||
{
|
{
|
||||||
#if USE_TASKBAR_API
|
#if USE_TASKBAR_API
|
||||||
wchar_t appId[MAX_PATH] = { 0 };
|
wchar_t appId[MAX_PATH] = { 0 };
|
||||||
@ -111,7 +111,15 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
|
|||||||
|
|
||||||
PathRemoveFileSpec(exeDir);
|
PathRemoveFileSpec(exeDir);
|
||||||
|
|
||||||
|
if (PathFileExists(iconPath.c_str()))
|
||||||
|
{
|
||||||
|
std::copy(iconPath.begin(), iconPath.end(), icoPath);
|
||||||
|
icoPath[iconPath.length()] = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
PathCombine(icoPath, exeDir, L"icons\\cmder.ico");
|
PathCombine(icoPath, exeDir, L"icons\\cmder.ico");
|
||||||
|
}
|
||||||
|
|
||||||
PathCombine(configDirPath, exeDir, L"config");
|
PathCombine(configDirPath, exeDir, L"config");
|
||||||
|
|
||||||
@ -532,6 +540,7 @@ struct cmderOptions
|
|||||||
std::wstring cmderCfgRoot = L"";
|
std::wstring cmderCfgRoot = L"";
|
||||||
std::wstring cmderStart = L"";
|
std::wstring cmderStart = L"";
|
||||||
std::wstring cmderTask = L"";
|
std::wstring cmderTask = L"";
|
||||||
|
std::wstring cmderIcon = L"";
|
||||||
std::wstring cmderRegScope = L"USER";
|
std::wstring cmderRegScope = L"USER";
|
||||||
std::wstring cmderConEmuArgs = L"";
|
std::wstring cmderConEmuArgs = L"";
|
||||||
bool cmderSingle = false;
|
bool cmderSingle = false;
|
||||||
@ -593,6 +602,11 @@ cmderOptions GetOption()
|
|||||||
cmderOptions.cmderTask = szArgList[i + 1];
|
cmderOptions.cmderTask = szArgList[i + 1];
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
else if (_wcsicmp(L"/icon", szArgList[i]) == 0)
|
||||||
|
{
|
||||||
|
cmderOptions.cmderIcon = szArgList[i + 1];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
else if (_wcsicmp(L"/single", szArgList[i]) == 0)
|
else if (_wcsicmp(L"/single", szArgList[i]) == 0)
|
||||||
{
|
{
|
||||||
cmderOptions.cmderSingle = true;
|
cmderOptions.cmderSingle = true;
|
||||||
@ -659,13 +673,13 @@ cmderOptions GetOption()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n /c [CMDER User Root Path]\n\n /task [ConEmu Task Name]\n\n [/start [Start in Path] | [Start in Path]]\n\n /single\n\n /m\n\n /x [ConEmu extra arguments]\n\nor\n\n /register [USER | ALL]\n\nor\n\n /unregister [USER | ALL]\n", MB_TITLE, MB_OK);
|
MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n /c [CMDER User Root Path]\n\n /task [ConEmu Task Name]\n\n /icon [CMDER Icon Path]\n\n [/start [Start in Path] | [Start in Path]]\n\n /single\n\n /m\n\n /x [ConEmu extra arguments]\n\nor\n\n /register [USER | ALL]\n\nor\n\n /unregister [USER | ALL]\n", MB_TITLE, MB_OK);
|
||||||
cmderOptions.error = true;
|
cmderOptions.error = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n /c [CMDER User Root Path]\n\n /task [ConEmu Task Name]\n\n [/start [Start in Path] | [Start in Path]]\n\n /single\n\n /m\n\n /x [ConEmu extra arguments]\n\nor\n\n /register [USER | ALL]\n\nor\n\n /unregister [USER | ALL]\n", MB_TITLE, MB_OK);
|
MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n /c [CMDER User Root Path]\n\n /task [ConEmu Task Name]\n\n /icon [CMDER Icon Path]\n\n [/start [Start in Path] | [Start in Path]]\n\n /single\n\n /m\n\n /x [ConEmu extra arguments]\n\nor\n\n /register [USER | ALL]\n\nor\n\n /unregister [USER | ALL]\n", MB_TITLE, MB_OK);
|
||||||
cmderOptions.error = true;
|
cmderOptions.error = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -707,7 +721,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
StartCmder(cmderOptions.cmderStart, cmderOptions.cmderSingle, cmderOptions.cmderTask, cmderOptions.cmderCfgRoot, cmderOptions.cmderUserCfg, cmderOptions.cmderConEmuArgs);
|
StartCmder(cmderOptions.cmderStart, cmderOptions.cmderSingle, cmderOptions.cmderTask, cmderOptions.cmderIcon, cmderOptions.cmderCfgRoot, cmderOptions.cmderUserCfg, cmderOptions.cmderConEmuArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
5
opt/Readme.md
Normal file
5
opt/Readme.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
## Bin
|
||||||
|
|
||||||
|
This folder is for optional user packages and will not be automatically injected into the PATH.
|
||||||
|
|
||||||
|
Use `%lib_path% enhance_path "%cmder_root%\[path to folder]"` in `%cmder_root%\config\user_profile.cmd` or `%cmder_root%\config\profile.d\*.cmd` to add to the path.
|
11
vendor/bin/alias.cmd
vendored
11
vendor/bin/alias.cmd
vendored
@ -81,6 +81,9 @@ set alias_name=!alias_name:~1!
|
|||||||
:: trailing quotes added while validating
|
:: trailing quotes added while validating
|
||||||
set alias_value=!alias_value:~0,-1!
|
set alias_value=!alias_value:~0,-1!
|
||||||
|
|
||||||
|
:: '.' escaped
|
||||||
|
set alias_name_esc=!alias_name:.=\.!
|
||||||
|
|
||||||
::remove spaces
|
::remove spaces
|
||||||
set _temp=%alias_name: =%
|
set _temp=%alias_name: =%
|
||||||
|
|
||||||
@ -91,7 +94,7 @@ if not ["%_temp%"] == ["%alias_name%"] (
|
|||||||
)
|
)
|
||||||
|
|
||||||
:: replace already defined alias
|
:: replace already defined alias
|
||||||
%WINDIR%\System32\findstr /b /v /i "%alias_name%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
%WINDIR%\System32\findstr /v /i "^%alias_name_esc%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
||||||
echo %alias_name%=%alias_value% >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
echo %alias_name%=%alias_value% >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
||||||
doskey /macrofile="%ALIASES%"
|
doskey /macrofile="%ALIASES%"
|
||||||
endlocal
|
endlocal
|
||||||
@ -99,7 +102,11 @@ exit /b
|
|||||||
|
|
||||||
:p_del
|
:p_del
|
||||||
set del_alias=%~1
|
set del_alias=%~1
|
||||||
%WINDIR%\System32\findstr /b /v /i "%del_alias%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
|
||||||
|
:: '.' escaped
|
||||||
|
set del_alias_esc=!del_alias:.=\.!
|
||||||
|
|
||||||
|
%WINDIR%\System32\findstr /v /i "^%del_alias_esc%=" "%ALIASES%" >> "%ALIASES%.tmp"
|
||||||
type "%ALIASES%".tmp > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
type "%ALIASES%".tmp > "%ALIASES%" & @del /f /q "%ALIASES%.tmp"
|
||||||
doskey %del_alias%=
|
doskey %del_alias%=
|
||||||
doskey /macrofile="%ALIASES%"
|
doskey /macrofile="%ALIASES%"
|
||||||
|
8
vendor/bin/cexec.cmd
vendored
8
vendor/bin/cexec.cmd
vendored
@ -1,5 +1,4 @@
|
|||||||
@echo off
|
@echo off
|
||||||
setlocal
|
|
||||||
|
|
||||||
if "%~1" equ "" goto :wrongSyntax
|
if "%~1" equ "" goto :wrongSyntax
|
||||||
|
|
||||||
@ -8,6 +7,7 @@ if not defined CMDER_USER_FLAGS (
|
|||||||
set "CMDER_USER_FLAGS= "
|
set "CMDER_USER_FLAGS= "
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
set "feNot=false"
|
set "feNot=false"
|
||||||
goto :parseArgument
|
goto :parseArgument
|
||||||
|
|
||||||
@ -17,10 +17,8 @@ goto :parseArgument
|
|||||||
:parseArgument
|
:parseArgument
|
||||||
set "currenArgu=%~1"
|
set "currenArgu=%~1"
|
||||||
if /i "%currenArgu%" equ "/setPath" (
|
if /i "%currenArgu%" equ "/setPath" (
|
||||||
:: set %flag_exists% shortcut
|
set ccall=call "%~dp0cexec.cmd"
|
||||||
endlocal
|
set cexec="%~dp0cexec.cmd"
|
||||||
set "ccall=call %~dp0cexec.cmd"
|
|
||||||
set "cexec=%~dp0cexec.cmd"
|
|
||||||
) else if /i "%currenArgu%" == "/?" (
|
) else if /i "%currenArgu%" == "/?" (
|
||||||
goto :help
|
goto :help
|
||||||
) else if /i "%currenArgu%" equ "/help" (
|
) else if /i "%currenArgu%" equ "/help" (
|
||||||
|
6
vendor/bin/cmder_diag.cmd
vendored
6
vendor/bin/cmder_diag.cmd
vendored
@ -35,6 +35,12 @@ echo where git
|
|||||||
echo ------------------------------------
|
echo ------------------------------------
|
||||||
where git
|
where git
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ------------------------------------
|
||||||
|
echo systeminfo
|
||||||
|
echo ------------------------------------
|
||||||
|
systeminfo
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ------------------------------------
|
echo ------------------------------------
|
||||||
echo Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!
|
echo Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!
|
||||||
|
6
vendor/bin/cmder_diag.ps1
vendored
6
vendor/bin/cmder_diag.ps1
vendored
@ -33,6 +33,12 @@ write-host get-command git
|
|||||||
write-host ------------------------------------
|
write-host ------------------------------------
|
||||||
get-command git
|
get-command git
|
||||||
|
|
||||||
|
write-host ''
|
||||||
|
write-host ------------------------------------
|
||||||
|
write-host systeminfo
|
||||||
|
write-host ------------------------------------
|
||||||
|
systeminfo
|
||||||
|
|
||||||
write-host ''
|
write-host ''
|
||||||
write-host ------------------------------------
|
write-host ------------------------------------
|
||||||
write-host Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!
|
write-host Make sure you sanitize this output of private data prior to posting it online for review by the CMDER Team!
|
||||||
|
6
vendor/bin/cmder_diag.sh
vendored
6
vendor/bin/cmder_diag.sh
vendored
@ -31,7 +31,13 @@ echo ''
|
|||||||
echo ------------------------------------
|
echo ------------------------------------
|
||||||
echo which git
|
echo which git
|
||||||
echo ------------------------------------
|
echo ------------------------------------
|
||||||
|
|
||||||
which git
|
which git
|
||||||
|
echo ''
|
||||||
|
echo ------------------------------------
|
||||||
|
echo systeminfo
|
||||||
|
echo ------------------------------------
|
||||||
|
systeminfo
|
||||||
|
|
||||||
echo ''
|
echo ''
|
||||||
echo ------------------------------------
|
echo ------------------------------------
|
||||||
|
22
vendor/bin/vscode_init.cmd
vendored
22
vendor/bin/vscode_init.cmd
vendored
@ -1,4 +1,26 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
:: 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] == [] (
|
IF [%1] == [] (
|
||||||
REM -- manually opened console (Ctrl + Shift + `) --
|
REM -- manually opened console (Ctrl + Shift + `) --
|
||||||
CALL "%~dp0..\init.bat"
|
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
|
||||||
|
|
||||||
|
:: Below are the default Cmder session settings:
|
||||||
|
::
|
||||||
|
:: See "%CMDER_ROOT%\README.md" for details on these settings.
|
||||||
|
::
|
||||||
|
:: `Cmder.exe` Arguments:
|
||||||
|
:: ----------------------
|
||||||
|
::
|
||||||
|
:: `/c [cmder_user_cfg_root]
|
||||||
|
:: set cmder_user_bin=[cmder_user_cfg_root]\bin
|
||||||
|
:: set cmder_user_config=[cmder_user_cfg_root]\config
|
||||||
|
::
|
||||||
|
:: `init.bat` Arguments
|
||||||
|
:: --------------------
|
||||||
|
::
|
||||||
|
:: `/d`
|
||||||
|
:: debug_output=0
|
||||||
|
::
|
||||||
|
:: `/v`
|
||||||
|
:: verbose_output=0
|
||||||
|
::
|
||||||
|
:: `/f`
|
||||||
|
:: fast_init=0
|
||||||
|
::
|
||||||
|
:: `/nix_tools`
|
||||||
|
:: nix_tools=1
|
||||||
|
::
|
||||||
|
:: `/t`
|
||||||
|
:: time_init=0
|
||||||
|
::
|
||||||
|
:: `/max_depth`
|
||||||
|
:: max_depth=1
|
||||||
|
::
|
||||||
|
:: `/user_aliases`
|
||||||
|
:: user_aliases=
|
||||||
|
::
|
||||||
|
:: `/git_install_root`
|
||||||
|
:: GIT_INSTALL_ROOT=
|
||||||
|
::
|
||||||
|
:: `/home`
|
||||||
|
:: HOME=
|
||||||
|
::
|
||||||
|
:: `/svn_ssh`
|
||||||
|
:: SVN_SSH=
|
||||||
|
|
||||||
|
echo Applying Cmder VSCode settings from '%~0'...
|
||||||
|
|
||||||
|
if defined CMDER_CONFIGURED (
|
||||||
|
:: Set Cmder settings here for when VSCode is launched inside Cmder.
|
||||||
|
set verbose_output=1
|
||||||
|
) else (
|
||||||
|
:: Set Cmder settings here for when VSCode is launched from outside Cmder.
|
||||||
|
set verbose_output=1
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Set all required Cmder VSCode terminal environment settings above this line.
|
||||||
|
echo Applying Cmder VSCode settings is complete!
|
2
vendor/clink.lua
vendored
2
vendor/clink.lua
vendored
@ -431,6 +431,8 @@ clink.prompt.register_filter(svn_prompt_filter, 50)
|
|||||||
clink.prompt.register_filter(percent_prompt_filter, 51)
|
clink.prompt.register_filter(percent_prompt_filter, 51)
|
||||||
|
|
||||||
local completions_dir = clink.get_env('CMDER_ROOT')..'/vendor/clink-completions/'
|
local completions_dir = clink.get_env('CMDER_ROOT')..'/vendor/clink-completions/'
|
||||||
|
-- Execute '.init.lua' first to ensure package.path is set properly
|
||||||
|
dofile(completions_dir..'.init.lua')
|
||||||
for _,lua_module in ipairs(clink.find_files(completions_dir..'*.lua')) do
|
for _,lua_module in ipairs(clink.find_files(completions_dir..'*.lua')) do
|
||||||
-- Skip files that starts with _. This could be useful if some files should be ignored
|
-- Skip files that starts with _. This could be useful if some files should be ignored
|
||||||
if not string.match(lua_module, '^_.*') then
|
if not string.match(lua_module, '^_.*') then
|
||||||
|
178
vendor/init.bat
vendored
178
vendor/init.bat
vendored
@ -9,13 +9,23 @@ set CMDER_INIT_START=%time%
|
|||||||
:: !!! Use "%CMDER_ROOT%\config\user_profile.cmd" to add your own startup commands
|
:: !!! Use "%CMDER_ROOT%\config\user_profile.cmd" to add your own startup commands
|
||||||
|
|
||||||
:: Use /v command line arg or set to > 0 for verbose output to aid in debugging.
|
:: Use /v command line arg or set to > 0 for verbose output to aid in debugging.
|
||||||
set verbose_output=0
|
if not defined verbose_output set verbose_output=0
|
||||||
set debug_output=0
|
|
||||||
set time_init=0
|
:: Use /d command line arg or set to 1 for debug output to aid in debugging.
|
||||||
set fast_init=0
|
if not defined debug_output set debug_output=0
|
||||||
set max_depth=1
|
|
||||||
:: Add *nix tools to end of path. 0 turns off *nix tools.
|
:: Use /t command line arg or set to 1 to display init time.
|
||||||
set nix_tools=1
|
if not defined time_init set time_init=0
|
||||||
|
|
||||||
|
:: Use /f command line arg to speed up init at the expense of some functionality.
|
||||||
|
if not defined fast_init set fast_init=0
|
||||||
|
|
||||||
|
:: Use /max_depth 1-5 to set max recurse depth for calls to `enhance_path_recursive`
|
||||||
|
if not defined max_depth set max_depth=1
|
||||||
|
|
||||||
|
:: Add *nix tools to end of path. 0 turns off *nix tools, 2 adds *nix tools to the front of thr path.
|
||||||
|
if not defined nix_tools set nix_tools=1
|
||||||
|
|
||||||
set "CMDER_USER_FLAGS= "
|
set "CMDER_USER_FLAGS= "
|
||||||
|
|
||||||
:: Find root dir
|
:: Find root dir
|
||||||
@ -57,7 +67,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
|
|||||||
set "max_depth=%~2"
|
set "max_depth=%~2"
|
||||||
shift
|
shift
|
||||||
) else (
|
) else (
|
||||||
%lib_console% show_error "'/max_depth' requires a number between 1 and 5!"
|
%print_error% "'/max_depth' requires a number between 1 and 5!"
|
||||||
exit /b
|
exit /b
|
||||||
)
|
)
|
||||||
) else if /i "%1" == "/c" (
|
) else if /i "%1" == "/c" (
|
||||||
@ -78,7 +88,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
|
|||||||
set "GIT_INSTALL_ROOT=%~2"
|
set "GIT_INSTALL_ROOT=%~2"
|
||||||
shift
|
shift
|
||||||
) else (
|
) else (
|
||||||
%lib_console% show_error "The Git install root folder "%~2", you specified does not exist!"
|
%print_error% "The Git install root folder "%~2", you specified does not exist!"
|
||||||
exit /b
|
exit /b
|
||||||
)
|
)
|
||||||
) else if /i "%1"=="/nix_tools" (
|
) else if /i "%1"=="/nix_tools" (
|
||||||
@ -100,7 +110,7 @@ call "%cmder_root%\vendor\lib\lib_profile"
|
|||||||
set "HOME=%~2"
|
set "HOME=%~2"
|
||||||
shift
|
shift
|
||||||
) else (
|
) else (
|
||||||
%lib_console% show_error The home folder "%2", you specified does not exist!
|
%print_error% The home folder "%2", you specified does not exist!
|
||||||
exit /b
|
exit /b
|
||||||
)
|
)
|
||||||
) else if /i "%1" == "/svn_ssh" (
|
) else if /i "%1" == "/svn_ssh" (
|
||||||
@ -115,24 +125,26 @@ goto var_loop
|
|||||||
:start
|
:start
|
||||||
:: Sets CMDER_SHELL, CMDER_CLINK, CMDER_ALIASES
|
:: Sets CMDER_SHELL, CMDER_CLINK, CMDER_ALIASES
|
||||||
%lib_base% cmder_shell
|
%lib_base% cmder_shell
|
||||||
%lib_console% debug_output init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%"
|
%print_debug% init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%"
|
||||||
%lib_console% debug_output init.bat "Env Var - debug_output=%debug_output%"
|
%print_debug% init.bat "Env Var - debug_output=%debug_output%"
|
||||||
|
|
||||||
if defined CMDER_USER_CONFIG (
|
if defined CMDER_USER_CONFIG (
|
||||||
%lib_console% debug_output init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
|
%print_debug% init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
|
||||||
|
|
||||||
|
if not exist "%CMDER_USER_CONFIG%\opt" md "%CMDER_USER_CONFIG%\opt"
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Pick right version of clink
|
:: Pick right version of clink
|
||||||
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
||||||
set architecture=86
|
set clink_architecture=x86
|
||||||
set architecture_bits=32
|
set architecture_bits=32
|
||||||
) else (
|
) else (
|
||||||
set architecture=64
|
set clink_architecture=x64
|
||||||
set architecture_bits=64
|
set architecture_bits=64
|
||||||
)
|
)
|
||||||
|
|
||||||
if "%CMDER_CLINK%" == "1" (
|
if "%CMDER_CLINK%" == "1" (
|
||||||
%lib_console% verbose_output "Injecting Clink!"
|
%print_verbose% "Injecting Clink!"
|
||||||
|
|
||||||
:: Run clink
|
:: Run clink
|
||||||
if defined CMDER_USER_CONFIG (
|
if defined CMDER_USER_CONFIG (
|
||||||
@ -141,17 +153,27 @@ if "%CMDER_CLINK%" == "1" (
|
|||||||
copy "%CMDER_ROOT%\vendor\clink_settings.default" "%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.\
|
echo Additional *.lua files in "%CMDER_USER_CONFIG%" are loaded on startup.\
|
||||||
)
|
)
|
||||||
"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_USER_CONFIG%" --scripts "%CMDER_ROOT%\vendor"
|
"%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" inject --quiet --profile "%CMDER_USER_CONFIG%" --scripts "%CMDER_ROOT%\vendor"
|
||||||
) else (
|
) else (
|
||||||
if not exist "%CMDER_ROOT%\config\settings" (
|
if not exist "%CMDER_ROOT%\config\settings" (
|
||||||
echo Generating clink initial settings in "%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"
|
copy "%CMDER_ROOT%\vendor\clink_settings.default" "%CMDER_ROOT%\config\settings"
|
||||||
echo Additional *.lua files in "%CMDER_ROOT%\config" are loaded on startup.
|
echo Additional *.lua files in "%CMDER_ROOT%\config" are loaded on startup.
|
||||||
)
|
)
|
||||||
"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
|
"%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
|
||||||
)
|
)
|
||||||
) else (
|
) else (
|
||||||
%lib_console% verbose_output "WARNING: Incompatible 'ComSpec/Shell' Detetected Skipping Clink Injection!"
|
%print_verbose% "WARNING: Incompatible 'ComSpec/Shell' Detetected Skipping Clink Injection!"
|
||||||
|
)
|
||||||
|
|
||||||
|
if "%CMDER_CONFIGURED%" GTR "1" (
|
||||||
|
%print_verbose% "Cmder is already configured, skipping Cmder Init!"
|
||||||
|
|
||||||
|
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
|
:: Prepare for git-for-windows
|
||||||
@ -169,56 +191,61 @@ if defined GIT_INSTALL_ROOT (
|
|||||||
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :SPECIFIED_GIT
|
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :SPECIFIED_GIT
|
||||||
) else if "%fast_init%" == "1" (
|
) else if "%fast_init%" == "1" (
|
||||||
if exist "%CMDER_ROOT%\vendor\git-for-windows\cmd\git.exe" (
|
if exist "%CMDER_ROOT%\vendor\git-for-windows\cmd\git.exe" (
|
||||||
%lib_console% debug_output "Skipping Git Auto-Detect!"
|
%print_debug% "Skipping Git Auto-Detect!"
|
||||||
goto :VENDORED_GIT
|
goto :VENDORED_GIT
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
%lib_console% debug_output init.bat "Looking for Git install root..."
|
%print_debug% init.bat "Looking for Git install root..."
|
||||||
|
|
||||||
:: get the version information for vendored git binary
|
:: get the version information for vendored git binary
|
||||||
%lib_git% read_version VENDORED "%CMDER_ROOT%\vendor\git-for-windows\cmd"
|
%lib_git% read_version VENDORED "%CMDER_ROOT%\vendor\git-for-windows\cmd" 2>nul
|
||||||
%lib_git% validate_version VENDORED %GIT_VERSION_VENDORED%
|
%lib_git% validate_version VENDORED %GIT_VERSION_VENDORED%
|
||||||
|
|
||||||
:: check if git is in path...
|
:: check if git is in path...
|
||||||
for /F "delims=" %%F in ('where git.exe 2^>nul') do (
|
for /F "delims=" %%F in ('where git.exe 2^>nul') do (
|
||||||
:: get the absolute path to the user provided git binary
|
:: get the absolute path to the user provided git binary
|
||||||
call :is_git_shim "%%~dpF"
|
%lib_git% is_git_shim "%%~dpF"
|
||||||
call :get_user_git_version
|
%lib_git% get_user_git_version
|
||||||
call :compare_git_versions
|
%lib_git% compare_git_versions
|
||||||
|
|
||||||
|
if defined GIT_INSTALL_ROOT (
|
||||||
|
goto :FOUND_GIT
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
:: our last hope: our own git...
|
:: our last hope: our own git...
|
||||||
:VENDORED_GIT
|
:VENDORED_GIT
|
||||||
if exist "%CMDER_ROOT%\vendor\git-for-windows" (
|
if exist "%CMDER_ROOT%\vendor\git-for-windows" (
|
||||||
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
|
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
|
||||||
%lib_console% debug_output "Using vendored Git '%GIT_VERSION_VENDORED%'..."
|
%print_debug% "Using vendored Git '%GIT_VERSION_VENDORED%'..."
|
||||||
goto :CONFIGURE_GIT
|
goto :CONFIGURE_GIT
|
||||||
) else (
|
) else (
|
||||||
goto :NO_GIT
|
goto :NO_GIT
|
||||||
)
|
)
|
||||||
|
|
||||||
:SPECIFIED_GIT
|
:SPECIFIED_GIT
|
||||||
%lib_console% debug_output "Using /GIT_INSTALL_ROOT..."
|
%print_debug% "Using /GIT_INSTALL_ROOT..."
|
||||||
goto :CONFIGURE_GIT
|
goto :CONFIGURE_GIT
|
||||||
|
|
||||||
:FOUND_GIT
|
:FOUND_GIT
|
||||||
%lib_console% debug_output "Using found Git '%GIT_VERSION_USER%' from '%GIT_INSTALL_ROOT%..."
|
%print_debug% "Using found Git '%GIT_VERSION_USER%' from '%GIT_INSTALL_ROOT%..."
|
||||||
goto :CONFIGURE_GIT
|
goto :CONFIGURE_GIT
|
||||||
|
|
||||||
:CONFIGURE_GIT
|
:CONFIGURE_GIT
|
||||||
%lib_console% debug_output "Using Git from '%GIT_INSTALL_ROOT%..."
|
%print_debug% "Using Git from '%GIT_INSTALL_ROOT%..."
|
||||||
:: Add git to the path
|
:: Add git to the path
|
||||||
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 (
|
if %nix_tools% equ 1 (
|
||||||
%lib_console% debug_output init.bat "Preferring Windows commands"
|
%print_verbose% "Preferring Windows commands"
|
||||||
set "path_position=append"
|
set "path_position=append"
|
||||||
) else (
|
) else (
|
||||||
%lib_console% debug_output init.bat "Preferring *nix commands"
|
%print_verbose% "Preferring *nix commands"
|
||||||
set "path_position="
|
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 %nix_tools% geq 1 (
|
||||||
if exist "%GIT_INSTALL_ROOT%\mingw32" (
|
if exist "%GIT_INSTALL_ROOT%\mingw32" (
|
||||||
%lib_path% enhance_path "%GIT_INSTALL_ROOT%\mingw32\bin" %path_position%
|
%lib_path% enhance_path "%GIT_INSTALL_ROOT%\mingw32\bin" %path_position%
|
||||||
@ -238,17 +265,20 @@ if not defined git_locale for /F "tokens=* delims=" %%F in ('where locale.exe 2^
|
|||||||
if not defined git_locale if exist "%GIT_INSTALL_ROOT%\usr\bin\env.exe" set git_locale="%GIT_INSTALL_ROOT%\usr\bin\env.exe" /usr/bin/locale
|
if not defined git_locale if exist "%GIT_INSTALL_ROOT%\usr\bin\env.exe" set git_locale="%GIT_INSTALL_ROOT%\usr\bin\env.exe" /usr/bin/locale
|
||||||
if not defined git_locale for /F "tokens=* delims=" %%F in ('where env.exe 2^>nul') do ( if not defined git_locale set git_locale="%%F" /usr/bin/locale )
|
if not defined git_locale for /F "tokens=* delims=" %%F in ('where env.exe 2^>nul') do ( if not defined git_locale set git_locale="%%F" /usr/bin/locale )
|
||||||
|
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
if defined git_locale (
|
if defined git_locale (
|
||||||
%lib_console% debug_output init.bat "Env Var - git_locale=%git_locale%"
|
|
||||||
|
REM %print_debug% init.bat "Env Var - git_locale=!git_locale!"
|
||||||
if not defined LANG (
|
if not defined LANG (
|
||||||
for /F "delims=" %%F in ('%git_locale% -uU 2') do (
|
for /F "delims=" %%F in ('!git_locale! -uU 2') do (
|
||||||
set "LANG=%%F"
|
set "LANG=%%F"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
endlocal && set LANG=%LANG%
|
||||||
|
|
||||||
%lib_console% debug_output init.bat "Env Var - GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
|
%print_debug% init.bat "Env Var - GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
|
||||||
%lib_console% debug_output init.bat "Found Git in: '%GIT_INSTALL_ROOT%'"
|
%print_debug% init.bat "Found Git in: '%GIT_INSTALL_ROOT%'"
|
||||||
goto :PATH_ENHANCE
|
goto :PATH_ENHANCE
|
||||||
|
|
||||||
:NO_GIT
|
:NO_GIT
|
||||||
@ -257,9 +287,11 @@ endlocal
|
|||||||
|
|
||||||
:PATH_ENHANCE
|
:PATH_ENHANCE
|
||||||
%lib_path% enhance_path "%CMDER_ROOT%\vendor\bin"
|
%lib_path% enhance_path "%CMDER_ROOT%\vendor\bin"
|
||||||
%lib_path% enhance_path_recursive "%CMDER_ROOT%\bin" %max_depth%
|
|
||||||
|
:USER_CONFIG_START
|
||||||
|
%lib_path% enhance_path_recursive "%CMDER_ROOT%\bin" 0 %max_depth%
|
||||||
if defined CMDER_USER_BIN (
|
if defined CMDER_USER_BIN (
|
||||||
%lib_path% enhance_path_recursive "%CMDER_USER_BIN%" %max_depth%
|
%lib_path% enhance_path_recursive "%CMDER_USER_BIN%" 0 %max_depth%
|
||||||
)
|
)
|
||||||
%lib_path% enhance_path "%CMDER_ROOT%" append
|
%lib_path% enhance_path "%CMDER_ROOT%" append
|
||||||
|
|
||||||
@ -270,6 +302,7 @@ if defined CMDER_USER_CONFIG (
|
|||||||
%lib_profile% run_profile_d "%CMDER_USER_CONFIG%\profile.d"
|
%lib_profile% run_profile_d "%CMDER_USER_CONFIG%\profile.d"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
:USER_ALIASES
|
||||||
:: Allows user to override default aliases store using profile.d
|
:: Allows user to override default aliases store using profile.d
|
||||||
:: scripts run above by setting the 'aliases' env variable.
|
:: scripts run above by setting the 'aliases' env variable.
|
||||||
::
|
::
|
||||||
@ -314,6 +347,8 @@ if "%CMDER_ALIASES%" == "1" (
|
|||||||
:: Add aliases to the environment
|
:: Add aliases to the environment
|
||||||
call "%user_aliases%"
|
call "%user_aliases%"
|
||||||
|
|
||||||
|
if "%CMDER_CONFIGURED%" gtr "1" goto CMDER_CONFIGURED
|
||||||
|
|
||||||
:: See vendor\git-for-windows\README.portable for why we do this
|
:: See vendor\git-for-windows\README.portable for why we do this
|
||||||
:: Basically we need to execute this post-install.bat because we are
|
:: Basically we need to execute this post-install.bat because we are
|
||||||
:: manually extracting the archive rather than executing the 7z sfx
|
:: manually extracting the archive rather than executing the 7z sfx
|
||||||
@ -326,12 +361,12 @@ if exist "%GIT_INSTALL_ROOT%\post-install.bat" (
|
|||||||
|
|
||||||
:: Set home path
|
:: Set home path
|
||||||
if not defined HOME set "HOME=%USERPROFILE%"
|
if not defined HOME set "HOME=%USERPROFILE%"
|
||||||
%lib_console% debug_output init.bat "Env Var - HOME=%HOME%"
|
%print_debug% init.bat "Env Var - HOME=%HOME%"
|
||||||
|
|
||||||
set "initialConfig=%CMDER_ROOT%\config\user_profile.cmd"
|
set "initialConfig=%CMDER_ROOT%\config\user_profile.cmd"
|
||||||
if exist "%CMDER_ROOT%\config\user_profile.cmd" (
|
if exist "%CMDER_ROOT%\config\user_profile.cmd" (
|
||||||
REM Create this file and place your own command in there
|
REM Create this file and place your own command in there
|
||||||
%lib_console% debug_output init.bat "Calling - %CMDER_ROOT%\config\user_profile.cmd"
|
%print_debug% init.bat "Calling - %CMDER_ROOT%\config\user_profile.cmd"
|
||||||
call "%CMDER_ROOT%\config\user_profile.cmd"
|
call "%CMDER_ROOT%\config\user_profile.cmd"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -339,7 +374,7 @@ if defined CMDER_USER_CONFIG (
|
|||||||
set "initialConfig=%CMDER_USER_CONFIG%\user_profile.cmd"
|
set "initialConfig=%CMDER_USER_CONFIG%\user_profile.cmd"
|
||||||
if exist "%CMDER_USER_CONFIG%\user_profile.cmd" (
|
if exist "%CMDER_USER_CONFIG%\user_profile.cmd" (
|
||||||
REM Create this file and place your own command in there
|
REM Create this file and place your own command in there
|
||||||
%lib_console% debug_output init.bat "Calling - %CMDER_USER_CONFIG%\user_profile.cmd
|
%print_debug% init.bat "Calling - %CMDER_USER_CONFIG%\user_profile.cmd"
|
||||||
call "%CMDER_USER_CONFIG%\user_profile.cmd"
|
call "%CMDER_USER_CONFIG%\user_profile.cmd"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -363,64 +398,13 @@ if "%CMDER_ALIASES%" == "1" if exist "%CMDER_ROOT%\bin\alias.bat" if exist "%CMD
|
|||||||
)
|
)
|
||||||
|
|
||||||
set initialConfig=
|
set initialConfig=
|
||||||
set CMDER_CONFIGURED=1
|
|
||||||
|
:CMDER_CONFIGURED
|
||||||
|
if not defined CMDER_CONFIGURED set CMDER_CONFIGURED=1
|
||||||
|
|
||||||
set CMDER_INIT_END=%time%
|
set CMDER_INIT_END=%time%
|
||||||
|
|
||||||
if %time_init% gtr 0 (
|
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
|
exit /b
|
||||||
|
|
||||||
:is_git_shim
|
|
||||||
pushd "%~1"
|
|
||||||
:: check if there's shim - and if yes follow the path
|
|
||||||
setlocal enabledelayedexpansion
|
|
||||||
if exist git.shim (
|
|
||||||
for /F "tokens=2 delims== " %%I in (git.shim) do (
|
|
||||||
pushd %%~dpI
|
|
||||||
set "test_dir=!CD!"
|
|
||||||
popd
|
|
||||||
)
|
|
||||||
) else (
|
|
||||||
set "test_dir=!CD!"
|
|
||||||
)
|
|
||||||
endlocal & set "test_dir=%test_dir%"
|
|
||||||
|
|
||||||
popd
|
|
||||||
exit /b
|
|
||||||
|
|
||||||
:compare_git_versions
|
|
||||||
if %errorlevel% geq 0 (
|
|
||||||
:: compare the user git version against the vendored version
|
|
||||||
%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=
|
|
||||||
goto :FOUND_GIT
|
|
||||||
) else if %errorlevel% geq 0 (
|
|
||||||
set "GIT_INSTALL_ROOT=%test_dir%"
|
|
||||||
set test_dir=
|
|
||||||
goto :FOUND_GIT
|
|
||||||
) else (
|
|
||||||
call :verbose_output Found old %GIT_VERSION_USER% in "%test_dir%", but not using...
|
|
||||||
set test_dir=
|
|
||||||
)
|
|
||||||
) 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.
|
|
||||||
set test_dir=
|
|
||||||
)
|
|
||||||
)
|
|
||||||
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% validate_version USER %GIT_VERSION_USER%
|
|
||||||
exit /b
|
|
||||||
|
|
||||||
|
9
vendor/lib/lib_console.cmd
vendored
9
vendor/lib/lib_console.cmd
vendored
@ -1,10 +1,15 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
if "%fast_init%" == "1" exit /b
|
|
||||||
|
|
||||||
call "%~dp0lib_base.cmd"
|
call "%~dp0lib_base.cmd"
|
||||||
set lib_console=call "%~dp0lib_console.cmd"
|
set lib_console=call "%~dp0lib_console.cmd"
|
||||||
|
|
||||||
|
:: Much faster than using "%lib_console% debug_output ..." etc.
|
||||||
|
set print_debug=if %debug_output% gtr 0 %lib_console% debug_output
|
||||||
|
set print_verbose=if %verbose_output% gtr 0 %lib_console% verbose_output
|
||||||
|
set print_error=%lib_console% show_error
|
||||||
|
|
||||||
|
if "%fast_init%" == "1" exit /b
|
||||||
|
|
||||||
if "%~1" == "/h" (
|
if "%~1" == "/h" (
|
||||||
%lib_base% help "%~0"
|
%lib_base% help "%~0"
|
||||||
) else if "%1" neq "" (
|
) else if "%1" neq "" (
|
||||||
|
116
vendor/lib/lib_git.cmd
vendored
116
vendor/lib/lib_git.cmd
vendored
@ -39,16 +39,15 @@ exit /b
|
|||||||
|
|
||||||
:: set the executable path
|
:: set the executable path
|
||||||
set "git_executable=%~2\git.exe"
|
set "git_executable=%~2\git.exe"
|
||||||
%lib_console% debug_output :read_version "Env Var - git_executable=%git_executable%"
|
%print_debug% :read_version "Env Var - git_executable=%git_executable%"
|
||||||
|
|
||||||
:: check if the executable actually exists
|
:: check if the executable actually exists
|
||||||
if not exist "%git_executable%" (
|
if not exist "%git_executable%" (
|
||||||
%lib_console% debug_output :read_version "%git_executable% does not exist."
|
%print_debug% :read_version "%git_executable% does not exist."
|
||||||
exit /b -255
|
exit /b -255
|
||||||
)
|
)
|
||||||
|
|
||||||
:: get the git version in the provided directory
|
:: get the git version in the provided directory
|
||||||
|
|
||||||
"%git_executable%" --version > "%temp%\git_version.txt"
|
"%git_executable%" --version > "%temp%\git_version.txt"
|
||||||
setlocal enabledelayedexpansion
|
setlocal enabledelayedexpansion
|
||||||
for /F "tokens=1,2,3 usebackq" %%A in (`type "%temp%\git_version.txt" 2^>nul`) do (
|
for /F "tokens=1,2,3 usebackq" %%A in (`type "%temp%\git_version.txt" 2^>nul`) do (
|
||||||
@ -60,7 +59,7 @@ exit /b
|
|||||||
exit /b
|
exit /b
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
endlocal & set "GIT_VERSION_%~1=%GIT_VERSION%" & %lib_console% debug_output :read_version "Env Var - GIT_VERSION_%~1=%GIT_VERSION%"
|
endlocal & set "GIT_VERSION_%~1=%GIT_VERSION%" & %print_debug% :read_version "Env Var - GIT_VERSION_%~1=%GIT_VERSION%"
|
||||||
|
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
@ -90,7 +89,7 @@ exit /b
|
|||||||
:::-------------------------------------------------------------------------------
|
:::-------------------------------------------------------------------------------
|
||||||
|
|
||||||
:: process a `x.x.x.xxxx.x` formatted string
|
:: process a `x.x.x.xxxx.x` formatted string
|
||||||
%lib_console% debug_output :parse_version "ARGV[1]=%~1, ARGV[2]=%~2"
|
%print_debug% :parse_version "ARGV[1]=%~1, ARGV[2]=%~2"
|
||||||
|
|
||||||
setlocal enabledelayedexpansion
|
setlocal enabledelayedexpansion
|
||||||
for /F "tokens=1-3* delims=.,-" %%A in ("%2") do (
|
for /F "tokens=1-3* delims=.,-" %%A in ("%2") do (
|
||||||
@ -130,16 +129,16 @@ exit /b
|
|||||||
:::-------------------------------------------------------------------------------
|
:::-------------------------------------------------------------------------------
|
||||||
|
|
||||||
:: now parse the version information into the corresponding variables
|
:: now parse the version information into the corresponding variables
|
||||||
%lib_console% debug_output :validate_version "ARGV[1]=%~1, ARGV[2]=%~2"
|
%print_debug% :validate_version "ARGV[1]=%~1, ARGV[2]=%~2"
|
||||||
|
|
||||||
call :parse_version %~1 %~2
|
call :parse_version %~1 %~2
|
||||||
|
|
||||||
:: ... and maybe display it, for debugging purposes.
|
:: ... and maybe display it, for debugging purposes.
|
||||||
REM %lib_console% debug_output :validate_version "Found Git Version for %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!"
|
REM %print_debug% :validate_version "Found Git Version for %~1: !%~1_MAJOR!.!%~1_MINOR!.!%~1_PATCH!.!%~1_BUILD!"
|
||||||
if "%~1" == "VENDORED" (
|
if "%~1" == "VENDORED" (
|
||||||
%lib_console% debug_output :validate_version "Found Git Version for %~1: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%"
|
%print_debug% :validate_version "Found Git Version for %~1: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%"
|
||||||
) else (
|
) else (
|
||||||
%lib_console% debug_output :validate_version "Found Git Version for %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%"
|
%print_debug% :validate_version "Found Git Version for %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%"
|
||||||
)
|
)
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
@ -164,9 +163,9 @@ exit /b
|
|||||||
:: checks all major, minor, patch and build variables for the given arguments.
|
:: checks all major, minor, patch and build variables for the given arguments.
|
||||||
:: whichever binary that has the most recent version will be used based on the return code.
|
:: whichever binary that has the most recent version will be used based on the return code.
|
||||||
|
|
||||||
%lib_console% debug_output Comparing:
|
%print_debug% Comparing:
|
||||||
%lib_console% debug_output %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%
|
%print_debug% %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%
|
||||||
%lib_console% debug_output %~2: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%
|
%print_debug% %~2: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%
|
||||||
|
|
||||||
setlocal enabledelayedexpansion
|
setlocal enabledelayedexpansion
|
||||||
if !%~1_MAJOR! GTR !%~2_MAJOR! (endlocal & exit /b 1)
|
if !%~1_MAJOR! GTR !%~2_MAJOR! (endlocal & exit /b 1)
|
||||||
@ -183,3 +182,96 @@ exit /b
|
|||||||
|
|
||||||
:: looks like we have the same versions.
|
:: looks like we have the same versions.
|
||||||
endlocal & exit /b 0
|
endlocal & exit /b 0
|
||||||
|
|
||||||
|
:::===============================================================================
|
||||||
|
:::is_git_shim
|
||||||
|
:::.
|
||||||
|
:::include:
|
||||||
|
:::.
|
||||||
|
::: call "$0"
|
||||||
|
:::.
|
||||||
|
:::usage:
|
||||||
|
:::.
|
||||||
|
::: %lib_git% is_git_shim [filepath]
|
||||||
|
:::.
|
||||||
|
:::required:
|
||||||
|
:::.
|
||||||
|
::: [filepath] <in>
|
||||||
|
:::-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
:is_git_shim
|
||||||
|
pushd "%~1"
|
||||||
|
:: check if there's shim - and if yes follow the path
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
if exist git.shim (
|
||||||
|
for /F "tokens=2 delims== " %%I in (git.shim) do (
|
||||||
|
pushd %%~dpI
|
||||||
|
set "test_dir=!CD!"
|
||||||
|
popd
|
||||||
|
)
|
||||||
|
) else (
|
||||||
|
set "test_dir=!CD!"
|
||||||
|
)
|
||||||
|
endlocal & set "test_dir=%test_dir%"
|
||||||
|
|
||||||
|
popd
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
:::===============================================================================
|
||||||
|
:::compare_git_versions
|
||||||
|
:::.
|
||||||
|
:::include:
|
||||||
|
:::.
|
||||||
|
::: call "$0"
|
||||||
|
:::.
|
||||||
|
:::usage:
|
||||||
|
:::.
|
||||||
|
::: %lib_git% compare_git_versions
|
||||||
|
:::-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
:compare_git_versions
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
if ERRORLEVEL 0 (
|
||||||
|
:: compare the user git version against the vendored version
|
||||||
|
!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 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 (
|
||||||
|
%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 -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
|
||||||
|
|
||||||
|
:::===============================================================================
|
||||||
|
:::get_user_git_version - get the version information for the user provided git binary
|
||||||
|
:::.
|
||||||
|
:::include:
|
||||||
|
:::.
|
||||||
|
::: call "$0"
|
||||||
|
:::.
|
||||||
|
:::usage:
|
||||||
|
:::.
|
||||||
|
::: %lib_git% get_user_git_version
|
||||||
|
:::-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
:get_user_git_version
|
||||||
|
:: get the version information for the user provided git binary
|
||||||
|
%lib_git% read_version USER "%test_dir%" 2>nul
|
||||||
|
%lib_git% validate_version USER %GIT_VERSION_USER%
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
105
vendor/lib/lib_path.cmd
vendored
105
vendor/lib/lib_path.cmd
vendored
@ -32,6 +32,7 @@ exit /b
|
|||||||
:::options:
|
:::options:
|
||||||
:::
|
:::
|
||||||
::: append <in> Append to the path env variable rather than pre-pend.
|
::: append <in> Append to the path env variable rather than pre-pend.
|
||||||
|
::B
|
||||||
:::
|
:::
|
||||||
:::output:
|
:::output:
|
||||||
:::
|
:::
|
||||||
@ -41,7 +42,7 @@ exit /b
|
|||||||
if "%~1" neq "" (
|
if "%~1" neq "" (
|
||||||
set "add_path=%~1"
|
set "add_path=%~1"
|
||||||
) else (
|
) else (
|
||||||
%lib_console% show_error "You must specify a directory to add to the path!"
|
%print_error% "You must specify a directory to add to the path!"
|
||||||
exit 1
|
exit 1
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -51,50 +52,59 @@ exit /b
|
|||||||
set "position="
|
set "position="
|
||||||
)
|
)
|
||||||
|
|
||||||
|
dir "%add_path%" | findstr -i "\.COM \.EXE \.BAT \.CMD \.PS1 \.VBS" >NUL
|
||||||
|
if "%ERRORLEVEL%" == "0" (
|
||||||
|
set "add_to_path=%add_path%"
|
||||||
|
) else (
|
||||||
|
set "add_to_path="
|
||||||
|
)
|
||||||
|
|
||||||
if "%fast_init%" == "1" (
|
if "%fast_init%" == "1" (
|
||||||
if "%position%" == "append" (
|
if "%position%" == "append" (
|
||||||
set "PATH=%PATH%;%add_path%"
|
set "PATH=%PATH%;%add_to_path%"
|
||||||
) else (
|
) else (
|
||||||
set "PATH=%add_path%;%PATH%"
|
set "PATH=%add_to_path%;%PATH%"
|
||||||
)
|
)
|
||||||
goto :end_enhance_path
|
goto :end_enhance_path
|
||||||
|
) else if "add_to_path" equ "" (
|
||||||
|
goto :end_enhance_path
|
||||||
)
|
)
|
||||||
|
|
||||||
set found=0
|
set found=0
|
||||||
set "find_query=%add_path%"
|
set "find_query=%add_to_path%"
|
||||||
set "find_query=%find_query:\=\\%"
|
set "find_query=%find_query:\=\\%"
|
||||||
set "find_query=%find_query: =\ %"
|
set "find_query=%find_query: =\ %"
|
||||||
set OLD_PATH=%PATH%
|
set OLD_PATH=%PATH%
|
||||||
|
|
||||||
setlocal enabledelayedexpansion
|
setlocal enabledelayedexpansion
|
||||||
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%"
|
|
||||||
|
|
||||||
if /i "%position%" == "append" (
|
|
||||||
if "!found!" == "0" (
|
if "!found!" == "0" (
|
||||||
echo "%path%"|%WINDIR%\System32\findstr >nul /I /R /C:";%find_query%\"$"
|
echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!;"
|
||||||
call :set_found
|
call :set_found
|
||||||
)
|
)
|
||||||
%lib_console% debug_output :enhance_path "Env Var END PATH %find_query% - found=!found!"
|
%print_debug% :enhance_path "Env Var INSIDE PATH !find_query! - found=!found!"
|
||||||
|
|
||||||
|
if /i "!position!" == "append" (
|
||||||
|
if "!found!" == "0" (
|
||||||
|
echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!\"$"
|
||||||
|
call :set_found
|
||||||
|
)
|
||||||
|
%print_debug% :enhance_path "Env Var END PATH !find_query! - found=!found!"
|
||||||
) else (
|
) else (
|
||||||
if "!found!" == "0" (
|
if "!found!" == "0" (
|
||||||
echo "%path%"|%WINDIR%\System32\findstr >nul /I /R /C:"^\"%find_query%;"
|
echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:"^\"!find_query!;"
|
||||||
call :set_found
|
call :set_found
|
||||||
)
|
)
|
||||||
%lib_console% debug_output :enhance_path "Env Var BEGIN PATH %find_query% - found=!found!"
|
%print_debug% :enhance_path "Env Var BEGIN PATH !find_query! - found=!found!"
|
||||||
)
|
)
|
||||||
endlocal & set found=%found%
|
endlocal & set found=%found%
|
||||||
|
|
||||||
if "%found%" == "0" (
|
if "%found%" == "0" (
|
||||||
if /i "%position%" == "append" (
|
if /i "%position%" == "append" (
|
||||||
%lib_console% debug_output :enhance_path "Appending '%add_path%'"
|
%print_debug% :enhance_path "Appending '%add_to_path%'"
|
||||||
set "PATH=%PATH%;%add_path%"
|
set "PATH=%PATH%;%add_to_path%"
|
||||||
) else (
|
) else (
|
||||||
%lib_console% debug_output :enhance_path "Prepending '%add_path%'"
|
%print_debug% :enhance_path "Prepending '%add_to_path%'"
|
||||||
set "PATH=%add_path%;%PATH%"
|
set "PATH=%add_to_path%;%PATH%"
|
||||||
)
|
)
|
||||||
|
|
||||||
set found=1
|
set found=1
|
||||||
@ -103,8 +113,8 @@ exit /b
|
|||||||
:end_enhance_path
|
:end_enhance_path
|
||||||
set "PATH=%PATH:;;=;%"
|
set "PATH=%PATH:;;=;%"
|
||||||
if NOT "%OLD_PATH%" == "%PATH%" (
|
if NOT "%OLD_PATH%" == "%PATH%" (
|
||||||
%lib_console% debug_output :enhance_path "END Env Var - PATH=%path%"
|
%print_debug% :enhance_path "END Env Var - PATH=%path%"
|
||||||
%lib_console% debug_output :enhance_path "Env Var %find_query% - found=%found%"
|
%print_debug% :enhance_path "Env Var %find_query% - found=%found%"
|
||||||
)
|
)
|
||||||
set "position="
|
set "position="
|
||||||
exit /b
|
exit /b
|
||||||
@ -146,24 +156,31 @@ exit /b
|
|||||||
if "%~1" neq "" (
|
if "%~1" neq "" (
|
||||||
set "add_path=%~1"
|
set "add_path=%~1"
|
||||||
) else (
|
) else (
|
||||||
%lib_console% show_error "You must specify a directory to add to the path!"
|
%print_error% "You must specify a directory to add to the path!"
|
||||||
exit 1
|
exit 1
|
||||||
)
|
)
|
||||||
|
|
||||||
if "%~2" gtr "1" (
|
set "depth=%~2"
|
||||||
set "max_depth=%~2"
|
set "max_depth=%~3"
|
||||||
) else (
|
|
||||||
set "max_depth=1"
|
|
||||||
)
|
|
||||||
|
|
||||||
if "%~3" neq "" if /i "%~3" == "append" (
|
if "%~4" neq "" if /i "%~4" == "append" (
|
||||||
set "position=%~3"
|
set "position=%~4"
|
||||||
) else (
|
) else (
|
||||||
set "position="
|
set "position="
|
||||||
)
|
)
|
||||||
|
|
||||||
|
dir "%add_path%" 2>NUL | findstr -i "\.COM \.EXE \.BAT \.CMD \.PS1 \.VBS" >NUL
|
||||||
|
|
||||||
|
if "%ERRORLEVEL%" == "0" (
|
||||||
|
set "add_to_path=%add_path%"
|
||||||
|
) else (
|
||||||
|
set "add_to_path="
|
||||||
|
)
|
||||||
|
|
||||||
if "%fast_init%" == "1" (
|
if "%fast_init%" == "1" (
|
||||||
call :enhance_path "%add_path%" %position%
|
if "%add_to_path%" neq "" (
|
||||||
|
call :enhance_path "%add_to_path%" %position%
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
set "PATH=%PATH:;;=;%"
|
set "PATH=%PATH:;;=;%"
|
||||||
@ -171,20 +188,22 @@ exit /b
|
|||||||
exit /b
|
exit /b
|
||||||
)
|
)
|
||||||
|
|
||||||
if "%depth%" == "" set depth=0
|
%print_debug% :enhance_path_recursive "Env Var - add_path=%add_to_path%"
|
||||||
|
%print_debug% :enhance_path_recursive "Env Var - position=%position%"
|
||||||
%lib_console% debug_output :enhance_path_recursive "Env Var - add_path=%add_path%"
|
%print_debug% :enhance_path_recursive "Env Var - depth=%depth%"
|
||||||
%lib_console% debug_output :enhance_path_recursive "Env Var - position=%position%"
|
%print_debug% :enhance_path_recursive "Env Var - max_depth=%max_depth%"
|
||||||
%lib_console% debug_output :enhance_path_recursive "Env Var - max_depth=%max_depth%"
|
|
||||||
|
|
||||||
if %max_depth% gtr %depth% (
|
if %max_depth% gtr %depth% (
|
||||||
%lib_console% debug_output :enhance_path_recursive "Adding parent directory - '%add_path%'"
|
if "%add_to_path%" neq "" (
|
||||||
call :enhance_path "%add_path%" %position%
|
%print_debug% :enhance_path_recursive "Adding parent directory - '%add_to_path%'"
|
||||||
|
call :enhance_path "%add_to_path%" %position%
|
||||||
|
)
|
||||||
call :set_depth
|
call :set_depth
|
||||||
call :loop_depth
|
call :loop_depth
|
||||||
)
|
)
|
||||||
|
|
||||||
set "PATH=%PATH%"
|
set "PATH=%PATH%"
|
||||||
|
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
: set_depth
|
: set_depth
|
||||||
@ -192,11 +211,15 @@ exit /b
|
|||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
:loop_depth
|
:loop_depth
|
||||||
|
if %depth% == %max_depth% (
|
||||||
|
exit /b
|
||||||
|
)
|
||||||
|
|
||||||
for /d %%i in ("%add_path%\*") do (
|
for /d %%i in ("%add_path%\*") do (
|
||||||
%lib_console% debug_output :enhance_path_recursive "Env Var BEFORE - depth=%depth%"
|
%print_debug% :enhance_path_recursive "Env Var BEFORE - depth=%depth%"
|
||||||
%lib_console% debug_output :enhance_path_recursive "Found Subdirectory - '%%~fi'"
|
%print_debug% :enhance_path_recursive "Found Subdirectory - '%%~fi'"
|
||||||
call :enhance_path_recursive "%%~fi" %max_depth% %position%
|
call :enhance_path_recursive "%%~fi" %depth% %max_depth% %position%
|
||||||
%lib_console% debug_output :enhance_path_recursive "Env Var AFTER- depth=%depth%"
|
%print_debug% :enhance_path_recursive "Env Var AFTER- depth=%depth%"
|
||||||
)
|
)
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
|
2
vendor/lib/lib_profile.cmd
vendored
2
vendor/lib/lib_profile.cmd
vendored
@ -38,7 +38,7 @@ exit /b
|
|||||||
|
|
||||||
pushd "%~1"
|
pushd "%~1"
|
||||||
for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
|
for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
|
||||||
%lib_console% verbose_output "Calling '%~1\%%x'..."
|
%print_verbose% "Calling '%~1\%%x'..."
|
||||||
call "%~1\%%x"
|
call "%~1\%%x"
|
||||||
)
|
)
|
||||||
popd
|
popd
|
||||||
|
12
vendor/sources.json
vendored
12
vendor/sources.json
vendored
@ -1,13 +1,13 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "git-for-windows",
|
"name": "git-for-windows",
|
||||||
"version": "v2.24.1.windows.2",
|
"version": "v2.29.1.windows.1",
|
||||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.24.1.windows.2/PortableGit-2.24.1.2-64-bit.7z.exe"
|
"url": "https://github.com/git-for-windows/git/releases/download/v2.29.1.windows.1/PortableGit-2.29.1-64-bit.7z.exe"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink",
|
"name": "clink",
|
||||||
"version": "0.4.9",
|
"version": "1.1.10",
|
||||||
"url": "https://github.com/mridgers/clink/releases/download/0.4.9/clink_0.4.9.zip"
|
"url": "https://github.com/chrisant996/clink/releases/download/v1.1.10/clink.1.1.10.125c9f.zip"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "conemu-maximus5",
|
"name": "conemu-maximus5",
|
||||||
@ -16,7 +16,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink-completions",
|
"name": "clink-completions",
|
||||||
"version": "0.3.5",
|
"version": "0.3.6",
|
||||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.5.zip"
|
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.6.zip"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
Reference in New Issue
Block a user