mirror of
https://github.com/cmderdev/cmder.git
synced 2025-07-16 12:39:38 +08:00
Compare commits
1 Commits
v1.3.25
...
integratio
Author | SHA1 | Date | |
---|---|---|---|
3536046483 |
2
.github/workflows/branches.yml
vendored
2
.github/workflows/branches.yml
vendored
@ -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@v4
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # fetch all history for all branches and tags
|
fetch-depth: 0 # fetch all history for all branches and tags
|
||||||
|
|
||||||
|
20
.github/workflows/build.yml
vendored
20
.github/workflows/build.yml
vendored
@ -11,7 +11,7 @@ on:
|
|||||||
tags:
|
tags:
|
||||||
- "v*"
|
- "v*"
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ "master", "development" ]
|
branches: [ "master" ]
|
||||||
|
|
||||||
#---------------------------------#
|
#---------------------------------#
|
||||||
# environment configuration #
|
# environment configuration #
|
||||||
@ -30,17 +30,15 @@ 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@v4
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Add MSBuild to PATH
|
- name: Add MSBuild to PATH
|
||||||
uses: microsoft/setup-msbuild@v2
|
uses: microsoft/setup-msbuild@v1
|
||||||
|
|
||||||
- name: Build Cmder Launcher
|
- name: Build Cmder Launcher
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
@ -53,32 +51,32 @@ jobs:
|
|||||||
run: .\pack.ps1 -verbose
|
run: .\pack.ps1 -verbose
|
||||||
|
|
||||||
- name: Upload artifact (cmder.zip)
|
- name: Upload artifact (cmder.zip)
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v3
|
||||||
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@v4
|
uses: actions/upload-artifact@v3
|
||||||
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@v4
|
uses: actions/upload-artifact@v3
|
||||||
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@v4
|
uses: actions/upload-artifact@v3
|
||||||
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@v2
|
uses: softprops/action-gh-release@v1
|
||||||
with:
|
with:
|
||||||
files: |
|
files: |
|
||||||
build/cmder.zip
|
build/cmder.zip
|
||||||
|
29
.github/workflows/codeql.yml
vendored
29
.github/workflows/codeql.yml
vendored
@ -3,25 +3,20 @@
|
|||||||
#
|
#
|
||||||
# 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", "development" ]
|
branches: [ "master" ]
|
||||||
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", "development" ]
|
branches: [ "master" ]
|
||||||
paths-ignore:
|
|
||||||
- '**/*.md'
|
|
||||||
- '**/*.txt'
|
|
||||||
- '.github/**'
|
|
||||||
- '**/.gitignore'
|
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '30 19 * * 0'
|
- cron: '30 19 * * 0'
|
||||||
|
|
||||||
@ -45,11 +40,11 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v3
|
uses: github/codeql-action/init@v2
|
||||||
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.
|
||||||
@ -60,7 +55,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@v2
|
uses: microsoft/setup-msbuild@v1
|
||||||
|
|
||||||
- name: Build Cmder Launcher
|
- name: Build Cmder Launcher
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
@ -68,6 +63,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@v3
|
uses: github/codeql-action/analyze@v2
|
||||||
with:
|
with:
|
||||||
category: "/language:${{matrix.language}}"
|
category: "/language:${{matrix.language}}"
|
||||||
|
14
.github/workflows/tests.yml
vendored
14
.github/workflows/tests.yml
vendored
@ -4,21 +4,9 @@ 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:
|
||||||
@ -38,7 +26,7 @@ jobs:
|
|||||||
continue-on-error: false
|
continue-on-error: false
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v3
|
||||||
- name: Initialize vendors
|
- name: Initialize vendors
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
working-directory: scripts
|
working-directory: scripts
|
||||||
|
4
.github/workflows/vendor.yml
vendored
4
.github/workflows/vendor.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v3
|
||||||
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@v6
|
- uses: peter-evans/create-pull-request@v5
|
||||||
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
24
SECURITY.md
@ -1,24 +0,0 @@
|
|||||||
# 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.
|
|
60
appveyor.yml
Normal file
60
appveyor.yml
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
#---------------------------------#
|
||||||
|
# general configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
version: 1.0.{build}-{branch}
|
||||||
|
|
||||||
|
# branches to build
|
||||||
|
branches:
|
||||||
|
# blacklist
|
||||||
|
except:
|
||||||
|
- gh-pages
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# environment configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
# Operating system (build VM template)
|
||||||
|
os: Visual Studio 2022
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# build configuration #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
build_script:
|
||||||
|
- ps: cd scripts; .\build.ps1 -Compile -verbose
|
||||||
|
|
||||||
|
after_build:
|
||||||
|
- ps: .\pack.ps1 -verbose
|
||||||
|
|
||||||
|
# Disable test search, since we don't have any.
|
||||||
|
test: off
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# artifacts #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
- path: build\cmder.zip
|
||||||
|
name: cmderzip
|
||||||
|
|
||||||
|
- path: build\cmder.7z
|
||||||
|
name: cmder7z
|
||||||
|
|
||||||
|
- path: build\cmder_mini.zip
|
||||||
|
name: cmdermini
|
||||||
|
|
||||||
|
- path: build\hashes.txt
|
||||||
|
name: hashes
|
||||||
|
|
||||||
|
#---------------------------------#
|
||||||
|
# notifications #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
# Webhook
|
||||||
|
- provider: Webhook
|
||||||
|
url: https://webhooks.gitter.im/e/d673abb1b2e659dcd625
|
||||||
|
on_build_success: true
|
||||||
|
on_build_failure: true
|
||||||
|
on_build_status_changed: true
|
@ -469,6 +469,9 @@ 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)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* WARNING: do NOT modify this file! the content of this file should be
|
* WARNING: do NOT modify this file! the content of this file should be
|
||||||
* automatically generated before AppVeyor builds using the
|
* automatically genereted before AppVeyor builds using the
|
||||||
* respective .ps1 Powershell scripts.
|
* respective .ps1 Powershell scripts.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -79,7 +79,7 @@ if ($Compile) {
|
|||||||
|
|
||||||
Write-Verbose "Building the launcher..."
|
Write-Verbose "Building the launcher..."
|
||||||
|
|
||||||
# Reference: https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
|
# Referene: 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) {
|
||||||
|
1
vendor/bin/add-cmderrootenvar.ps1
vendored
Normal file
1
vendor/bin/add-cmderrootenvar.ps1
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
setx cmder_root "${env:cmder_root}"
|
36
vendor/bin/add-cmdertodesktop.ps1
vendored
Normal file
36
vendor/bin/add-cmdertodesktop.ps1
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
if (test-path "c:\windows\set-shortcut.ps1") {
|
||||||
|
$setShortcut = "c:\windows\set-shortcut.ps1"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (test-path "${env:USERPROFILE}\cmderdev") {
|
||||||
|
$env:cmder_root = "${env:USERPROFILE}\cmderdev"
|
||||||
|
write-host "Creating '${env:USERPROFILE}\Desktop\Cmderdev.lnk'..."
|
||||||
|
|
||||||
|
if (test-path "${env:USERPROFILE}\cmderdev\vendor\bin\set-shortcut.ps1") {
|
||||||
|
$setShortcut = "$env:cmder_root\vendor\bin\set-shortcut.ps1"
|
||||||
|
}
|
||||||
|
|
||||||
|
start-process -NoNewWindow -filePath "powershell.exe" -ArgumentList "-file `"${setShortcut}`" -sourceexe `"${env:cmder_root}\Cmder.exe`" -DestinationPath `"${env:USERPROFILE}\Desktop\Cmderdev.lnk`" -WorkingDirectory `"${env:cmder_root}`""
|
||||||
|
}
|
||||||
|
|
||||||
|
if (test-path "${env:USERPROFILE}\cmder") {
|
||||||
|
$env:cmder_root = "${env:USERPROFILE}\cmder"
|
||||||
|
|
||||||
|
if (test-path "${cmder_root}\vendor\bin\set-shortcut.ps1") {
|
||||||
|
$setShortcut = "$env:cmder_root\vendor\bin\set-shortcut.ps1"
|
||||||
|
}
|
||||||
|
|
||||||
|
write-host "Creating '${env:USERPROFILE}\Desktop\Cmder.lnk'..."
|
||||||
|
start-process -NoNewWindow -filePath "powershell.exe" -ArgumentList "-file `"${setShortcut}`" -sourceexe `"$env:cmder_root\Cmder.exe`" -DestinationPath `"${env:USERPROFILE}\Desktop\Cmder.lnk`" -WorkingDirectory `"${env:USERPROFILE}`""
|
||||||
|
} elseif (test-path "C:\tools\cmder") {
|
||||||
|
$env:cmder_root = "C:\tools\cmder"
|
||||||
|
|
||||||
|
if (test-path "${cmder_root}\vendor\bin\set-shortcut.ps1") {
|
||||||
|
$setShortcut = "$env:cmder_root\vendor\bin\set-shortcut.ps1"
|
||||||
|
}
|
||||||
|
|
||||||
|
write-host "Creating '${env:USERPROFILE}\Desktop\Cmder.lnk'..."
|
||||||
|
start-process -NoNewWindow -filePath "powershell.exe" -ArgumentList "-file `"${setShortcut}`" -sourceexe `"$env:cmder_root\Cmder.exe`" -DestinationPath `"${env:USERPROFILE}\Desktop\Cmder.lnk`" -WorkingDirectory `"${env:USERPROFILE}`""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
39
vendor/bin/add-vscodeprofile.ps1
vendored
Normal file
39
vendor/bin/add-vscodeprofile.ps1
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# VSCode
|
||||||
|
$VSCodeUserSettings = "$env:APPDATA/Code/User"
|
||||||
|
$VSCodeSettings = "$VSCodeUserSettings/settings.json";
|
||||||
|
$VSCodeSettingsNew = $VSCodeSettings.replace('.json', '-new.json')
|
||||||
|
|
||||||
|
if (test-path $VSCodeSettings) {
|
||||||
|
$data = get-content -path $VSCodeSettings -ErrorAction silentlycontinue | out-string | ConvertFrom-Json
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
New-Item -ItemType directory $VSCodeUserSettings -force
|
||||||
|
$data = @{}
|
||||||
|
}
|
||||||
|
|
||||||
|
write-host $data
|
||||||
|
|
||||||
|
$data | Add-Member -force -Name 'terminal.integrated.defaultProfile.windows' -MemberType NoteProperty -Value "Cmder"
|
||||||
|
|
||||||
|
if ($null -eq $data.'terminal.integrated.profiles.windows') {
|
||||||
|
write-host "Adding 'terminal.integrated.profiles.windows'..."
|
||||||
|
$data | Add-Member -force -Name 'terminal.integrated.profiles.windows' -MemberType NoteProperty -Value @{}
|
||||||
|
}
|
||||||
|
|
||||||
|
write-host "Adding 'terminal.integrated.profiles.windows.Cmder' profile..."
|
||||||
|
$data.'terminal.integrated.profiles.windows'.'Cmder' = @{
|
||||||
|
"name" = "Cmder";
|
||||||
|
"path" = @(
|
||||||
|
"`${env:windir}/Sysnative/cmd.exe";
|
||||||
|
"`${env:windir}/System32/cmd.exe";
|
||||||
|
);
|
||||||
|
"args" = @(
|
||||||
|
"/k";
|
||||||
|
"`${env:USERPROFILE}/cmderdev/vendor/bin/vscode_init.cmd");
|
||||||
|
"icon" = "terminal-cmd";
|
||||||
|
"color" = "terminal.ansiGreen";
|
||||||
|
};
|
||||||
|
|
||||||
|
$data | ConvertTo-Json -depth 100 | set-content $VSCodeSettings
|
||||||
|
|
||||||
|
|
74
vendor/bin/add-windowsterminalprofiles.ps1
vendored
Normal file
74
vendor/bin/add-windowsterminalprofiles.ps1
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# Windows Terminal
|
||||||
|
$windowsTerminalFolder = (dir "$env:userprofile/AppData/Local/Packages/Microsoft.WindowsTerminal_*").name
|
||||||
|
$windowsTerminalPath = "$env:userprofile/AppData/Local/Packages/$windowsTerminalFolder"
|
||||||
|
$windowsTerminalSettings = $windowsTerminalPath + '/localState/settings.json'
|
||||||
|
$windowsTerminalSettingsNew = $windowsTerminalPath + '/localState/settings-new.json'
|
||||||
|
|
||||||
|
if (test-path "$env:userprofile/Documents/windows_terminal_settings.json.default") {
|
||||||
|
if (test-path "$windowsTerminalPath/LocalState/settings.json") {
|
||||||
|
del "$env:userprofile/Documents/windows_terminal_settings.json.default"
|
||||||
|
} else {
|
||||||
|
move-item -path $env:userprofile/Documents/windows_terminal_settings.json.default -destination $windowsTerminalPath/LocalState/settings.json
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (test-path "$env:userprofile/Documents/windows_terminal_state.json.default") {
|
||||||
|
if (test-path "$windowsTerminalPath/LocalState/state.json") {
|
||||||
|
del "$env:userprofile/Documents/windows_terminal_state.json.default"
|
||||||
|
} else {
|
||||||
|
move-item -path $env:userprofile/Documents/windows_terminal_state.json.default -destination $windowsTerminalPath/LocalState/state.json
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (test-path "$windowsTerminalPath/LocalState/state.json") {
|
||||||
|
$json = get-content $windowsTerminalSettings | ConvertFrom-Json
|
||||||
|
|
||||||
|
$json.defaultProfile="{00000000-0000-0000-ba54-000000000132}"
|
||||||
|
|
||||||
|
$cmderFound = $false
|
||||||
|
$cmderAsAdminFound = $false
|
||||||
|
|
||||||
|
foreach ($profile in $json.profiles.list) {
|
||||||
|
if ($profile.Name -eq "Cmder") {
|
||||||
|
$cmderFound = $true
|
||||||
|
}
|
||||||
|
elseIf ($profile.Name -eq "Cmder as Admin") {
|
||||||
|
$cmderAsAdminFound = $true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not $cmderFound) {
|
||||||
|
write-host "Adding 'Cmder' to Windows Terminal..."
|
||||||
|
|
||||||
|
$json.profiles.list += @{
|
||||||
|
commandline="cmd.exe /k `"%USERPROFILE%/cmderdev/vendor/init.bat`"";
|
||||||
|
startingDirectory="%USERPROFILE%/cmderdev";
|
||||||
|
icon="%USERPROFILE%/cmderdev/icons/cmder.ico";
|
||||||
|
closeOnExit="graceful";
|
||||||
|
guid="{00000000-0000-0000-ba54-000000000132}";
|
||||||
|
hidden=$false;
|
||||||
|
name="Cmder"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not $cmderAsAdminFound) {
|
||||||
|
write-host "Adding 'Cmder as Admin' to Windows Terminal..."
|
||||||
|
|
||||||
|
$json.profiles.list += @{
|
||||||
|
commandline="cmd.exe /k `"%USERPROFILE%/cmderdev/vendor/init.bat`"";
|
||||||
|
startingDirectory="%USERPROFILE%/cmderdev";
|
||||||
|
icon="%USERPROFILE%/cmderdev/icons/cmder_red.ico";
|
||||||
|
closeOnExit="graceful";
|
||||||
|
guid="{00000000-0000-0000-ba54-000000000133}";
|
||||||
|
hidden=$false;
|
||||||
|
elevate=$true;
|
||||||
|
name="Cmder as Admin"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$json | ConvertTo-Json -depth 100 | set-content $windowsTerminalSettings
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
write-host "Cannot add profiles for Windows Terminal. The Windows Terminal settings file does not exist!"
|
||||||
|
}
|
||||||
|
|
2
vendor/bin/cmder_shell.cmd
vendored
2
vendor/bin/cmder_shell.cmd
vendored
@ -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
|
||||||
|
21
vendor/bin/set-shortcut.ps1
vendored
Normal file
21
vendor/bin/set-shortcut.ps1
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[CmdletBinding()]
|
||||||
|
param(
|
||||||
|
[Parameter()]
|
||||||
|
[string]$SourceExe,
|
||||||
|
[string]$Arguments,
|
||||||
|
[string]$DestinationPath,
|
||||||
|
[string]$WorkingDirectory,
|
||||||
|
[String]$IconLocation
|
||||||
|
)
|
||||||
|
|
||||||
|
if ($IconLocation -eq '') {
|
||||||
|
$IconLocation = $SourceExe
|
||||||
|
}
|
||||||
|
|
||||||
|
$WshShell = New-Object -comObject WScript.Shell
|
||||||
|
$Shortcut = $WshShell.CreateShortcut($destinationPath)
|
||||||
|
$Shortcut.TargetPath = $SourceExe
|
||||||
|
$Shortcut.Arguments = $Arguments
|
||||||
|
$shortcut.WorkingDirectory = $WorkingDirectory
|
||||||
|
$shortcut.IconLocation = $IconLocation
|
||||||
|
$Shortcut.Save()
|
58
vendor/clink.lua
vendored
58
vendor/clink.lua
vendored
@ -51,37 +51,11 @@ local function get_unknown_color()
|
|||||||
end
|
end
|
||||||
|
|
||||||
---
|
---
|
||||||
-- Escapes special characters in a string.gsub `find` parameter, so that it
|
-- Makes a string safe to use as the replacement in string.gsub
|
||||||
-- 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 escape_gsub_find_arg(text)
|
local function verbatim(s)
|
||||||
return text and text:gsub("([-+*?.%%()%[%]$^])", "%%%1") or ""
|
s = string.gsub(s, "%%", "%%%%")
|
||||||
end
|
return s
|
||||||
|
|
||||||
---
|
|
||||||
-- 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
|
||||||
@ -179,7 +153,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 = gsub_plain(cwd, clink.get_env("HOME"), prompt_homeSymbol)
|
cwd = string.gsub(cwd, clink.get_env("HOME"), prompt_homeSymbol)
|
||||||
end
|
end
|
||||||
|
|
||||||
local uah = ''
|
local uah = ''
|
||||||
@ -202,14 +176,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 = gsub_plain(prompt, "{uah}", uah)
|
prompt = string.gsub(prompt, "{uah}", uah)
|
||||||
prompt = gsub_plain(prompt, "{cwd}", cwd)
|
prompt = string.gsub(prompt, "{cwd}", cwd)
|
||||||
prompt = gsub_plain(prompt, "{env}", env)
|
prompt = string.gsub(prompt, "{env}", env)
|
||||||
clink.prompt.value = gsub_plain(prompt, "{lamb}", prompt_lambSymbol)
|
clink.prompt.value = string.gsub(prompt, "{lamb}", prompt_lambSymbol)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function percent_prompt_filter()
|
local function percent_prompt_filter()
|
||||||
clink.prompt.value = gsub_plain(clink.prompt.value, "{percent}", "%")
|
clink.prompt.value = string.gsub(clink.prompt.value, "{percent}", "%%")
|
||||||
end
|
end
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -558,13 +532,13 @@ local function git_prompt_filter()
|
|||||||
color = colors.conflict
|
color = colors.conflict
|
||||||
end
|
end
|
||||||
|
|
||||||
clink.prompt.value = gsub_plain(clink.prompt.value, "{git}", " "..color.."("..branch..")")
|
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", " "..color.."("..verbatim(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 = gsub_plain(clink.prompt.value, "{git}", "")
|
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", "")
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -603,13 +577,13 @@ local function hg_prompt_filter()
|
|||||||
end
|
end
|
||||||
|
|
||||||
local result = color .. "(" .. branch .. ")"
|
local result = color .. "(" .. branch .. ")"
|
||||||
clink.prompt.value = gsub_plain(clink.prompt.value, "{hg}", " "..result)
|
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", " "..verbatim(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 = gsub_plain(clink.prompt.value, "{hg}", "")
|
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", "")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function svn_prompt_filter()
|
local function svn_prompt_filter()
|
||||||
@ -662,13 +636,13 @@ local function svn_prompt_filter()
|
|||||||
color = colors.dirty
|
color = colors.dirty
|
||||||
end
|
end
|
||||||
|
|
||||||
clink.prompt.value = gsub_plain(clink.prompt.value, "{svn}", " "..color.."("..branch..")")
|
clink.prompt.value = string.gsub(clink.prompt.value, "{svn}", " "..color.."("..verbatim(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 = gsub_plain(clink.prompt.value, "{svn}", "")
|
clink.prompt.value = string.gsub(clink.prompt.value, "{svn}", "")
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
4
vendor/clink_settings.default
vendored
4
vendor/clink_settings.default
vendored
@ -1,10 +1,6 @@
|
|||||||
# 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
|
||||||
|
1
vendor/lib/lib_git.cmd
vendored
1
vendor/lib/lib_git.cmd
vendored
@ -55,7 +55,6 @@ 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
|
||||||
)
|
)
|
||||||
|
16
vendor/sources.json
vendored
16
vendor/sources.json
vendored
@ -1,22 +1,22 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "git-for-windows",
|
"name": "git-for-windows",
|
||||||
"version": "2.45.1.windows.1",
|
"version": "2.40.1.windows.1",
|
||||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.45.1.windows.1/PortableGit-2.45.1-64-bit.7z.exe"
|
"url": "https://github.com/git-for-windows/git/releases/download/v2.40.1.windows.1/PortableGit-2.40.1-64-bit.7z.exe"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink",
|
"name": "clink",
|
||||||
"version": "1.6.14",
|
"version": "1.4.24",
|
||||||
"url": "https://github.com/chrisant996/clink/releases/download/v1.6.14/clink.1.6.14.93b83f.zip"
|
"url": "https://github.com/chrisant996/clink/releases/download/v1.4.24/clink.1.4.24.688975.zip"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "conemu-maximus5",
|
"name": "conemu-maximus5",
|
||||||
"version": "23.07.24",
|
"version": "22.12.18",
|
||||||
"url": "https://github.com/Maximus5/ConEmu/releases/download/v23.07.24/ConEmuPack.230724.7z"
|
"url": "https://github.com/Maximus5/ConEmu/releases/download/v22.12.18/ConEmuPack.221218.7z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink-completions",
|
"name": "clink-completions",
|
||||||
"version": "0.5.2",
|
"version": "0.4.8",
|
||||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/v0.5.2.zip"
|
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/v0.4.8.zip"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
Reference in New Issue
Block a user