From aa97b3ac76e7c74c555cb64cf6353f1d32859f4a Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Wed, 22 Dec 2021 07:39:02 +0000
Subject: [PATCH] Enable clang format with an attempt at automatic detection of a format config file
---
config.org | 65 ++++++++++++++++++++++++--------
1 files changed, 48 insertions(+), 17 deletions(-)
diff --git a/config.org b/config.org
index 0c9cdfc..849d2c0 100644
--- a/config.org
+++ b/config.org
@@ -702,7 +702,8 @@
;; (setq tramp-default-method "ssh")
(when (eq system-type 'windows-nt)
(setq tramp-default-method "pscp"))
- (setq password-cache-expiry nil))
+ (setq password-cache-expiry nil)
+ (add-to-list 'tramp-remote-path 'tramp-own-remote-path))
#+END_SRC
** COMMENT Y or N instead of yes or no
@@ -834,7 +835,7 @@
LaTeX-mode
rust-mode
sh-mode
- verilog-mode
+ ;; verilog-mode
go-mode) . lsp))
:init
(setq lsp-keymap-prefix "C-c l")
@@ -1031,19 +1032,29 @@
**** 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 nil t))
- (add-hook 'c-mode-hook 'clang-format-on-save nil t)
- (add-hook 'c++-mode-hook 'clang-format-on-save nil t))
+ (defun set-clang-format-style ()
+ (if (file-exists-p (concat
+ (projectile-project-root)
+ ".clang-format"))
+ (setq-local clang-format-style nil)
+ (setq-local clang-format-style (concat "{BasedOnStyle: LLVM,"
+ "IndentWidth: " (format "%s" tab-width) ","
+ "UseTab: " (if (eq indent-tabs-mode nil)
+ "Never"
+ "AlignWithSpaces")
+ ","
+ "BreakBeforeBraces: Linux,"
+ "AllowShortIfStatementsOnASingleLine: false,"
+ "IndentCaseLabels: false}"))))
+
+ (use-package clang-format
+ :ensure t
+ :hook (c-mode-common . (set-clang-format-style)))
+
+ ;; (defun clang-format-on-save ()
+ ;; (add-hook 'before-save-hook 'clang-format-buffer nil t))
+ ;; (add-hook 'c-mode-hook 'clang-format-on-save nil t)
+ ;; (add-hook 'c++-mode-hook 'clang-format-on-save nil t))
#+END_SRC
*** emacs-lisp
**** COMMENT Company
@@ -1196,9 +1207,29 @@
:pin gnu
:config
(autoload 'verilog-mode "verilog-mode" "Verilog mode" t )
- (add-to-list 'auto-mode-alist '("\\.[ds]?va?h?\\'" . verilog-mode)))
+ (add-to-list 'auto-mode-alist '("\\.[ds]?va?h?\\'" . verilog-mode))
+ (setq-default verilog-align-ifelse t
+ verilog-auto-delete-trailing-whitespace t
+ verilog-auto-inst-param-value t
+ verilog-auto-lineup 'all
+ verilog-auto-newline nil
+ verilog-auto-save-policy nil
+ verilog-auto-template-warn-unused t
+ verilog-auto-endcomments nil
+ verilog-highlight-grouping-keywords t
+ verilog-highlight-modules t
+ verilog-tab-to-comment t
+ verilog-indent-begin-after-if nil
+ verilog-indent-lists nil
+ verilog-case-indent 4
+ verilog-cexp-indent 0
+ verilog-indent-level 4
+ verilog-indent-level-behavioral 4
+ verilog-indent-level-declaration 4
+ verilog-indent-level-directive 4
+ verilog-indent-level-module 4))
#+END_SRC
-
+#+END_SRC
*** COMMENT MATLAB
Mode for editing MATLAB m-files.
#+BEGIN_SRC emacs-lisp
--
Gitblit v1.10.0