From 27d33bcdb6196199cee3334a9e8e440b5f3ed996 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Mon, 26 Oct 2020 04:30:48 +0000
Subject: [PATCH] Automatic C indentation with clang-format, tab width 8 to try out
---
config.org | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/config.org b/config.org
index f58e4b8..565bfa6 100644
--- a/config.org
+++ b/config.org
@@ -607,7 +607,7 @@
#+BEGIN_SRC emacs-lisp
(setq c-default-style '((java-mode . "java")
(awk-mode . "awk")
- (other . "k&r")))
+ (other . "linux")))
#+END_SRC
** Coding system
@@ -618,7 +618,7 @@
(set-language-environment "UTF-8")
(prefer-coding-system 'utf-8)
(setq-default indent-tabs-mode t
- tab-width 4
+ tab-width 8
c-basic-offset tab-width
cperl-indent-level tab-width)
(delete-selection-mode)
@@ -792,8 +792,9 @@
(setq company-minimum-prefix-length 3))
#+END_SRC
-** LSP Mode
-Use LSP for completion suggestions
+** COMMENT LSP Mode
+Use LSP for completion suggestions.
+Causes too much memory usage, need to debug.
#+BEGIN_SRC emacs-lisp
(use-package lsp-mode
:ensure t
@@ -979,7 +980,23 @@
company-dabbrev-code
company-irony)))
#+END_SRC
-
+**** Clang-format
+Automatically format buffer on save.
+#+BEGIN_SRC emacs-lisp
+ (when (file-exists-p "/usr/share/clang/clang-format.el")
+ (load "/usr/share/clang/clang-format.el")
+ (setq clang-format-linux-style (concat "{BasedOnStyle: LLVM,"
+ "IndentWidth: 8,"
+ "UseTab: Always,"
+ "BreakBeforeBraces: Linux,"
+ "AllowShortIfStatementsOnASingleLine: false,"
+ "IndentCaseLabels: false}"))
+ (setq-default clang-format-style clang-format-linux-style)
+ (defun clang-format-on-save ()
+ (add-hook 'before-save-hook 'clang-format-buffer))
+ (add-hook 'c-mode-hook 'clang-format-on-save)
+ (add-hook 'c++-mode-hook 'clang-format-on-save))
+#+END_SRC
*** emacs-lisp
**** COMMENT company
Add slime backend.
--
Gitblit v1.10.0