Files
creature/lisp/init-treesit.el
T

29 lines
977 B
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 '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 'cmake)
(add-to-list 'major-mode-remap-alist '(cmake-mode . cmake-ts-mode))))
(provide 'init-treesit)