summaryrefslogtreecommitdiff
path: root/emacs/init.el
diff options
context:
space:
mode:
authorThomas Ulmer <thomas.ulmer@redflagai.co>2026-01-11 16:46:20 -0800
committerThomas Ulmer <thomas.ulmer@redflagai.co>2026-01-11 16:46:20 -0800
commit19890449837d54dcafbf5578860491704d4509bb (patch)
tree6378b5a75c9856905365979da1ba09d6399790a5 /emacs/init.el
parent52640fe5308350cdac5423c1693fff71bfcd952a (diff)
clang for c indent, c guess on start
Diffstat (limited to 'emacs/init.el')
-rw-r--r--emacs/init.el17
1 files changed, 13 insertions, 4 deletions
diff --git a/emacs/init.el b/emacs/init.el
index f99b1d2..3dba4f7 100644
--- a/emacs/init.el
+++ b/emacs/init.el
@@ -52,15 +52,20 @@
'(makefile-gmake-mode makefile-mode makefile-imake-mode
makefile-makepp-mode makefile-bsdmake-mode makefile-automake-mode))
-(defvar my/prog-cleanup-indent-max-lines 500)
+(defvar my/prog-cleanup-indent-max-lines 500 "Nil for no limit.")
(defun my/clean-prog-file (&optional buffer)
"Fixes whitespace etc in BUFFER or current buffer."
(unless buffer (setq buffer (current-buffer)))
(with-current-buffer buffer
- (when (< (car (buffer-line-statistics buffer))
- my/prog-cleanup-indent-max-lines)
- (indent-region (point-min) (point-max)))
+ (cond
+ ((derived-mode-p '(c-mode c++-mode))
+ (clang-format-buffer))
+ ((not (eq major-mode 'fundamental-mode))
+ (when (and my/prog-cleanup-indent-max-lines
+ (< (car (buffer-line-statistics buffer))
+ my/prog-cleanup-indent-max-lines))
+ (indent-region (point-min) (point-max)))))
(unless (member major-mode my/prog-cleanup-want-tabs-modes)
(untabify (point-min) (point-max)))
(delete-trailing-whitespace)))
@@ -72,6 +77,8 @@
(hs-minor-mode 1)
(display-fill-column-indicator-mode 1)
(smerge-mode 1)
+ (when (derived-mode-p '(c-mode c++-mode))
+ (c-guess))
(add-hook 'before-save-hook
(lambda ()
(unless (member major-mode my/prog-cleanup-excluded-modes)
@@ -708,6 +715,8 @@ current layout."
(use-package rust-mode)
+(use-package clang-format)
+
(use-package opam-switch-mode
:config
(when (and (file-exists-p "~/.opam") (executable-find "opam"))