Skip to content

PrestonKnopp/tree-sitter-gdscript

Repository files navigation

tree-sitter-gdscript

GDScript grammar for tree-sitter.

Latest Godot Commit Syntactically Synced

Note: Some commits may have been missed.

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

6ae54fd787

How To

  • Test grammar
    1. npm run genTest
  • Test scanner
    1. Edit "src/scanner.c"
    2. npm run test, no need to generate.
  • Build prebuilds
    1. npm run genTest
    2. npm run prebuild
  • Build with node-gyp
    1. npm run genTest
    2. npm install node-gyp
    3. node-gyp rebuild
  • Edit
    1. Write tests in corpus to express behavior.
    2. Make grammar or scanner edits.
    3. See above for running tests.
    4. npm run format
    5. 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.
    6. Commit generated files separately.
      • With commit message: "tree-sitter generate"
    7. Push
  • Release
    1. npm version <major, minor, patch> -m "<> version bump"
    2. git push --follow-tags

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