Skip to content

Commit 637c551

Browse files
mattiasmattias
authored andcommitted
Look for major modes and extensions for grammar loading
See emacs-tree-sitter/tree-sitter-langs#116
1 parent c3fe96a commit 637c551

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

lisp/tree-sitter.el

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,9 @@ OLD-LEN is the char length of the old text."
150150
"Enable `tree-sitter' in the current buffer."
151151
(unless tree-sitter-language
152152
;; Determine the language symbol based on `major-mode' .
153-
(let ((lang-symbol (alist-get major-mode tree-sitter-major-mode-language-alist)))
153+
(let*
154+
((file-extension (if (eq major-mode 'tuareg-mode) (file-name-extension buffer-file-name) nil))
155+
(lang-symbol (alist-get (list major-mode file-extension) tree-sitter-major-mode-language-alist nil nil 'equal)))
154156
(unless lang-symbol
155157
(error "No language registered for major mode `%s'" major-mode))
156158
(setq tree-sitter-language (tree-sitter-require lang-symbol))))

0 commit comments

Comments
 (0)