From 2f6aa6a1f71229a73ba1df0916091bf9af36f5de Mon Sep 17 00:00:00 2001 From: Daniel Borchmann Date: Sun, 1 Oct 2023 17:04:55 +0200 Subject: [PATCH] Introduce major-mode-remap-alist into auto-mode configuration Also distribute the current auto-mode setting from `db/run-init` to the individual packages, to allow overwriting via customizations. --- init.el | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/init.el b/init.el index 46f0376..f0d3c0a 100644 --- a/init.el +++ b/init.el @@ -160,19 +160,6 @@ (add-hook 'text-mode-hook 'abbrev-mode) (add-hook 'text-mode-hook 'hl-line-mode) - ;; Auto-Modes - - (dolist (mode-spec '(("\\.clj\\'" . clojure-mode) - ("\\.cl\\'" . lisp-mode) - ("\\.lisp\\'" . lisp-mode) - ("\\.plx\\’" . cperl-mode) - ("\\.hs\\'" . haskell-mode) - ("\\.lhs\\'" . haskell-mode) - ("\\.md\\'" . markdown-mode) - ("\\.html\\'" . nxml-mode) - ("\\.xml\\'" . nxml-mode))) - (add-to-list 'auto-mode-alist mode-spec)) - ;; Top-Level Keybindings (bind-key "" #'winner-undo) @@ -484,6 +471,9 @@ diary-show-holidays-flag t calendar-view-holidays-initially-flag nil)) +(use-package files + :init (setq major-mode-remap-alist `((perl-mode . cperl-mode)))) + (use-package grep :commands (rgrep zrgrep) :bind (:map grep-mode-map @@ -2772,6 +2762,8 @@ eventuelly be set to nil, however)." ;; General Stuff first (use-package lisp-mode + :mode (("\\.cl\\'" . lisp-mode) + ("\\.lisp\\'" . lisp-mode)) :init (setq lisp-indent-function #'common-lisp-indent-function)) (use-package lispy @@ -2817,6 +2809,7 @@ eventuelly be set to nil, however)." (add-hook 'cider-repl-mode-hook 'company-mode))) (use-package clojure-mode + :mode (("\\.clj\\'" . clojure-mode)) :config (progn (define-clojure-indent (forall 'defun) @@ -3005,20 +2998,13 @@ eventuelly be set to nil, however)." (use-package cperl-mode :ensure t :commands (cperl-mode) - :init (progn - ;; replace perl-mode with cperl-mode - (mapc - #'(lambda (pair) - (if (eq (cdr pair) 'perl-mode) - (setcdr pair 'cperl-mode))) - (append auto-mode-alist interpreter-mode-alist)) - - (setq cperl-hairy nil - cperl-invalid-face 'default - cperl-electric-keywords nil - cperl-lazy-help-time 2 - cperl-highlight-variables-indiscriminately t - cperl-indent-parens-as-block t)) + :mode ("\\.plx\\'" . cperl-mode) + :init (setq cperl-hairy nil + cperl-invalid-face 'default + cperl-electric-keywords nil + cperl-lazy-help-time 2 + cperl-highlight-variables-indiscriminately t + cperl-indent-parens-as-block t) :config (progn (add-hook 'cperl-mode-hook 'flycheck-mode) (add-hook 'cperl-mode-hook 'prettify-symbols-mode)