#tree-sitter

tree-sitter-openscad

openscad grammar for the tree-sitter parsing library

9 unstable releases

0.5.1 Feb 24, 2024
0.5.0 Feb 4, 2024
0.4.2 Oct 30, 2022
0.4.0 May 7, 2022
0.1.0 Aug 1, 2021

#459 in Text editors

Download history 13/week @ 2024-07-22 44/week @ 2024-07-29 40/week @ 2024-08-05 13/week @ 2024-08-12 11/week @ 2024-08-19 33/week @ 2024-08-26 174/week @ 2024-09-02 22/week @ 2024-09-09 32/week @ 2024-09-16 79/week @ 2024-09-23 63/week @ 2024-09-30 35/week @ 2024-10-07 16/week @ 2024-10-14 22/week @ 2024-10-21 57/week @ 2024-10-28 62/week @ 2024-11-04

161 downloads per month
Used in 2 crates

MIT license

270KB
10K SLoC

C 10K SLoC JavaScript 250 SLoC // 0.3% comments Scheme 58 SLoC // 0.2% comments Rust 31 SLoC // 0.5% comments

tree-sitter-openscad

OpenSCAD grammar for the tree-sitter parsing library

Developer quickstart

Most development of tree-sitter parsers is done using nodejs and npm. You can find the instructions on how to set that up here: https://tree-sitter.github.io/tree-sitter/creating-parsers

The TLDR would be:

  1. Install npm (there are many ways, pick your poison)
  2. From the source directory, run npm install to get all the dependencies
  3. export PATH=$PATH:./node_modules/.bin to get the tree-sitter CLI command
  4. tree-sitter generate to build your changes
  5. tree-sitter test to make sure you didn't unintentionally break any of the existing test cases
  6. Add a new test case covering your change (instructions here: https://tree-sitter.github.io/tree-sitter/creating-parsers#command-test)

lib.rs:

This crate provides openscad language support for the tree-sitter parsing library.

Typically, you will use the language function to add this language to a tree-sitter Parser, and then use the parser to parse some code:

let code = "";
let mut parser = tree_sitter::Parser::new();
parser.set_language(tree_sitter_openscad::language()).expect("Error loading openscad grammar");
let tree = parser.parse(code, None).unwrap();

Dependencies

~2.8–4MB
~76K SLoC