feat(emacs): implement tree-sitter

This commit is contained in:
js0ny 2025-04-13 23:32:13 +01:00
parent 707e837753
commit 2ef99c209c
4 changed files with 40 additions and 15 deletions

View file

@ -31,18 +31,24 @@
;; Load each modules
(require 'init-package) ; package manager should be loaded first
(require 'init-basic)
(require 'init-appearance) ; package manager should be loaded first
(require 'init-appearance)
(require 'init-keymaps)
(require 'init-evil)
(require 'init-file)
(require 'init-edit)
(require 'init-org)
;; (require 'init-lsp) ; FIXME: See .emacs.d/lisp/init-lsp.el
(require 'init-lang)
(require 'init-treesitter)
;; Load `custom` file
(when (file-exists-p custom-file)
(load custom-file))
(when (file-exists-p (expand-file-name "local.el" user-emacs-directory))
(load (expand-file-name "local.el" user-emacs-directory)))
;;; init.el end

View file

@ -0,0 +1,12 @@
;;; init-lang.el
;; (use-package lsp-mode
;; :commands (lsp lsp-deferred)
;; :hook (prog-mode . lsp-deferred))
;; (setq package-check-signature t)
(provide 'init-lang)
;;; init-lang.el ends

View file

@ -1,13 +0,0 @@
;;; init-lsp.el
;;; First edit on 2025/01/29
;;; Stores Language Server Protocol Configs
;;; FIXME: Cannot install `lsp-mode` plugin, this file will not be loaded by Emacs for now
(use-package lsp-mode
:commands (lsp lsp-deferred)
:hook (prog-mode . lsp-deferred))
;; (setq package-check-signature t)
(provide 'init-lsp)
;;; init-lsp.el ends

View file

@ -0,0 +1,20 @@
;;; init-treesitter.el tree-sitter integration for emacs
;;; Reference: https://emacs.liujiacai.net/post/038-hello-treesitter/
;;; Download: https://github.com/emacs-tree-sitter/tree-sitter-langs/releases/tag/0.12.268
(add-to-list 'treesit-extra-load-path (expand-file-name "tree-sitter" user-emacs-data))
(setq major-mode-remap-alist
'((yaml-mode . yaml-ts-mode)
(sh-mode . bash-ts-mode)
(js-mode . js-ts-mode)
(css-mode . css-ts-mode)
(c-mode . c-ts-mode)
(c++-mode . c++-ts-mode)
(c-or-c++-mode . c-or-c++-ts-mode)
(python-mode . python-ts-mode)
(js-json-mode . json-ts-mode)))
(provide 'init-treesitter)