Consider using a default editor for the `ViEditVisually` function and / or issue a warning if the `$env:VISUAL` / `$env:EDITOR` value is invalid.
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
Research direction
Start by tracing the ViEditVisually function and how it resolves $env:VISUAL and $env:EDITOR. Define behavior for missing or invalid values, including platform-specific default editors and synchronous Windows invocation; done means users receive feedback instead of only a beep and the chosen editor behavior is covered by relevant tests.
Written by the indexing model from the issue text.
Description
Prerequisites
- Write a descriptive title.
Description of the new feature/enhancement
Currently, invoking the ViEditVisually function fails with no feedback other than a beep:
- if neither
$env:VISUALno$env:EDITORare defined. - If either variable exists, but contains an invalid value (notably including the case where options are part of the value - see https://github.com/PowerShell/PowerShell/issues/21525).
Consider modifying the behavior as follows, which would not only be more user-friendly in general, but also align with the behavior of other utilities, such as bash and git:
-
Use a default editor if neither
$env:VISUALno$env:EDITORare defined - and issue a warning if it cannot be found.- A possible candidate on Unix-like platform is
vi(this is whatgitdoes, though on some platforms it hasgeditas the compiled-in default) - On Windows, Notepad would do as a guaranteed-to-be-present option, though that would require invocation via
Start-Process -Wait(or equivalent) to ensure synchronous execution. Note that if a given machine has Git for Windows installed,nanoandvimare present (but not in$env:PATH), via$env:ProgramFiles\Git\usr\bin\nano.exeand$env:ProgramFiles\Git\usr\bin\vim.exe
- A possible candidate on Unix-like platform is
-
Issue a warning if the effective
$env:VISUAL/$env:EDITORvalue isn't valid; ditto, should the decision be made not to implement use of a default editor and neither$env:VISUALnor$env:EDITORis defined.
Proposed technical implementation details (optional)
No response
- Dominant language
- C#
- Stars
- 4.4k
- Forks
- 341
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PowerShell/PSReadLine
-
Needs-Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PowerShell/PSReadLine#5205 ·
-
Needs-Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
PowerShell/PSReadLine#5195 ·
-
Needs-Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PowerShell/PSReadLine#5121 ·
-
Needs-Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
PowerShell/PSReadLine#5045 ·
-
Area-CommandHelp Issue-Enhancement
Difficulty 1/5 Under an hour Newbie friendliness 68/100
PowerShell/PSReadLine#3470 · 3 reactions ·
All issues in PowerShell/PSReadLine
Similar issues
-
bug documentation frontend
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
azurenoops/spin_agent#975 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SubtitleEdit/subtitleedit#15108 · 1 comment ·
-
area/docs-content Bug pulumi/docs
Difficulty 1/5 1-3 hours Newbie friendliness 94/100