https://github.com/nvim-neorg/neorg-lsp
An LSP for the Neorg file format.
https://github.com/nvim-neorg/neorg-lsp
Last synced: about 1 year ago
JSON representation
An LSP for the Neorg file format.
- Host: GitHub
- URL: https://github.com/nvim-neorg/neorg-lsp
- Owner: nvim-neorg
- Created: 2022-07-29T17:14:51.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-08-02T15:05:19.000Z (almost 4 years ago)
- Last Synced: 2025-04-05T01:32:11.025Z (about 1 year ago)
- Language: Zig
- Size: 10.7 KB
- Stars: 40
- Watchers: 9
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# \[WIP\] Neorg LSP Server
This repository hosts the official LSP implementation for the Neorg file format.
## Features
Currently? None 😂.
First I must implement a working request/response handler, and also a basic Neorg parser in zig.
## FAQ
### Why not treesitter for the parser?
Mostly implementation convenience. To my knowledge there are no _solid_ TS bindings for zig, apart from the usual
C bindings (which we could make wrappers on top of).
I just want an LSP server up and running, we can work on futureproofing after the first working prototype is released.
Besides, we don't need all the precision of the treesitter parser - we only need to parse a select few constructs within
Neorg in order to provide solid completions and code actions.
After a prototype is created, we might want to start work on good bindings for Zig and start work on integrating the LSP
with the TS parser.
### Why Zig?
You're probably screaming that it's not Rust right now :p, but I personally prefer Zig due to less developer friction.
I can whip up programs in no time, and I really enjoy many of the syntactical constructs that Zig provides.
Besides, [zls](https://github.com/zigtools/zls) has proven that LSPs written in Zig can be _fast_, like _**really** fast_.