Move treesitter configuration to its own file
Some checks failed
/ Test config on 20 (push) Has been cancelled

This commit is contained in:
Maciej 2024-08-05 13:25:33 +03:00
parent ff2dbc1796
commit eb71b1226f
Signed by: maciej
GPG key ID: 41D62D42D3B0D765
5 changed files with 39 additions and 13 deletions

View file

@ -79,15 +79,6 @@
;; Numbers are arbitrary, but work on a large screen. Default is 160
(setq split-width-threshold 180)
;;;;;;;;;;;;;;;;;;;;;; Tree sitter ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package tree-sitter :straight t)
(use-package tree-sitter-langs :straight t :requires (tree-sitter))
(use-package tree-sitter-indent :straight t)
(global-tree-sitter-mode)
(add-hook 'tree-sitter-after-on-hook 'tree-sitter-hl-mode)
;;;;;;;;;;;;;;;;;;;;;; Shell stuff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

View file

@ -41,6 +41,7 @@
(require 'icejam-keys-mode)
(require 'icejam-base)
(require 'icejam-sys-specific)
(require 'icejam-tree-sitter)
(require 'icejam-ivy)
(require 'icejam-avy)
(require 'icejam-transient)

View file

@ -0,0 +1,33 @@
;;; icejam-treesitter.el --- summary
;; Author: Maciej Szlosarczyk
;; Maintainer: Maciej Szlosarczyk
;; Version: 0.1-snapshot
;;; Commentary:
;; Load treesitter grammars automatically
;;; Code:
(defun icejam-tree-sitter-symlink-grammar-objects ()
"Tree-sitter-langs-build releases grammars as LANG.so, but treesit needs libtree-sitter-LANG.so."
(dolist (file (directory-files (tree-sitter-langs--bin-dir) 'full
(concat "\\" (car tree-sitter-load-suffixes) "$")))
;; make symlink (or copy) libtree-sitter-c.so -> c.so
(let ((target (concat (file-name-as-directory (file-name-directory file))
"libtree-sitter-"
(file-name-nondirectory file))))
(if (memq system-type '(ms-dos windows-nt cygwin))
(copy-file file target)
(make-symbolic-link file target)))))
;;;;;;;;;;;;;;;;;;;;;; Tree sitter ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package tree-sitter-langs :straight t
:config
(add-to-list 'treesit-extra-load-path (tree-sitter-langs--bin-dir)))
(use-package tree-sitter-indent :straight t)
(add-hook 'tree-sitter-after-on-hook 'tree-sitter-hl-mode)
(provide 'icejam-tree-sitter)
;;; icejam-treesitter.el ends here

View file

@ -12,12 +12,13 @@
(require 'icejam-prog-mode)
(use-package gleam-mode
:requires (tree-sitter-indent lsp column-enforce-mode)
(use-package gleam-ts-mode
:straight '(:type git
:host github
:repo "gleam-lang/gleam-mode"
:files ("gleam-mode.el" "tree-sitter-gleam")))
:files ("gleam-ts-mode.el")))
(add-to-list 'auto-mode-alist '("\\.gleam\\'" . gleam-ts-mode))
(defun icejam-lang/activate-gleam-mode ()
"All things Gleam."

View file

@ -129,7 +129,7 @@
("terraform-mode" . "abfc10f5e313c4bb99de136a14636e9bc6df74f6")
("transient" . "6543000d5a509096f0f98eb4b814d7f6f2114ce3")
("tree-sitter-indent.el" . "4ef246db3e4ff99f672fe5e4b416c890f885c09e")
("tree-sitter-langs" . "8d2707e84fae46a78b3943644fcd734364e05cc4")
("tree-sitter-langs" . "0c46e6a226a4d342f03c1b63089d4273a1acf0a9")
("treemacs" . "362bfa50904a27a7a6caaafd3ab254a5c2e5abc4")
("tuareg" . "1d53723e39f22ab4ab76d31f2b188a2879305092")
("typescript.el" . "fc3a4f3b275e8cf6cf41aa0c9ef42e25ef908feb")