From 92c16d4dcbdc0401d8710dce1019dbf0dfde18f7 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Thu, 10 Mar 2022 21:09:03 +0000 Subject: [PATCH] feat(language/go): use tree-sitter-mode and tree-sitter-hl-mode --- modules/languages/siren-golang.el | 4 ++++ modules/text-editing/siren-tree-sitter.el | 21 +++++++++++++++++++++ straight/versions/default.el | 2 ++ themes/siren-doom-themes-overrides-theme.el | 5 +++++ 4 files changed, 32 insertions(+) create mode 100644 modules/text-editing/siren-tree-sitter.el diff --git a/modules/languages/siren-golang.el b/modules/languages/siren-golang.el index bfb33bfe..5b8f3c2a 100644 --- a/modules/languages/siren-golang.el +++ b/modules/languages/siren-golang.el @@ -14,6 +14,7 @@ (require 'siren-lsp) (require 'siren-projectile) (require 'siren-reformatter) +(require 'siren-tree-sitter) (use-package go-mode :mode "\\.go\\'" @@ -42,6 +43,9 @@ (when (fboundp 'auto-highlight-symbol-mode) (auto-highlight-symbol-mode -1)) + (tree-sitter-mode +1) + (tree-sitter-hl-mode +1) + (siren-display-indentation -1) (company-mode +1) (siren-folding) diff --git a/modules/text-editing/siren-tree-sitter.el b/modules/text-editing/siren-tree-sitter.el new file mode 100644 index 00000000..436a99aa --- /dev/null +++ b/modules/text-editing/siren-tree-sitter.el @@ -0,0 +1,21 @@ +;;; siren-tree-sitter.el --- jimeh's Emacs Siren: tree-sitter + +;;; Commentary: + +;; Configuration for tree-sitter + +;;; Code: + +(use-package tree-sitter) + +(use-package tree-sitter-langs + :config + (tree-sitter-hl-add-patterns 'go + ;; from: https://github.com/tree-sitter/tree-sitter-go/pull/61 + [(call_expression + function: (identifier) @function.builtin + (.match? @function.builtin "^(append|cap|close|complex|copy|delete|imag|len|make|new|panic|print|println|real|recover)$"))]) + ) + +(provide 'siren-tree-sitter) +;;; siren-tree-sitter.el ends here diff --git a/straight/versions/default.el b/straight/versions/default.el index acc8d9f9..7db1321c 100644 --- a/straight/versions/default.el +++ b/straight/versions/default.el @@ -38,6 +38,7 @@ ("editorconfig-emacs" . "3c03cef3110024016c688553733cdc3694a8a799") ("el-get" . "9353309744e4f8a7c9b1adf22ec99536fb2146b0") ("elisp-refs" . "8f84280997d8b233d66fb9958a34b46078c58b03") + ("elisp-tree-sitter" . "5e1091658d625984c6c5756e3550c4d2eebd73a1") ("emacs-aio" . "da93523e235529fa97d6f251319d9e1d6fc24a41") ("emacs-async" . "0d52411d3accc3e11a2c64838703a8ce9755c77c") ("emacs-deferred" . "2239671d94b38d92e9b28d4e12fd79814cfb9c16") @@ -193,6 +194,7 @@ ("tide" . "4bd7f35d8aae160b16642aef3ca205adc71539a9") ("toggle-quotes.el" . "33abc221d6887f0518337851318065cd86c34b03") ("transient" . "72b8c013936b8e8d891105144107781a43516735") + ("tree-sitter-langs" . "599570cd2a6d1b43a109634896b5c52121e155e3") ("treemacs" . "b18a05b1f62074a40e6011d83cd4c92cbee040dd") ("treepy.el" . "3ac940e97f3d03e48ca9d7fcd74916a9b01c72f3") ("typescript.el" . "e82416205158d4b21d42d6b60c4385f68f0ae1b1") diff --git a/themes/siren-doom-themes-overrides-theme.el b/themes/siren-doom-themes-overrides-theme.el index eb5db841..16605153 100644 --- a/themes/siren-doom-themes-overrides-theme.el +++ b/themes/siren-doom-themes-overrides-theme.el @@ -70,6 +70,11 @@ `(git-gutter-fr:modified ((t ( :foreground ,(doom-blend 'vc-modified 'bg 0.7) :background ,(doom-blend 'vc-modified 'bg 0.0) )))) + ;; tree-sitter + `(tree-sitter-hl-face:property ((t (:inherit font-lock-constant-face)))) ;; disable italic + `(tree-sitter-hl-face:method.call ((t ( :foreground ,(doom-blend 'functions 'keywords 0.6) )))) + `(tree-sitter-hl-face:function.call ((t ( :foreground ,(doom-blend 'functions 'keywords 0.8) )))) + ;; hideshowvis `(hideshowvis-hidable-face ((t ( :foreground ,(doom-color 'base7) ))))