Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nvim-neorg/rust-norg

A robust parser for Norg for tools that don't use tree-sitter.
https://github.com/nvim-neorg/rust-norg

Last synced: 3 days ago
JSON representation

A robust parser for Norg for tools that don't use tree-sitter.

Awesome Lists containing this project

README

        

## (WIP) Robust Rust Parser for Norg

This project serves one purpose: parse norg as *best* as possible. The `tree-sitter` norg parser is designed for speed at the cost of error recovery and accuracy.

`rust-norg` uses `chumksy` under the hood and trades off some speed for robust parsing and errors. The parser is built to recover from virtually any error thanks
to us splitting the parsing into three distinct stages, something that `tree-sitter` is incapable of doing.

The parser currently supports all block-level syntax apart from detached modifier extensions. Inline markup is not yet supported.

All other syntax is properly parsed with spec-defined edge cases.

## Future of this Project

Currently the parser is being developed as a proof-of-concept. Once it's complete, I'd like to extract this into a library for others to use. A proper test suite is also a must-have.