Skip to content

laytan/odin-tree-sitter

Folders and files

Image for: Folders and files
NameName
Last commit message
Last commit date

Latest commit

Image for: Latest commit
 

History

Image for: History
26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image for: Repository files navigation

Odin Tree Sitter

API bindings, wrappers and convenience for Tree Sitter.

A small API example has been written in example.

Odin documentation has been published here: odin-tree-sitter.laytan.dev.

Build script

Image for: Build script

In order to make installing tree-sitter and its grammars easier, a build script was written. With it tree-sitter itself can be installed, and more importantly the grammars can be installed and have bindings generated.

NOTE: On Windows, you must run this script through the Developer Command Prompt bundled with Visual Studio.

You can change the c compiler or archiver by setting the CC and AR environment variables.

Installing tree-sitter

Command installs tree-sitter itself by downloading the git repository, compiling it, and putting the static library and license in the tree-sitter subdirectory.

Debug symbols, a different repo or branch and more can be configured using flags and options.

odin run build -- install -h
Usage:
        build install [-branch] [-clean] [-debug] [-minimum-os-version] [-repo]
Flags:
        -branch:<string>              | Branch of the tree-sitter git repo to install, default is
        -clean                        | First uninstall.
        -debug                        | Compile tree-sitter with debug symbols.
        -minimum-os-version:<string>  | The minimum OS version to target (only used on Darwin, default is 12.0.0).
        -repo:<string>                | Repo to install, default is 'https://github.com/tree-sitter/tree-sitter'.

Installing and generating bindings for language grammar

Command installs specific tree-sitter grammars by downloading the git repository, compiling the parser, and putting the parser, readme, license and query files in its own subdirectory under parsers. Bindings are also automatically generated in this directory.

The bindings will contain one procedure in the format tree_sitter_LANGUAGE_NAME and constants that use #load to load in the query files it provides.

odin run build -- install-parser -h
Usage:
        build install-parser parser [-clean] [-debug] [-minimum-os-version] [-name] [-path] [-yes]
Flags:
        -parser:<string>, required    | git URL of the parser to be installed.
                                      |
        -clean                        | First uninstall.
        -debug                        | Compile parser with debug symbols.
        -minimum-os-version:<string>  | The minimum OS version to target (only used on Darwin, default is 12.0.0).
        -name:<string>                | Overwrite the language name.
        -path:<string>                | Subdirectory to compile.
        -yes                          | Automatically confirm questions to their defaults (non-interactive) mode.

About

Image for: About

Tree Sitter API bindings, wrappers and convenience for use in the Odin programming language.

Resources

License

Stars

Watchers

Forks

Releases

Image for: Releases
No releases published

Packages

Image for: Packages 0
No packages published

Languages

Image for: Languages