Fixed
- Table cell edits not rendered immediately in embedded mode — editing a table cell and pressing Escape or Tab wrote the change to the document but did not visually update the rendered table widget until the user navigated away or switched cells. The
tableRenderFieldStateField'supdate()method has a "D12 guard" (activeEditTableRange) that, when set, maps old decorations instead of rebuilding them ondocChanged. This guard was correctly cleared for table operations (o,dd,J,K, etc.) viaexecuteTableOp()and for full table exit viaexitTable(), butexitCellEdit()— the path taken when closing a cell editor — never cleared it. The dispatch fromcloseCellEditor()triggereddocChangedwhile the guard was still active, causingprev.map(tr.changes)(position-only shift) instead ofbuildDecorations()(full HTML rebuild). Fixed by addingsetActiveEditTableRange(null)beforecloseCellEditor()and replacing the immediatehighlightCell()withrefreshAfterOp()— the same pattern used by all other table mutation paths. (#61)- Plugin:
src/vim/table-nav-controller.ts(exitCellEdit())
- Plugin:
- Visual-line mode highlight missing on replaced widget blocks — in visual-line mode (
V), the fork'slinewiseVisualHighlightViewPlugin usesDecoration.line()to highlight selected lines, but replaced widget blocks (MathJax$$, note embeds![[note]], plugin table widgets) have no.cm-lineelements in the DOM — CM6 silently drops line decorations for replaced ranges. Fixed by adding a plugin-sideLinewiseWidgetHighlightViewPlugin that scanscontentDOMdirect children for non-.cm-linewidget elements and togglescm-vim-linewise-widget-selectionon widgets whose document range overlaps the visual-line selection. Usesview.posAtDOM()for position mapping. Generic — works for all replaced widget types, not just MathJax. (#57)- Plugin:
src/vim/linewise-widget-highlight.ts(new),styles.css(.cm-vim-linewise-widget-selectionrule),src/main.ts(extension registration)
- Plugin:
Full Changelog: 0.56.0...0.57.0