From 346e8b0de60781356aa54caa7a59ba20e188b924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Fr=C3=B3es=20Franco?= Date: Fri, 5 Jun 2026 00:26:11 +0000 Subject: [PATCH] dev: NUWIKI_DEV_VIMWIKI mode to dogfood the g:vimwiki_* drop-in MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The start-vim-coc.sh harness runs `vim --clean`, so it never sources a user's real vimwiki.vim — meaning g:vimwiki_list is never set and the g:vimwiki_* drop-in translation was impossible to exercise through the harness (you'd only ever test the native g:nuwiki_* path). Add NUWIKI_DEV_VIMWIKI=1: instead of g:nuwiki_*, the generated vimrc configures an upstream g:vimwiki_list (+ g:vimwiki_toc_header_level etc.) pointing at the scratch wiki, so nuwiki's client-side translation + programmatic coc registration run on a real vimwiki-shaped config. NUWIKI_DEV_VIMWIKI=1 ./development/start-vim-coc.sh Co-Authored-By: Claude Opus 4.8 --- development/start-vim-coc.sh | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/development/start-vim-coc.sh b/development/start-vim-coc.sh index 2987084..1ee4af5 100755 --- a/development/start-vim-coc.sh +++ b/development/start-vim-coc.sh @@ -24,6 +24,7 @@ # NUWIKI_DEV_NO_SEED=1 ./development/start-vim-coc.sh # use WIKI_DIR as-is (no scratch seeding) # NUWIKI_DEV_SKIP_BUILD=1 ./development/start-vim-coc.sh # reuse the cached binary # NUWIKI_DEV_COC_JUMP=edit ./development/start-vim-coc.sh # change coc.preferences.jumpCommand +# NUWIKI_DEV_VIMWIKI=1 ./development/start-vim-coc.sh # drive nuwiki from a g:vimwiki_list config (drop-in) # # The release binary is rebuilt on every launch so source changes always reach # the running LSP. `cargo build --release` is incremental, so this is a fast @@ -86,6 +87,29 @@ EOF write_vimrc() { mkdir -p "$DEV_DIR" + + # Wiki config block. Default: native g:nuwiki_* (single wiki). With + # NUWIKI_DEV_VIMWIKI=1: an upstream g:vimwiki_list config instead, to dogfood + # the g:vimwiki_* drop-in translation (the path real vimwiki migrants use). + local WIKI_CFG + if [[ "${NUWIKI_DEV_VIMWIKI:-0}" == "1" ]]; then + log "NUWIKI_DEV_VIMWIKI=1 — driving nuwiki from an upstream g:vimwiki_list config" + WIKI_CFG="\" Upstream vimwiki config (drop-in). nuwiki translates these. +let g:vimwiki_toc_header_level = 2 +let g:vimwiki_html_header_numbering = 2 +let g:vimwiki_html_header_numbering_sym = ' -' +let g:vimwiki_list = [{'path': '${WIKI_DIR}', 'path_html': '${DEV_DIR}/html', 'ext': '.wiki'}]" + else + WIKI_CFG="let g:nuwiki_wiki_root = '${WIKI_DIR}' +let g:nuwiki_file_extension = '.wiki' +let g:nuwiki_diary_rel_path = 'diary' +\" Display settings exercise the global shorthand: :NuwikiTOC writes +\" \`== Contents ==\` (level 2) and HTML export numbers headings. +let g:nuwiki_toc_header_level = 2 +let g:nuwiki_html_header_numbering = 2 +let g:nuwiki_html_header_numbering_sym = ' -'" + fi + cat > "$VIMRC" <