0.72.0
Added
labelmatchfontsizesetting — opt-in setting that scales jump label font to match the target line's font size (e.g., larger labels on headings). Disabled by default. Configurable via Settings → Vim Motions → Jump navigation → Scale labels to line height,set labelmatchfontsizein vimrc, orvim.opt.labelmatchfontsize = truein Lua. (#75)- Plugin:
src/settings.ts,src/vim/options.ts,src/vimrc/loader.ts,src/easymotion/overlay.ts(per-targetlabelMetrics),src/easymotion/register.ts,src/flash/register.ts,src/flash/char-mode.ts,src/flash/jump-mode.ts,src/flash/search-mode.ts
- Plugin:
Changed
- Label vertical centering — jump labels are now vertically centered within the line height instead of being top-aligned. On lines with taller fonts (headings), labels sit centered in the line rather than hugging the top edge. (#75)
Fixed
- Cursor stuck below frontmatter in source mode — pressing
k,C-u, or arrow-up from the first content line after YAML frontmatter could not enter the frontmatter block in source mode. The fork'sfindPosVadapter unconditionally intercepted upward cursor movement near frontmatter boundaries to redirect focus to the properties widget (live-preview behavior). In source mode, no properties widget exists — the interception fired but found no focus target, leaving the cursor stuck. Fixed by gating the frontmatter interception on Obsidian'seditorLivePreviewFieldstate field. A newsetLivePreviewField()API on the fork accepts the host-provided field without coupling the fork to Obsidian. In source mode, the block is skipped entirely and the cursor moves through raw frontmatter text normally. (#77)- Fork:
~/Repos/codemirror-vim/src/cm_adapter.ts(setLivePreviewField,_livePreviewFieldgate infindPosV),~/Repos/codemirror-vim/src/index.ts(re-export) - Plugin:
src/vim/bundled-vim.ts(passeseditorLivePreviewFieldto fork),src/types/codemirror-vim.d.ts(type declaration)
- Fork:
- EasyMotion line motions targeting hidden formatting in Live Preview —
<leader><leader>j/<leader><leader>kline motions targeted hidden markdown formatting characters (e.g.,##on headings,**on bold text) instead of the first visible character. In Live Preview, the label appeared on the hidden prefix position, obscuring the first visible character. Fixed by addingskipHiddenPrefix()tofindLineTargets(), which scans forward from the raw-text first-non-blank character usingcoordsAtPos()to find the first character that occupies visible space. (#79)- Plugin:
src/easymotion/targets.ts(skipHiddenPrefix,findLineTargets)
- Plugin:
Documentation
CHANGELOG.mdKNOWN_LIMITATIONS.md: Added label vertical centering note, RTL label positioning limitation, and line motion hidden formatting fix to flash motions section; updated frontmatter navigation section with source mode fixAGENTS.md: Updated codemirror-vim fork description withsetLivePreviewFieldAPICONTRIBUTING.md: Updatedbundled-vim.tsdescription with live-preview field wiring~/Repos/codemirror-vim/DIFFERENCES.md: AddedsetLivePreviewFieldAPI section; updated properties navigation section with live-preview gatingdocs/configuration/settings.md: Addedlabelmatchfontsizeto Jump navigation settingsdocs/configuration/vimrc.md: Addedlabelmatchfontsize/lmfsto boolean optionsdocs/configuration/lua-config.md: Addedlabelmatchfontsizeto vim.opt tabledocs/features/flash.md: Addedlabelmatchfontsizeto configuration tabledocs/features/easymotion.md: Added scale labels setting to configuration
Full Changelog: 0.71.0...0.72.0