Hello, looking for a page that describes the program flow for recognizing valid commands, for instance Vi commands

Aperta
#5,070 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
30/100
Tipo di issue
Documentazione
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
csharp
Ambito
cli, documentation

Direzione di ricerca

Start by tracing the mentioned InputLoop() and ProcessOneKey() entry points, then follow _dispatchTable and the handlers it selects. Document where Vi command state and transitions are represented, if present, and how a keypress reaches a handler. Done means a newcomer can use the page to locate the relevant code when adding or investigating a Vi command.

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

Descrizione

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

Sorry for creating an issue, but I don't know where else to ask or look. Happy to take direction.

I have made it as far as finding the entry point for accepting keypresses, in InputLoop() and ProcessOneKey() . But then things get really fuzzy for me. Something to do with _dispatchTable .

If I squint really hard, I can talk myself into believing that I can understand what the dispatch table is: an appropriate dictionary gets loaded such that the application can look up the next step for execution (the handler), where the appropriate handler is retrieved based on which key has just been pressed.

Is there some sort of formal data structure that records the state of the Vi 'finite state machine', so to speak? Or are these things handled implicitly in an ad-hoc way within they myriad handlers?

Motivation: I'm interested in enhancing or expanding the number of Vi commands that PSReadLine will recognize. I can no longer remember which command(s) I was expecting to be present but that I found were missing. But now my attention is returning to this, and I'd like to be able to at least suggest a fix, rather than just complain. But I'm completely snowed at this point. Maybe I'm closer than I think, but at this point it's not feeling like I have any grasp on where to look next.

Proposed technical implementation details (optional)

No response

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.