-
Notifications
You must be signed in to change notification settings - Fork 319
Description
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