High-performance wiki markup parser for SevenWiki.
- Parser: SIMD-optimized (winnow), 50+ element types, location tracking
- Transform: Variable substitution, includes, media resolution
- Server: REST API with PostgreSQL, Swagger UI
- WASM: Browser/Node.js builds with CodeMirror support
- Editor Support: VS Code extension and JetBrains plugin via LSP
| Crate | Description |
|---|---|
sevenmark_ast |
AST types and traversal utilities |
sevenmark_semantic |
Semantic analysis helpers |
sevenmark_parser |
Core parsing engine (standalone) |
sevenmark_utils |
Shared utilities |
sevenmark_wasm |
WebAssembly bindings (parser + LSP) |
sevenmark_html |
HTML renderer |
sevenmark_transform |
AST preprocessing/postprocessing |
sevenmark_lsp_core |
Transport-agnostic LSP logic |
sevenmark_language_server |
Native LSP server (stdio transport) |
sevenmark_server |
REST API server |
| Editor | Path | How it works |
|---|---|---|
| VS Code | editors/vscode/ |
LSP client via vscode-languageclient |
| JetBrains | editors/jetbrains/ |
Built-in LSP API (com.intellij.modules.lsp, 2024.2+) |
Both connect to the same sevenmark_language_server binary. Install it via PATH or use the bundled binary in platform-specific release packages.
sevenmark_wasm exports handle_lsp_message(json) for running the full LSP in a browser Web Worker - no server proxy needed. Diagnostics, semantic tokens, completions, hover, go-to-definition, folding, and document symbols all work locally via JSON-RPC.
cargo xtask publish-dry # Dry run
cargo xtask publish # Publish to crates.ioAGPL-3.0-only