Fixed
- Priority over Latex Suite and other CM6 extensions — the codemirror-vim fork's keydown handler no longer depends on plugin load order to fire before other extensions that use
Prec.highest. The fork now uses a CM6eventObservers.keydown(DOM event observer) instead ofeventHandlers.keydown— in CM6's dispatch order, observers run before handlers, guaranteeing vim processes keys first regardless ofPrecordering orcommunity-plugins.jsonorder. Previously, both the fork and Latex Suite registered keydown handlers atPrec.highest, and the first-registered handler won — making key handling dependent on which plugin loaded first. (#107)- Fork:
~/Repos/codemirror-vim/src/index.ts(movedkeydownfromeventHandlerstoeventObservers, addedsetKeyInterceptActiveAPI) - Fork:
~/Repos/codemirror-vim/DIFFERENCES.md(added "Observer-based keydown dispatch" and "setKeyInterceptActive API" sections) - Plugin:
src/flash/state.ts(setFlashActiveandcancelFlashcallsetKeyInterceptActive) - Plugin:
src/easymotion/register.ts(createMotionTriggerandcreateCharMotionTriggerbracket try/finally withsetKeyInterceptActive) - Plugin:
src/ui/hint-mode.ts(waitForHintKeysetssetKeyInterceptActiveon entry and cleanup)
- Fork:
Documentation
CHANGELOG.mdKNOWN_LIMITATIONS.md: Updated Latex Suite interaction section with observer-based keydown dispatch fixAGENTS.md: Updated codemirror-vim fork description with observer-based keydown dispatch andsetKeyInterceptActiveAPIdocs/guides/ecosystem-compatibility.md: Updated extension priority description with observer-based mechanism
Full Changelog: 0.96.0...0.97.0