mirror of
https://github.com/cmderdev/cmder.git
synced 2025-07-17 04:59:09 +08:00
Compare commits
56 Commits
Author | SHA1 | Date | |
---|---|---|---|
5e219fe34e | |||
9be28807cb | |||
e2168a361c | |||
7542376213 | |||
e9750ab73d | |||
59e14a1783 | |||
34f2aabb8e | |||
845720e25a | |||
55676399d5 | |||
48e4dff882 | |||
a605ec520d | |||
5fab87f4d6 | |||
c9153c96bf | |||
74381ecd19 | |||
8d39f79a90 | |||
7b880efda4 | |||
4aefd0bb71 | |||
7daeb465e8 | |||
23488fcbb2 | |||
d838f861af | |||
d80202c791 | |||
73034f9e31 | |||
8875f77573 | |||
1d1e815c91 | |||
36ad85c7b7 | |||
bbb50f99f8 | |||
4efbe0bd62 | |||
476fd2d324 | |||
b3af7c3983 | |||
d82fece61e | |||
6bd2e260f0 | |||
c9d2b33792 | |||
9e87f375f1 | |||
84262c4476 | |||
0b01ea6f63 | |||
af6472cb57 | |||
fd12ece9af | |||
b5ae5eb711 | |||
c9e872e826 | |||
f99480fd49 | |||
834940cddb | |||
5135370ec1 | |||
92a3c9c215 | |||
f22943212b | |||
dc2bc9bda7 | |||
a03ad615f1 | |||
8b3f38ad21 | |||
9e55c48200 | |||
3b6e1cbf5f | |||
e1bf703f50 | |||
2e9b512102 | |||
9bbc97c981 | |||
4766425ad3 | |||
470808838f | |||
328f4b3073 | |||
691addb95c |
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
|
18
.github/workflows/build.yml
vendored
18
.github/workflows/build.yml
vendored
@ -8,6 +8,8 @@ name: Build Cmder
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
tags:
|
||||
- "v*"
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
|
||||
@ -28,7 +30,9 @@ jobs:
|
||||
build:
|
||||
name: Build Project
|
||||
runs-on: windows-latest
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
discussions: write
|
||||
steps:
|
||||
- name: Check out repository code (Action from GitHub)
|
||||
uses: actions/checkout@v3
|
||||
@ -72,3 +76,15 @@ jobs:
|
||||
with:
|
||||
path: build/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}}"
|
2
.github/workflows/vendor.yml
vendored
2
.github/workflows/vendor.yml
vendored
@ -51,7 +51,7 @@ jobs:
|
||||
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
|
||||
|
||||
- uses: peter-evans/create-pull-request@v4
|
||||
- uses: peter-evans/create-pull-request@v5
|
||||
if: env.COUNT_UPDATED > 0
|
||||
with:
|
||||
title: 'Updates to `${{ env.COUNT_UPDATED }}` vendored dependencies'
|
||||
|
60
appveyor.yml
60
appveyor.yml
@ -1,60 +0,0 @@
|
||||
#---------------------------------#
|
||||
# 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
|
@ -425,11 +425,6 @@ void StartCmder(std::wstring path = L"", bool is_single_mode = false, std::wstr
|
||||
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""))
|
||||
{
|
||||
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());
|
||||
}
|
||||
|
||||
// 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);
|
||||
if (wcscmp(userConfigDirPath, configDirPath) != 0)
|
||||
{
|
||||
|
@ -104,7 +104,7 @@ function Fetch-DownloadUrl {
|
||||
|
||||
$headers = @{}
|
||||
|
||||
if ($($env:GITHUB_TOKEN)) {
|
||||
if ($env:GITHUB_TOKEN) {
|
||||
$headers["Authorization"] = "token $($env:GITHUB_TOKEN)"
|
||||
}
|
||||
|
||||
|
123
vendor/clink.lua
vendored
123
vendor/clink.lua
vendored
@ -3,7 +3,12 @@
|
||||
-- !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
||||
-- !!! Use "%CMDER_ROOT%\config\<whatever>.lua" to add your lua startup scripts
|
||||
|
||||
-- luacheck: globals clink
|
||||
-- luacheck: globals CMDER_SESSION
|
||||
-- luacheck: globals uah_color cwd_color lamb_color clean_color dirty_color conflict_color unknown_color
|
||||
-- luacheck: globals prompt_homeSymbol prompt_lambSymbol prompt_type prompt_useHomeSymbol prompt_useUserAtHost
|
||||
-- luacheck: globals prompt_singleLine prompt_includeVersionControl
|
||||
-- luacheck: globals prompt_overrideGitStatusOptIn prompt_overrideSvnStatusOptIn
|
||||
-- luacheck: globals clink io.popenyield os.isdir settings.get
|
||||
|
||||
-- At first, load the original clink.lua file
|
||||
-- this is needed as we set the script path to this dir and therefore the original
|
||||
@ -151,12 +156,12 @@ local function set_prompt_filter()
|
||||
cwd = string.gsub(cwd, clink.get_env("HOME"), prompt_homeSymbol)
|
||||
end
|
||||
|
||||
uah = ''
|
||||
local uah = ''
|
||||
if prompt_useUserAtHost then
|
||||
uah = clink.get_env("USERNAME") .. "@" .. clink.get_env("COMPUTERNAME") .. ' '
|
||||
end
|
||||
|
||||
cr = "\n"
|
||||
local cr = "\n"
|
||||
if prompt_singleLine then
|
||||
cr = ' '
|
||||
end
|
||||
@ -170,7 +175,7 @@ local function set_prompt_filter()
|
||||
|
||||
local version_control = prompt_includeVersionControl and "{git}{hg}{svn}" or ""
|
||||
|
||||
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 = string.gsub(prompt, "{cwd}", cwd)
|
||||
prompt = string.gsub(prompt, "{env}", env)
|
||||
@ -191,7 +196,7 @@ end
|
||||
local function get_dir_contains(path, dirname)
|
||||
|
||||
-- return parent path for specified entry (either file or directory)
|
||||
local function pathname(path)
|
||||
local function pathname(path) -- luacheck: ignore 432
|
||||
local prefix = ""
|
||||
local i = path:find("[\\/:][^\\/:]*$")
|
||||
if i then
|
||||
@ -201,14 +206,14 @@ local function get_dir_contains(path, dirname)
|
||||
end
|
||||
|
||||
-- Navigates up one level
|
||||
local function up_one_level(path)
|
||||
local function up_one_level(path) -- luacheck: ignore 432
|
||||
if path == nil then path = '.' end
|
||||
if path == '.' then path = clink.get_cwd() end
|
||||
return pathname(path)
|
||||
end
|
||||
|
||||
-- Checks if provided directory contains git directory
|
||||
local function has_specified_dir(path, specified_dir)
|
||||
local function has_specified_dir(path, specified_dir) -- luacheck: ignore 432
|
||||
if path == nil then path = '.' end
|
||||
local found_dirs = clink.find_dirs(path..'/'..specified_dir)
|
||||
if #found_dirs > 0 then return true end
|
||||
@ -236,7 +241,7 @@ end
|
||||
local function get_git_dir(path)
|
||||
|
||||
-- return parent path for specified entry (either file or directory)
|
||||
local function pathname(path)
|
||||
local function pathname(path) -- luacheck: ignore 432
|
||||
local prefix = ""
|
||||
local i = path:find("[\\/:][^\\/:]*$")
|
||||
if i then
|
||||
@ -255,7 +260,8 @@ local function get_git_dir(path)
|
||||
local gitfile = io.open(dir..'/.git')
|
||||
if not gitfile then return false end
|
||||
|
||||
local git_dir = gitfile:read():match('gitdir: (.*)')
|
||||
local line = gitfile:read() or ''
|
||||
local git_dir = line:match('gitdir: (.*)')
|
||||
gitfile:close()
|
||||
|
||||
if os.isdir then -- only available in Clink v1.0.0 and higher
|
||||
@ -303,6 +309,9 @@ local function get_git_branch(git_dir)
|
||||
local HEAD = head_file:read()
|
||||
head_file:close()
|
||||
|
||||
-- If HEAD is missing, something is wrong.
|
||||
if not HEAD then return end
|
||||
|
||||
-- if HEAD matches branch expression, then we're on named branch
|
||||
-- otherwise it is a detached commit
|
||||
local branch_name = HEAD:match('ref: refs/heads/(.+)')
|
||||
@ -322,6 +331,9 @@ local function get_hg_branch()
|
||||
-- local cmd = "hg prompt \"{branch}{status}{|{patch}}{update}\""
|
||||
local cmd = "hg branch 2>nul"
|
||||
local file = io.popen(cmd)
|
||||
if not file then
|
||||
return false
|
||||
end
|
||||
|
||||
for line in file:lines() do
|
||||
local m = line:match("(.+)$")
|
||||
@ -339,8 +351,12 @@ end
|
||||
-- Find out current branch
|
||||
-- @return {false|svn branch name}
|
||||
---
|
||||
local function get_svn_branch(svn_dir)
|
||||
local function get_svn_branch()
|
||||
local file = io_popenyield("svn info 2>nul")
|
||||
if not file then
|
||||
return false
|
||||
end
|
||||
|
||||
for line in file:lines() do
|
||||
local m = line:match("^Relative URL:")
|
||||
if m then
|
||||
@ -359,12 +375,16 @@ end
|
||||
---
|
||||
local function get_git_status()
|
||||
local file = io_popenyield("git --no-optional-locks status --porcelain 2>nul")
|
||||
if not file then
|
||||
return {}
|
||||
end
|
||||
|
||||
local conflict_found = false
|
||||
local is_status = true
|
||||
for line in file:lines() do
|
||||
local code = line:sub(1, 2)
|
||||
-- print (string.format("code: %s, line: %s", code, line))
|
||||
if code == "DD" or code == "AU" or code == "UD" or code == "UA" or code == "DU" or code == "AA" or code == "UU" then
|
||||
if code == "DD" or code == "AU" or code == "UD" or code == "UA" or code == "DU" or code == "AA" or code == "UU" then -- luacheck: no max line length
|
||||
is_status = false
|
||||
conflict_found = true
|
||||
break
|
||||
@ -374,38 +394,27 @@ local function get_git_status()
|
||||
end
|
||||
end
|
||||
file:close()
|
||||
|
||||
return { status = is_status, conflict = conflict_found }
|
||||
end
|
||||
|
||||
|
||||
---
|
||||
-- Get the status of working dir
|
||||
-- @return {bool}
|
||||
---
|
||||
local function get_hg_status()
|
||||
local file = io.popen("hg status -0")
|
||||
for line in file:lines() do
|
||||
file:close()
|
||||
return false
|
||||
end
|
||||
file:close()
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
---
|
||||
-- Get the status of working dir
|
||||
-- @return {bool}
|
||||
---
|
||||
local function get_svn_status()
|
||||
local file = io_popenyield("svn status -q")
|
||||
for line in file:lines() do
|
||||
if not file then
|
||||
return { error = true }
|
||||
end
|
||||
|
||||
for line in file:lines() do -- luacheck: ignore 512, no unused
|
||||
file:close()
|
||||
return false
|
||||
return { clean = false }
|
||||
end
|
||||
file:close()
|
||||
|
||||
return true
|
||||
return { clean = true }
|
||||
end
|
||||
|
||||
---
|
||||
@ -433,24 +442,28 @@ local function get_git_status_setting()
|
||||
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
|
||||
if gitStatusConfig then
|
||||
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()
|
||||
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
|
||||
if gitCmdStatusConfig then
|
||||
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()
|
||||
end
|
||||
gitCmdStatusConfig:close()
|
||||
|
||||
last_git_status_setting = true
|
||||
return true
|
||||
@ -536,8 +549,6 @@ local function hg_prompt_filter()
|
||||
return false
|
||||
end
|
||||
|
||||
local result = ""
|
||||
|
||||
local hg_dir = get_hg_dir()
|
||||
if hg_dir then
|
||||
-- Colors for mercurial status
|
||||
@ -559,16 +570,20 @@ local function hg_prompt_filter()
|
||||
local color = colors.clean
|
||||
|
||||
local pipe = io.popen("hg status -amrd 2>&1")
|
||||
local output = pipe:read('*all')
|
||||
local rc = { pipe:close() }
|
||||
if pipe then
|
||||
output = pipe:read('*all')
|
||||
pipe:close()
|
||||
if output ~= nil and output ~= "" then color = colors.dirty end
|
||||
end
|
||||
|
||||
if output ~= nil and output ~= "" then color = colors.dirty end
|
||||
result = color .. "(" .. branch .. ")"
|
||||
local result = color .. "(" .. branch .. ")"
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", " "..verbatim(result))
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", " "..verbatim(result))
|
||||
return false
|
||||
-- No hg present or not in hg repo
|
||||
clink.prompt.value = string.gsub(clink.prompt.value, "{hg}", "")
|
||||
end
|
||||
|
||||
local function svn_prompt_filter()
|
||||
@ -589,7 +604,6 @@ local function svn_prompt_filter()
|
||||
if svn_dir then
|
||||
-- if we're inside of svn repo then try to detect current branch
|
||||
local branch = get_svn_branch()
|
||||
local color
|
||||
if branch then
|
||||
-- If in a different repo or branch than last time, discard cached info
|
||||
if cached_info.svn_dir ~= svn_dir or cached_info.svn_branch ~= branch then
|
||||
@ -599,7 +613,7 @@ local function svn_prompt_filter()
|
||||
end
|
||||
-- Get the svn status using coroutine if available and option is enabled. Otherwise use a blocking call
|
||||
local svnStatus
|
||||
if clink.promptcoroutine and io.popenyield and settings.get("prompt.async") and prompt_overrideSvnStatusOptIn then
|
||||
if clink.promptcoroutine and io.popenyield and settings.get("prompt.async") and prompt_overrideSvnStatusOptIn then -- luacheck: no max line length
|
||||
svnStatus = clink_promptcoroutine(function ()
|
||||
return get_svn_status()
|
||||
end)
|
||||
@ -613,9 +627,10 @@ local function svn_prompt_filter()
|
||||
svnStatus = get_svn_status()
|
||||
end
|
||||
|
||||
if svnStatus == nil then
|
||||
local color
|
||||
if not svnStatus or svnStatus.error then
|
||||
color = colors.nostatus
|
||||
elseif svnStatus then
|
||||
elseif svnStatus.clean then
|
||||
color = colors.clean
|
||||
else
|
||||
color = colors.dirty
|
||||
|
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
|
||||
# type: boolean
|
||||
history.ignore_space = False
|
||||
history.ignore_space = True
|
||||
|
||||
# name: The number of history lines to save
|
||||
# type: integer
|
||||
history.max_lines = 10000
|
||||
history.max_lines = 25000
|
||||
|
||||
# name: Share history between instances
|
||||
# type: boolean
|
||||
history.shared = True
|
||||
history.shared = False
|
||||
|
||||
# name: Auto-answer terminate prompt
|
||||
# type: enum
|
||||
|
50
vendor/init.bat
vendored
50
vendor/init.bat
vendored
@ -148,12 +148,13 @@ if defined CMDER_USER_CONFIG (
|
||||
)
|
||||
|
||||
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_ALIASES=0
|
||||
)
|
||||
|
||||
:: Pick right version of Clink
|
||||
:: Pick the right version of Clink
|
||||
:: TODO: Support for ARM
|
||||
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
||||
set clink_architecture=x86
|
||||
set architecture_bits=32
|
||||
@ -161,16 +162,24 @@ if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
||||
set clink_architecture=x64
|
||||
set architecture_bits=64
|
||||
) else (
|
||||
%print_warning% "Incompatible Processor Detetected: %PROCESSOR_ARCHITECTURE%"
|
||||
%print_warning% "Incompatible Processor Detected: %PROCESSOR_ARCHITECTURE%"
|
||||
set CMDER_CLINK=0
|
||||
)
|
||||
|
||||
if "%CMDER_CLINK%" == "1" (
|
||||
REM TODO: Detect if clink is already injected, if so goto :CLINK_FINISH
|
||||
goto :INJECT_CLINK
|
||||
)
|
||||
|
||||
goto :SKIP_CLINK
|
||||
|
||||
:INJECT_CLINK
|
||||
%print_verbose% "Injecting Clink!"
|
||||
|
||||
:: Check if Clink is not present
|
||||
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'"
|
||||
goto :SKIP_CLINK
|
||||
)
|
||||
|
||||
:: Run Clink
|
||||
@ -185,7 +194,7 @@ if "%CMDER_CLINK%" == "1" (
|
||||
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" (
|
||||
del "%CMDER_CONFIG_DIR%\settings"
|
||||
)
|
||||
@ -197,10 +206,15 @@ if "%CMDER_CLINK%" == "1" (
|
||||
|
||||
"%CMDER_ROOT%\vendor\clink\clink_%clink_architecture%.exe" inject --quiet --profile "%CMDER_CONFIG_DIR%" --scripts "%CMDER_ROOT%\vendor"
|
||||
|
||||
if errorlevel 1 (
|
||||
%print_error% "Clink initilization has failed with error code: %errorlevel%"
|
||||
:: Check if a fatal error occurred when trying to inject Clink
|
||||
if errorlevel 2 (
|
||||
REM %print_error% "Clink injection has failed with error code: %errorlevel%"
|
||||
goto :SKIP_CLINK
|
||||
)
|
||||
) else (
|
||||
|
||||
goto :CLINK_FINISH
|
||||
|
||||
:SKIP_CLINK
|
||||
%print_warning% "Skipping Clink Injection!"
|
||||
|
||||
for /f "tokens=2 delims=:." %%x in ('chcp') do set cp=%%x
|
||||
@ -210,7 +224,8 @@ if "%CMDER_CLINK%" == "1" (
|
||||
prompt $E[1;32;49m$P$S$_$E[1;30;49mλ$S$E[0m
|
||||
|
||||
chcp %cp%>nul
|
||||
)
|
||||
|
||||
:CLINK_FINISH
|
||||
|
||||
if "%CMDER_CONFIGURED%" GTR "1" (
|
||||
%print_verbose% "Cmder is already configured, skipping Cmder Init!"
|
||||
@ -225,8 +240,8 @@ if "%CMDER_CONFIGURED%" GTR "1" (
|
||||
:: Prepare for git-for-windows
|
||||
|
||||
:: Detect which git.exe version to use
|
||||
:: * if the users points as to a specific git, use that
|
||||
:: * test if a git is in path and if yes, use that
|
||||
:: * if the user points to a specific git, use that
|
||||
:: * test if git is in path and if yes, use that
|
||||
:: * last, use our vendored git
|
||||
:: also check that we have a recent enough version of git by examining the version string
|
||||
if defined GIT_INSTALL_ROOT (
|
||||
@ -237,6 +252,13 @@ if defined GIT_INSTALL_ROOT (
|
||||
%print_debug% init.bat "Skipping Git Auto-Detect!"
|
||||
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..."
|
||||
@ -309,6 +331,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
|
||||
set PLINK_PROTOCOL=ssh
|
||||
|
||||
@ -316,6 +340,12 @@ set PLINK_PROTOCOL=ssh
|
||||
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.
|
||||
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 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
|
||||
|
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
|
||||
|
||||
:verbose_output
|
||||
|
18
vendor/profile.ps1
vendored
18
vendor/profile.ps1
vendored
@ -5,7 +5,7 @@
|
||||
# !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
||||
# !!! 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
|
||||
if (!$PSScriptRoot) {
|
||||
@ -28,7 +28,6 @@ if (!$ENV:CMDER_ROOT) {
|
||||
# Remove trailing '\'
|
||||
$ENV:CMDER_ROOT = ($ENV:CMDER_ROOT).TrimEnd("\")
|
||||
|
||||
# Do not load bundled PsGet if a module installer is already available
|
||||
# -> recent PowerShell versions include PowerShellGet out of the box
|
||||
$moduleInstallerAvailable = [bool](Get-Command -Name 'Install-Module' -ErrorAction SilentlyContinue)
|
||||
|
||||
@ -123,11 +122,11 @@ if (-not (Test-Path -PathType container "$ENV:CMDER_ROOT\config\profile.d")) {
|
||||
|
||||
Push-Location $ENV:CMDER_ROOT\config\profile.d
|
||||
foreach ($x in Get-ChildItem *.psm1) {
|
||||
Write-Verbose Write-Host Sourcing $x
|
||||
Write-Verbose "Sourcing $x"
|
||||
Import-Module $x
|
||||
}
|
||||
foreach ($x in Get-ChildItem *.ps1) {
|
||||
Write-Verbose Write-Host Sourcing $x
|
||||
Write-Verbose "Sourcing $x"
|
||||
. $x
|
||||
}
|
||||
Pop-Location
|
||||
@ -137,11 +136,11 @@ Pop-Location
|
||||
if ($ENV:CMDER_USER_CONFIG -ne "" -and (Test-Path "$ENV:CMDER_USER_CONFIG\profile.d")) {
|
||||
Push-Location $ENV:CMDER_USER_CONFIG\profile.d
|
||||
foreach ($x in Get-ChildItem *.psm1) {
|
||||
Write-Verbose Write-Host Sourcing $x
|
||||
Write-Verbose "Sourcing $x"
|
||||
Import-Module $x
|
||||
}
|
||||
foreach ($x in Get-ChildItem *.ps1) {
|
||||
Write-Verbose Write-Host Sourcing $x
|
||||
Write-Verbose "Sourcing $x"
|
||||
. $x
|
||||
}
|
||||
Pop-Location
|
||||
@ -224,5 +223,8 @@ if ( $(Get-Command prompt).Definition -match 'PS \$\(\$executionContext.SessionS
|
||||
Set-Item -Path function:\prompt -Value $Prompt -Options ReadOnly
|
||||
}
|
||||
|
||||
$CMDER_INIT_END = $(Get-Date -UFormat %s)
|
||||
Write-Verbose "Elapsed Time: $(get-Date) `($($CMDER_INIT_END - $CMDER_INIT_START) total`)"
|
||||
$CMDER_INIT_END = Get-Date
|
||||
|
||||
$ElapsedTime = New-TimeSpan -Start $CMDER_INIT_START -End $CMDER_INIT_END
|
||||
|
||||
Write-Verbose "Elapsed Time: $($ElapsedTime.TotalSeconds) seconds total"
|
||||
|
2155
vendor/psmodules/PsGet/PsGet.psm1
vendored
2155
vendor/psmodules/PsGet/PsGet.psm1
vendored
File diff suppressed because it is too large
Load Diff
16
vendor/sources.json
vendored
16
vendor/sources.json
vendored
@ -1,22 +1,22 @@
|
||||
[
|
||||
{
|
||||
"name": "git-for-windows",
|
||||
"version": "2.39.0.windows.1",
|
||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.39.0.windows.1/PortableGit-2.39.0-64-bit.7z.exe"
|
||||
"version": "2.41.0.windows.3",
|
||||
"url": "https://github.com/git-for-windows/git/releases/download/v2.41.0.windows.3/PortableGit-2.41.0.3-64-bit.7z.exe"
|
||||
},
|
||||
{
|
||||
"name": "clink",
|
||||
"version": "1.4.4",
|
||||
"url": "https://github.com/chrisant996/clink/releases/download/v1.4.4/clink.1.4.4.7fe1ca.zip"
|
||||
"version": "1.5.1",
|
||||
"url": "https://github.com/chrisant996/clink/releases/download/v1.5.1/clink.1.5.1.1e9e51.zip"
|
||||
},
|
||||
{
|
||||
"name": "conemu-maximus5",
|
||||
"version": "22.12.18",
|
||||
"url": "https://github.com/Maximus5/ConEmu/releases/download/v22.12.18/ConEmuPack.221218.7z"
|
||||
"version": "23.07.24",
|
||||
"url": "https://github.com/Maximus5/ConEmu/releases/download/v23.07.24/ConEmuPack.230724.7z"
|
||||
},
|
||||
{
|
||||
"name": "clink-completions",
|
||||
"version": "0.4.2",
|
||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/v0.4.2.zip"
|
||||
"version": "0.4.10",
|
||||
"url": "https://github.com/vladimir-kotikov/clink-completions/archive/v0.4.10.zip"
|
||||
}
|
||||
]
|
||||
|
Reference in New Issue
Block a user