mirror of
https://github.com/cmderdev/cmder.git
synced 2025-07-16 12:39:38 +08:00
Compare commits
76 Commits
Author | SHA1 | Date | |
---|---|---|---|
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 | |||
638d82e989 | |||
0e37a4c2f9 | |||
ca2550b70e | |||
492fc284f2 | |||
ec06f3e39b | |||
850e4ec045 | |||
fe3d2034ef | |||
180e72a6aa | |||
93cf865071 | |||
b41aac982c | |||
8df688bada | |||
84917159ec | |||
750560851f | |||
9b29668250 | |||
a857d8419c |
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,6 +3,8 @@
|
||||
|
||||
bin/*
|
||||
!bin/Readme.md
|
||||
opt/*
|
||||
!opt/Readme.md
|
||||
|
||||
vendor/*/*
|
||||
!vendor/bin/*
|
||||
|
41
CHANGELOG.md
41
CHANGELOG.md
@ -1,8 +1,45 @@
|
||||
# Change Log
|
||||
|
||||
## [Unreleased]
|
||||
## [1.3.16](https://github.com/cmderdev/cmder/tree/v1.3.16) (2020-07-29)
|
||||
|
||||
## [1.3.13](https://github.com/cmderdev/cmder/tree/v1.3.12) (2019-11-03)
|
||||
### 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)
|
||||
|
||||
### Fixes
|
||||
|
||||
* Pull Request: [#2222](https://github.com/cmderdev/cmder/pull/2222)
|
||||
* Cmder v1.3.13 init script fails. [#2218](https://github.com/cmderdev/cmder/issues/2218)
|
||||
* Git & env related error messages. [#2220](https://github.com/cmderdev/cmder/issues/2220)
|
||||
* Latest addition of "--nolog" clink breaks cmd prompts. [#2166](https://github.com/cmderdev/cmder/issues/2166)
|
||||
* `/nix_tools 0` should prevent adding `%GIT_INSTALL_ROOT%\mingw64\bin` to PATH. [#2214](https://github.com/cmderdev/cmder/issues/2214)
|
||||
|
||||
### Changes
|
||||
|
||||
* Update Git for Windows to 2.24.1.windows.2
|
||||
* Pull Request: [#2237](https://github.com/cmderdev/cmder/pull/2237)
|
||||
* Update clink-completions to 0.3.5
|
||||
* Pull Request: [#2223](https://github.com/cmderdev/cmder/pull/2223)
|
||||
|
||||
## [1.3.13](https://github.com/cmderdev/cmder/tree/v1.3.13) (2019-11-03)
|
||||
|
||||
### Changes
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
24
README.md
24
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
|
||||
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 into the `%cmder_root%\bin` folder to be injected into your PATH.
|
||||
4. (optional) Create `%userprofile%\cmder_config\bin` folder to be injected into individual users PATH. Default is to auto create this on first run.
|
||||
5. (optional) Place your own executable files into the `%userprofile%\cmder_config\bin` folder to be injected into your PATH.
|
||||
6. Run `Cmder.exe` with `/C` command line argument. Example: `cmder.exe /C %userprofile%\cmder_config`
|
||||
3. (optional) Place your own executable files and custom app folders into the `%cmder_root%\bin`. See: [opt/README.md](./bin/README)
|
||||
- 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)
|
||||
- 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.
|
||||
|
||||
```
|
||||
c:\users\[username]\cmder_config
|
||||
├───bin
|
||||
└───config
|
||||
└───profile.d
|
||||
├───config
|
||||
│ └───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.
|
||||
|
||||
## Cmder.exe Command Line Arguments
|
||||
@ -194,7 +204,7 @@ You can write `*.cmd|*.bat`, `*.ps1`, and `*.sh` scripts and just drop them in t
|
||||
#### 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`.
|
||||
|
||||
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
|
||||
|
||||
|
@ -9,12 +9,18 @@ Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{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}.Release|Win32.ActiveCfg = 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
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -9,6 +9,14 @@
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{4A8485A5-B7DD-4C44-B7F6-3E2765DD0CD3}</ProjectGuid>
|
||||
@ -30,6 +38,19 @@
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</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" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
@ -39,6 +60,12 @@
|
||||
<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" />
|
||||
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
@ -48,6 +75,14 @@
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>Cmder</TargetName>
|
||||
</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'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
@ -94,6 +129,52 @@
|
||||
<Command>copy $(TargetPath) $(SolutionDir)..\$(TargetFileName)</Command>
|
||||
</PostBuildEvent>
|
||||
</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>
|
||||
<ResourceCompile Include="src\Resource.rc">
|
||||
<FileType>RC</FileType>
|
||||
|
@ -71,7 +71,7 @@ bool FileExists(const wchar_t * filePath)
|
||||
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
|
||||
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);
|
||||
|
||||
PathCombine(icoPath, exeDir, L"icons\\cmder.ico");
|
||||
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(configDirPath, exeDir, L"config");
|
||||
|
||||
@ -532,6 +540,7 @@ struct cmderOptions
|
||||
std::wstring cmderCfgRoot = L"";
|
||||
std::wstring cmderStart = L"";
|
||||
std::wstring cmderTask = L"";
|
||||
std::wstring cmderIcon = L"";
|
||||
std::wstring cmderRegScope = L"USER";
|
||||
std::wstring cmderConEmuArgs = L"";
|
||||
bool cmderSingle = false;
|
||||
@ -593,6 +602,11 @@ cmderOptions GetOption()
|
||||
cmderOptions.cmderTask = szArgList[i + 1];
|
||||
i++;
|
||||
}
|
||||
else if (_wcsicmp(L"/icon", szArgList[i]) == 0)
|
||||
{
|
||||
cmderOptions.cmderIcon = szArgList[i + 1];
|
||||
i++;
|
||||
}
|
||||
else if (_wcsicmp(L"/single", szArgList[i]) == 0)
|
||||
{
|
||||
cmderOptions.cmderSingle = true;
|
||||
@ -659,13 +673,13 @@ cmderOptions GetOption()
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
@ -707,7 +721,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
|
||||
}
|
||||
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;
|
||||
|
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.
|
4
vendor/bin/cexec.cmd
vendored
4
vendor/bin/cexec.cmd
vendored
@ -19,8 +19,8 @@ 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" (
|
||||
|
22
vendor/bin/vscode_init.cmd
vendored
22
vendor/bin/vscode_init.cmd
vendored
@ -1,4 +1,26 @@
|
||||
@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] == [] (
|
||||
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
|
||||
|
||||
:: 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)
|
||||
|
||||
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
|
||||
-- Skip files that starts with _. This could be useful if some files should be ignored
|
||||
if not string.match(lua_module, '^_.*') then
|
||||
|
165
vendor/init.bat
vendored
165
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 /v command line arg or set to > 0 for verbose output to aid in debugging.
|
||||
set verbose_output=0
|
||||
set debug_output=0
|
||||
set time_init=0
|
||||
set fast_init=0
|
||||
set max_depth=1
|
||||
:: Add *nix tools to end of path. 0 turns off *nix tools.
|
||||
set nix_tools=1
|
||||
if not defined verbose_output set verbose_output=0
|
||||
|
||||
:: Use /d command line arg or set to 1 for debug output to aid in debugging.
|
||||
if not defined debug_output set debug_output=0
|
||||
|
||||
:: Use /t command line arg or set to 1 to display init time.
|
||||
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= "
|
||||
|
||||
:: Find root dir
|
||||
@ -120,14 +130,16 @@ goto var_loop
|
||||
|
||||
if defined CMDER_USER_CONFIG (
|
||||
%lib_console% debug_output 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
|
||||
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
||||
set architecture=86
|
||||
set clink_architecture=x86
|
||||
set architecture_bits=32
|
||||
) else (
|
||||
set architecture=64
|
||||
set clink_architecture=x64
|
||||
set architecture_bits=64
|
||||
)
|
||||
|
||||
@ -141,19 +153,29 @@ if "%CMDER_CLINK%" == "1" (
|
||||
copy "%CMDER_ROOT%\vendor\clink_settings.default" "%CMDER_USER_CONFIG%\settings"
|
||||
echo Additional *.lua files in "%CMDER_USER_CONFIG%" are loaded on startup.\
|
||||
)
|
||||
"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_USER_CONFIG%" --scripts "%CMDER_ROOT%\vendor" --nolog
|
||||
"%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"
|
||||
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" --nolog
|
||||
"%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!"
|
||||
)
|
||||
|
||||
if "%CMDER_CONFIGURED%" GTR "1" (
|
||||
%lib_console% verbose_output "Cmder is already configured, skipping Cmder Init!"
|
||||
|
||||
goto USER_ALIASES
|
||||
) else if "%CMDER_CONFIGURED%" == "1" (
|
||||
%lib_console% verbose_output "Cmder is already configured, skipping to Cmder User Init!"
|
||||
|
||||
goto USER_CONFIG_START
|
||||
)
|
||||
|
||||
:: Prepare for git-for-windows
|
||||
|
||||
:: I do not even know, copypasted from their .bat
|
||||
@ -183,22 +205,27 @@ if defined GIT_INSTALL_ROOT (
|
||||
:: check if git is in path...
|
||||
for /F "delims=" %%F in ('where git.exe 2^>nul') do (
|
||||
:: get the absolute path to the user provided git binary
|
||||
call :is_git_shim "%%~dpF"
|
||||
call :get_user_git_version
|
||||
call :compare_git_versions
|
||||
%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
|
||||
)
|
||||
)
|
||||
|
||||
:: 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%'..."
|
||||
goto :CONFIGURE_GIT
|
||||
) else (
|
||||
goto :NO_GIT
|
||||
)
|
||||
|
||||
:SPECIFIED_GIT
|
||||
%lib_console% debug_output "Using /GIT_INSTALL_ROOT from '%GIT_INSTALL_ROOT%..."
|
||||
%lib_console% debug_output "Using /GIT_INSTALL_ROOT..."
|
||||
goto :CONFIGURE_GIT
|
||||
|
||||
:FOUND_GIT
|
||||
@ -206,24 +233,26 @@ goto :CONFIGURE_GIT
|
||||
goto :CONFIGURE_GIT
|
||||
|
||||
:CONFIGURE_GIT
|
||||
%lib_console% debug_output "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"
|
||||
%lib_console% verbose_output "Preferring Windows commands"
|
||||
set "path_position=append"
|
||||
) else (
|
||||
%lib_console% debug_output init.bat "Preferring *nix commands"
|
||||
%lib_console% verbose_output "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 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%
|
||||
)
|
||||
|
||||
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%
|
||||
)
|
||||
|
||||
@ -232,15 +261,17 @@ if not defined SVN_SSH set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe"
|
||||
|
||||
:: Find locale.exe: From the git install root, from the path, using the git installed env, or fallback using the env from the path.
|
||||
if not defined git_locale if exist "%GIT_INSTALL_ROOT%\usr\bin\locale.exe" set git_locale="%GIT_INSTALL_ROOT%\usr\bin\locale.exe"
|
||||
if not defined git_locale for /F "delims=" %%F in ('where locale.exe 2^>nul') do (if not defined git_locale set git_locale="%%F")
|
||||
if not defined git_locale for /F "tokens=* delims=" %%F in ('where locale.exe 2^>nul') do ( if not defined git_locale set git_locale="%%F" )
|
||||
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 set git_locale=env /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 )
|
||||
|
||||
%lib_console% debug_output init.bat "Env Var - git_locale=%git_locale%"
|
||||
if not defined LANG (
|
||||
for /F "delims=" %%F in ('%git_locale% -uU 2') do (
|
||||
set "LANG=%%F"
|
||||
)
|
||||
if defined git_locale (
|
||||
%lib_console% debug_output init.bat "Env Var - git_locale=%git_locale%"
|
||||
if not defined LANG (
|
||||
for /F "delims=" %%F in ('%git_locale% -uU 2') do (
|
||||
set "LANG=%%F"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
%lib_console% debug_output init.bat "Env Var - GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%"
|
||||
@ -253,9 +284,11 @@ endlocal
|
||||
|
||||
:PATH_ENHANCE
|
||||
%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 (
|
||||
%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
|
||||
|
||||
@ -266,6 +299,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.
|
||||
::
|
||||
@ -310,6 +344,8 @@ if "%CMDER_ALIASES%" == "1" (
|
||||
:: Add aliases to the environment
|
||||
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
|
||||
@ -335,7 +371,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
|
||||
%lib_console% debug_output init.bat "Calling - %CMDER_USER_CONFIG%\user_profile.cmd"
|
||||
call "%CMDER_USER_CONFIG%\user_profile.cmd"
|
||||
)
|
||||
)
|
||||
@ -359,64 +395,13 @@ if "%CMDER_ALIASES%" == "1" if exist "%CMDER_ROOT%\bin\alias.bat" if exist "%CMD
|
||||
)
|
||||
|
||||
set initialConfig=
|
||||
set CMDER_CONFIGURED=1
|
||||
|
||||
:CMDER_CONFIGURED
|
||||
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
|
||||
|
||||
: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 (
|
||||
:: 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
|
||||
|
||||
|
4
vendor/lib/lib_console.cmd
vendored
4
vendor/lib/lib_console.cmd
vendored
@ -1,10 +1,10 @@
|
||||
@echo off
|
||||
|
||||
if "%fast_init%" == "1" exit /b
|
||||
|
||||
call "%~dp0lib_base.cmd"
|
||||
set lib_console=call "%~dp0lib_console.cmd"
|
||||
|
||||
if "%fast_init%" == "1" exit /b
|
||||
|
||||
if "%~1" == "/h" (
|
||||
%lib_base% help "%~0"
|
||||
) else if "%1" neq "" (
|
||||
|
93
vendor/lib/lib_git.cmd
vendored
93
vendor/lib/lib_git.cmd
vendored
@ -183,3 +183,96 @@ exit /b
|
||||
|
||||
:: looks like we have the same versions.
|
||||
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
|
||||
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%"
|
||||
set test_dir=
|
||||
) else (
|
||||
set "GIT_INSTALL_ROOT=%test_dir%"
|
||||
set test_dir=
|
||||
)
|
||||
) else (
|
||||
%lib_console% 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 -255 IF NOT ERRORLEVEL -254 (
|
||||
%lib_console% 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
|
||||
:::.
|
||||
:::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%"
|
||||
%lib_git% validate_version USER %GIT_VERSION_USER%
|
||||
exit /b
|
||||
|
||||
|
123
vendor/lib/lib_path.cmd
vendored
123
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:
|
||||
:::
|
||||
@ -51,63 +52,78 @@ exit /b
|
||||
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 "%position%" == "append" (
|
||||
set "PATH=%PATH%;%add_path%"
|
||||
set "PATH=%PATH%;%add_to_path%"
|
||||
) else (
|
||||
set "PATH=%add_path%;%PATH%"
|
||||
set "PATH=%add_to_path%;%PATH%"
|
||||
)
|
||||
goto :end_enhance_path
|
||||
) else if "add_to_path" equ "" (
|
||||
goto :end_enhance_path
|
||||
)
|
||||
|
||||
set "PATH=%PATH:;;=;%"
|
||||
if "%fast_init%" == "1" (
|
||||
exit /b
|
||||
)
|
||||
|
||||
rem setlocal enabledelayedexpansion
|
||||
|
||||
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 OLD_PATH=%PATH%
|
||||
|
||||
if "%CMDER_CONFIGURED%" == "1" (
|
||||
%lib_console% debug_output :enhance_path "Env Var - find_query=%find_query%"
|
||||
echo "%path%"|%WINDIR%\System32\findstr >nul /I /R ";%find_query%\"$"
|
||||
REM if "!ERRORLEVEL!" == "0" set found=1
|
||||
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 1 - found=%found%"
|
||||
%lib_console% debug_output :enhance_path "Env Var INSIDE PATH %find_query% - found=%found%"
|
||||
|
||||
if "%found%" == "0" (
|
||||
if "%CMDER_CONFIGURED%" == "1" (
|
||||
echo "%path%"|%WINDIR%\System32\findstr >nul /i /r ";%find_query%;"
|
||||
REM if "!ERRORLEVEL!" == "0" set found=1
|
||||
call :set_found
|
||||
)
|
||||
%lib_console% debug_output :enhance_path "Env Var 2 - found=%found%"
|
||||
if /i "%position%" == "append" (
|
||||
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 END PATH %find_query% - found=!found!"
|
||||
) else (
|
||||
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 BEGIN PATH %find_query% - found=!found!"
|
||||
)
|
||||
endlocal & set found=%found%
|
||||
|
||||
if "%found%" == "0" (
|
||||
%lib_console% debug_output :enhance_path "BEFORE Env Var - PATH=%path%"
|
||||
if /i "%position%" == "append" (
|
||||
%lib_console% debug_output :enhance_path "Appending '%add_path%'"
|
||||
set "PATH=%PATH%;%add_path%"
|
||||
%lib_console% debug_output :enhance_path "Appending '%add_to_path%'"
|
||||
set "PATH=%PATH%;%add_to_path%"
|
||||
) else (
|
||||
%lib_console% debug_output :enhance_path "Prepending '%add_path%'"
|
||||
set "PATH=%add_path%;%PATH%"
|
||||
%lib_console% debug_output :enhance_path "Prepending '%add_to_path%'"
|
||||
set "PATH=%add_to_path%;%PATH%"
|
||||
)
|
||||
|
||||
%lib_console% debug_output :enhance_path "AFTER Env Var - PATH=%path%"
|
||||
set found=1
|
||||
)
|
||||
|
||||
rem :end_enhance_path
|
||||
rem endlocal & set "PATH=%PATH:;;=;%"
|
||||
: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="
|
||||
exit /b
|
||||
|
||||
:set_found
|
||||
if "!ERRORLEVEL!" == "0" set found=1
|
||||
if "%ERRORLEVEL%" == "0" (
|
||||
set found=1
|
||||
)
|
||||
|
||||
exit /b
|
||||
|
||||
:enhance_path_recursive
|
||||
@ -144,20 +160,27 @@ exit /b
|
||||
exit 1
|
||||
)
|
||||
|
||||
if "%~2" gtr "1" (
|
||||
set "max_depth=%~2"
|
||||
) else (
|
||||
set "max_depth=1"
|
||||
)
|
||||
set "depth=%~2"
|
||||
set "max_depth=%~3"
|
||||
|
||||
if "%~3" neq "" if /i "%~3" == "append" (
|
||||
set "position=%~3"
|
||||
if "%~4" neq "" if /i "%~4" == "append" (
|
||||
set "position=%~4"
|
||||
) else (
|
||||
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" (
|
||||
call :enhance_path "%add_path%" %position%
|
||||
if "%add_to_path%" neq "" (
|
||||
call :enhance_path "%add_to_path%" %position%
|
||||
)
|
||||
)
|
||||
|
||||
set "PATH=%PATH:;;=;%"
|
||||
@ -165,24 +188,22 @@ exit /b
|
||||
exit /b
|
||||
)
|
||||
|
||||
rem setlocal enabledelayedexpansion
|
||||
if "%depth%" == "" set depth=0
|
||||
|
||||
%lib_console% debug_output :enhance_path_recursive "Env Var - add_path=%add_path%"
|
||||
%lib_console% debug_output :enhance_path_recursive "Env Var - add_path=%add_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%"
|
||||
|
||||
if %max_depth% gtr %depth% (
|
||||
%lib_console% debug_output :enhance_path_recursive "Adding parent directory - '%add_path%'"
|
||||
call :enhance_path "%add_path%" %position%
|
||||
REM set /a "depth=!depth!+1"
|
||||
if "%add_to_path%" neq "" (
|
||||
%lib_console% debug_output :enhance_path_recursive "Adding parent directory - '%add_to_path%'"
|
||||
call :enhance_path "%add_to_path%" %position%
|
||||
)
|
||||
call :set_depth
|
||||
call :loop_depth
|
||||
)
|
||||
|
||||
rem :end_enhance_path_recursive
|
||||
rem endlocal & set "PATH=%PATH%"
|
||||
set "PATH=%PATH%"
|
||||
|
||||
exit /b
|
||||
|
||||
: set_depth
|
||||
@ -190,10 +211,14 @@ exit /b
|
||||
exit /b
|
||||
|
||||
:loop_depth
|
||||
if %depth% == %max_depth% (
|
||||
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'"
|
||||
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%"
|
||||
)
|
||||
exit /b
|
||||
|
2
vendor/profile.ps1
vendored
2
vendor/profile.ps1
vendored
@ -1,4 +1,4 @@
|
||||
# Init Script for PowerShell
|
||||
# Init Script for PowerShell
|
||||
# Created as part of cmder project
|
||||
|
||||
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
||||
|
8
vendor/sources.json
vendored
8
vendor/sources.json
vendored
@ -1,8 +1,8 @@
|
||||
[
|
||||
{
|
||||
"name": "git-for-windows",
|
||||
"version": "v2.23.0.windows.1",
|
||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.23.0.windows.1/PortableGit-2.23.0-64-bit.7z.exe"
|
||||
"version": "v2.28.0.windows.1",
|
||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.28.0.windows.1/PortableGit-2.28.0-64-bit.7z.exe"
|
||||
},
|
||||
{
|
||||
"name": "clink",
|
||||
@ -16,7 +16,7 @@
|
||||
},
|
||||
{
|
||||
"name": "clink-completions",
|
||||
"version": "0.3.4",
|
||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.4.zip"
|
||||
"version": "0.3.5",
|
||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.3.5.zip"
|
||||
}
|
||||
]
|
||||
|
Reference in New Issue
Block a user