Some checks failed
/ Test config on 20 (push) Failing after 53s
Make the editor load faster by deferring as much as possible until later use. For example, LSP load is now deferred until first use and no longer blocking. Use only elixir-format from elixir-mode, for similar speed reasons. The rest of the package has been taken over by the treesitter version of the mode.
37 lines
1.3 KiB
EmacsLisp
37 lines
1.3 KiB
EmacsLisp
;;; icejam-treesitter.el --- summary
|
|
|
|
;; Author: Maciej Szlosarczyk
|
|
;; Maintainer: Maciej Szlosarczyk
|
|
;; Version: 0.1-snapshot
|
|
|
|
;;; Commentary:
|
|
|
|
;; Load treesitter grammars automatically, based on the grammars provided by the
|
|
;; community.
|
|
|
|
;;; Code:
|
|
|
|
(use-package tree-sitter-langs :ensure t :defer t
|
|
:commands tree-sitter-langs--bin-dir
|
|
:hook
|
|
(elpaca-after-init . (lambda () (add-to-list
|
|
'treesit-extra-load-path
|
|
(tree-sitter-langs--bin-dir)))))
|
|
|
|
(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
|