feat(config): configurable generated-section captions (P2)
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:
@@ -87,9 +87,17 @@ fix site.
|
||||
`<Leader>w<Leader>m` stays tomorrow — exact upstream parity
|
||||
(`lua/nuwiki/keymaps.lua`, `ftplugin/vimwiki.vim`; docs + README updated).
|
||||
Covered by `diary.leader_t_opens_today_in_tab` / `diary.leader_m_opens_tomorrow`.
|
||||
- [ ] **Generated-section captions hardcoded** — `toc_header` /
|
||||
`toc_header_level`, `links_header`, `tags_header` (+levels).
|
||||
_Fix:_ `crates/nuwiki-lsp/src/config.rs` + server TOC/generate renderers.
|
||||
- [x] **Generated-section captions hardcoded** — TOC/links/tags headings and
|
||||
their levels were hardcoded (`= Contents =`, `= Generated Links =`, `= Tags =`,
|
||||
all level 1). _Fix:_ added per-wiki `toc_header`/`toc_header_level`,
|
||||
`links_header`/`links_header_level`, `tags_header`/`tags_header_level`
|
||||
(defaults `Contents`/`Generated Links`/`Generated Tags`, level 1 — matching
|
||||
upstream; this also corrects the tags index heading from `Tags` →
|
||||
`Generated Tags`). A `caption_line(name, level)` helper emits the markers; the
|
||||
text + level thread through `toc_edit`/`links_edit`/`tag_links_edit` (+ the
|
||||
auto_toc save hook) and `find_section_range` matches the configured text so
|
||||
regen stays idempotent. Tests: `captions_honour_custom_header_and_level`
|
||||
(`link_health.rs`) + config round-trip in `index_and_config.rs`.
|
||||
- [ ] **On-save autoregen family** — `auto_diary_index`, `auto_generate_links`,
|
||||
`auto_generate_tags`, `auto_tags` (only `auto_toc` / `auto_export` exist).
|
||||
_Fix:_ `config.rs` `RawWiki`/`WikiConfig` + the `didSave` path.
|
||||
|
||||
Reference in New Issue
Block a user