Added
- Declarative settings API (
getSettingDefinitions) — implemented Obsidian's 1.13.0+ declarative settings API with a version guard. On Obsidian 1.13.0+, plugin settings appear in Obsidian's global settings search and use the new declarative rendering pipeline. On older versions, the existing imperativedisplay()method continues to work unchanged. NominAppVersionbump required.getSettingDefinitions()returns all settings organized into groups (Vim features, Vim engine, Jump navigation, Status bar, Mode prompts, Cursor shapes, Vimrc & key bindings, Leader key bindings, Which-key hints, Which-key group/command labels, Advanced)getControlValue()/setControlValue()overrides handle dot-notation keys for nested settings (modePrompts.normal,cursorShapes.insert), clear vimrc overrides on user change, and triggerreloadFeatures()for settings that require it- Vimrc-overridden settings are disabled via
disabled: () => isOverridden(key)predicates - Complex sections (leader bindings, which-key group/command labels, hotkey recorder) use
rendercallbacks delegating to the existing imperative rendering methods styles.css: added.vim-motions-hiddenutility class for render callback placeholder rows
Documentation
README.md: updated Settings section to note settings search compatibility on Obsidian 1.13.0+
Full Changelog: 0.22.0...0.23.0