treesitter_agda

Nim wrapper for Agda language support within tree-sitter


Keywords
tree-sitter, agda, parser, language, code
License
MIT
Install
nimble install treesitter_agda

Documentation

treesitter is a Nim wrapper for the tree-sitter library.

treesitter is distributed as a Nimble package and depends on nimgen and c2nim to generate the wrappers. The tree-sitter source code is downloaded using Git so having git in the path is required.

Installation

treesitter can be installed via Nimble:

> nimble install https://github.com/genotrance/nimtreesitter?subdir=treesitter

This will download, wrap and install treesitter in the standard Nimble package location, typically ~/.nimble. Once installed, it can be imported into any Nim program.

Individual language grammars can be installed as well to parse source files:

> nimble install https://github.com/genotrance/nimtreesitter?subdir=treesitter_c

This will download, wrap and install the C grammar. Given treesitter is a dependency, any language grammar can be installed directly and treesitter will get installed automatically.

Grammars are available for the following languages:

  • Agda
  • Bash
  • C / C++ / C# / CSS
  • Go
  • Haskell, HTML
  • Java, Javascript
  • OCaml
  • PHP, Python
  • Ruby, Rust
  • Scala
  • Typescript

Usage

Refer to the tests directory for examples on how the library can be used.

Credits

This library wraps the tree-sitter source code and all licensing terms of tree-sitter apply to the usage of this package.

Credits go out to c2nim as well without which this package would be greatly limited in its abilities.

Feedback

treesitter is a work in progress and any feedback or suggestions are welcome. It is hosted on GitHub with an MIT license so issues, forks and PRs are most appreciated.