/org

a parser and other tools for manipulating, searching, formatting, etc, org documents

Primary LanguageRust

org: a portable, fast library for your notes

The purpose of this tool is to be portable and fast and to enable a wider range of org-mode front ends, such as a web interface or mobile app.

A companion cli app is being developed as well, and it is currently a WIP.

The point of this project is not complete feature parity with emacs’ org-mode. org-mode features like spreadsheets may not be possible because of the reliance on elisp – unless there is a way to embed an elisp interpreter.

Features

parsing

org can parse an org file into an abstract syntax tree. It is designed to emit warnings about possible formatting errors or malformed or structures.

searching

org utilizes the power of Rust iterators to iterate through the syntax tree with several types of traversal.

formatting

a fortunate side-effect of the design is that org will produce formatted org structures when the output is reprinted. org-cli will provide an easy way to format org files.

todo list

  • [X] headlines
    • [X] todo headlines
    • [X] headline tree
  • [-] lists
    • [X] unordered lists
    • [X] ordered lists
    • [ ] checkbox lists
  • [-] tags
    • [X] headline tags
    • [ ] tag heirarchy
  • [ ] document metadata
  • [ ] links
  • [ ] drawers
  • [ ] tables