diff options
Diffstat (limited to 'src/content/usecases')
-rw-r--r-- | src/content/usecases/KeymapUseCase.ts | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/content/usecases/KeymapUseCase.ts b/src/content/usecases/KeymapUseCase.ts index 074de72..7aa7e92 100644 --- a/src/content/usecases/KeymapUseCase.ts +++ b/src/content/usecases/KeymapUseCase.ts @@ -39,16 +39,16 @@ export default class KeymapUseCase { nextOps(key: Key): { repeat: number, op: operations.Operation } | null { const sequence = this.repository.enqueueKey(key); const baseSequence = sequence.trimNumericPrefix(); + const keymaps = this.keymapEntityMap(); + const matched = keymaps.filter(([seq]) => seq.startsWith(sequence)); + const baseMatched = keymaps.filter(([seq]) => seq.startsWith(baseSequence)); + if (baseSequence.length() === 1 && this.blacklistKey(key)) { // ignore if the input starts with black list keys this.repository.clear(); return null; } - const keymaps = this.keymapEntityMap(); - const matched = keymaps.filter(([seq]) => seq.startsWith(sequence)); - const baseMatched = keymaps.filter(([seq]) => seq.startsWith(baseSequence)); - if (matched.length === 1 && sequence.length() === matched[0][0].length()) { // keys are matched with an operation |