From a4ea326a62a4e85a47f447746e0c00aa24b96ddc Mon Sep 17 00:00:00 2001 From: daxgames Date: Wed, 19 Apr 2023 13:44:11 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Update=20dependencies?= =?UTF-8?q?=20(git-for-windows=20v2.40.0.windows.1,=20clink=20v1.4.24,=20c?= =?UTF-8?q?link-completions=20v0.4.7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vendor/sources.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/vendor/sources.json b/vendor/sources.json index f4c3c3384..00f83786b 100644 --- a/vendor/sources.json +++ b/vendor/sources.json @@ -1,13 +1,13 @@ [ { "name": "git-for-windows", - "version": "2.39.0.windows.2", - "url": "https://github.com/git-for-windows/git/releases/download/v2.39.0.windows.2/PortableGit-2.39.0.2-64-bit.7z.exe" + "version": "2.40.0.windows.1", + "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", - "version": "1.4.10", - "url": "https://github.com/chrisant996/clink/releases/download/v1.4.10/clink.1.4.10.45c041.zip" + "version": "1.4.24", + "url": "https://github.com/chrisant996/clink/releases/download/v1.4.24/clink.1.4.24.688975.zip" }, { "name": "conemu-maximus5", @@ -16,7 +16,7 @@ }, { "name": "clink-completions", - "version": "0.4.4", - "url": "https://github.com/vladimir-kotikov/clink-completions/archive/v0.4.4.zip" + "version": "0.4.7", + "url": "https://github.com/vladimir-kotikov/clink-completions/archive/v0.4.7.zip" } ] From 353604648323655e10d6df5707606fc0a65ff0d9 Mon Sep 17 00:00:00 2001 From: "Dax T. Games" Date: Tue, 4 Jul 2023 13:15:48 -0400 Subject: [PATCH 2/2] add integration scripts --- vendor/bin/add-cmderrootenvar.ps1 | 1 + vendor/bin/add-cmdertodesktop.ps1 | 36 +++++++++++ vendor/bin/add-vscodeprofile.ps1 | 39 ++++++++++++ vendor/bin/add-windowsterminalprofiles.ps1 | 74 ++++++++++++++++++++++ vendor/bin/set-shortcut.ps1 | 21 ++++++ 5 files changed, 171 insertions(+) create mode 100644 vendor/bin/add-cmderrootenvar.ps1 create mode 100644 vendor/bin/add-cmdertodesktop.ps1 create mode 100644 vendor/bin/add-vscodeprofile.ps1 create mode 100644 vendor/bin/add-windowsterminalprofiles.ps1 create mode 100644 vendor/bin/set-shortcut.ps1 diff --git a/vendor/bin/add-cmderrootenvar.ps1 b/vendor/bin/add-cmderrootenvar.ps1 new file mode 100644 index 000000000..1cef233e6 --- /dev/null +++ b/vendor/bin/add-cmderrootenvar.ps1 @@ -0,0 +1 @@ +setx cmder_root "${env:cmder_root}" diff --git a/vendor/bin/add-cmdertodesktop.ps1 b/vendor/bin/add-cmdertodesktop.ps1 new file mode 100644 index 000000000..7309cbf99 --- /dev/null +++ b/vendor/bin/add-cmdertodesktop.ps1 @@ -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}`"" +} + + diff --git a/vendor/bin/add-vscodeprofile.ps1 b/vendor/bin/add-vscodeprofile.ps1 new file mode 100644 index 000000000..c2342e89d --- /dev/null +++ b/vendor/bin/add-vscodeprofile.ps1 @@ -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 + + diff --git a/vendor/bin/add-windowsterminalprofiles.ps1 b/vendor/bin/add-windowsterminalprofiles.ps1 new file mode 100644 index 000000000..945a92a96 --- /dev/null +++ b/vendor/bin/add-windowsterminalprofiles.ps1 @@ -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!" +} + diff --git a/vendor/bin/set-shortcut.ps1 b/vendor/bin/set-shortcut.ps1 new file mode 100644 index 000000000..7e0a8e952 --- /dev/null +++ b/vendor/bin/set-shortcut.ps1 @@ -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()