Use elpaca for longer
All checks were successful
/ Test config on 20 (push) Successful in 29s

This commit is contained in:
Maciej 2024-10-30 08:18:17 +02:00
parent 1fe168ccc6
commit f21f3dcc77
Signed by: maciej
GPG key ID: 41D62D42D3B0D765
25 changed files with 883 additions and 984 deletions

View file

@ -6,29 +6,30 @@
;;; Commentary:
;; Load treesitter grammars automatically
;; Load treesitter grammars automatically, based on the grammars provided by the
;; community.
;;; Code:
(defun icejam-tree-sitter-symlink-grammar-objects ()
"Tree-sitter-langs-build releases grammars as LANG.so, but treesit needs libtree-sitter-LANG.so."
(interactive)
(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)))))
(use-package tree-sitter-langs :ensure t
:config
(declare-function tree-sitter-langs--bin-dir "tree-sitter-langs")
(add-to-list 'treesit-extra-load-path (tree-sitter-langs--bin-dir))
;;;;;;;;;;;;;;;;;;;;;; Tree sitter ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package tree-sitter-langs :ensure t)
(with-eval-after-load 'tree-sitter-langs
(add-to-list 'treesit-extra-load-path (tree-sitter-langs--bin-dir)))
;; (use-package tree-sitter-indent :ensure t)
(add-hook 'tree-sitter-after-on-hook 'tree-sitter-hl-mode)
(defun icejam-tree-sitter-symlink-grammar-objects ()
"Create symlinks for treesitter grammars.
Tree-sitter-langs-build releases grammars as LANG.so. Treesit needs
libtree-sitter-LANG.so"
(interactive)
(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))))))
(provide 'icejam-tree-sitter)
;;; icejam-tree-sitter.el ends here