From 9f30765c7d24faf3c669673389def4c0899146b5 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Mon, 27 Oct 2025 08:30:06 +0200 Subject: emacs: Replace set-tab-width with a slimmer arkta/set-tab-width Also make nasm & lua indent setup simpler --- emacs/.config/emacs/arkta/arkta-progmodes.el | 14 ++++++-------- emacs/.config/emacs/init.el | 22 +++++++++------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/emacs/.config/emacs/arkta/arkta-progmodes.el b/emacs/.config/emacs/arkta/arkta-progmodes.el index e19aa47..c58ee93 100644 --- a/emacs/.config/emacs/arkta/arkta-progmodes.el +++ b/emacs/.config/emacs/arkta/arkta-progmodes.el @@ -13,7 +13,7 @@ :init (defun arkta/asm-setup () (setq indent-tabs-mode t) - (set-tab-width 8)) + (arkta/set-tab-width 8)) :hook (asm-mode . arkta/asm-setup)) (use-package auto-compile @@ -30,7 +30,7 @@ :init (defun arkta/c-setup () (setq indent-tabs-mode t) - (set-tab-width c-ts-mode-indent-offset)) + (arkta/set-tab-width c-ts-mode-indent-offset)) :hook (c-ts-base-mode . arkta/c-setup) :custom (c-ts-mode-indent-offset 8) @@ -106,7 +106,7 @@ (defun arkta/go-setup () (add-hook 'before-save-hook #'gofmt-before-save nil t) (setq indent-tabs-mode t) - (set-tab-width go-ts-mode-indent-offset)) + (arkta/set-tab-width go-ts-mode-indent-offset)) :hook (go-ts-mode . arkta/go-setup)) (use-package groovy-mode @@ -150,7 +150,7 @@ (use-package lua-mode :straight t :custom - (lua-indent-level 4) + (lua-indent-level standard-indent) :mode ("\\.lua\\'" "\\.rockspec\\'")) (use-package make-mode @@ -167,10 +167,8 @@ :straight t :mode ("\\.asm\\'" "\\.inc\\'") - :init - (defun arkta/nasm-setup () - (set-tab-width 4)) - :hook (nasm-mode . arkta/nasm-setup)) + :custom + (nasm-offset standard-indent)) (use-package ninja-mode :straight t diff --git a/emacs/.config/emacs/init.el b/emacs/.config/emacs/init.el index ca353b4..cb865ac 100644 --- a/emacs/.config/emacs/init.el +++ b/emacs/.config/emacs/init.el @@ -206,20 +206,16 @@ ;; :if +emacs30+ ;; :straight 'compat) -;; Helper functions -(defmacro defsetter (name &rest emacs-names) - (let ((name (intern (concat "set-" (symbol-name name))))) - `(defun ,name (value &optional default) - (if default - (progn - ,@(mapcar (lambda (name) `(setq-default ,name value)) emacs-names)) - ,@(mapcar (lambda (name) `(setq ,name value)) emacs-names))))) +;; Tab width, configure this before any other modes +(defun arkta/set-tab-width (value) + "Set the tab width, sets both `standard-indent' and `tab-width' so that they don't get forgotten." + (setq standard-indent value + tab-width value)) -(defsetter tab-width c-basic-offset nasm-offset standard-indent tab-width) - -;; Miscellany - -(set-tab-width 4 t) +(use-package emacs + :custom + (standard-indent 4) + (tab-width standard-indent)) ;; HIC SVNT DRACONES -- cgit v1.2.3