Skip to content

Latest commit

 

History

History
45 lines (29 loc) · 1.72 KB

README.org

File metadata and controls

45 lines (29 loc) · 1.72 KB

tree-sitter-convex-lisp

about

This is a tree sitter grammar for Convex Lisp, a distributed Lisp that runs on top of the Convex virtual machine.

status

⚠️ This is still a work in progress; please don’t rely on it just yet.

Pull requests are welcome, especially to improve the corpus of examples for testing and development.

develop

You’ll need to install various dependencies to begin development. If you use the Nix package manager you can configure your local environment using nix-shell:

[tree-sitter-convex-lisp]$ nix-shell

This sets up the environment using the declarative configuration in the shell.nix file.

Now you can install the Node package dependencies:

[tree-sitter-convex-lisp]$ npm install

And finally you can build the grammar:

[tree-sitter-convex-lisp]$ npm run build

This converts the grammar.js file into an object file that can be used with Emacs or other editors and tools to efficiently parse Convex Lisp into a concrete syntax tree useful to syntax highlighting, etc.

When you just want to check that your changes to the grammar are valid, you can `generate` parser C code from the grammar file (without compiling it) using:

[tree-sitter-convex-lisp]$ npm run generate