Placeholders are substituted twice for stored commands

Offen Anfängerfreundlich
#46 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
79/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
lua
Bereich
cli, tooling

Rechercherichtung

Lies den in #44 hinzugefügten set_task_command, run_task, Verlaufsselektor und Dateinamencheck. Verfolge, wo gespeicherte Befehle und einmalige Befehle eine Platzhalterersetzung erhalten, und prüfe dann den Befehlspfad des Verlaufsselektors. Fertig ist es, wenn gespeicherte Befehle nur einmal ersetzt werden, einmalige Befehle weiterhin funktionieren und Dateinamen mit $E_FN akzeptiert werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

A command that uses $E_FN is filled in when it is set (set_task_command), and then searched for $E_FN again when it runs (run_task). The history picker also passes an already filled-in command back through set_task_command.

For normal filenames the second pass finds nothing. If the filename itself contains the text $E_FN, the second pass replaces it again and produces a broken command. For example, a file named test_$E_FN.js would run echo 'test_'test_$E_FN.js'.js' instead of echo 'test_$E_FN.js'.

Since #44, such filenames are rejected with an error, so this cannot produce a broken or unsafe command. The proper fix is to fill in placeholders only once:

  • run_task substitutes placeholders only for one-off commands; a stored command is already filled in.
  • The history picker stores the chosen entry directly instead of passing it through set_task_command again.

Once that is done, the filename check added in #44 can be removed.

Vorherrschende Sprache
Lua
Sterne
161
Forks
12
Ø Merge
25 Min.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus google/executor.nvim

Alle Issues in google/executor.nvim

Ähnliche Issues

Weitere Issues zu Lua

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.