Spacemacs: Modify structure and add custom dark/light themes.
Specifically: 1. Separate the face attribute configuration part to `user-init` using theming. 2. Fix some indentation problems in `layers.el` 3. Reorganise code
This commit is contained in:
parent
c01c180946
commit
d5935f525d
|
@ -90,7 +90,7 @@ It should only modify the values of Spacemacs settings."
|
||||||
;; directory. A string value must be a path to an image format supported
|
;; directory. A string value must be a path to an image format supported
|
||||||
;; by your Emacs build.
|
;; by your Emacs build.
|
||||||
;; If the value is nil then no banner is displayed. (default 'official)
|
;; If the value is nil then no banner is displayed. (default 'official)
|
||||||
dotspacemacs-startup-banner 'official
|
dotspacemacs-startup-banner 'random
|
||||||
|
|
||||||
;; List of items to show in startup buffer or an association list of
|
;; List of items to show in startup buffer or an association list of
|
||||||
;; the form `(list-type . list-size)`. If nil then it is disabled.
|
;; the form `(list-type . list-size)`. If nil then it is disabled.
|
||||||
|
@ -128,11 +128,21 @@ It should only modify the values of Spacemacs settings."
|
||||||
;; (default nil)
|
;; (default nil)
|
||||||
dotspacemacs-initial-scratch-message nil
|
dotspacemacs-initial-scratch-message nil
|
||||||
|
|
||||||
|
|
||||||
;; List of themes, the first of the list is loaded when spacemacs starts.
|
;; 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
|
;; Press `SPC T n' to cycle to the next theme in the list (works great
|
||||||
;; with 2 themes variants, one dark and one light)
|
;; with 2 themes variants, one dark and one light)
|
||||||
dotspacemacs-themes '(spacemacs-dark
|
dotspacemacs-themes '(noctilux
|
||||||
spacemacs-light)
|
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',
|
;; Set the theme for the Spaceline. Supported themes are `spacemacs',
|
||||||
;; `all-the-icons', `custom', `doom', `vim-powerline' and `vanilla'. The
|
;; `all-the-icons', `custom', `doom', `vim-powerline' and `vanilla'. The
|
||||||
|
@ -147,14 +157,6 @@ It should only modify the values of Spacemacs settings."
|
||||||
;; (default t)
|
;; (default t)
|
||||||
dotspacemacs-colorize-cursor-according-to-state t
|
dotspacemacs-colorize-cursor-according-to-state t
|
||||||
|
|
||||||
;; 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)
|
|
||||||
|
|
||||||
;; The leader key (default "SPC")
|
;; The leader key (default "SPC")
|
||||||
dotspacemacs-leader-key "SPC"
|
dotspacemacs-leader-key "SPC"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
"Layer configuration:
|
|
||||||
This function should only modify configuration layer settings."
|
|
||||||
(setq-default
|
(setq-default
|
||||||
;; Base distribution to use. This is a layer contained in the directory
|
;; Base distribution to use. This is a layer contained in the directory
|
||||||
;; `+distribution'. For now available distributions are `spacemacs-base'
|
;; `+distribution'. For now available distributions are `spacemacs-base'
|
||||||
|
@ -78,8 +76,7 @@ This function should only modify configuration layer settings."
|
||||||
bibtex
|
bibtex
|
||||||
(latex :variables
|
(latex :variables
|
||||||
latex-enable-folding t
|
latex-enable-folding t
|
||||||
latex-enable-magic t
|
latex-enable-magic t)
|
||||||
)
|
|
||||||
|
|
||||||
;; Scripting Languages
|
;; Scripting Languages
|
||||||
shell-scripts
|
shell-scripts
|
||||||
|
@ -106,7 +103,6 @@ This function should only modify configuration layer settings."
|
||||||
c-c++-lsp-enable-semantic-highlight 'rainbow
|
c-c++-lsp-enable-semantic-highlight 'rainbow
|
||||||
clang-format-style "file"
|
clang-format-style "file"
|
||||||
)
|
)
|
||||||
|
|
||||||
;; 16 Readers
|
;; 16 Readers
|
||||||
pdf
|
pdf
|
||||||
|
|
||||||
|
@ -117,13 +113,20 @@ This function should only modify configuration layer settings."
|
||||||
;; 20 Tagging
|
;; 20 Tagging
|
||||||
cscope
|
cscope
|
||||||
|
|
||||||
|
;; 21 themes
|
||||||
|
colors
|
||||||
|
theming ; Modification of themes
|
||||||
|
themes-megapack
|
||||||
|
|
||||||
;; 22 Tools
|
;; 22 Tools
|
||||||
(cmake :variables
|
(cmake :variables
|
||||||
cmake-backend 'lsp)
|
cmake-backend 'lsp)
|
||||||
debug
|
debug
|
||||||
docker
|
docker
|
||||||
finance ;; Required: ledger
|
finance ;; Required: ledger
|
||||||
lsp
|
(lsp :variables
|
||||||
|
lsp-headerline-breadcrumb-enable t
|
||||||
|
lsp-headerline-breadcrumb-segments '(symbols))
|
||||||
nginx
|
nginx
|
||||||
(shell :variables
|
(shell :variables
|
||||||
shell-default-height 30
|
shell-default-height 30
|
||||||
|
|
|
@ -25,6 +25,7 @@ This function is called immediately after `dotspacemacs/init', before layer
|
||||||
configuration.
|
configuration.
|
||||||
It is mostly for variables that should be set before packages are loaded.
|
It is mostly for variables that should be set before packages are loaded.
|
||||||
If you are unsure, try setting them in `dotspacemacs/user-config' first."
|
If you are unsure, try setting them in `dotspacemacs/user-config' first."
|
||||||
|
(load "~/common/home/spacemacs/user-init.el")
|
||||||
)
|
)
|
||||||
|
|
||||||
(defun dotspacemacs/user-load ()
|
(defun dotspacemacs/user-load ()
|
||||||
|
|
|
@ -2,15 +2,6 @@
|
||||||
(exec-path-from-shell-initialize)
|
(exec-path-from-shell-initialize)
|
||||||
(spacemacs/enable-transparency)
|
(spacemacs/enable-transparency)
|
||||||
|
|
||||||
;; Typing
|
|
||||||
(setq evil-indent-convert-tabs nil)
|
|
||||||
(setq-default indent-tabs-mode t)
|
|
||||||
(setq-default tab-width 2)
|
|
||||||
|
|
||||||
;; Key Bindings
|
|
||||||
(evil-ex-define-cmd "q" 'kill-this-buffer)
|
|
||||||
(evil-ex-define-cmd "quit" 'evil-quit)
|
|
||||||
|
|
||||||
;; Auto save upon defocus
|
;; Auto save upon defocus
|
||||||
(add-hook 'focus-out-hook
|
(add-hook 'focus-out-hook
|
||||||
(defun save-current-buffer-if-needed ()
|
(defun save-current-buffer-if-needed ()
|
||||||
|
@ -18,40 +9,6 @@
|
||||||
(when (and (buffer-file-name) (buffer-modified-p))
|
(when (and (buffer-file-name) (buffer-modified-p))
|
||||||
(save-buffer))))
|
(save-buffer))))
|
||||||
|
|
||||||
;; Display
|
|
||||||
(spacemacs/toggle-whitespace-globally-on)
|
|
||||||
(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 「➝」
|
|
||||||
))
|
|
||||||
|
|
||||||
(set-face-attribute 'whitespace-space nil
|
|
||||||
:background nil
|
|
||||||
:foreground "gray30")
|
|
||||||
(set-face-attribute 'whitespace-space-after-tab nil
|
|
||||||
:background nil
|
|
||||||
:foreground "gray30")
|
|
||||||
(set-face-attribute 'whitespace-tab nil
|
|
||||||
:background nil
|
|
||||||
:foreground "gray30")
|
|
||||||
(set-face-attribute 'whitespace-newline nil
|
|
||||||
:background nil
|
|
||||||
:foreground "gray30")
|
|
||||||
(set-face-attribute 'whitespace-line nil
|
|
||||||
:background "gray20"
|
|
||||||
:foreground nil)
|
|
||||||
;; Disabling this since we use smart indenting
|
|
||||||
(set-face-attribute 'whitespace-indentation nil
|
|
||||||
:background nil
|
|
||||||
:foreground "gray30")
|
|
||||||
;; Syntax highlighting
|
|
||||||
(set-face-attribute 'font-lock-type-face nil
|
|
||||||
:foreground "#55fe55")
|
|
||||||
(set-face-attribute 'font-lock-constant-face nil
|
|
||||||
:foreground "#ecbd3d")
|
|
||||||
|
|
||||||
;; Org mode
|
;; Org mode
|
||||||
(setq org-format-latex-options (plist-put org-format-latex-options :scale 2.0))
|
(setq org-format-latex-options (plist-put org-format-latex-options :scale 2.0))
|
||||||
|
@ -85,6 +42,9 @@
|
||||||
|
|
||||||
;; Mixed indent mode (in conjunction with smart-tabs-mode)
|
;; 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)
|
(setq css-indent-offset 2)
|
||||||
(smart-tabs-insinuate
|
(smart-tabs-insinuate
|
||||||
'c
|
'c
|
||||||
|
@ -109,9 +69,41 @@
|
||||||
"--pch-storage=memory"
|
"--pch-storage=memory"
|
||||||
))
|
))
|
||||||
(highlight-doxygen-global-mode 1)
|
(highlight-doxygen-global-mode 1)
|
||||||
(set-face-attribute 'highlight-doxygen-comment nil
|
|
||||||
:background nil
|
|
||||||
:slant 'italic)
|
|
||||||
|
;; 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
|
;;(setq opam-share (substring (shell-command-to-string
|
||||||
;; "opam config var share 2> /dev/null") 0 -1))
|
;; "opam config var share 2> /dev/null") 0 -1))
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
(setq
|
||||||
|
theming-modifications
|
||||||
|
'(
|
||||||
|
(spacemacs-dark
|
||||||
|
(whitespace-space :background unspecified
|
||||||
|
:foreground "gray30")
|
||||||
|
(whitespace-space-after-tab :foreground "gray30")
|
||||||
|
(whitespace-tab :background unspecified)
|
||||||
|
(whitespace-newline :foreground "gray30")
|
||||||
|
(whitespace-line :background unspecified)
|
||||||
|
(whitespace-indentation :foreground "gray30")
|
||||||
|
(highlight-doxygen-comment :slant italic)
|
||||||
|
)
|
||||||
|
(noctilux
|
||||||
|
(whitespace-space :background unspecified
|
||||||
|
:foreground "gray30")
|
||||||
|
(whitespace-space-after-tab :foreground "gray30")
|
||||||
|
(whitespace-tab :background unspecified
|
||||||
|
:foreground "gray30")
|
||||||
|
(whitespace-newline :foreground "gray30")
|
||||||
|
(whitespace-line :background unspecified)
|
||||||
|
(whitespace-indentation :foreground "gray30")
|
||||||
|
(header-line :background unspecified
|
||||||
|
:box "gray80"
|
||||||
|
:inverse-video nil)
|
||||||
|
(highlight-doxygen-comment :slant italic)
|
||||||
|
)
|
||||||
|
(occidental
|
||||||
|
(highlight :background "#9EC4EB") ;; The default is too bright
|
||||||
|
(whitespace-space :background unspecified
|
||||||
|
:foreground "gray70")
|
||||||
|
(whitespace-space-after-tab :foreground "gray70")
|
||||||
|
(whitespace-tab :background unspecified
|
||||||
|
:foreground "gray70")
|
||||||
|
(whitespace-newline :foreground "gray70")
|
||||||
|
(whitespace-line :background unspecified)
|
||||||
|
(whitespace-indentation :foreground "gray70")
|
||||||
|
(header-line :background unspecified
|
||||||
|
:box "gray20"
|
||||||
|
:inverse-video nil)
|
||||||
|
(highlight-doxygen-comment :slant italic)
|
||||||
|
)))
|
||||||
|
|
||||||
|
(spacemacs/update-theme)
|
Loading…
Reference in New Issue