32 lines
1.0 KiB
EmacsLisp
32 lines
1.0 KiB
EmacsLisp
;; -*- coding: utf-8; lexical-binding: t; -*-
|
|
|
|
(if (bound-and-true-p creature/treesit-available)
|
|
(progn
|
|
(if (treesit-ready-p 'typescript)
|
|
(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-ts-mode)))
|
|
(if (treesit-ready-p 'tsx)
|
|
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . tsx-ts-mode))))
|
|
|
|
(add-subdirs-to-load-path (expand-file-name "optional-pkg" creature/config-dir))
|
|
(require 'typescript-mode)
|
|
|
|
(define-derived-mode typescript-tsx-mode typescript-mode "Tsx"
|
|
"Major mode for editing TSX file."
|
|
(require 'tree-sitter)
|
|
(require 'tree-sitter-hl)
|
|
(require 'tree-sitter-langs)
|
|
(require 'tree-sitter-debug)
|
|
(require 'tree-sitter-query)
|
|
|
|
(require 'tsi-typescript)
|
|
(tsi-typescript-mode))
|
|
|
|
(add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-tsx-mode))
|
|
|
|
(with-eval-after-load 'tree-sitter-langs
|
|
(tree-sitter-require 'tsx)
|
|
(add-to-list 'tree-sitter-major-mode-language-alist '(typescript-tsx-mode . tsx))))
|
|
|
|
|
|
(provide 'init-typescript)
|