From 107c95797f59c670880b2b389f0b526d8c8db1bc Mon Sep 17 00:00:00 2001 From: Markus Fleschutz Date: Sun, 9 Mar 2025 10:52:31 +0100 Subject: [PATCH] Added support for Helix --- scripts/edit.ps1 | 49 ++++++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/scripts/edit.ps1 b/scripts/edit.ps1 index fa7d9f8d..d605189f 100755 --- a/scripts/edit.ps1 +++ b/scripts/edit.ps1 @@ -2,9 +2,10 @@ .SYNOPSIS Opens a text editor .DESCRIPTION - This PowerShell script opens a text editor with the given text file. + This PowerShell script opens the installed text editor with the given text file. + Supported are: Emacs, Helix, pico, nano, neovim, Notepad, vi, vim, and Wordpad. .PARAMETER path - Specifies the path to the text file (will be queried if none given) + Specifies the path to the text file (default is to query the user to specify it) .EXAMPLE PS> ./edit.ps1 C:\MyDiary.txt .LINK @@ -17,35 +18,25 @@ param([string]$path = "") function TryEditor { param([string]$editor, [string]$path) try { - Write-Host "$editor.." -noNewline + Write-Host "$editor..." -noNewline & $editor "$path" - if ($lastExitCode -ne 0) { - "⚠️ Can't execute '$editor' - make sure it's installed and available" - exit 1 - } + if ($lastExitCode -ne 0) { "⚠️ Can't execute '$editor' - make sure it's installed and available"; exit 1 } exit 0 # success - } catch { - return - } + } catch { return } } -try { - if ($path -eq "" ) { $path = Read-Host "Enter the path to the text file" } +if ($path -eq "" ) { $path = Read-Host "Enter the path to the text file" } +Write-Host "Trying to open '$path' by " -noNewline +TryEditor "neovim" $path +TryEditor "vim" $path +TryEditor "vi" $path +TryEditor "nano" $path +TryEditor "pico" $path +TryEditor "hx" $path +TryEditor "emacs" $path +TryEditor "notepad.exe" $path +TryEditor "wordpad.exe" $path +Write-Host "" - Write-Host "Searching for " -noNewline - TryEditor "neovim" $path - TryEditor "vim" $path - TryEditor "vi" $path - TryEditor "nano" $path - TryEditor "pico" $path - TryEditor "emacs" $path - TryEditor "notepad.exe" $path - TryEditor "wordpad.exe" $path - Write-Host "" - - throw "No text editor found - use 'winget install' to install your favorite text editor." - exit 0 # success -} catch { - "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" - exit 1 -} +"⚠️ Sorry, no text editor found. Please install your favorite one (e.g. by executing 'winget install helix.helix')." +exit 1 \ No newline at end of file