From a35c6e01739f82feae72eabe49558537f0a20f67 Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Thu, 27 Oct 2022 02:29:13 +0800 Subject: [PATCH] config for tsx major mode --- .gitmodules | 9 +++++++++ lisp/init-typescript.el | 18 ++++++++++++++++++ site-lisp/elisp-tree-sitter | 1 + site-lisp/tree-sitter-langs | 1 + site-lisp/tsi | 1 + 5 files changed, 30 insertions(+) create mode 160000 site-lisp/elisp-tree-sitter create mode 160000 site-lisp/tree-sitter-langs create mode 160000 site-lisp/tsi diff --git a/.gitmodules b/.gitmodules index c078a90..39fda36 100644 --- a/.gitmodules +++ b/.gitmodules @@ -91,3 +91,12 @@ [submodule "site-lisp/typescript"] path = site-lisp/typescript url = https://github.com/emacs-typescript/typescript.el.git +[submodule "site-lisp/elisp-tree-sitter"] + path = site-lisp/elisp-tree-sitter + url = https://github.com/emacs-tree-sitter/elisp-tree-sitter.git +[submodule "site-lisp/tree-sitter-langs"] + path = site-lisp/tree-sitter-langs + url = https://github.com/emacs-tree-sitter/tree-sitter-langs.git +[submodule "site-lisp/tsi"] + path = site-lisp/tsi + url = https://github.com/orzechowskid/tsi.el.git diff --git a/lisp/init-typescript.el b/lisp/init-typescript.el index 1e624ba..f67fa2e 100644 --- a/lisp/init-typescript.el +++ b/lisp/init-typescript.el @@ -3,4 +3,22 @@ (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) diff --git a/site-lisp/elisp-tree-sitter b/site-lisp/elisp-tree-sitter new file mode 160000 index 0000000..c3fe96a --- /dev/null +++ b/site-lisp/elisp-tree-sitter @@ -0,0 +1 @@ +Subproject commit c3fe96a103a766256ba62120eb638eef8e9a9802 diff --git a/site-lisp/tree-sitter-langs b/site-lisp/tree-sitter-langs new file mode 160000 index 0000000..aaa8123 --- /dev/null +++ b/site-lisp/tree-sitter-langs @@ -0,0 +1 @@ +Subproject commit aaa81234ddabc85f4316ac50e99f21cc1e9cc40b diff --git a/site-lisp/tsi b/site-lisp/tsi new file mode 160000 index 0000000..eb26ee2 --- /dev/null +++ b/site-lisp/tsi @@ -0,0 +1 @@ +Subproject commit eb26ee20437576eefc62a61616bfdc5bda25caae