From 97854432ce5b8984bdfeb4a78ce765888cf8beea Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 24 Sep 2025 20:56:19 -0400 Subject: [PATCH] feat(gdscript): add treesit support --- modules/lang/gdscript/README.org | 3 +++ modules/lang/gdscript/config.el | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/modules/lang/gdscript/README.org b/modules/lang/gdscript/README.org index 902ad861a..e2b5127f2 100644 --- a/modules/lang/gdscript/README.org +++ b/modules/lang/gdscript/README.org @@ -14,6 +14,9 @@ engine, to Doom Emacs, powered by [[https://github.com/GDQuest/emacs-gdscript-mo - +lsp :: Enable LSP support for ~gdscript-mode~. Requires [[doom-module::tools lsp]] and a langserver (Godot ~3.2.1~ or newer). +- +tree-sitter :: + Leverages tree-sitter for better syntax highlighting and structural text + editing. Requires Emacs 29.1+ and [[doom-module::tools tree-sitter]]. ** Packages - [[doom-package:gdscript-mode]] diff --git a/modules/lang/gdscript/config.el b/modules/lang/gdscript/config.el index 91480d677..1f7b441b6 100644 --- a/modules/lang/gdscript/config.el +++ b/modules/lang/gdscript/config.el @@ -56,3 +56,15 @@ (:prefix ("h" . "help") :desc "Browse online API" "b" #'gdscript-docs-browse-api :desc "Browse API at point" "f" #'gdscript-docs-browse-symbol-at-point))) + + +(use-package! gdscript-ts-mode + :when (modulep! +tree-sitter) + :defer t + :init + (set-tree-sitter! 'gdscript-mode 'gdscript-ts-mode + `((gdscript :url "https://github.com/PrestonKnopp/tree-sitter-gdscript.git" + :rev ,(if (< (treesit-library-abi-version) 15) "v5.0.1" "v6.0.0") + :commit "598d483e150aca2d77ad8892923980144bed4919"))) + :config + (advice-add 'gdscript-ts-mode :around #'+tree-sitter-ts-mode-inhibit-side-effects-a))