Compare commits

...

77 Commits

Author SHA1 Message Date
David Refoua
126347025f cleanup 2024-11-14 00:01:29 +03:30
David Refoua
7ceacb63dd respect PATHEXT instead of hardcoding our own value
* support other path extensions as well (e.g. `.py` commonly used)
2024-11-14 00:00:53 +03:30
David Refoua
510178852d add missing qualified dir
https://github.com/cmderdev/cmder/pull/1961
2024-11-13 23:58:11 +03:30
David Refoua
4d15730d05 cleanup 2024-11-13 23:14:49 +03:30
David Refoua
25ccfeed77 prevent warnings if the dir does not exist
https://github.com/cmderdev/cmder/issues/121#issuecomment-654171568
2024-11-13 23:08:13 +03:30
David Refoua
42315d8cec
enable /d flag in excd by default 2024-10-18 03:18:17 +03:30
David Refoua
c6dbb89129 Merge branch 'master' of https://github.com/cmderdev/cmder 2024-10-17 20:00:32 +03:30
David Refoua
1cfba25beb fix conflict 2024-10-17 20:00:21 +03:30
David Refoua
2007baef6e
Updates to 3 vendored dependencies 2024-10-17 19:52:36 +03:30
David Refoua
e220d114b2
add notes on what shim actually is 2024-10-17 19:43:14 +03:30
DRSDavidSoft
4204faa063 ⬆️ Update dependencies (git-for-windows v2.47.0.windows.1, clink v1.7.3, clink-completions v0.6.0) 2024-10-16 13:42:04 +00:00
David Refoua
540532f126 make library comments consistent and clean up code 2024-10-14 14:40:21 +03:30
David Refoua
28f6098d48
Merge pull request #2959 from stanwest/cmd-double-quotes
In "lib_git.cmd", use single quotes inside double quotes
2024-07-27 21:04:15 +03:30
Stan West
b56a6d43cb Use single quotes inside double quotes 2024-07-26 20:24:12 -04:00
David Refoua
d2f7136ef8
modify the header to remove outdated mention 2024-06-06 13:34:55 +03:30
David Refoua
4daff054eb
Fix #2944 2024-05-31 18:36:31 +03:30
DRSDavidSoft
45fd0c2666 ⬆️ Update dependencies (git-for-windows v2.45.1.windows.1, clink v1.6.14, clink-completions v0.5.2) 2024-05-29 13:40:37 +00:00
David Refoua
5145a15139
display git improper version string as debug 2024-05-28 17:19:47 +03:30
David Refoua
92419a48fc
log the executable path for improper git 2024-05-23 21:59:16 +03:30
David Refoua
c9b77f618a
enable match.expand_envvars
This is part of the "Enhanced default settings" by Clink and a very useful feature
2024-05-20 10:57:51 +03:30
David Refoua
a2e4884ea1
Merge pull request #2926 from cmderdev/dependabot/github_actions/softprops/action-gh-release-2
Bump softprops/action-gh-release from 1 to 2
2024-04-26 17:09:24 +03:30
Dax T Games
62a46140eb
Merge pull request #2932 from loselarry/master
fix: fix some typos in comments
2024-04-10 08:01:16 -04:00
loselarry
ae518cded8 fix: fix some typos in comments
Signed-off-by: loselarry <bikangning@yeah.net>
2024-04-10 16:39:46 +08:00
dependabot[bot]
4ad76d8274
Bump softprops/action-gh-release from 1 to 2
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v1...v2)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 15:59:16 +00:00
dependabot[bot]
8a199bf47b
Bump microsoft/setup-msbuild from 1 to 2 (#2917)
Bumps [microsoft/setup-msbuild](https://github.com/microsoft/setup-msbuild) from 1 to 2.
- [Release notes](https://github.com/microsoft/setup-msbuild/releases)
- [Changelog](https://github.com/microsoft/setup-msbuild/blob/main/building-release.md)
- [Commits](https://github.com/microsoft/setup-msbuild/compare/v1...v2)

---
updated-dependencies:
- dependency-name: microsoft/setup-msbuild
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-06 19:43:29 +00:00
dependabot[bot]
457d99da0b
Bump peter-evans/create-pull-request from 5 to 6 (#2918)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-06 19:43:13 +00:00
dependabot[bot]
52762636dc
Bump actions/upload-artifact from 3 to 4 (#2905) 2024-01-03 00:54:57 +00:00
Dax T Games
ed6c9b2bc9
Merge pull request #2907 from daxgames/development_ci
Do CI on development PRs
2024-01-02 14:14:15 -05:00
Dax T. Games
7753622897 Do CI on development PRs 2024-01-02 12:04:31 -05:00
dependabot[bot]
18950135ef
Bump github/codeql-action from 2 to 3 (#2906)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-20 10:31:41 +00:00
Dax T Games
b59647b570
Merge pull request #2892 from daxgames/revert_git_update
Revert Git update so not to include a release Candidate
2023-11-11 09:18:48 -08:00
Dax T. Games
2135fce19f revert git update to not include a release candidate 2023-11-11 09:12:30 -08:00
Dax T. Games
219c879582 Merge remote-tracking branch 'upstream/master' 2023-11-10 17:00:16 -08:00
Dax T. Games
289bcf03a5 Merge remote-tracking branch 'upstream/development' 2023-11-10 16:59:35 -08:00
David Refoua
50bc05fee7
Merge pull request #2891 from daxgames/rem_race
Remove Cmder.exe race condition
2023-11-09 17:11:42 +03:30
Dax T. Games
8d916a4446 remove env refresh race condition 2023-11-09 04:58:26 -08:00
daxgames
5e22496aca Merge branch 'master' into development 2023-11-05 18:55:47 +00:00
Dax T Games
8b6add75cf
Merge pull request #2882 from cmderdev/update-vendor
Updates to `2` vendored dependencies
2023-11-05 13:55:36 -05:00
DRSDavidSoft
8498447878 ⬆️ Update dependencies (git-for-windows v2.43.0-rc0.windows.1, clink v1.5.12) 2023-11-03 13:40:42 +00:00
DRSDavidSoft
0874f4be44 Merge branch 'master' into development 2023-10-25 09:02:45 +00:00
David Refoua
ffb93b1804
call init.bat with the same arguments 2023-10-25 12:32:31 +03:30
daxgames
092dc4d323 Merge branch 'master' into development 2023-10-14 18:20:25 +00:00
Dax T Games
39afad1743
Merge pull request #2879 from cmderdev/update-vendor
Updates to `2` vendored dependencies
2023-10-14 11:20:13 -07:00
DRSDavidSoft
d0cb6b5c23 ⬆️ Update dependencies (clink v1.5.9, clink-completions v0.4.11) 2023-10-10 13:40:41 +00:00
daxgames
9ee2bef7cd Merge branch 'master' into development 2023-09-25 18:41:04 +00:00
Dax T Games
a409a1cce8
Merge pull request #2867 from cmderdev/update-vendor
Updates to `2` vendored dependencies
2023-09-25 14:40:50 -04:00
Dax T. Games
3b8e87de84 Merge branch 'master' of https://github.com/cmderdev/cmder 2023-09-25 11:45:19 -04:00
DRSDavidSoft
faf66542b4 ⬆️ Update dependencies (git-for-windows v2.42.0.windows.2, clink v1.5.6) 2023-09-22 13:40:52 +00:00
DRSDavidSoft
d3497f5eb0 Merge branch 'master' into development 2023-09-21 17:28:35 +00:00
David Refoua
98a1e9621e
Bump actions/checkout from 3 to 4 2023-09-21 20:58:21 +03:30
dependabot[bot]
4f32d23c30
Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 15:47:52 +00:00
Dax T. Games
ad5c80bcd2 Merge remote-tracking branch 'upstream/master' 2023-08-11 09:31:24 -04:00
DRSDavidSoft
9a135947af Merge branch 'master' into development 2023-07-27 21:28:50 +00:00
David Refoua
1b9a1e5b6f
improve markdown (SECURITY.md)
use bullet points to render the list correctly; improve sentences
2023-07-28 00:58:39 +03:30
MartiUK
1adaab963b Merge branch 'master' into development 2023-07-27 18:32:18 +00:00
Martin Kemp
29650960aa
Create SECURITY.md (#2866) 2023-07-27 19:32:04 +01:00
DRSDavidSoft
41f0454b05 Merge branch 'master' into development 2023-07-25 13:48:37 +00:00
David Refoua
3ea9728ffd
Merge pull request #2861 from chrisant996/chrisant_fix_2859
Fix #2859; script error when cwd name contains `%`
2023-07-25 17:18:22 +03:30
DRSDavidSoft
a01fb4c444 Merge branch 'master' into development 2023-07-25 10:17:37 +00:00
David Refoua
4b0344172a
ignore github-related and markdown for tests and codeql 2023-07-25 13:47:22 +03:30
MartiUK
4104a5612f Merge branch 'master' into development 2023-07-24 14:04:30 +00:00
Martin Kemp
5e219fe34e
Update build.yml 2023-07-24 15:04:16 +01:00
MartiUK
ff7621c1da Merge branch 'master' into development 2023-07-24 13:56:12 +00:00
MartiUK
5d4c45d099 Merge branch 'master' into development 2023-07-24 08:30:03 +00:00
MartiUK
f517494dc4 Merge branch 'master' into development 2023-07-20 12:57:05 +00:00
Chris Antos
84ee96c64f Fix #2859; script error when cwd name contains %
The `string.gsub()` function in Lua always uses Lua patterns (which are
similar to regular expressions).  Cmder's custom prompt wants to perform
simple plain text find/replace operations on strings.  `string.gsub()`
is the right Lua function for that, but since it always uses Lua
patterns it's necessary to apply escaping to the input strings otherwise
they can get misinterpreted and cause runtime errors.

For example, if the current working directory name contains a percent
sign, such as literally "My%20Home".

This change fixes that.  It introduces a helper function `gsub_plain()`
which behaves like `string.gsub()` but applies appropriate escaping to
convert the plain text input strings into the corresponding Lua
patterns so that it can achieve plain text find/replace operations.

It also introduces separate helper functions for escaping the `find` and
`replace` parameters for `string.gsub()`, since they have different
escaping rules.
2023-07-10 18:07:53 -07:00
Dax T. Games
ad804eda44 Merge remote-tracking branch 'upstream/master' 2023-07-04 13:01:27 -04:00
DRSDavidSoft
15addb87ee Merge branch 'master' into development 2023-07-04 08:40:45 +00:00
Dax T. Games
47258fbd2b Merge branch 'master' of https://github.com/cmderdev/cmder 2023-06-05 16:01:37 -04:00
DRSDavidSoft
37c41e80df Merge branch 'master' into development 2023-05-23 10:57:06 +00:00
DRSDavidSoft
5a90558714 Merge branch 'master' into development 2023-05-17 08:00:29 +00:00
DRSDavidSoft
c1f8dfdb27 Merge branch 'master' into development 2023-05-16 20:22:11 +00:00
DRSDavidSoft
50c3ea4ab3 Merge branch 'master' into development 2023-05-11 15:07:20 +00:00
DRSDavidSoft
3f53d1b927 Merge branch 'master' into development 2023-04-24 14:05:13 +00:00
DRSDavidSoft
6180aa53b3 Merge branch 'master' into development 2023-04-23 20:17:40 +00:00
Dax T Games
5e3b70338d
Merge pull request #12 from daxgames/update-vendor
Updates to `3` vendored dependencies
2023-04-21 16:06:26 -04:00
daxgames
a4ea326a62 ⬆️ Update dependencies (git-for-windows v2.40.0.windows.1, clink v1.4.24, clink-completions v0.4.7) 2023-04-19 13:44:11 +00:00
20 changed files with 237 additions and 119 deletions

View File

@ -19,7 +19,7 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job # Steps represent a sequence of tasks that will be executed as part of the job
steps: steps:
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it # Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 # fetch all history for all branches and tags fetch-depth: 0 # fetch all history for all branches and tags

View File

@ -11,7 +11,7 @@ on:
tags: tags:
- "v*" - "v*"
pull_request: pull_request:
branches: [ "master" ] branches: [ "master", "development" ]
#---------------------------------# #---------------------------------#
# environment configuration # # environment configuration #
@ -30,15 +30,17 @@ jobs:
build: build:
name: Build Project name: Build Project
runs-on: windows-latest runs-on: windows-latest
permissions:
contents: write
discussions: write
steps: steps:
- name: Check out repository code (Action from GitHub) - name: Check out repository code (Action from GitHub)
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Add MSBuild to PATH - name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1 uses: microsoft/setup-msbuild@v2
- name: Build Cmder Launcher - name: Build Cmder Launcher
shell: pwsh shell: pwsh
@ -51,32 +53,32 @@ jobs:
run: .\pack.ps1 -verbose run: .\pack.ps1 -verbose
- name: Upload artifact (cmder.zip) - name: Upload artifact (cmder.zip)
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
path: build/cmder.zip path: build/cmder.zip
name: cmder.zip name: cmder.zip
if-no-files-found: error if-no-files-found: error
- name: Upload artifact (cmder.7z) - name: Upload artifact (cmder.7z)
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
path: build/cmder.7z path: build/cmder.7z
name: cmder.7z name: cmder.7z
- name: Upload artifact (cmder_mini.zip) - name: Upload artifact (cmder_mini.zip)
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
path: build/cmder_mini.zip path: build/cmder_mini.zip
name: cmder_mini.zip name: cmder_mini.zip
- name: Upload artifact (hashes.txt) - name: Upload artifact (hashes.txt)
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
path: build/hashes.txt path: build/hashes.txt
name: hashes.txt name: hashes.txt
- name: Create Release - name: Create Release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v2
with: with:
files: | files: |
build/cmder.zip build/cmder.zip

View File

@ -3,20 +3,25 @@
# #
# You may wish to alter this file to override the set of languages analyzed, # You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic. # or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL" name: "CodeQL"
on: on:
push: push:
branches: [ "master" ] branches: [ "master", "development" ]
paths-ignore:
- '**/*.md'
- '**/*.txt'
- '.github/**'
- '**/.gitignore'
pull_request: pull_request:
# The branches below must be a subset of the branches above # The branches below must be a subset of the branches above
branches: [ "master" ] branches: [ "master", "development" ]
paths-ignore:
- '**/*.md'
- '**/*.txt'
- '.github/**'
- '**/.gitignore'
schedule: schedule:
- cron: '30 19 * * 0' - cron: '30 19 * * 0'
@ -40,11 +45,11 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v2 uses: github/codeql-action/init@v3
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file. # If you wish to specify custom queries, you can do so here or in a config file.
@ -55,7 +60,7 @@ jobs:
# queries: security-extended,security-and-quality # queries: security-extended,security-and-quality
- name: Add MSBuild to PATH - name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1 uses: microsoft/setup-msbuild@v2
- name: Build Cmder Launcher - name: Build Cmder Launcher
shell: pwsh shell: pwsh
@ -63,6 +68,6 @@ jobs:
run: .\build.ps1 -Compile -verbose run: .\build.ps1 -Compile -verbose
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2 uses: github/codeql-action/analyze@v3
with: with:
category: "/language:${{matrix.language}}" category: "/language:${{matrix.language}}"

View File

@ -4,9 +4,21 @@ on:
push: push:
branches: branches:
- master - master
- development
paths-ignore:
- '**/*.md'
- '**/*.txt'
- '.github/**'
- '**/.gitignore'
pull_request: pull_request:
branches: branches:
- master - master
- development
paths-ignore:
- '**/*.md'
- '**/*.txt'
- '.github/**'
- '**/.gitignore'
defaults: defaults:
run: run:
@ -26,7 +38,7 @@ jobs:
continue-on-error: false continue-on-error: false
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Initialize vendors - name: Initialize vendors
shell: pwsh shell: pwsh
working-directory: scripts working-directory: scripts

View File

@ -24,7 +24,7 @@ jobs:
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
@ -51,7 +51,7 @@ jobs:
Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ') Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ')
echo "UPDATE_MESSAGE<<<EOF`n$updateMessage`n<EOF" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 echo "UPDATE_MESSAGE<<<EOF`n$updateMessage`n<EOF" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
- uses: peter-evans/create-pull-request@v5 - uses: peter-evans/create-pull-request@v6
if: env.COUNT_UPDATED > 0 if: env.COUNT_UPDATED > 0
with: with:
title: 'Updates to `${{ env.COUNT_UPDATED }}` vendored dependencies' title: 'Updates to `${{ env.COUNT_UPDATED }}` vendored dependencies'

24
SECURITY.md Normal file
View File

@ -0,0 +1,24 @@
# Security Policy
## Supported Versions
| Version | Supported |
| ------- | ------------------ |
| 1.3.x | :white_check_mark: |
| < 1.3 | |
## Reporting a Vulnerability
If you discover a security issue in our project, please report it to [MartiUK](https://github.com/MartiUK). We will acknowledge your email within 24 hours and provide a more detailed response within 48 hours. We will try to fix the issue as soon as possible and inform you when a new version is released.
Please include as much of the information listed below as you can to help us better understand and resolve the issue:
- The nature of the issue
- The affected source file(s) with full paths
- The location of the vulnerable code (tag/branch/commit or direct URL)
- Any special configuration needed to reproduce the issue
- Detailed steps to reproduce the issue
- Proof-of-concept or exploit code (if possible)
- The impact of the issue, including how an attacker could exploit it
Please do not disclose the vulnerability publicly until we have resolved it.

View File

@ -469,9 +469,6 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
MessageBox(NULL, _T("Unable to create the ConEmu process!"), _T("Error"), MB_OK); MessageBox(NULL, _T("Unable to create the ConEmu process!"), _T("Error"), MB_OK);
return; return;
} }
LRESULT lr = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment", SMTO_ABORTIFHUNG | SMTO_NOTIMEOUTIFNOTHUNG, 5000, NULL);
lr = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)L"Environment", SMTO_ABORTIFHUNG | SMTO_NOTIMEOUTIFNOTHUNG, 5000, NULL); // For Windows >= 8
} }
bool IsUserOnly(std::wstring opt) bool IsUserOnly(std::wstring opt)

View File

@ -1,9 +1,8 @@
/** /**
* WARNING: do NOT modify this file! the content of this file should be * WARNING: This file should NOT be manually modified!
* automatically genereted before AppVeyor builds using the * The contents will be automatically generated using the `.ps1` PowerShell scripts,
* respective .ps1 Powershell scripts. * during builds by the CI.
*
*/ */
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

View File

@ -79,7 +79,7 @@ if ($Compile) {
Write-Verbose "Building the launcher..." Write-Verbose "Building the launcher..."
# Referene: https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference # Reference: https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
msbuild CmderLauncher.vcxproj /t:Clean,Build /p:configuration=Release /m msbuild CmderLauncher.vcxproj /t:Clean,Build /p:configuration=Release /m
if ($LastExitCode -ne 0) { if ($LastExitCode -ne 0) {

View File

@ -9,5 +9,5 @@ if "%cmder_init%" == "1" (
) )
pushd "%CMDER_ROOT%" pushd "%CMDER_ROOT%"
call "%CMDER_ROOT%\vendor\init.bat" /f call "%CMDER_ROOT%\vendor\init.bat" /f %*
popd popd

14
vendor/bin/excd.cmd vendored
View File

@ -1,6 +1,8 @@
@if "%~1"=="/?" (@cd %*) @echo off
@set excd=%* set excd=%*
@set excd=%excd:"=% set excd=%excd:"=%
@if "%excd:~0,1%"=="~" (@set excd=%userprofile%\%excd:~1%) set excd_param=/d
@if not "%~1"=="/d" (@set excd_param="/d") else (@set excd_param=) if /i "%excd:~0,2%"=="/d" set "excd=%excd:~2%"
@cd %excd_param% "%excd%" if "%excd:~0,1%"=="~" (set excd=%userprofile%\%excd:~1%)
if "%excd:~0,1%"=="/" (set excd_param=)
cd %excd_param% %excd%

58
vendor/clink.lua vendored
View File

@ -51,11 +51,37 @@ local function get_unknown_color()
end end
--- ---
-- Makes a string safe to use as the replacement in string.gsub -- Escapes special characters in a string.gsub `find` parameter, so that it
-- can be matched as a literal plain text string, i.e. disable Lua pattern
-- matching. See "Patterns" (https://www.lua.org/manual/5.2/manual.html#6.4.1).
-- @param {string} text Text to escape
-- @returns {string} Escaped text
--- ---
local function verbatim(s) local function escape_gsub_find_arg(text)
s = string.gsub(s, "%%", "%%%%") return text and text:gsub("([-+*?.%%()%[%]$^])", "%%%1") or ""
return s end
---
-- Escapes special characters in a string.gsub `replace` parameter, so that it
-- can be replaced as a literal plain text string, i.e. disable Lua pattern
-- matching. See "Patterns" (https://www.lua.org/manual/5.2/manual.html#6.4.1).
-- @param {string} text Text to escape
-- @returns {string} Escaped text
---
local function escape_gsub_replace_arg(text)
return text and text:gsub("%%", "%%%%") or ""
end
---
-- Perform string.sub, but disable Lua pattern matching and just treat both
-- the `find` and `replace` parameters as a literal plain text replacement.
-- @param {string} str Text in which to perform find and replace
-- @param {string} find Text to find (plain text; not a Lua pattern)
-- @param {string} replace Replacement text (plain text; not a Lua pattern)
-- @returns {string} Copy of the input `str` with `find` replaced by `replace`
---
local function gsub_plain(str, find, replace)
return string.gsub(str, escape_gsub_find_arg(find), escape_gsub_replace_arg(replace))
end end
-- Extracts only the folder name from the input Path -- Extracts only the folder name from the input Path
@ -153,7 +179,7 @@ local function set_prompt_filter()
end end
if prompt_useHomeSymbol and string.find(cwd, clink.get_env("HOME")) then if prompt_useHomeSymbol and string.find(cwd, clink.get_env("HOME")) then
cwd = string.gsub(cwd, clink.get_env("HOME"), prompt_homeSymbol) cwd = gsub_plain(cwd, clink.get_env("HOME"), prompt_homeSymbol)
end end
local uah = '' local uah = ''
@ -176,14 +202,14 @@ local function set_prompt_filter()
local version_control = prompt_includeVersionControl and "{git}{hg}{svn}" or "" local version_control = prompt_includeVersionControl and "{git}{hg}{svn}" or ""
local prompt = "{uah}{cwd}" .. version_control .. cr .. get_lamb_color() .. "{env}{lamb}\x1b[0m " local prompt = "{uah}{cwd}" .. version_control .. cr .. get_lamb_color() .. "{env}{lamb}\x1b[0m "
prompt = string.gsub(prompt, "{uah}", uah) prompt = gsub_plain(prompt, "{uah}", uah)
prompt = string.gsub(prompt, "{cwd}", cwd) prompt = gsub_plain(prompt, "{cwd}", cwd)
prompt = string.gsub(prompt, "{env}", env) prompt = gsub_plain(prompt, "{env}", env)
clink.prompt.value = string.gsub(prompt, "{lamb}", prompt_lambSymbol) clink.prompt.value = gsub_plain(prompt, "{lamb}", prompt_lambSymbol)
end end
local function percent_prompt_filter() local function percent_prompt_filter()
clink.prompt.value = string.gsub(clink.prompt.value, "{percent}", "%%") clink.prompt.value = gsub_plain(clink.prompt.value, "{percent}", "%")
end end
--- ---
@ -532,13 +558,13 @@ local function git_prompt_filter()
color = colors.conflict color = colors.conflict
end end
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", " "..color.."("..verbatim(branch)..")") clink.prompt.value = gsub_plain(clink.prompt.value, "{git}", " "..color.."("..branch..")")
return false return false
end end
end end
-- No git present or not in git file -- No git present or not in git file
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", "") clink.prompt.value = gsub_plain(clink.prompt.value, "{git}", "")
return false return false
end end
@ -577,13 +603,13 @@ local function hg_prompt_filter()
end end
local result = color .. "(" .. branch .. ")" local result = color .. "(" .. branch .. ")"
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", " "..verbatim(result)) clink.prompt.value = gsub_plain(clink.prompt.value, "{hg}", " "..result)
return false return false
end end
end end
-- No hg present or not in hg repo -- No hg present or not in hg repo
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", "") clink.prompt.value = gsub_plain(clink.prompt.value, "{hg}", "")
end end
local function svn_prompt_filter() local function svn_prompt_filter()
@ -636,13 +662,13 @@ local function svn_prompt_filter()
color = colors.dirty color = colors.dirty
end end
clink.prompt.value = string.gsub(clink.prompt.value, "{svn}", " "..color.."("..verbatim(branch)..")") clink.prompt.value = gsub_plain(clink.prompt.value, "{svn}", " "..color.."("..branch..")")
return false return false
end end
end end
-- No svn present or not in svn file -- No svn present or not in svn file
clink.prompt.value = string.gsub(clink.prompt.value, "{svn}", "") clink.prompt.value = gsub_plain(clink.prompt.value, "{svn}", "")
return false return false
end end

View File

@ -1,6 +1,10 @@
# For explanation of these and other settings see: # For explanation of these and other settings see:
# https://chrisant996.github.io/clink/clink.html # https://chrisant996.github.io/clink/clink.html
# name: Expand envvars when completing
# type: boolean
match.expand_envvars = True
# name: Sets how command history expansion is applied # name: Sets how command history expansion is applied
# type: enum # type: enum
# options: off,on,not_squoted,not_dquoted,not_quoted # options: off,on,not_squoted,not_dquoted,not_quoted

2
vendor/init.bat vendored
View File

@ -426,7 +426,7 @@ if "%CMDER_ALIASES%" == "1" (
) )
:: Add aliases to the environment :: Add aliases to the environment
type "%user_aliases%" | findstr /b /l /i "history=cat " >nul type "%user_aliases%" | %WINDIR%\System32\findstr /b /l /i "history=cat " >nul
if "%ERRORLEVEL%" == "0" ( if "%ERRORLEVEL%" == "0" (
echo Migrating alias 'history' to new Clink 1.x.x... echo Migrating alias 'history' to new Clink 1.x.x...
call "%CMDER_ROOT%\vendor\bin\alias.cmd" /d history call "%CMDER_ROOT%\vendor\bin\alias.cmd" /d history

View File

@ -10,9 +10,8 @@ if "%~1" == "/h" (
exit /b exit /b
:help
:::=============================================================================== :::===============================================================================
:::show_subs - shows all sub routines in a .bat/.cmd file with documentation :::help - shows all sub routines in a .bat/.cmd file with documentation
:::. :::.
:::include: :::include:
:::. :::.
@ -20,16 +19,15 @@ exit /b
:::. :::.
:::usage: :::usage:
:::. :::.
::: %lib_base% show_subs "file" ::: %lib_base% help "file"
:::. :::.
:::options: :::options:
:::. :::.
::: file <in> full path to file containing lib_routines to display ::: file <in> full path to file containing lib_routines to display
:::.
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
for /f "tokens=* delims=:" %%a in ('type "%~1" ^| %WINDIR%\System32\findstr /i /r "^:::"') do (
rem echo a="%%a"
:help
for /f "tokens=* delims=:" %%a in ('%WINDIR%\System32\findstr /i /r "^:::" "%~1"') do (
if "%%a"=="." ( if "%%a"=="." (
echo. echo.
) else if /i "%%a" == "usage" ( ) else if /i "%%a" == "usage" (
@ -44,9 +42,13 @@ exit /b
pause pause
exit /b exit /b
:cmder_shell
:::=============================================================================== :::===============================================================================
:::show_subs - shows all sub routines in a .bat/.cmd file with documentation :::cmder_shell - Initializes the Cmder shell environment variables
:::.
:::description:
:::.
::: This routine sets up the Cmder shell environment by detecting the
::: command shell and initializing related variables.
:::. :::.
:::include: :::include:
:::. :::.
@ -55,15 +57,30 @@ exit /b
:::usage: :::usage:
:::. :::.
::: %lib_base% cmder_shell ::: %lib_base% cmder_shell
:::.
:::options:
:::.
::: file <in> full path to file containing lib_routines to display
:::.
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
:cmder_shell
call :detect_comspec %ComSpec% call :detect_comspec %ComSpec%
exit /b exit /b
:::===============================================================================
:::detect_comspec - Detects the command shell being used:::
:::.
:::description:
:::.
::: This function sets the CMDER_SHELL variable to the name of the
::: detected command shell. It also initializes the CMDER_CLINK and
::: CMDER_ALIASES variables if they are not already defined.
:::.
:::include:
:::.
::: call "lib_base.cmd"
:::.
:::usage:
:::.
::: %lib_base% detect_comspec %ComSpec%
:::-------------------------------------------------------------------------------
:detect_comspec :detect_comspec
set CMDER_SHELL=%~n1 set CMDER_SHELL=%~n1
if not defined CMDER_CLINK ( if not defined CMDER_CLINK (
@ -74,6 +91,27 @@ exit /b
) )
exit /b exit /b
:::===============================================================================
:::update_legacy_aliases - Updates the legacy alias definitions in the user_aliases file
:::.
:::description:
:::.
::: This function checks if the user_aliases file contains the marker
::: ";= Add aliases below here". If the marker is not found, it creates
::: an initial user_aliases store by copying the default user_aliases file
::: from the CMDER_ROOT directory. If the CMDER_USER_CONFIG environment
::: variable is defined, it creates a backup of the existing user_aliases
::: file before copying the default file.
:::.
:::include:
:::.
::: call "lib_base.cmd"
:::.
:::usage:
:::.
::: %lib_base% update_legacy_aliases
:::-------------------------------------------------------------------------------
:update_legacy_aliases :update_legacy_aliases
type "%user_aliases%" | %WINDIR%\System32\findstr /i ";= Add aliases below here" >nul type "%user_aliases%" | %WINDIR%\System32\findstr /i ";= Add aliases below here" >nul
if "%errorlevel%" == "1" ( if "%errorlevel%" == "1" (

View File

@ -12,7 +12,6 @@ if "%~1" == "/h" (
exit /b exit /b
:read_version
:::=============================================================================== :::===============================================================================
:::read_version - Get the git.exe version :::read_version - Get the git.exe version
:::. :::.
@ -34,6 +33,7 @@ exit /b
::: GIT_VERSION_[GIT SCOPE] <out> Env variable containing Git semantic version string ::: GIT_VERSION_[GIT SCOPE] <out> Env variable containing Git semantic version string
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
:read_version
:: clear the variables :: clear the variables
set GIT_VERSION_%~1= set GIT_VERSION_%~1=
@ -55,6 +55,7 @@ exit /b
set "GIT_VERSION=%%C" set "GIT_VERSION=%%C"
) else ( ) else (
echo "'git --version' returned an improper version string!" echo "'git --version' returned an improper version string!"
%print_debug% :read_version "returned string: '%%A %%B %%C' by executable path: %git_executable%"
pause pause
exit /b exit /b
) )
@ -63,7 +64,6 @@ exit /b
exit /b exit /b
:parse_version
:::=============================================================================== :::===============================================================================
:::parse_version - Parse semantic version string 'x.x.x.x' and return the pieces :::parse_version - Parse semantic version string 'x.x.x.x' and return the pieces
:::. :::.
@ -88,6 +88,7 @@ exit /b
::: [SCOPE]_BUILD <out> Scoped Build version. ::: [SCOPE]_BUILD <out> Scoped Build version.
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
:parse_version
:: process a `x.x.x.xxxx.x` formatted string :: process a `x.x.x.xxxx.x` formatted string
%print_debug% :parse_version "ARGV[1]=%~1, ARGV[2]=%~2" %print_debug% :parse_version "ARGV[1]=%~1, ARGV[2]=%~2"
@ -110,9 +111,8 @@ exit /b
:endlocal_set_git_version :endlocal_set_git_version
:validate_version
:::=============================================================================== :::===============================================================================
:::validate_version - Validate semantic version string 'x.x.x.x'. :::validate_version - Validate semantic version string 'x.x.x.x'
:::. :::.
:::include: :::include:
:::. :::.
@ -128,6 +128,7 @@ exit /b
::: [VERSION] <in> Semantic version String. Ex: 1.2.3.4 ::: [VERSION] <in> Semantic version String. Ex: 1.2.3.4
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
:validate_version
:: now parse the version information into the corresponding variables :: now parse the version information into the corresponding variables
%print_debug% :validate_version "ARGV[1]=%~1, ARGV[2]=%~2" %print_debug% :validate_version "ARGV[1]=%~1, ARGV[2]=%~2"
@ -142,9 +143,8 @@ exit /b
) )
exit /b exit /b
:compare_versions
:::=============================================================================== :::===============================================================================
:::compare_version - Compare semantic versions return latest version. :::compare_version - Compare semantic versions and return latest version
:::. :::.
:::include: :::include:
:::. :::.
@ -160,6 +160,7 @@ exit /b
::: [SCOPE2] <in> Example: VENDOR ::: [SCOPE2] <in> Example: VENDOR
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
:compare_versions
:: checks all major, minor, patch and build variables for the given arguments. :: checks all major, minor, patch and build variables for the given arguments.
:: whichever binary that has the most recent version will be used based on the return code. :: whichever binary that has the most recent version will be used based on the return code.
@ -184,7 +185,12 @@ exit /b
endlocal & exit /b 0 endlocal & exit /b 0
:::=============================================================================== :::===============================================================================
:::is_git_shim :::is_git_shim - Check if the directory has a git.shim file
:::.
:::description:
:::.
::: Shim is a small helper program for Scoop that calls the executable configured in git.shim file
::: See: github.com/ScoopInstaller/Shim and github.com/cmderdev/cmder/pull/1905
:::. :::.
:::include: :::include:
:::. :::.
@ -201,7 +207,7 @@ exit /b
:is_git_shim :is_git_shim
pushd "%~1" pushd "%~1"
:: check if there's shim - and if yes follow the path :: check if there is a shim file - if yes, read the actual executable path
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
if exist git.shim ( if exist git.shim (
for /F "tokens=2 delims== " %%I in (git.shim) do ( for /F "tokens=2 delims== " %%I in (git.shim) do (
@ -218,7 +224,7 @@ exit /b
exit /b exit /b
:::=============================================================================== :::===============================================================================
:::compare_git_versions :::compare_git_versions - Compare the user git version against the vendored version
:::. :::.
:::include: :::include:
:::. :::.
@ -252,7 +258,7 @@ exit /b
:: if the user provided git executable is not found :: if the user provided git executable is not found
IF ERRORLEVEL -255 IF NOT ERRORLEVEL -254 ( IF ERRORLEVEL -255 IF NOT ERRORLEVEL -254 (
:: if not exist "%git_executable%" ( :: if not exist "%git_executable%" (
%print_debug% ":compare_git_versions" "No git at "%git_executable%" found." %print_debug% ":compare_git_versions" "No git at '%git_executable%' found."
set test_dir= set test_dir=
) )
) )
@ -261,7 +267,7 @@ exit /b
exit /b exit /b
:::=============================================================================== :::===============================================================================
:::get_user_git_version - get the version information for the user provided git binary :::get_user_git_version - Get the version information for the user provided git binary
:::. :::.
:::include: :::include:
:::. :::.
@ -277,5 +283,4 @@ exit /b
%lib_git% read_version USER "%test_dir%" 2>nul %lib_git% read_version USER "%test_dir%" 2>nul
%print_debug% ":get_user_git_version" "get_user_git_version GIT_VERSION_USER: %GIT_VERSION_USER%" %print_debug% ":get_user_git_version" "get_user_git_version GIT_VERSION_USER: %GIT_VERSION_USER%"
%lib_git% validate_version USER %GIT_VERSION_USER% %lib_git% validate_version USER %GIT_VERSION_USER%
exit /b exit /b

View File

@ -1,6 +1,5 @@
@echo off @echo off
call "%~dp0lib_base.cmd" call "%~dp0lib_base.cmd"
call "%%~dp0lib_console" call "%%~dp0lib_console"
set lib_path=call "%~dp0lib_path.cmd" set lib_path=call "%~dp0lib_path.cmd"
@ -11,6 +10,13 @@ if "%~1" == "/h" (
call :%* call :%*
) )
setlocal enabledelayedexpansion
if not defined find_pathext (
set "find_pathext=!PATHEXT:;= !"
set "find_pathext=!find_pathext:.=\.!"
)
endlocal & set "find_pathext=%find_pathext%"
exit /b exit /b
:enhance_path :enhance_path
@ -32,13 +38,12 @@ 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:
::: :::
::: path <out> Sets the path env variable if required. ::: path <out> Sets the path env variable if required.
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
if "%~1" neq "" ( if "%~1" neq "" (
set "add_path=%~1" set "add_path=%~1"
) else ( ) else (
@ -52,7 +57,8 @@ exit /b
set "position=" set "position="
) )
dir "%add_path%" | findstr -i "\.COM \.EXE \.BAT \.CMD \.PS1 \.VBS" >NUL dir "%add_path%" 2>NUL | findstr -i -e "%find_pathext%" >NUL
if "%ERRORLEVEL%" == "0" ( if "%ERRORLEVEL%" == "0" (
set "add_to_path=%add_path%" set "add_to_path=%add_path%"
) else ( ) else (
@ -81,20 +87,20 @@ exit /b
echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!;" echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!;"
call :set_found call :set_found
) )
%print_debug% :enhance_path "Env Var INSIDE PATH !find_query! - found=!found!" %print_debug% :enhance_path "Env Var INSIDE PATH !find_query! - found=!found!"
if /i "!position!" == "append" ( if /i "!position!" == "append" (
if "!found!" == "0" ( if "!found!" == "0" (
echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!\"$" echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:";!find_query!\"$"
call :set_found call :set_found
) )
%print_debug% :enhance_path "Env Var END PATH !find_query! - found=!found!" %print_debug% :enhance_path "Env Var END PATH !find_query! - found=!found!"
) else ( ) else (
if "!found!" == "0" ( if "!found!" == "0" (
echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:"^\"!find_query!;" echo "!path!"|!WINDIR!\System32\findstr >nul /I /R /C:"^\"!find_query!;"
call :set_found call :set_found
) )
%print_debug% :enhance_path "Env Var BEGIN PATH !find_query! - found=!found!" %print_debug% :enhance_path "Env Var BEGIN PATH !find_query! - found=!found!"
) )
endlocal & set found=%found% endlocal & set found=%found%
@ -129,13 +135,12 @@ exit /b
exit /b exit /b
:changed :changed
%print_debug% :enhance_path "END Env Var - PATH=%path%" %print_debug% :enhance_path "END Env Var - PATH=%path%"
%print_debug% :enhance_path "Env Var %find_query% - found=%found%" %print_debug% :enhance_path "Env Var %find_query% - found=%found%"
exit /b exit /b
exit /b exit /b
:set_found :set_found
if "%ERRORLEVEL%" == "0" ( if "%ERRORLEVEL%" == "0" (
set found=1 set found=1
@ -186,7 +191,7 @@ exit /b
set "position=" set "position="
) )
dir "%add_path%" 2>NUL | findstr -i "\.COM \.EXE \.BAT \.CMD \.PS1 \.VBS" >NUL dir "%add_path%" 2>NUL | findstr -i -e "%find_pathext%" >NUL
if "%ERRORLEVEL%" == "0" ( if "%ERRORLEVEL%" == "0" (
set "add_to_path=%add_path%" set "add_to_path=%add_path%"
@ -205,10 +210,10 @@ exit /b
exit /b exit /b
) )
%print_debug% :enhance_path_recursive "Env Var - add_path=%add_to_path%" %print_debug% :enhance_path_recursive "Env Var - add_path=%add_to_path%"
%print_debug% :enhance_path_recursive "Env Var - position=%position%" %print_debug% :enhance_path_recursive "Env Var - position=%position%"
%print_debug% :enhance_path_recursive "Env Var - depth=%depth%" %print_debug% :enhance_path_recursive "Env Var - depth=%depth%"
%print_debug% :enhance_path_recursive "Env Var - max_depth=%max_depth%" %print_debug% :enhance_path_recursive "Env Var - max_depth=%max_depth%"
if %max_depth% gtr %depth% ( if %max_depth% gtr %depth% (
if "%add_to_path%" neq "" ( if "%add_to_path%" neq "" (
@ -223,7 +228,7 @@ exit /b
exit /b exit /b
: set_depth :set_depth
set /a "depth=%depth%+1" set /a "depth=%depth%+1"
exit /b exit /b
@ -233,10 +238,9 @@ exit /b
) )
for /d %%i in ("%add_path%\*") do ( for /d %%i in ("%add_path%\*") do (
%print_debug% :enhance_path_recursive "Env Var BEFORE - depth=%depth%" %print_debug% :enhance_path_recursive "Env Var BEFORE - depth=%depth%"
%print_debug% :enhance_path_recursive "Found Subdirectory - '%%~fi'" %print_debug% :enhance_path_recursive "Found Subdirectory - '%%~fi'"
call :enhance_path_recursive "%%~fi" %depth% %max_depth% %position% call :enhance_path_recursive "%%~fi" %depth% %max_depth% %position%
%print_debug% :enhance_path_recursive "Env Var AFTER- depth=%depth%" %print_debug% :enhance_path_recursive "Env Var AFTER- depth=%depth%"
) )
exit /b exit /b

View File

@ -12,26 +12,26 @@ if "%~1" == "/h" (
exit /b exit /b
:run_profile_d
:::=============================================================================== :::===============================================================================
:::run_profile_d - Run all scripts in the passed dir path :::run_profile_d - Run all scripts in the passed directory path
::: :::.
:::include: :::include:
::: :::.
::: call "lib_profile.cmd" ::: call "lib_profile.cmd"
::: :::.
:::usage: :::usage:
::: :::.
::: %lib_profile% "[dir_path]" ::: %lib_profile% "[dir_path]"
::: :::.
:::required: :::required:
::: :::.
::: [dir_path] <in> Fully qualified directory path containing init *.cmd|*.bat. ::: [dir_path] <in> Fully qualified directory path containing init *.cmd|*.bat.
::: Example: "c:\bin" ::: Example: "c:\bin"
::: :::.
::: path <out> Sets the path env variable if required. ::: path <out> Sets the path env variable if required.
:::------------------------------------------------------------------------------- :::-------------------------------------------------------------------------------
:run_profile_d
if not exist "%~1" ( if not exist "%~1" (
mkdir "%~1" mkdir "%~1"
) )
@ -43,4 +43,3 @@ exit /b
) )
popd popd
exit /b exit /b

View File

@ -18,7 +18,8 @@ function readVersion($gitPath) {
} }
function isGitShim($gitPath) { function isGitShim($gitPath) {
# check if there's shim - and if yes follow the path # check if there is a shim file - if yes, read the actual executable path
# See: github.com/ScoopInstaller/Shim
if (Test-Path "${gitPath}\git.shim") { if (Test-Path "${gitPath}\git.shim") {
$shim = (get-content "${gitPath}\git.shim") $shim = (get-content "${gitPath}\git.shim")

12
vendor/sources.json vendored
View File

@ -1,13 +1,13 @@
[ [
{ {
"name": "git-for-windows", "name": "git-for-windows",
"version": "2.41.0.windows.3", "version": "2.47.0.windows.1",
"url": "https://github.com/git-for-windows/git/releases/download/v2.41.0.windows.3/PortableGit-2.41.0.3-64-bit.7z.exe" "url": "https://github.com/git-for-windows/git/releases/download/v2.47.0.windows.1/PortableGit-2.47.0-64-bit.7z.exe"
}, },
{ {
"name": "clink", "name": "clink",
"version": "1.5.1", "version": "1.7.3",
"url": "https://github.com/chrisant996/clink/releases/download/v1.5.1/clink.1.5.1.1e9e51.zip" "url": "https://github.com/chrisant996/clink/releases/download/v1.7.3/clink.1.7.3.f8fb96.zip"
}, },
{ {
"name": "conemu-maximus5", "name": "conemu-maximus5",
@ -16,7 +16,7 @@
}, },
{ {
"name": "clink-completions", "name": "clink-completions",
"version": "0.4.10", "version": "0.6.0",
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/v0.4.10.zip" "url": "https://github.com/vladimir-kotikov/clink-completions/archive/v0.6.0.zip"
} }
] ]