Unify spacemacs config style and fix minor issues

This commit is contained in:
Leni Ven 2023-01-16 17:21:19 -08:00
parent d5935f525d
commit f216f7f4c4
4 changed files with 296 additions and 294 deletions

View File

@ -128,22 +128,12 @@ It should only modify the values of Spacemacs settings."
;; (default nil)
dotspacemacs-initial-scratch-message nil
;; List of themes, the first of the list is loaded when spacemacs starts.
;; Press `SPC T n' to cycle to the next theme in the list (works great
;; with 2 themes variants, one dark and one light)
dotspacemacs-themes '(noctilux
occidental)
;; Default font or prioritized list of fonts. The `:size' can be specified as
;; a non-negative integer (pixel size), or a floating-point (point size).
;; Point size is recommended, because it's device independent. (default 10.0)
;; Placing this in front of themes.
dotspacemacs-default-font '("Source Code Pro"
:size 14.0
:weight normal
:width normal)
;; Set the theme for the Spaceline. Supported themes are `spacemacs',
;; `all-the-icons', `custom', `doom', `vim-powerline' and `vanilla'. The
;; first three are spaceline themes. `doom' is the doom-emacs mode-line.
@ -153,6 +143,14 @@ It should only modify the values of Spacemacs settings."
;; (default '(spacemacs :separator wave :separator-scale 1.5))
dotspacemacs-mode-line-theme '(spacemacs :separator wave :separator-scale 1.5)
;; Default font or prioritized list of fonts. The `:size' can be specified as
;; a non-negative integer (pixel size), or a floating-point (point size).
;; Point size is recommended, because it's device independent. (default 10.0)
dotspacemacs-default-font '("Source Code Pro"
:size 14.0
:weight normal
:width normal)
;; If non-nil the cursor color matches the state color in GUI Emacs.
;; (default t)
dotspacemacs-colorize-cursor-according-to-state t

View File

