emacs: refactor indent hooks

This commit is contained in:
Jeremy Baxter 2024-07-19 09:51:59 +12:00
parent adb0b0e0ce
commit 66d309e407

View file

@ -65,23 +65,22 @@
(defun indent-tab-hook () (defun indent-tab-hook ()
(indent-common-hook) (indent-common-hook)
(setq-local indent-tabs-mode t)) (setq-local indent-tabs-mode t))
(defun indent-spc-hook () (defun indent-spc-hook (&optional w)
(or w (setq w 4))
(indent-common-hook) (indent-common-hook)
(setq-local indent-tabs-mode nil)) (setq-local indent-tabs-mode nil
tab-width w))
(add-hook 'prog-mode-hook 'display-line-numbers-mode) (add-hook 'prog-mode-hook 'display-line-numbers-mode)
(add-hook 'text-mode-hook 'hl-line-mode) (add-hook 'text-mode-hook 'hl-line-mode)
(add-hook 'prog-mode-hook 'indent-tab-hook) (add-hook 'prog-mode-hook 'indent-tab-hook)
(add-hook 'sgml-mode-hook 'indent-spc-hook) (add-hook 'sgml-mode-hook 'indent-spc-hook)
(add-hook 'nix-mode-hook #'(lambda () (add-hook 'd-mode-hook 'indent-tab-hook)
(indent-spc-hook) (add-hook 'nix-mode-hook #'(lambda () (indent-spc-hook 2)))
(setq-local tab-width 2)))
(defun lisp-hook () (defun lisp-hook ()
(indent-spc-hook) (indent-spc-hook 2))
(keymap-local-set "C-c l" 'common-lisp-hyperspec)
(setq-local tab-width 2))
(add-hook 'lisp-mode-hook 'lisp-hook) (add-hook 'lisp-mode-hook 'lisp-hook)
(add-hook 'lisp-data-mode-hook 'lisp-hook) (add-hook 'lisp-data-mode-hook 'lisp-hook)