https://github.com/alufers/openscad-parser
This package facilitates parsing, formatting and validating the OpenSCAD language using TypeScript and JavaScript.
https://github.com/alufers/openscad-parser
3d 3d-printing language-support openscad parser
Last synced: 9 months ago
JSON representation
This package facilitates parsing, formatting and validating the OpenSCAD language using TypeScript and JavaScript.
- Host: GitHub
- URL: https://github.com/alufers/openscad-parser
- Owner: alufers
- License: mit
- Created: 2019-07-29T23:27:08.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-27T17:23:32.000Z (over 1 year ago)
- Last Synced: 2025-03-31T08:01:39.922Z (10 months ago)
- Topics: 3d, 3d-printing, language-support, openscad, parser
- Language: TypeScript
- Homepage: https://alufers.github.io/openscad-parser/
- Size: 3.41 MB
- Stars: 14
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](https://github.com/alufers/openscad-parser/actions?query=workflow%3A%22Node.js+CI%22)
[](https://github.com/alufers/openscad-parser/blob/master/LICENSE.md)
[](https://www.npmjs.com/package/openscad-parser)
# openscad-parser
This package facilitates parsing, formatting and validating the OpenSCAD language using TypeScript and JavaScript.
# Installation (formatter)
```sh
$ npm i -g openscad-parser
```
Usage:
```sh
$ scadfmt # outputs the formatted OpenSCAD code to stdout
```
# Installation (as a node module)
```sh
npm install openscad-parser
```
# Features
- [x] Parsing and full error reporting (reports even better errors than the default OpenSCAD parser)
- [x] Symbol tree generation (VSCode "Outline" view)
- [x] Formatting (fully AST-aware, needs some more work with breaking up large vectors)
- [x] Semantic code completions (provides code completions for VSCode)
- [x] Jump to definition (provides a "Go to definition" context menu item)
I will soon release a vscode extension with full OpenSCAD support, it just needs some more work.
# Documentation
The API documentation is available [here](https://alufers.github.io/openscad-parser/).
# License
[MIT](https://github.com/alufers/openscad-parser/blob/master/LICENSE.md)