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

Joel Grunbaum
2022-04-10 c1e21065ac8e79c57105cbdf86e63b4822009fbf
config.org
@@ -22,48 +22,36 @@
Theme switcher, using a cond allows loading of many preconfigured themes which can be switched between easily.
Zenburn theme is my default.
#+BEGIN_SRC emacs-lisp
  (setq emacs-theme 'zenburn)
  (defun disable-all-themes ()
    (dolist (i custom-enabled-themes)
      (disable-theme i)))
  (cond ((eq emacs-theme 'zenburn)
         (use-package zenburn-theme
           :init
           (disable-all-themes)
           :config
           (load-theme 'zenburn t)))
        ((eq emacs-theme 'doom-one)
         (use-package doom-themes
           :init
           (disable-all-themes)
           :config
           (setq doom-themes-enable-bolt t
                 doom-themes-enable-italic t)
           (load-theme 'doom-one t)
           (doom-themes-visual-bell-config)
           (doom-themes-org-config)))
        ((eq emacs-theme 'nord)
         (use-package nord-theme
           :init
           (disable-all-themes)
           :config
           (load-theme 'nord t)))
        ((eq emacs-theme 'solarized)
         (use-package solarized-theme
           :init
           (disable-all-themes)
           :config
           (load-theme 'solarized-dark t)))
        ((eq emacs-theme 'jetbrains-darcula)
         (use-package jetbrains-darcula-theme
           :init
           (disable-all-themes)
           :config
           (load-theme 'jetbrains-darcula t)))
        ((eq emacs-theme 'none)
         (disable-all-themes)))
  (defun set-theme (theme)
    "Set the theme with theme downloading"
    (interactive "SWhat theme to load? ")
    (cond ((eq theme 'zenburn)
           (use-package zenburn-theme))
          ((string-match-p "^doom" "doom-one")
           (use-package doom-themes
             :config
             (setq doom-themes-enable-bolt t
                   doom-themes-enable-italic t)
             (doom-themes-visual-bell-config)
             (doom-themes-org-config)))
          ((eq theme 'nord)
           (use-package nord-theme))
          ((eq theme 'solarized)
           (use-package solarized-theme))
          ((eq theme 'jetbrains-darcula)
           (use-package jetbrains-darcula-theme))
          ((eq theme 'none)
           (disable-all-themes)))
    (setq emacs-theme theme)
    (when (not (eq theme 'none))
      (load-theme theme t))
    (message (format "Theme set to: %s" theme)))
  (set-theme 'zenburn)
#+END_SRC
** Default font
@@ -105,9 +93,10 @@
Auto-enable in latex and org as they're the main writing modes.
#+BEGIN_SRC emacs-lisp
  (use-package flyspell
    :hook (tex-mode latex-mode TeX-mode LaTeX-mode org-mode)
    :hook ((tex-mode latex-mode TeX-mode LaTeX-mode org-mode text-mode) . flyspell-mode)
    :diminish flyspell-mode
    :init (require 'ispell)
    :init
    (require 'ispell)
    :config
    (setq-default ispell-program-name "aspell")
    (setq-default ispell-local-dictionary "en_AU"))
@@ -724,7 +713,6 @@
    (require 'spaceline-config)
    (setq spaceline-buffer-encoding-abbrev-p t)
    (setq spaceline-line-column-p t)
    (setq spaceline-line-p t)
    (setq powerline-default-separator (quote arrow))
    (spaceline-spacemacs-theme)
    (spaceline-helm-mode))
@@ -961,6 +949,18 @@
           ("M-RET" . 'srefactor-refactor-at-point)))
#+END_SRC
** Tree sitter
Parser library.
Provides better syntax highlighting and some other neat features.
#+BEGIN_SRC emacs-lisp
  (use-package tree-sitter
    :diminish t)
  (use-package tree-sitter-langs
    :config
    (global-tree-sitter-mode)
    (add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))
#+END_SRC
** Language specific configs
*** C/C++
**** Flycheck
@@ -1028,15 +1028,19 @@
        (setq-local clang-format-style nil)
      (setq-local clang-format-style (concat "{BasedOnStyle: LLVM,"
                                             "IndentWidth: " (format "%s" tab-width) ","
                                             "TabWidth: " (format "%s" tab-width) ","
                                             "UseTab: " (if (eq indent-tabs-mode nil)
                                                            "Never"
                                                          "AlignWithSpaces")
                                             ","
                                             "BreakBeforeBraces: Linux,"
                                             "AllowShortIfStatementsOnASingleLine: false,"
                                             "IndentCaseLabels: false}"))))
                                             "PointerAlignment: Left,"
                                             "IndentCaseBlocks: true,"
                                             "IndentCaseLabels: false,"
                                             "SortUsingDeclarations: true}"))))
  (add-hook 'c-mode-common-hook 'set-clang-format-style)
  (use-package clang-format)
  ;;   (defun clang-format-on-save ()