From 3592c10cc1f5d4b5b005961202738b530d9635cf Mon Sep 17 00:00:00 2001 From: Dev380 <49997896+Dev380@users.noreply.github.com> Date: Sat, 13 Apr 2024 14:12:25 -0400 Subject: [PATCH] fix(treesit): auto mode precedence of rust-mode Currently, `rust-ts-mode` will add itself to the `auto-mode-alist` when it is loaded, which is after the autoload for adding `rust-mode`. We need to re-add `rust-mode` after loading the treesitter package to make sure this mode has higher priority. --- rust-mode-treesitter.el | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rust-mode-treesitter.el b/rust-mode-treesitter.el index 21eab59..5f84a00 100644 --- a/rust-mode-treesitter.el +++ b/rust-mode-treesitter.el @@ -13,6 +13,12 @@ (require 'treesit) (require 'rust-ts-mode) + ;; HACK: `rust-ts-mode' adds itself to the `auto-mode-alist' + ;; after us, so we need to readd `rust-mode' to the front of + ;; the list after loading `rust-ts-mode'. + (setq auto-mode-alist (delete '("\\.rs\\'" . rust-mode) auto-mode-alist)) + (add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode)) + (define-derived-mode rust-mode rust-ts-mode "Rust" "Major mode for Rust code.