Make the ViEditVisually function more flexible by allowing $env:VISUAL / $env:EDITOR to contain an executable name *with options*

Aperta
#3,214 0 commenti 6 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
csharp, powershell
Ambito
cli

Direzione di ricerca

Start at ViEditVisually and trace how $env:VISUAL and $env:EDITOR are resolved. Verify the existing executable-only behavior, then cover command prefixes, quoted executable names, and arguments; done means VS Code-style values work without helper scripts while invalid configurations still beep.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

In-PR Issue-Enhancement Needs-Triage :mag:
Prerequisites
  • Write a descriptive title.
Description of the new feature/enhancement

Currently $env:VISUAL / $env:EDITOR may only contain an executable name or path, not also options.

However, to make your favorite editor act properly with this feature - a blocking invocation that returns control to the terminal when the window is closed - options may be required.

For instance, VSCode (Visual Studio Code) requires code --new-window --wait <file> ...

Therefore, you must currently create a helper (non-PowerShell) shell script / batch file in order to incorporate the necessary option, which is a lot of ceremony.

To address that, the interpretation of $env:VISUAL / $env:EDITOR could be extended to allow specifying a command line (prefix) as follows:

Proposed technical implementation details (optional)
  • First, as currently, see if the value as a whole refers to an executable (typically via $env:PATH) and, if so, use that.

  • If not, see if the first whitespace-separated / double-quoted token refers to an executable, and use that, passing all remaining tokens through as options (arguments).

  • If not, as currently, beep to indicate that no (valid) editor is configured.

For instance, this would allow users to set $env:VISUAL as follows for VSCode:

$env:VISUAL = 'code --new-window --wait'

Note: Git, which also respects these environment variables, already supports this.

Lingua principale
C#
Stelle
4.4k
Fork
341
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PowerShell/PSReadLine

Tutte le issue di PowerShell/PSReadLine

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.