35 lines
1.2 KiB
EmacsLisp
35 lines
1.2 KiB
EmacsLisp
;; -*- coding: utf-8; lexical-binding: t; -*-
|
|
|
|
(defconst creature/treesit-available
|
|
(and (fboundp 'treesit-available-p) (treesit-available-p))
|
|
"Built-in `treesit' available.")
|
|
|
|
(setq treesit-extra-load-path
|
|
(list (file-name-concat creature/config-dir "tree-sitter")))
|
|
|
|
(when creature/treesit-available
|
|
(unless (featurep 'treesit) (require 'treesit))
|
|
(when (treesit-ready-p 'javascript)
|
|
(add-to-list 'major-mode-remap-alist '(js-mode . js-ts-mode))
|
|
(add-to-list 'major-mode-remap-alist '(javascript-mode . js-ts-mode)))
|
|
|
|
(when (treesit-ready-p 'lua)
|
|
(add-to-list 'major-mode-remap-alist '(lua-mode . lua-ts-mode)))
|
|
|
|
(when (treesit-ready-p 'json)
|
|
(add-to-list 'major-mode-remap-alist '(js-json-mode . json-ts-mode)))
|
|
|
|
(when (treesit-ready-p 'c)
|
|
(add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode)))
|
|
(when (treesit-ready-p 'cpp)
|
|
(add-to-list 'major-mode-remap-alist '(c++-mode . c++-ts-mode)))
|
|
|
|
(when (treesit-ready-p 'python)
|
|
(add-to-list 'major-mode-remap-alist '(python-mode . python-ts-mode)))
|
|
|
|
(when (treesit-ready-p 'cmake)
|
|
(add-to-list 'major-mode-remap-alist '(cmake-mode . cmake-ts-mode))))
|
|
|
|
|
|
(provide 'init-treesit)
|