@ -40,7 +40,7 @@ dotspacemacs-configuration-layers
syntax-checking
;; 4 Completion
auto-completion
;helm ;; This is slow. Replace by ivy.
;helm ; This is slow. Replace by ivy.
ivy
;; 6 Emacs
@ -64,7 +64,7 @@ dotspacemacs-configuration-layers
multiple-cursors
;; 12 Music
alda ;; Required: alda
alda ; Required: alda
;; 15 Programming Languages
@ -79,10 +79,10 @@ dotspacemacs-configuration-layers
latex-enable-magic t)
;; Scripting Languages
emacs-lisp ; Should always be here.
shell-scripts
sql
emacs-lisp
gpu ;; CUDA, OpenGL shaders
gpu ; CUDA, OpenGL shaders
javascript
typescript
@ -93,8 +93,8 @@ dotspacemacs-configuration-layers
python-lsp-server 'pyright)
;python-shell-interpreter "python-runtime.sh"
;python-shell-interpreter-args "-m IPython --simple-prompt -i")
rust ;; Required: See rust page
(c-c++ :variables ;; Required: LLVM
rust ; Required: See rust page
(c-c++ :variables ; Required: LLVM
c-c++-adopt-subprojects t
c-c++-backend 'lsp-clangd
c-c++-default-mode-for-headers 'c++-mode
@ -118,12 +118,12 @@ dotspacemacs-configuration-layers
theming ; Modification of themes
themes-megapack
;; 22 Tools
; 22 Tools
(cmake :variables
cmake-backend 'lsp)
debug
docker
finance ;; Required: ledger
finance ; Required: ledger
(lsp :variables
lsp-headerline-breadcrumb-enable t
lsp-headerline-breadcrumb-segments '(symbols))

View File

@ -2,6 +2,43 @@
(exec-path-from-shell-initialize)
(spacemacs/enable-transparency)
; Needed for emacs --daemon to read fonts
; Sometimes doesn't work
(spacemacs|do-after-display-system-init (spacemacs/set-default-font dotspacemacs-default-font))
;; whitespace mode
(spacemacs/toggle-whitespace-globally-on)
(defun custom/common-program-hook ()
(setq whitespace-style '(face spaces tabs newline trailing space-mark tab-mark newline-mark lines-tail))
(interactive)
(whitespace-mode t)
(setq whitespace-line-column 80)
(display-fill-column-indicator-mode)
(smart-tabs-mode-enable)
)
(defun custom/common-richtext-hook ()
(setq whitespace-style '(face spaces tabs newline trailing space-mark tab-mark newline-mark))
(interactive)
(whitespace-mode t)
(setq whitespace-line-column 'nil)
)
(defun custom/latex-hook ()
(custom/common-program-hook)
)
(add-hook 'text-mode-hook 'custom/common-richtext-hook)
(add-hook 'latex-mode-hook 'custom/latex-hook)
(add-hook 'prog-mode-hook 'custom/common-program-hook)
(setq whitespace-display-mappings
;; all numbers are Unicode codepoint in decimal. ⁖ (insert-char 182 1)
'(
(space-mark 32 [183] [46]) ; 32 SPACE 「 」, 183 MIDDLE DOT 「·」, 46 FULL STOP 「.」
(newline-mark 10 [172 10]) ; 10 LINE FEED, 172 Not Sign「¬」
(tab-mark 9 [10141 9] [92 9]) ; 9 TAB, 10141 Triangle-headed rightwards arrow 「➝」
))
;; Auto save upon defocus
(add-hook 'focus-out-hook
(defun save-current-buffer-if-needed ()
@ -9,6 +46,30 @@
(when (and (buffer-file-name) (buffer-modified-p))
(save-buffer))))
;; Mixed indent mode (in conjunction with smart-tabs-mode)
(setq-default indent-tabs-mode t
indent-line-function 'tab-to-tab-stop
tab-width 2)
(setq css-indent-offset 2)
(smart-tabs-insinuate
'c
'c++
'java
'javascript)
(add-hook 'after-init-hook #'company-statistics-mode)
;; C/C++
(setq
c-default-style "stroustrup"
c-basic-offset 2
lsp-clients-clangd-args
'("-j=4"
"--clang-tidy"
"--header-insertion=never"
"--pch-storage=memory"
))
(highlight-doxygen-global-mode 1)
;; Org mode
(setq org-format-latex-options (plist-put org-format-latex-options :scale 2.0))
@ -40,74 +101,3 @@
;; Mixed indent mode (in conjunction with smart-tabs-mode)
(setq evil-indent-convert-tabs nil)
(setq-default indent-tabs-mode t)
(setq-default tab-width 2)
(setq css-indent-offset 2)
(smart-tabs-insinuate
'c
'c++
'java
'javascript)
(add-hook 'after-init-hook #'company-statistics-mode)
(add-hook 'text-mode-hook #'display-fill-column-indicator-mode)
(add-hook 'prog-mode-hook #'display-fill-column-indicator-mode)
(add-hook 'LaTeX-mode-hook
(lambda ()
(setq indent-tabs-mode t)))
;; C/C++
(setq
-default-style "stroustrup"
-basic-offset 2
lsp-clients-clangd-args
'("-j=4"
"--clang-tidy"
"--header-insertion=never"
"--pch-storage=memory"
))
(highlight-doxygen-global-mode 1)
;; whitespace mode
(spacemacs/toggle-whitespace-globally-on)
(defun common-whitespace-program-hook ()
(setq whitespace-style '(face spaces tabs newline trailing space-mark tab-mark newline-mark lines-tail))
(interactive)
(whitespace-mode t)
(setq whitespace-line-column 80)
)
(add-hook 'text-mode-hook #'(lambda ()
(setq whitespace-style '(face spaces tabs newline trailing space-mark tab-mark newline-mark))
(interactive)
(whitespace-mode t)
(setq whitespace-line-column 'nil)))
(add-hook 'latex-mode-hook 'common-whitespace-program-hook)
(add-hook 'prog-mode-hook 'common-whitespace-program-hook)
(setq whitespace-display-mappings
;; all numbers are Unicode codepoint in decimal. ⁖ (insert-char 182 1)
'(
(space-mark 32 [183] [46]) ; 32 SPACE 「 」, 183 MIDDLE DOT 「·」, 46 FULL STOP 「.」
(newline-mark 10 [172 10]) ; 10 LINE FEED, 172 Not Sign「¬」
(tab-mark 9 [10141 9] [92 9]) ; 9 TAB, 10141 Triangle-headed rightwards arrow 「➝」
))
;; Syntax highlighting
;(set-face-attribute 'font-lock-type-face nil
; :foreground "#55fe55")
;(set-face-attribute 'font-lock-constant-face nil
; :foreground "#ecbd3d")
;;(setq opam-share (substring (shell-command-to-string
;; "opam config var share 2> /dev/null") 0 -1))
;;(add-to-list 'load-path (concat opam-share "/emacs/site-lisp"))
;;(with-eval-after-load 'merlin
;; (setq merlin-command 'opam))
;;(require 'merlin)

View File

@ -1,3 +1,4 @@
; Themes
(setq
theming-modifications
'(
@ -10,8 +11,11 @@
(whitespace-line :background unspecified)
(whitespace-indentation :foreground "gray30")
(highlight-doxygen-comment :slant italic)
(font-lock-type-face :foreground "#55fe55")
(font-lock-constant-face :foreground "#ecbd3d")
)
(noctilux
(highlight :background "#292929")
(whitespace-space :background unspecified
:foreground "gray30")
(whitespace-space-after-tab :foreground "gray30")
@ -26,7 +30,8 @@
(highlight-doxygen-comment :slant italic)
)
(occidental
(highlight :background "#9EC4EB") ;; The default is too bright
;; The default is too bright
(highlight :background "#9EC4EB")
(whitespace-space :background unspecified
:foreground "gray70")
(whitespace-space-after-tab :foreground "gray70")
@ -39,6 +44,15 @@
:box "gray20"
:inverse-video nil)
(highlight-doxygen-comment :slant italic)
)))
)
))
;; This exists to ensure the theming modifications are applied. 'after-init-hook
;; does not work well here.
(add-hook 'emacs-startup-hook
(lambda () (spacemacs/update-theme)))
(spacemacs/update-theme)
;; Language Support
;; Lilypond
(require 'lilypond-mode)
(add-to-list 'auto-mode-alist '("\\.ly\\'" . LilyPond-mode))