aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-15 21:34:09 -0500
committerCraig Jennings <c@cjennings.net>2026-06-15 21:34:09 -0500
commit902290a4c15d905418e1ad354e7ee06cfa35b3f1 (patch)
tree0747e21e2a8307709ea26b44cee1623b03cd35bd /modules
parent7d58ccfb5baad7ab6e3069f9cb4e181482438357 (diff)
downloaddotemacs-902290a4c15d905418e1ad354e7ee06cfa35b3f1.tar.gz
dotemacs-902290a4c15d905418e1ad354e7ee06cfa35b3f1.zip
fix(prog): keep electric-pair and line-number setup buffer-local
- Go/C/shell setup hooks called the global electric-pair-mode, so one prog buffer turned pairing on in org and text everywhere. Use electric-pair-local-mode. - prog-general set display-line-numbers-type inside the hook, after the mode turned on, so the first prog buffer of a session got absolute numbers. Set the type and width at top level instead. - Updated the go/c tests to stub the local mode.
Diffstat (limited to 'modules')
-rw-r--r--modules/prog-c.el2
-rw-r--r--modules/prog-general.el8
-rw-r--r--modules/prog-go.el2
-rw-r--r--modules/prog-shell.el2
4 files changed, 9 insertions, 5 deletions
diff --git a/modules/prog-c.el b/modules/prog-c.el
index dd5d7ace5..294375cb4 100644
--- a/modules/prog-c.el
+++ b/modules/prog-c.el
@@ -70,7 +70,7 @@
(setq-local fill-column 80) ;; wrap at 80 columns
(setq-local comment-auto-fill-only-comments t) ;; only auto-fill inside comments
(auto-fill-mode) ;; auto-fill multiline comments
- (electric-pair-mode) ;; automatic parenthesis pairing
+ (electric-pair-local-mode) ;; automatic parenthesis pairing
;; Enable LSP if available
(when (and (fboundp 'lsp-deferred)
diff --git a/modules/prog-general.el b/modules/prog-general.el
index cb46ce6b8..53f20ce46 100644
--- a/modules/prog-general.el
+++ b/modules/prog-general.el
@@ -72,12 +72,16 @@
;; --------------------- General Programming Mode Settings ---------------------
;; keybindings, minor-modes, and prog-mode settings
+;; Set the line-number type and width before any prog buffer enables
+;; display-line-numbers-mode. Setting them inside the hook ran after the mode
+;; turned on, so the first prog buffer of a session got absolute numbers.
+(setq display-line-numbers-type 'relative) ;; numbers relative to point
+(setq-default display-line-numbers-width 3) ;; 3 chars reserved for numbers
+
(defun cj/general-prog-settings ()
"Keybindings, minor modes, and settings for programming mode."
(interactive)
(display-line-numbers-mode) ;; show line numbers
- (setq display-line-numbers-type 'relative) ;; display numbers relative to 'the point'
- (setq-default display-line-numbers-width 3) ;; 3 characters reserved for line numbers
(turn-on-visual-line-mode) ;; word-wrapping
(auto-fill-mode) ;; auto wrap at the fill column set
(local-set-key (kbd "M-;") 'comment-dwim) ;; comment/uncomment region as appropriate
diff --git a/modules/prog-go.el b/modules/prog-go.el
index 0edfc2065..8d0707b00 100644
--- a/modules/prog-go.el
+++ b/modules/prog-go.el
@@ -61,7 +61,7 @@ Install with: go install github.com/go-delve/delve/cmd/dlv@latest")
(setq-local tab-width 4) ;; Go standard tab width
(setq-local standard-indent 4) ;; indent 4 spaces per level
(setq-local indent-tabs-mode t) ;; use real tabs (Go convention)
- (electric-pair-mode t) ;; match delimiters automatically
+ (electric-pair-local-mode t) ;; match delimiters automatically
;; Enable LSP if available
(when (and (fboundp 'lsp-deferred)
diff --git a/modules/prog-shell.el b/modules/prog-shell.el
index ca990c614..45c0afbca 100644
--- a/modules/prog-shell.el
+++ b/modules/prog-shell.el
@@ -74,7 +74,7 @@ Install with: sudo pacman -S shellcheck")
(setq-local sh-basic-offset 2) ;; 2 spaces (common shell convention)
(setq-local tab-width 2) ;; tab displays as 2 spaces
(setq-local fill-column 80) ;; wrap at 80 columns
- (electric-pair-mode t) ;; automatic quote/bracket pairing
+ (electric-pair-local-mode t) ;; automatic quote/bracket pairing
;; Enable LSP if available (skip remote files - slow and prompts for project root)
(when (and (fboundp 'lsp-deferred)