diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index e6b68c8c2155..c31ddd3d2f89 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -38,7 +38,7 @@ | esdl | ✓ | | | | | fish | ✓ | ✓ | ✓ | | | fortran | ✓ | | ✓ | `fortls` | -| gdscript | ✓ | ✓ | | | +| gdscript | ✓ | ✓ | ✓ | | | git-attributes | ✓ | | | | | git-commit | ✓ | | | | | git-config | ✓ | | | | diff --git a/languages.toml b/languages.toml index 311ef689cbd7..533d2d553978 100644 --- a/languages.toml +++ b/languages.toml @@ -1449,13 +1449,13 @@ indent = { tab-width = 4, unit = "\t" } [[grammar]] name = "gdscript" -source = { git = "https://github.com/PrestonKnopp/tree-sitter-gdscript", rev = "2a6abdaa47fcb91397e09a97c7433fd995ea46c6" } - +source = { git = "https://github.com/PrestonKnopp/tree-sitter-gdscript", rev = "a56a6fcec3fb63ec3324bf9373aae7298861eb30" } + [[language]] name = "godot-resource" scope = "source.tscn" injection-regex = "godot" -file-types = ["tscn","tres"] +file-types = ["tscn", "tres", "godot", "gdextension"] shebangs = [] roots = ["project.godot"] auto-format = false diff --git a/runtime/queries/gdscript/indents.scm b/runtime/queries/gdscript/indents.scm new file mode 100644 index 000000000000..1ab41a44d289 --- /dev/null +++ b/runtime/queries/gdscript/indents.scm @@ -0,0 +1,35 @@ +[ + (if_statement) + (for_statement) + (while_statement) + (match_statement) + (pattern_section) + + (function_definition) + (constructor_definition) + (class_definition) + (enum_definition) + + (dictionary (_)) + (array (_)) +] @indent + +[ + (if_statement) + (for_statement) + (while_statement) + (match_statement) + (pattern_section) + + (function_definition) + (class_definition) +] @extend + + +[ + (return_statement) + (break_statement) + (continue_statement) + (pass_statement) +] @extend.prevent-once + diff --git a/runtime/queries/gdscript/injections.scm b/runtime/queries/gdscript/injections.scm new file mode 100644 index 000000000000..321c90add371 --- /dev/null +++ b/runtime/queries/gdscript/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment")) diff --git a/runtime/queries/godot-resource/highlights.scm b/runtime/queries/godot-resource/highlights.scm index 18dae41fbb81..d8a69f655a68 100644 --- a/runtime/queries/godot-resource/highlights.scm +++ b/runtime/queries/godot-resource/highlights.scm @@ -25,4 +25,5 @@ "=" @operator -(ERROR) @error \ No newline at end of file +(ERROR) @error +(comment) @comment diff --git a/runtime/queries/godot-resource/injections.scm b/runtime/queries/godot-resource/injections.scm new file mode 100644 index 000000000000..321c90add371 --- /dev/null +++ b/runtime/queries/godot-resource/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment"))