From d03628df5dc61e22accd8e7be0a587694f8b3d6e Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 30 Aug 2022 13:27:46 +0200 Subject: [PATCH] Add file extensions to major mode alist This allows to choose the correct grammar when the same major mode is used for different kind of files. Namely, in OCaml, .ml and .mli files are both handled by tuareg-mode but don't have the same grammar. The issue right now is that I can't make tree-sitter-hl-mode work for .mli files. --- tree-sitter-langs.el | 74 +++++++++++++++++++++++--------------------- 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/tree-sitter-langs.el b/tree-sitter-langs.el index e9c66bd9..a49982c4 100644 --- a/tree-sitter-langs.el +++ b/tree-sitter-langs.el @@ -98,42 +98,44 @@ See `tree-sitter-langs-repos'." "Link known major modes to languages provided by the bundle." (dolist (entry (reverse - '((agda-mode . agda) - (sh-mode . bash) - (c-mode . c) - (csharp-mode . c-sharp) - (c++-mode . cpp) - (d-mode . d) - (css-mode . css) - (elm-mode . elm) - (elixir-mode . elixir) - (go-mode . go) - (hcl-mode . hcl) - (html-mode . html) - (mhtml-mode . html) - (nix-mode . nix) - (java-mode . java) - (javascript-mode . javascript) - (js-mode . javascript) - (js2-mode . javascript) - (js3-mode . javascript) - (json-mode . json) - (jsonc-mode . json) - (julia-mode . julia) - (ocaml-mode . ocaml) - (php-mode . php) - (prisma-mode . prisma) - (python-mode . python) - (pygn-mode . pgn) - (rjsx-mode . javascript) - (ruby-mode . ruby) - (rust-mode . rust) - (rustic-mode . rust) - (scala-mode . scala) - (swift-mode . swift) - (tuareg-mode . ocaml) - (typescript-mode . typescript) - (zig-mode . zig)))) + '(((agda-mode nil) . agda) + ((sh-mode nil) . bash) + ((c-mode nil) . c) + ((csharp-mode nil) . c-sharp) + ((c++-mode nil) . cpp) + ((d-mode nil) . d) + ((css-mode nil) . css) + ((elm-mode nil) . elm) + ((elixir-mode nil) . elixir) + ((go-mode nil) . go) + ((hcl-mode nil) . hcl) + ((html-mode nil) . html) + ((mhtml-mode nil) . html) + ((nix-mode nil) . nix) + ((java-mode nil) . java) + ((javascript-mode nil) . javascript) + ((js-mode nil) . javascript) + ((js2-mode nil) . javascript) + ((js3-mode nil) . javascript) + ((json-mode nil) . json) + ((jsonc-mode nil) . json) + ((julia-mode nil) . julia) + ((ocaml-mode "ml") . ocaml) + ((ocaml-mode "mli") . ocaml-interface) + ((php-mode nil) . php) + ((prisma-mode nil) . prisma) + ((python-mode nil) . python) + ((pygn-mode nil) . pgn) + ((rjsx-mode nil) . javascript) + ((ruby-mode nil) . ruby) + ((rust-mode nil) . rust) + ((rustic-mode nil) . rust) + ((scala-mode nil) . scala) + ((swift-mode nil) . swift) + ((tuareg-mode "ml") . ocaml) + ((tuareg-mode "mli") . ocaml-interface) + ((typescript-mode nil) . typescript) + ((zig-mode nil) . zig)))) (cl-pushnew entry tree-sitter-major-mode-language-alist :key #'car)) (advice-remove 'tree-sitter--setup #'tree-sitter-langs--init-major-mode-alist))