Skip to content

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

Notifications You must be signed in to change notification settings

nvim-neorg/rust-norg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

(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.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages