Metadata-Version: 2.4
Name: tree-sitter-gdscript
Version: 6.1.0
Summary: Grammar for Godot's built-in scripting language.
Author-email: Preston Knopp <prestonknopp@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/prestonknopp/tree-sitter-gdscript
Keywords: incremental,parsing,tree-sitter,gdscript
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Compilers
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: core
Requires-Dist: tree-sitter~=0.22; extra == "core"
Dynamic: license-file

tree-sitter-gdscript
====================

GDScript grammar for [tree-sitter][].

## Latest Godot Commit Syntactically Synced

Note: *Some commits may have been missed.*

```bash
git log --oneline --no-merges modules/gdscript
```

[6ae54fd787](https://github.com/godotengine/godot/commits/6ae54fd787)

## How To

- Test grammar
  1. `npm run genTest`
- Test scanner
  1. Edit "src/scanner.c"
  1. `npm run test`, no need to generate.
- Build prebuilds
  1. `npm run genTest`
  1. `npm run prebuild`
- Build with node-gyp
  1. `npm run genTest`
  1. `npm install node-gyp`
  1. `node-gyp rebuild`
- Edit
  1. Write tests in corpus to express behavior.
  1. Make grammar or scanner edits.
  1. See above for running tests.
  1. `npm run format`
  1. Commit changes.
     - If commit is an issue fix, prefix message with `fix(#<issue-number>):`
     - List the rules changed in commit message.
     - Note what rules need to be updated in [nvim-treesitter][] queries.
  1. Commit generated files with the latest non-wip commit.
  1. Push
- Release
  1. Manually edit version in package files: CMakeLists.txt, Cargo.toml,
     Makefile, pyproject.toml, tree-sitter.json
  1. `npm version <major, minor, patch> -m "<> version bump"`
  1. `git push --follow-tags`

Note: `node-gyp-build` will check for binaries in both `build` and `prebuilds`
directories.

[tree-sitter]: https://github.com/tree-sitter/tree-sitter
[nvim-treesitter]: https://github.com/nvim-treesitter/nvim-treesitter

## Python package (PyPI)

```sh
pip install tree-sitter-gdscript
```

```python
import tree_sitter_gdscript
```

repowise-dev publishes the upstream release unchanged to PyPI, with thanks to
[@PrestonKnopp](https://github.com/PrestonKnopp) for the grammar.
