mirror of
https://github.com/cmderdev/cmder.git
synced 2025-07-16 20:49:54 +08:00
Compare commits
61 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 |
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/*
|
||||||
|
22
CHANGELOG.md
22
CHANGELOG.md
@ -1,5 +1,27 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
|
## [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
|
||||||
|
|
||||||
|
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
|
### 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: [opt/README.md](./bin/README)
|
||||||
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)
|
||||||
|
- 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
|
||||||
@ -194,7 +204,7 @@ 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
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
|
||||||
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");
|
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.
|
4
vendor/bin/cexec.cmd
vendored
4
vendor/bin/cexec.cmd
vendored
@ -19,8 +19,8 @@ set "currenArgu=%~1"
|
|||||||
if /i "%currenArgu%" equ "/setPath" (
|
if /i "%currenArgu%" equ "/setPath" (
|
||||||
:: set %flag_exists% shortcut
|
:: set %flag_exists% shortcut
|
||||||
endlocal
|
endlocal
|
||||||
set "ccall=call %~dp0cexec.cmd"
|
set "ccall=call ^"%~dp0cexec.cmd^""
|
||||||
set "cexec=%~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" (
|
||||||
|
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
|
||||||
|
133
vendor/init.bat
vendored
133
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
|
||||||
@ -120,14 +130,16 @@ goto var_loop
|
|||||||
|
|
||||||
if defined CMDER_USER_CONFIG (
|
if defined CMDER_USER_CONFIG (
|
||||||
%lib_console% debug_output init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
|
%lib_console% debug_output init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
|
||||||
|
|
||||||
|
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
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -141,19 +153,29 @@ 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!"
|
%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
|
:: Prepare for git-for-windows
|
||||||
|
|
||||||
:: I do not even know, copypasted from their .bat
|
:: I do not even know, copypasted from their .bat
|
||||||
@ -183,9 +205,13 @@ if defined GIT_INSTALL_ROOT (
|
|||||||
:: 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...
|
||||||
@ -209,16 +235,17 @@ goto :CONFIGURE_GIT
|
|||||||
:CONFIGURE_GIT
|
:CONFIGURE_GIT
|
||||||
%lib_console% debug_output "Using Git from '%GIT_INSTALL_ROOT%..."
|
%lib_console% debug_output "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"
|
%lib_console% verbose_output "Preferring Windows commands"
|
||||||
set "path_position=append"
|
set "path_position=append"
|
||||||
) else (
|
) else (
|
||||||
%lib_console% debug_output init.bat "Preferring *nix commands"
|
%lib_console% verbose_output "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%
|
||||||
@ -257,9 +284,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 +299,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 +344,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
|
||||||
@ -339,7 +371,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
|
%lib_console% debug_output 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 +395,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
|
|
||||||
|
|
||||||
|
4
vendor/lib/lib_console.cmd
vendored
4
vendor/lib/lib_console.cmd
vendored
@ -1,10 +1,10 @@
|
|||||||
@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"
|
||||||
|
|
||||||
|
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 "" (
|
||||||
|
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.
|
:: 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
|
||||||
|
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
|
||||||
|
|
||||||
|
65
vendor/lib/lib_path.cmd
vendored
65
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:
|
||||||
:::
|
:::
|
||||||
@ -51,17 +52,26 @@ 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%
|
||||||
@ -90,11 +100,11 @@ exit /b
|
|||||||
|
|
||||||
if "%found%" == "0" (
|
if "%found%" == "0" (
|
||||||
if /i "%position%" == "append" (
|
if /i "%position%" == "append" (
|
||||||
%lib_console% debug_output :enhance_path "Appending '%add_path%'"
|
%lib_console% debug_output :enhance_path "Appending '%add_to_path%'"
|
||||||
set "PATH=%PATH%;%add_path%"
|
set "PATH=%PATH%;%add_to_path%"
|
||||||
) else (
|
) else (
|
||||||
%lib_console% debug_output :enhance_path "Prepending '%add_path%'"
|
%lib_console% debug_output :enhance_path "Prepending '%add_to_path%'"
|
||||||
set "PATH=%add_path%;%PATH%"
|
set "PATH=%add_to_path%;%PATH%"
|
||||||
)
|
)
|
||||||
|
|
||||||
set found=1
|
set found=1
|
||||||
@ -150,20 +160,27 @@ exit /b
|
|||||||
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
|
%lib_console% debug_output :enhance_path_recursive "Env Var - add_path=%add_to_path%"
|
||||||
|
|
||||||
%lib_console% debug_output :enhance_path_recursive "Env Var - add_path=%add_path%"
|
|
||||||
%lib_console% debug_output :enhance_path_recursive "Env Var - position=%position%"
|
%lib_console% debug_output :enhance_path_recursive "Env Var - position=%position%"
|
||||||
|
%lib_console% debug_output :enhance_path_recursive "Env Var - depth=%depth%"
|
||||||
%lib_console% debug_output :enhance_path_recursive "Env Var - max_depth=%max_depth%"
|
%lib_console% debug_output :enhance_path_recursive "Env Var - max_depth=%max_depth%"
|
||||||
|
|
||||||
if %max_depth% gtr %depth% (
|
if %max_depth% gtr %depth% (
|
||||||
%lib_console% debug_output :enhance_path_recursive "Adding parent directory - '%add_path%'"
|
if "%add_to_path%" neq "" (
|
||||||
call :enhance_path "%add_path%" %position%
|
%lib_console% debug_output :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,10 +211,14 @@ 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%"
|
%lib_console% debug_output :enhance_path_recursive "Env Var BEFORE - depth=%depth%"
|
||||||
%lib_console% debug_output :enhance_path_recursive "Found Subdirectory - '%%~fi'"
|
%lib_console% debug_output :enhance_path_recursive "Found Subdirectory - '%%~fi'"
|
||||||
call :enhance_path_recursive "%%~fi" %max_depth% %position%
|
call :enhance_path_recursive "%%~fi" %depth% %max_depth% %position%
|
||||||
%lib_console% debug_output :enhance_path_recursive "Env Var AFTER- depth=%depth%"
|
%lib_console% debug_output :enhance_path_recursive "Env Var AFTER- depth=%depth%"
|
||||||
)
|
)
|
||||||
exit /b
|
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
|
# Created as part of cmder project
|
||||||
|
|
||||||
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
||||||
|
4
vendor/sources.json
vendored
4
vendor/sources.json
vendored
@ -1,8 +1,8 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "git-for-windows",
|
"name": "git-for-windows",
|
||||||
"version": "v2.24.1.windows.2",
|
"version": "v2.28.0.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.28.0.windows.1/PortableGit-2.28.0-64-bit.7z.exe"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink",
|
"name": "clink",
|
||||||
|
Reference in New Issue
Block a user