feat(config): configurable generated-section captions (P2)
CI / cargo fmt --check (push) Successful in 32s
CI / cargo clippy (push) Successful in 24s
CI / cargo test (push) Successful in 31s
CI / editor keymaps (push) Successful in 1m40s

TOC / links / tags section headings (and their levels) were hardcoded.
Added per-wiki toc_header/toc_header_level, links_header/links_header_level,
tags_header/tags_header_level — defaults Contents / Generated Links /
Generated Tags at level 1, matching upstream (also fixes the tags index
heading: Tags -> Generated Tags).

A caption_line(name, level) helper emits the `=`-markers; the configured
text + level thread through toc_edit / links_edit / tag_links_edit and the
auto_toc save hook. find_section_range matches the configured text, so
regeneration stays idempotent at any level.

Tests: captions_honour_custom_header_and_level (link_health) + config
round-trip + default assertions (index_and_config); existing tag/toc/links
tests updated for the new arity and the Generated Tags default. fmt/clippy
clean (8-arg ops get allow(too_many_arguments), matching the codebase
precedent); 0 Rust test failures; config-parity green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-31 18:44:35 +00:00
parent 2d3db458fb
commit 545367c3f6
11 changed files with 252 additions and 59 deletions
+3
View File
@@ -196,6 +196,9 @@ match upstream vimwiki.
`css_name` `'style.css'`
`auto_export` `false` — export to HTML on save.
`auto_toc` `false` — refresh TOC on save.
`toc_header` `'Contents'` (+ `toc_header_level` `1`) — :VimwikiTOC.
`links_header` `'Generated Links'` (+ `links_header_level` `1`).
`tags_header` `'Generated Tags'` (+ `tags_header_level` `1`).
`exclude_files` List of glob patterns excluded from export.
`listsyms` `' .oOX'` — checkbox progression characters.
`listsym_rejected` `'-'` — glyph for a cancelled checkbox `[-]`.