Merge key mapping with key bindings #715
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Depends on #713
Fourth step of #708
Combines KeyActor::XXX_MAPPING(single byte to method symbol) with key_bindings(escape sequence to method symbol)
This will simplifies implementation of keys. Keyseq timeout waiting behavior becomes more similar to Readline.
We can remove
key.instance_of?(String)
check.Reline::Key structure will be simple.
Future refactor
Key can contain string.
This means we can assign bracketed-pasted string to a key.
bracketed_paste
andquoted_insert
will be simple.Simplifies bracketed-paste and completion handling, undo-redo handling. Simplifies quoted_insert waiting_proc mechanism and fixes bug.
Implementing compress-meta will be significantly easy.