fix(review): close all 2026-06-03 codebase-review findings (R1-R18)
Resolves the 18 findings from the parallel codebase review, tracked in development/vimwiki-gap.md. Correctness / perf: - Wiki.config -> Arc<WikiConfig> so cloning a Wiki is a refcount bump (R5) - WorkspaceIndex::remove is no longer O(n^2): a per-source contributions map limits the scan to buckets the source actually wrote into (R6) - render_color now expands color_tag_template (__STYLE__/__CONTENT__), consuming the previously-dead field; ColorNode documented as an extension point; 3 renderer tests added (R3/R4) - wiki_root_for returns empty/nil on no-match instead of falling back to the first wiki (R2); auto_header honours links_space_char (R7) Cleanup / dedup: - Remove dead #[allow(dead_code)] stubs + uncalled pub helpers, narrow imports (R10/R11) - Dedup span_of_inline x3 -> InlineNode::span() (R12) - diary_step single read lock; page_captions single pass (R13) - Lua auto_header loop -> wiki_list(); detect_current_symbol cleanup (R14/R18) Client / docs: - :VimwikiNormalizeLink Vim cmds -> <q-args> (R17); ftplugin header fix (R16); vars.vim multi-wiki limitation documented (R15) - Document 19 config options in README.md + doc/nuwiki.txt; fix list_margin/shiftwidth doc and stale comments (R1/R9) - R8 investigated, confirmed not a real bug (documented) Verified: Neovim harness 307, Vim harness 301/18/21, Rust suite 568, all 0 failed; clippy clean; fresh parallel-agent audit found no regressions. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
use serde::Deserialize;
|
||||
use tower_lsp::lsp_types::{InitializeParams, Url};
|
||||
use tower_lsp::lsp_types::InitializeParams;
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
pub struct Config {
|
||||
@@ -198,9 +198,11 @@ pub struct HtmlConfig {
|
||||
/// vimwiki `user_htmls`: basenames of HTML files with no wiki source that
|
||||
/// `allToHtml` must not prune. Empty by default.
|
||||
pub user_htmls: Vec<String>,
|
||||
/// vimwiki `color_tag_template`: HTML template for a colour span. The
|
||||
/// `__COLORFG__` / `__COLORBG__` / `__CONTENT__` placeholders are filled
|
||||
/// from `color_dic`. Default matches upstream's `<span style=…>` template.
|
||||
/// vimwiki `color_tag_template`: HTML template for a colour span whose name
|
||||
/// resolves in `color_dic`. `__STYLE__` expands to the inline style
|
||||
/// (`color:<css>`) and `__CONTENT__` to the rendered inner HTML. Default
|
||||
/// matches upstream's `<span style="…">…</span>` template. Consumed by
|
||||
/// `HtmlRenderer::render_color`.
|
||||
pub color_tag_template: String,
|
||||
}
|
||||
|
||||
@@ -1070,6 +1072,3 @@ pub fn config_from_json(value: serde_json::Value) -> Config {
|
||||
cfg.apply_change(&value);
|
||||
cfg
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
fn _ensure_url_is_used(_u: &Url) {}
|
||||
|
||||
Reference in New Issue
Block a user