mirror of https://github.com/Chizi123/.emacs.d.git

Joel Grunbaum
2021-12-22 ccdb5b9ec4af3879d2792f98782c91d2aae93fd4
config.org
@@ -614,7 +614,7 @@
#+BEGIN_SRC emacs-lisp
  (setq c-default-style '((java-mode . "java")
                         (awk-mode . "awk")
                         (other . "linux")))
                         (other . "k&r")))
#+END_SRC
** Coding system
@@ -624,12 +624,22 @@
  (set-keyboard-coding-system 'utf-8)
  (set-language-environment "UTF-8")
  (prefer-coding-system 'utf-8)
  (setq-default indent-tabs-mode t
                tab-width 8
  (setq-default indent-tabs-mode nil
                tab-width 4
                c-basic-offset tab-width
                cperl-indent-level tab-width)
  (c-set-offset 'inline-open '0)
  (delete-selection-mode)
  (global-set-key (kbd "RET") 'newline-and-indent)
#+END_SRC
*** Smart tabs
Tabs for indentation, spaces for alignment
#+BEGIN_SRC emacs-lisp
    (use-package smart-tabs-mode
      :ensure t
      :config
      (smart-tabs-insinuate 'c 'c++ 'java 'javascript 'cperl 'python 'ruby
                            'nxml))
#+END_SRC
** Move to beginning of line ignoring whitespace
@@ -692,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
@@ -960,7 +971,8 @@
** Language specific configs
*** C/C++
**** Flycheck clang
**** Flycheck
***** Flycheck clang
Add the clang backend for linting.
#+BEGIN_SRC emacs-lisp
  (use-package flycheck-clang-analyzer
@@ -971,8 +983,25 @@
      (require 'flycheck-clang-analyzer)
       (flycheck-clang-analyzer-setup)))
#+END_SRC
***** Flycheck project root
Flycheck tends to fail finding the project root, giving errors about missing files.
This should remove them.
#+BEGIN_SRC emacs-lisp
  (defun setup-flycheck-project-path ()
    (let ((root (ignore-errors (projectile-project-root))))
      (when root
        (add-to-list
         (make-variable-buffer-local 'flycheck-clang-include-path)
         root)
        (add-to-list
         (make-variable-buffer-local 'flycheck-gcc-include-path)
         root))))
**** Company
  (add-hook 'c-mode-hook 'setup-flycheck-project-path)
  (add-hook 'c++-mode-hook 'setup-flycheck-project-path)
#+END_SRC
**** COMMENT Company
Add header completion as well as Irony, which uses clang for suggestions.
#+BEGIN_SRC emacs-lisp
  (use-package company-c-headers