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

Abierto
#5,070 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
30/100
Tipo de issue
Documentación
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
csharp

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
C#
Estrellas
4.4k
Forks
341
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PowerShell/PSReadLine

Todos los issues de PowerShell/PSReadLine

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.