mirror of
https://github.com/cmderdev/cmder.git
synced 2025-02-25 14:50:22 +08:00
Merge branch 'master' into development
This commit is contained in:
commit
6180aa53b3
2
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
@ -91,7 +91,7 @@ body:
|
|||||||
|
|
||||||
#### Prerequisites before submitting an issue
|
#### Prerequisites before submitting an issue
|
||||||
- We do not support any versions older than the current release series, if you are using an older Cmder please update to the latest version first.
|
- We do not support any versions older than the current release series, if you are using an older Cmder please update to the latest version first.
|
||||||
- Verify that the issue is not fixed and is reproducible in the **[latest official Cmder version](https://github.com/cmderdev/cmder/releases).**
|
- Verify that the issue is not already fixed and is reproducible in the **[latest official Cmder version](https://github.com/cmderdev/cmder/releases).**
|
||||||
- Check the **[current issues list](https://github.com/cmderdev/cmder/issues?q=is%3Aissue)** and perform a **search of the issue tracker (including closed ones)** to avoid posting a duplicate bug report.
|
- Check the **[current issues list](https://github.com/cmderdev/cmder/issues?q=is%3Aissue)** and perform a **search of the issue tracker (including closed ones)** to avoid posting a duplicate bug report.
|
||||||
- Make sure this is not a support request or question, both of which are better suited for either the **[discussions section](https://github.com/cmderdev/cmder/discussions)**, or the **[questions section](https://github.com/cmderdev/cmder/issues/new?template=question.yml)**.
|
- Make sure this is not a support request or question, both of which are better suited for either the **[discussions section](https://github.com/cmderdev/cmder/discussions)**, or the **[questions section](https://github.com/cmderdev/cmder/issues/new?template=question.yml)**.
|
||||||
- Verify that the **[wiki](https://github.com/cmderdev/cmder/wiki)** did not contain a suitable solution either.
|
- Verify that the **[wiki](https://github.com/cmderdev/cmder/wiki)** did not contain a suitable solution either.
|
||||||
|
2
.github/ISSUE_TEMPLATE/question.yml
vendored
2
.github/ISSUE_TEMPLATE/question.yml
vendored
@ -19,7 +19,7 @@ body:
|
|||||||
|
|
||||||
- If you would like to ask for guides on how to integrate Cmder with your favorite IDE of choice, or how to perform a specific task with Cmder, make sure you visit our label section first.
|
- If you would like to ask for guides on how to integrate Cmder with your favorite IDE of choice, or how to perform a specific task with Cmder, make sure you visit our label section first.
|
||||||
|
|
||||||
You may already have an answer under the Guides or Questions section.
|
You may already have an answer under the [💬 Guides](https://github.com/cmderdev/cmder/issues?q=label%3A%22%F0%9F%92%AC+Type%3A+Guide%22), [📖 Documentation](https://github.com/cmderdev/cmder/issues?q=label%3A%22%F0%9F%93%96+Documentation%22) or [❔ Questions](https://github.com/cmderdev/cmder/issues?q=is%3Aissue+label%3A%22%E2%9D%94+Type%3A+Question%22) section.
|
||||||
|
|
||||||
For a list of labels, visit **[Labels](https://github.com/cmderdev/cmder/labels)**.
|
For a list of labels, visit **[Labels](https://github.com/cmderdev/cmder/labels)**.
|
||||||
|
|
||||||
|
11
.github/dependabot.yml
vendored
Normal file
11
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# To get started with Dependabot version updates, you'll need to specify which
|
||||||
|
# package ecosystems to update and where the package manifests are located.
|
||||||
|
# Please see the documentation for all configuration options:
|
||||||
|
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "github-actions" # See documentation for possible values
|
||||||
|
directory: "/" # Location of package manifests
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
33
.github/workflows/branches.yml
vendored
Normal file
33
.github/workflows/branches.yml
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
name: Update branches
|
||||||
|
|
||||||
|
# Controls when the action will run.
|
||||||
|
on:
|
||||||
|
# Triggers the workflow on push events for the development branch
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
|
jobs:
|
||||||
|
# This job updates the development branch with the master branch
|
||||||
|
update-development:
|
||||||
|
# The type of runner that the job will run on
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
|
steps:
|
||||||
|
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # fetch all history for all branches and tags
|
||||||
|
|
||||||
|
# Runs a single command using the runners shell
|
||||||
|
- name: Merge master into development
|
||||||
|
run: |
|
||||||
|
git config user.name "${{ github.actor }}"
|
||||||
|
git config user.email "${{ github.actor }}@users.noreply.github.com"
|
||||||
|
git checkout development
|
||||||
|
git merge --no-ff master
|
||||||
|
git push origin development
|
14
.github/workflows/build.yml
vendored
14
.github/workflows/build.yml
vendored
@ -8,6 +8,8 @@ name: Build Cmder
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ "master" ]
|
branches: [ "master" ]
|
||||||
|
tags:
|
||||||
|
- "v*"
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ "master" ]
|
branches: [ "master" ]
|
||||||
|
|
||||||
@ -72,3 +74,15 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
path: build/hashes.txt
|
path: build/hashes.txt
|
||||||
name: hashes.txt
|
name: hashes.txt
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
build/cmder.zip
|
||||||
|
build/cmder.7z
|
||||||
|
build/cmder_mini.zip
|
||||||
|
build/hashes.txt
|
||||||
|
draft: true
|
||||||
|
generate_release_notes: true
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
68
.github/workflows/codeql.yml
vendored
Normal file
68
.github/workflows/codeql.yml
vendored
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
# For most projects, this workflow file will not need changing; you simply need
|
||||||
|
# to commit it to your repository.
|
||||||
|
#
|
||||||
|
# You may wish to alter this file to override the set of languages analyzed,
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "master" ]
|
||||||
|
pull_request:
|
||||||
|
# The branches below must be a subset of the branches above
|
||||||
|
branches: [ "master" ]
|
||||||
|
schedule:
|
||||||
|
- cron: '30 19 * * 0'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
analyze:
|
||||||
|
name: Analyze
|
||||||
|
runs-on: windows-latest
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
language: [ 'cpp' ]
|
||||||
|
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||||
|
# Use only 'java' to analyze code written in Java, Kotlin or both
|
||||||
|
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
|
||||||
|
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
# Initializes the CodeQL tools for scanning.
|
||||||
|
- name: Initialize CodeQL
|
||||||
|
uses: github/codeql-action/init@v2
|
||||||
|
with:
|
||||||
|
languages: ${{ matrix.language }}
|
||||||
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
|
# By default, queries listed here will override any specified in a config file.
|
||||||
|
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||||
|
|
||||||
|
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||||
|
# queries: security-extended,security-and-quality
|
||||||
|
|
||||||
|
- name: Add MSBuild to PATH
|
||||||
|
uses: microsoft/setup-msbuild@v1
|
||||||
|
|
||||||
|
- name: Build Cmder Launcher
|
||||||
|
shell: pwsh
|
||||||
|
working-directory: scripts
|
||||||
|
run: .\build.ps1 -Compile -verbose
|
||||||
|
|
||||||
|
- name: Perform CodeQL Analysis
|
||||||
|
uses: github/codeql-action/analyze@v2
|
||||||
|
with:
|
||||||
|
category: "/language:${{matrix.language}}"
|
4
.github/workflows/vendor.yml
vendored
4
.github/workflows/vendor.yml
vendored
@ -30,6 +30,8 @@ jobs:
|
|||||||
|
|
||||||
- id: make-changes
|
- id: make-changes
|
||||||
name: Checking for updates
|
name: Checking for updates
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
$currentVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
|
$currentVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
|
||||||
. .\scripts\update.ps1 -verbose
|
. .\scripts\update.ps1 -verbose
|
||||||
@ -49,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@v4
|
- 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'
|
||||||
|
@ -425,11 +425,6 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
|
|||||||
swprintf_s(args, L"%s /single", args);
|
swprintf_s(args, L"%s /single", args);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!streqi(cmderTask.c_str(), L""))
|
|
||||||
{
|
|
||||||
swprintf_s(args, L"%s /run {%s}", args, cmderTask.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!streqi(cmderTitle.c_str(), L""))
|
if (!streqi(cmderTitle.c_str(), L""))
|
||||||
{
|
{
|
||||||
swprintf_s(args, L"%s /title \"%s\"", args, cmderTitle.c_str());
|
swprintf_s(args, L"%s /title \"%s\"", args, cmderTitle.c_str());
|
||||||
@ -445,6 +440,14 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
|
|||||||
swprintf_s(args, L"%s %s", args, cmderConEmuArgs.c_str());
|
swprintf_s(args, L"%s %s", args, cmderConEmuArgs.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The `/run` arg and its value MUST be the last arg of ConEmu
|
||||||
|
// see : https://conemu.github.io/en/ConEmuArgs.html
|
||||||
|
// > This must be the last used switch (excepting -new_console and -cur_console)
|
||||||
|
if (!streqi(cmderTask.c_str(), L""))
|
||||||
|
{
|
||||||
|
swprintf_s(args, L"%s /run {%s}", args, cmderTask.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
SetEnvironmentVariable(L"CMDER_ROOT", exeDir);
|
SetEnvironmentVariable(L"CMDER_ROOT", exeDir);
|
||||||
if (wcscmp(userConfigDirPath, configDirPath) != 0)
|
if (wcscmp(userConfigDirPath, configDirPath) != 0)
|
||||||
{
|
{
|
||||||
|
@ -102,6 +102,12 @@ function Fetch-DownloadUrl {
|
|||||||
|
|
||||||
$p = $url.Segments.Split([Environment]::NewLine)
|
$p = $url.Segments.Split([Environment]::NewLine)
|
||||||
|
|
||||||
|
$headers = @{}
|
||||||
|
|
||||||
|
if ($env:GITHUB_TOKEN) {
|
||||||
|
$headers["Authorization"] = "token $($env:GITHUB_TOKEN)"
|
||||||
|
}
|
||||||
|
|
||||||
# Api server for GitHub
|
# Api server for GitHub
|
||||||
$urlHost = "api.github.com"
|
$urlHost = "api.github.com"
|
||||||
|
|
||||||
@ -110,7 +116,7 @@ function Fetch-DownloadUrl {
|
|||||||
|
|
||||||
$apiUrl = [uri] (New-Object System.UriBuilder -ArgumentList $url.Scheme, $urlHost, -1, $urlPath).Uri
|
$apiUrl = [uri] (New-Object System.UriBuilder -ArgumentList $url.Scheme, $urlHost, -1, $urlPath).Uri
|
||||||
|
|
||||||
$info = Invoke-RestMethod -Uri $apiUrl
|
$info = Invoke-RestMethod -Uri $apiUrl -Headers $headers
|
||||||
|
|
||||||
$downloadLinks = (New-Object System.Collections.Generic.List[System.Object])
|
$downloadLinks = (New-Object System.Collections.Generic.List[System.Object])
|
||||||
|
|
||||||
|
122
vendor/clink.lua
vendored
122
vendor/clink.lua
vendored
@ -408,13 +408,63 @@ local function get_svn_status()
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---
|
||||||
|
-- Get the status of working dir
|
||||||
|
-- @return {bool}
|
||||||
|
---
|
||||||
|
local last_git_status_time = nil
|
||||||
|
local last_git_status_setting = true
|
||||||
|
local function get_git_status_setting()
|
||||||
|
local time = os.clock()
|
||||||
|
local last_time = last_git_status_time
|
||||||
|
last_git_status_time = time
|
||||||
|
if last_time and time >= 0 and time - last_time < 10 then
|
||||||
|
return last_git_status_setting
|
||||||
|
end
|
||||||
|
|
||||||
|
-- When async prompt filtering is available, check the
|
||||||
|
-- prompt_overrideGitStatusOptIn config setting for whether to ignore the
|
||||||
|
-- cmder.status and cmder.cmdstatus git config opt-in settings.
|
||||||
|
if clink.promptcoroutine and io.popenyield and settings.get("prompt.async") then
|
||||||
|
if prompt_overrideGitStatusOptIn then
|
||||||
|
last_git_status_setting = true
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local gitStatusConfig = io_popenyield("git --no-pager config cmder.status 2>nul")
|
||||||
|
for line in gitStatusConfig:lines() do
|
||||||
|
if string.match(line, 'false') then
|
||||||
|
gitStatusConfig:close()
|
||||||
|
last_git_status_setting = false
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
gitStatusConfig:close()
|
||||||
|
|
||||||
|
local gitCmdStatusConfig = io_popenyield("git --no-pager config cmder.cmdstatus 2>nul")
|
||||||
|
for line in gitCmdStatusConfig:lines() do
|
||||||
|
if string.match(line, 'false') then
|
||||||
|
gitCmdStatusConfig:close()
|
||||||
|
last_git_status_setting = false
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
gitCmdStatusConfig:close()
|
||||||
|
|
||||||
|
last_git_status_setting = true
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
---
|
---
|
||||||
-- Use a prompt coroutine to get git status in the background.
|
-- Use a prompt coroutine to get git status in the background.
|
||||||
-- Cache the info so we can reuse it next time to reduce flicker.
|
-- Cache the info so we can reuse it next time to reduce flicker.
|
||||||
---
|
---
|
||||||
local function get_git_info_table()
|
local function get_git_info_table()
|
||||||
local info = clink_promptcoroutine(function ()
|
local info = clink_promptcoroutine(function ()
|
||||||
return get_git_status()
|
-- Use git status if allowed.
|
||||||
|
local cmderGitStatusOptIn = get_git_status_setting()
|
||||||
|
return cmderGitStatusOptIn and get_git_status() or {}
|
||||||
end)
|
end)
|
||||||
if not info then
|
if not info then
|
||||||
info = cached_info.git_info or {}
|
info = cached_info.git_info or {}
|
||||||
@ -424,42 +474,6 @@ local function get_git_info_table()
|
|||||||
return info
|
return info
|
||||||
end
|
end
|
||||||
|
|
||||||
---
|
|
||||||
-- Get the status of working dir
|
|
||||||
-- @return {bool}
|
|
||||||
---
|
|
||||||
local function get_git_status_setting()
|
|
||||||
-- When async prompt filtering is available, check the
|
|
||||||
-- prompt_overrideGitStatusOptIn config setting for whether to ignore the
|
|
||||||
-- cmder.status and cmder.cmdstatus git config opt-in settings.
|
|
||||||
if clink.promptcoroutine and io.popenyield and settings.get("prompt.async") then
|
|
||||||
if prompt_overrideGitStatusOptIn then
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local gitStatusConfig = io.popen("git --no-pager config cmder.status 2>nul")
|
|
||||||
|
|
||||||
for line in gitStatusConfig:lines() do
|
|
||||||
if string.match(line, 'false') then
|
|
||||||
gitStatusConfig:close()
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local gitCmdStatusConfig = io.popen("git --no-pager config cmder.cmdstatus 2>nul")
|
|
||||||
for line in gitCmdStatusConfig:lines() do
|
|
||||||
if string.match(line, 'false') then
|
|
||||||
gitCmdStatusConfig:close()
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
gitStatusConfig:close()
|
|
||||||
gitCmdStatusConfig:close()
|
|
||||||
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
|
|
||||||
local function git_prompt_filter()
|
local function git_prompt_filter()
|
||||||
|
|
||||||
-- Don't do any git processing if the prompt doesn't want to show git info.
|
-- Don't do any git processing if the prompt doesn't want to show git info.
|
||||||
@ -477,7 +491,6 @@ local function git_prompt_filter()
|
|||||||
|
|
||||||
local git_dir = get_git_dir()
|
local git_dir = get_git_dir()
|
||||||
local color
|
local color
|
||||||
cmderGitStatusOptIn = get_git_status_setting()
|
|
||||||
if git_dir then
|
if git_dir then
|
||||||
local branch = get_git_branch(git_dir)
|
local branch = get_git_branch(git_dir)
|
||||||
if branch then
|
if branch then
|
||||||
@ -487,28 +500,25 @@ local function git_prompt_filter()
|
|||||||
cached_info.git_dir = git_dir
|
cached_info.git_dir = git_dir
|
||||||
cached_info.git_branch = branch
|
cached_info.git_branch = branch
|
||||||
end
|
end
|
||||||
-- Use git status if allowed.
|
|
||||||
if cmderGitStatusOptIn then
|
|
||||||
-- if we're inside of git repo then try to detect current branch
|
|
||||||
-- Has branch => therefore it is a git folder, now figure out status
|
|
||||||
local gitInfo = get_git_info_table()
|
|
||||||
local gitStatus = gitInfo.status
|
|
||||||
local gitConflict = gitInfo.conflict
|
|
||||||
|
|
||||||
if gitStatus == nil then
|
-- If we're inside of git repo then try to detect current branch
|
||||||
color = colors.nostatus
|
-- Has branch => therefore it is a git folder, now figure out status
|
||||||
elseif gitStatus then
|
local gitInfo = get_git_info_table()
|
||||||
color = colors.clean
|
local gitStatus = gitInfo.status
|
||||||
else
|
local gitConflict = gitInfo.conflict
|
||||||
color = colors.dirty
|
|
||||||
end
|
|
||||||
|
|
||||||
if gitConflict then
|
if gitStatus == nil then
|
||||||
color = colors.conflict
|
|
||||||
end
|
|
||||||
else
|
|
||||||
color = colors.nostatus
|
color = colors.nostatus
|
||||||
|
elseif gitStatus then
|
||||||
|
color = colors.clean
|
||||||
|
else
|
||||||
|
color = colors.dirty
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if gitConflict then
|
||||||
|
color = colors.conflict
|
||||||
|
end
|
||||||
|
|
||||||
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", " "..color.."("..verbatim(branch)..")")
|
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", " "..color.."("..verbatim(branch)..")")
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
6
vendor/clink_settings.default
vendored
6
vendor/clink_settings.default
vendored
@ -8,15 +8,15 @@ history.expand_mode = not_dquoted
|
|||||||
|
|
||||||
# name: Skip adding lines prefixed with whitespace
|
# name: Skip adding lines prefixed with whitespace
|
||||||
# type: boolean
|
# type: boolean
|
||||||
history.ignore_space = False
|
history.ignore_space = True
|
||||||
|
|
||||||
# name: The number of history lines to save
|
# name: The number of history lines to save
|
||||||
# type: integer
|
# type: integer
|
||||||
history.max_lines = 10000
|
history.max_lines = 25000
|
||||||
|
|
||||||
# name: Share history between instances
|
# name: Share history between instances
|
||||||
# type: boolean
|
# type: boolean
|
||||||
history.shared = True
|
history.shared = False
|
||||||
|
|
||||||
# name: Auto-answer terminate prompt
|
# name: Auto-answer terminate prompt
|
||||||
# type: enum
|
# type: enum
|
||||||
|
6
vendor/cmder.sh
vendored
6
vendor/cmder.sh
vendored
@ -33,11 +33,11 @@ CMDER_ROOT=$(echo $CMDER_ROOT | sed 's:/*$::')
|
|||||||
|
|
||||||
export CMDER_ROOT
|
export CMDER_ROOT
|
||||||
|
|
||||||
if [ -d "/c/Program Files/Git" ] ; then
|
if [ -f "/c/Program Files/Git/cmd/git.exe" ] ; then
|
||||||
GIT_INSTALL_ROOT="/c/Program Files/Git"
|
GIT_INSTALL_ROOT="/c/Program Files/Git"
|
||||||
elif [ -d "/c/Program Files(x86)/Git" ] ; then
|
elif [ -f "/c/Program Files(x86)/Git/cmd/git.exe" ] ; then
|
||||||
GIT_INSTALL_ROOT="/c/Program Files(x86)/Git"
|
GIT_INSTALL_ROOT="/c/Program Files(x86)/Git"
|
||||||
elif [ -d "${CMDER_ROOT}/vendor/git-for-windows" ] ; then
|
elif [ -f "${CMDER_ROOT}/vendor/git-for-windows/cmd/git.exe" ] ; then
|
||||||
GIT_INSTALL_ROOT=${CMDER_ROOT}/vendor/git-for-windows
|
GIT_INSTALL_ROOT=${CMDER_ROOT}/vendor/git-for-windows
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
39
vendor/init.bat
vendored
39
vendor/init.bat
vendored
@ -148,7 +148,7 @@ if defined CMDER_USER_CONFIG (
|
|||||||
)
|
)
|
||||||
|
|
||||||
if not "%CMDER_SHELL%" == "cmd" (
|
if not "%CMDER_SHELL%" == "cmd" (
|
||||||
%print_warning% "Incompatible 'ComSpec/Shell' Detetected: %CMDER_SHELL%"
|
%print_warning% "Incompatible 'ComSpec/Shell' Detected: %CMDER_SHELL%"
|
||||||
set CMDER_CLINK=0
|
set CMDER_CLINK=0
|
||||||
set CMDER_ALIASES=0
|
set CMDER_ALIASES=0
|
||||||
)
|
)
|
||||||
@ -161,16 +161,24 @@ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
|||||||
set clink_architecture=x64
|
set clink_architecture=x64
|
||||||
set architecture_bits=64
|
set architecture_bits=64
|
||||||
) else (
|
) else (
|
||||||
%print_warning% "Incompatible Processor Detetected: %PROCESSOR_ARCHITECTURE%"
|
%print_warning% "Incompatible Processor Detected: %PROCESSOR_ARCHITECTURE%"
|
||||||
set CMDER_CLINK=0
|
set CMDER_CLINK=0
|
||||||
)
|
)
|
||||||
|
|
||||||
if "%CMDER_CLINK%" == "1" (
|
if "%CMDER_CLINK%" == "1" (
|
||||||
|
REM TODO: If clink is already injected, goto :CLINK_FINISH
|
||||||
|
goto :INJECT_CLINK
|
||||||
|
)
|
||||||
|
|
||||||
|
goto :SKIP_CLINK
|
||||||
|
|
||||||
|
:INJECT_CLINK
|
||||||
%print_verbose% "Injecting Clink!"
|
%print_verbose% "Injecting Clink!"
|
||||||
|
|
||||||
:: Check if Clink is not present
|
:: Check if Clink is not present
|
||||||
if not exist "%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" (
|
if not exist "%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" (
|
||||||
%print_error% "Clink executable is not present in 'vendor\clink\clink_%clink_architecture%.exe'"
|
%print_error% "Clink executable is not present in 'vendor\clink\clink_%clink_architecture%.exe'"
|
||||||
|
goto :SKIP_CLINK
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Run Clink
|
:: Run Clink
|
||||||
@ -185,7 +193,7 @@ if "%CMDER_CLINK%" == "1" (
|
|||||||
copy "%CMDER_ROOT%\vendor\cmder_prompt_config.lua.default" "%CMDER_CONFIG_DIR%\cmder_prompt_config.lua"
|
copy "%CMDER_ROOT%\vendor\cmder_prompt_config.lua.default" "%CMDER_CONFIG_DIR%\cmder_prompt_config.lua"
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Cleanup lagacy Clink Settings file
|
:: Cleanup legacy Clink Settings file
|
||||||
if exist "%CMDER_CONFIG_DIR%\settings" if exist "%CMDER_CONFIG_DIR%\clink_settings" (
|
if exist "%CMDER_CONFIG_DIR%\settings" if exist "%CMDER_CONFIG_DIR%\clink_settings" (
|
||||||
del "%CMDER_CONFIG_DIR%\settings"
|
del "%CMDER_CONFIG_DIR%\settings"
|
||||||
)
|
)
|
||||||
@ -198,9 +206,12 @@ if "%CMDER_CLINK%" == "1" (
|
|||||||
"%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" inject --quiet --profile "%CMDER_CONFIG_DIR%" --scripts "%CMDER_ROOT%\vendor"
|
"%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" inject --quiet --profile "%CMDER_CONFIG_DIR%" --scripts "%CMDER_ROOT%\vendor"
|
||||||
|
|
||||||
if errorlevel 1 (
|
if errorlevel 1 (
|
||||||
%print_error% "Clink initilization has failed with error code: %errorlevel%"
|
%print_error% "Clink initialization has failed with error code: %errorlevel%"
|
||||||
)
|
)
|
||||||
) else (
|
|
||||||
|
goto :CLINK_FINISH
|
||||||
|
|
||||||
|
:SKIP_CLINK
|
||||||
%print_warning% "Skipping Clink Injection!"
|
%print_warning% "Skipping Clink Injection!"
|
||||||
|
|
||||||
for /f "tokens=2 delims=:." %%x in ('chcp') do set cp=%%x
|
for /f "tokens=2 delims=:." %%x in ('chcp') do set cp=%%x
|
||||||
@ -210,7 +221,8 @@ if "%CMDER_CLINK%" == "1" (
|
|||||||
prompt $E[1;32;49m$P$S$_$E[1;30;49mλ$S$E[0m
|
prompt $E[1;32;49m$P$S$_$E[1;30;49mλ$S$E[0m
|
||||||
|
|
||||||
chcp %cp%>nul
|
chcp %cp%>nul
|
||||||
)
|
|
||||||
|
:CLINK_FINISH
|
||||||
|
|
||||||
if "%CMDER_CONFIGURED%" GTR "1" (
|
if "%CMDER_CONFIGURED%" GTR "1" (
|
||||||
%print_verbose% "Cmder is already configured, skipping Cmder Init!"
|
%print_verbose% "Cmder is already configured, skipping Cmder Init!"
|
||||||
@ -237,6 +249,13 @@ if defined GIT_INSTALL_ROOT (
|
|||||||
%print_debug% init.bat "Skipping Git Auto-Detect!"
|
%print_debug% init.bat "Skipping Git Auto-Detect!"
|
||||||
goto :VENDORED_GIT
|
goto :VENDORED_GIT
|
||||||
)
|
)
|
||||||
|
|
||||||
|
%print_debug% init.bat "Fast init is enabled, vendored Git does not exist"
|
||||||
|
for /F "delims=" %%F in ('where git.exe 2^>nul') do (
|
||||||
|
set "EXT_GIT_EXE=%%~fF"
|
||||||
|
%print_debug% init.bat "Found User installed Git at '%%~fF'. Skipping Git Auto-Detect!"
|
||||||
|
goto :SET_ENV
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
%print_debug% init.bat "Looking for Git install root..."
|
%print_debug% init.bat "Looking for Git install root..."
|
||||||
@ -309,6 +328,8 @@ if %nix_tools% geq 1 (
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
:SET_ENV
|
||||||
|
|
||||||
:: Plink (PuTTY Link) is a command-line connection tool similar to ssh, setting its protocol to ssh
|
:: Plink (PuTTY Link) is a command-line connection tool similar to ssh, setting its protocol to ssh
|
||||||
set PLINK_PROTOCOL=ssh
|
set PLINK_PROTOCOL=ssh
|
||||||
|
|
||||||
@ -316,6 +337,12 @@ set PLINK_PROTOCOL=ssh
|
|||||||
if not defined SVN_SSH set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe"
|
if not defined SVN_SSH set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe"
|
||||||
|
|
||||||
:: Find locale.exe: From the git install root, from the path, using the git installed env, or fallback using the env from the path.
|
:: Find locale.exe: From the git install root, from the path, using the git installed env, or fallback using the env from the path.
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
if not defined git_locale if defined EXT_GIT_EXE (
|
||||||
|
set "GIT_INSTALL_ROOT=!EXT_GIT_EXE:\cmd\git.exe=!"
|
||||||
|
)
|
||||||
|
endlocal && set GIT_INSTALL_ROOT=%GIT_INSTALL_ROOT%
|
||||||
|
|
||||||
if not defined git_locale if exist "%GIT_INSTALL_ROOT%\usr\bin\locale.exe" set git_locale="%GIT_INSTALL_ROOT%\usr\bin\locale.exe"
|
if not defined git_locale if exist "%GIT_INSTALL_ROOT%\usr\bin\locale.exe" set git_locale="%GIT_INSTALL_ROOT%\usr\bin\locale.exe"
|
||||||
if not defined git_locale for /F "tokens=* delims=" %%F in ('where locale.exe 2^>nul') do ( if not defined git_locale set git_locale="%%F" )
|
if not defined git_locale for /F "tokens=* delims=" %%F in ('where locale.exe 2^>nul') do ( if not defined git_locale set git_locale="%%F" )
|
||||||
if not defined git_locale if exist "%GIT_INSTALL_ROOT%\usr\bin\env.exe" set git_locale="%GIT_INSTALL_ROOT%\usr\bin\env.exe" /usr/bin/locale
|
if not defined git_locale if exist "%GIT_INSTALL_ROOT%\usr\bin\env.exe" set git_locale="%GIT_INSTALL_ROOT%\usr\bin\env.exe" /usr/bin/locale
|
||||||
|
2
vendor/lib/lib_console.cmd
vendored
2
vendor/lib/lib_console.cmd
vendored
@ -40,7 +40,7 @@ exit /b
|
|||||||
:::.
|
:::.
|
||||||
:::-------------------------------------------------------------------------------
|
:::-------------------------------------------------------------------------------
|
||||||
|
|
||||||
if %debug_output% gtr 0 echo DEBUG(%~1): %~2 & echo.
|
if %debug_output% gtr 0 echo %time% DEBUG(%~1): %~2 & echo.
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
:verbose_output
|
:verbose_output
|
||||||
|
17
vendor/profile.ps1
vendored
17
vendor/profile.ps1
vendored
@ -5,7 +5,7 @@
|
|||||||
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
||||||
# !!! Use "%CMDER_ROOT%\config\user_profile.ps1" to add your own startup commands
|
# !!! Use "%CMDER_ROOT%\config\user_profile.ps1" to add your own startup commands
|
||||||
|
|
||||||
$CMDER_INIT_START = $(Get-Date -UFormat %s)
|
$CMDER_INIT_START = Get-Date
|
||||||
|
|
||||||
# Compatibility with PS major versions <= 2
|
# Compatibility with PS major versions <= 2
|
||||||
if (!$PSScriptRoot) {
|
if (!$PSScriptRoot) {
|
||||||
@ -123,11 +123,11 @@ if (-not (Test-Path -PathType container "$ENV:CMDER_ROOT\config\profile.d")) {
|
|||||||
|
|
||||||
Push-Location $ENV:CMDER_ROOT\config\profile.d
|
Push-Location $ENV:CMDER_ROOT\config\profile.d
|
||||||
foreach ($x in Get-ChildItem *.psm1) {
|
foreach ($x in Get-ChildItem *.psm1) {
|
||||||
Write-Verbose Write-Host Sourcing $x
|
Write-Verbose "Sourcing $x"
|
||||||
Import-Module $x
|
Import-Module $x
|
||||||
}
|
}
|
||||||
foreach ($x in Get-ChildItem *.ps1) {
|
foreach ($x in Get-ChildItem *.ps1) {
|
||||||
Write-Verbose Write-Host Sourcing $x
|
Write-Verbose "Sourcing $x"
|
||||||
. $x
|
. $x
|
||||||
}
|
}
|
||||||
Pop-Location
|
Pop-Location
|
||||||
@ -137,11 +137,11 @@ Pop-Location
|
|||||||
if ($ENV:CMDER_USER_CONFIG -ne "" -and (Test-Path "$ENV:CMDER_USER_CONFIG\profile.d")) {
|
if ($ENV:CMDER_USER_CONFIG -ne "" -and (Test-Path "$ENV:CMDER_USER_CONFIG\profile.d")) {
|
||||||
Push-Location $ENV:CMDER_USER_CONFIG\profile.d
|
Push-Location $ENV:CMDER_USER_CONFIG\profile.d
|
||||||
foreach ($x in Get-ChildItem *.psm1) {
|
foreach ($x in Get-ChildItem *.psm1) {
|
||||||
Write-Verbose Write-Host Sourcing $x
|
Write-Verbose "Sourcing $x"
|
||||||
Import-Module $x
|
Import-Module $x
|
||||||
}
|
}
|
||||||
foreach ($x in Get-ChildItem *.ps1) {
|
foreach ($x in Get-ChildItem *.ps1) {
|
||||||
Write-Verbose Write-Host Sourcing $x
|
Write-Verbose "Sourcing $x"
|
||||||
. $x
|
. $x
|
||||||
}
|
}
|
||||||
Pop-Location
|
Pop-Location
|
||||||
@ -224,5 +224,8 @@ if ( $(Get-Command prompt).Definition -match 'PS \$\(\$executionContext.SessionS
|
|||||||
Set-Item -Path function:\prompt -Value $Prompt -Options ReadOnly
|
Set-Item -Path function:\prompt -Value $Prompt -Options ReadOnly
|
||||||
}
|
}
|
||||||
|
|
||||||
$CMDER_INIT_END = $(Get-Date -UFormat %s)
|
$CMDER_INIT_END = Get-Date
|
||||||
Write-Verbose "Elapsed Time: $(get-Date) `($($CMDER_INIT_END - $CMDER_INIT_START) total`)"
|
|
||||||
|
$ElapsedTime = New-TimeSpan -Start $CMDER_INIT_START -End $CMDER_INIT_END
|
||||||
|
|
||||||
|
Write-Verbose "Elapsed Time: $($ElapsedTime.TotalSeconds) seconds total"
|
||||||
|
16
vendor/sources.json
vendored
16
vendor/sources.json
vendored
@ -1,22 +1,22 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "git-for-windows",
|
"name": "git-for-windows",
|
||||||
"version": "2.38.1.windows.1",
|
"version": "2.40.0.windows.1",
|
||||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.38.1.windows.1/PortableGit-2.38.1-64-bit.7z.exe"
|
"url": "https://github.com/git-for-windows/git/releases/download/v2.40.0.windows.1/PortableGit-2.40.0-64-bit.7z.exe"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink",
|
"name": "clink",
|
||||||
"version": "1.3.51",
|
"version": "1.4.23",
|
||||||
"url": "https://github.com/chrisant996/clink/releases/download/v1.3.51/clink.1.3.51.28dd7d.zip"
|
"url": "https://github.com/chrisant996/clink/releases/download/v1.4.23/clink.1.4.23.5fc3fc.zip"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "conemu-maximus5",
|
"name": "conemu-maximus5",
|
||||||
"version": "22.08.07",
|
"version": "22.12.18",
|
||||||
"url": "https://github.com/Maximus5/ConEmu/releases/download/v22.08.07/ConEmuPack.220807.7z"
|
"url": "https://github.com/Maximus5/ConEmu/releases/download/v22.12.18/ConEmuPack.221218.7z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clink-completions",
|
"name": "clink-completions",
|
||||||
"version": "0.4.1",
|
"version": "0.4.7",
|
||||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/0.4.1.zip"
|
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/v0.4.7.zip"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user