# nuwiki A Vim/Neovim plugin providing full vimwiki syntax support, implemented as a Rust-based language server (LSP). > **Status:** v1.0 (Phases 0–10) shipped — parsing, highlighting, navigation, > editor glue, and release pipeline are all live. v1.1 (Phases 11–19) in > progress, closing the gap to a full vimwiki replacement: tags, diary, > server-side edit commands, link health, HTML export commands, multi-wiki, > and the `:Vimwiki*` keymap layer. See [`SPEC.md`](./SPEC.md) for the full project specification. ## Implementation status ### v1.0 — foundation | Phase | Name | Status | |---|---|---| | 0 | Scaffolding | ✅ done | | 1 | Core AST | ✅ done | | 2 | Syntax Plugin Interface | ✅ done | | 3 | Vimwiki Lexer | ✅ done | | 4 | Vimwiki Parser | ✅ done | | 5 | Renderer | ✅ done | | 6 | LSP Foundation | ✅ done | | 7 | Semantic Tokens | ✅ done | | 8 | Navigation | ✅ done | | 9 | Editor Glue | ✅ done | | 10 | CI/CD release pipeline | ✅ done | ### v1.1 — full vimwiki replacement | Phase | Name | Status | |---|---|---| | 11 | Plumbing prerequisites | ✅ done | | 12 | Tags | ✅ done | | 13 | Workspace edits + executeCommand | ✅ done | | 14 | List & table edit commands | ✅ done (focused subset; table/list-renumber/colorize deferred) | | 15 | Link health + TOC/index generation | ⏳ | | 16 | Diary | ⏳ | | 17 | HTML export commands | ⏳ | | 18 | Multi-wiki | ⏳ | | 19 | Editor glue v2 (`:Vimwiki*` compat, keymaps, text objects, folding) | ⏳ | ## Repository layout ``` nuwiki/ ├── Cargo.toml workspace root ├── crates/ │ ├── nuwiki-core/ parser, AST, renderer (no editor deps) │ ├── nuwiki-lsp/ LSP protocol bridge │ └── nuwiki-ls/ binary that speaks LSP over stdio ├── plugin/ universal Vim/Neovim entry point ├── lua/nuwiki/ Neovim Lua glue ├── autoload/nuwiki/ Vim VimL glue ├── ftdetect/ filetype detection for .wiki ├── ftplugin/ per-buffer filetype settings ├── syntax/ static fallback highlighting ├── doc/ `:h nuwiki` ├── scripts/ build-time helpers └── .gitea/workflows/ CI / release pipelines ``` ## Building ```sh cargo build --workspace cargo test --workspace ``` MSRV: Rust 1.83. ## License Dual-licensed under either of: - Apache License, Version 2.0 ([`LICENSE-APACHE`](./LICENSE-APACHE)) - MIT license ([`LICENSE-MIT`](./LICENSE-MIT)) at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this work shall be dual licensed as above, without any additional terms or conditions.