phase 0: scaffold workspace, plugin layout, and CI
Lay down the empty repo skeleton defined in SPEC.md §5 so subsequent phases have somewhere to land: - Cargo workspace (resolver v2, edition 2021, MSRV 1.83) with nuwiki-core, nuwiki-lsp, nuwiki-ls — dep direction matches §6.2. - Vim/Neovim plugin directory layout (plugin, lua, autoload, ftdetect, ftplugin, syntax, doc, scripts) with header-only stubs. - .gitea/workflows/ci.yaml running fmt, clippy -D warnings, and tests pinned to Rust 1.83. - README, dual MIT/Apache-2.0 license texts, .gitignore. Verified: cargo check / fmt --check / clippy / test all clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# nuwiki
|
||||
|
||||
A Vim/Neovim plugin providing full vimwiki syntax support, implemented as a
|
||||
Rust-based language server (LSP).
|
||||
|
||||
> **Status:** Phase 0 — scaffolding. Not yet functional.
|
||||
|
||||
See [`SPEC.md`](./SPEC.md) for the full project specification.
|
||||
|
||||
## 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.
|
||||
|
||||
Reference in New Issue
Block a user