2017-05-28 12:32:48 +02:00
|
|
|
;;; This file enforces consistency in the visual style:
|
|
|
|
;;; - doc, here-doc, comments, strings are in the same taint.
|
|
|
|
;;; - search highlight, search lazy follow the same color code.
|
|
|
|
;;; - diffs (ediff, smerge, etc.) follow the same color code.
|
2013-07-29 13:13:41 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; To find the variable associated to a currently used color, place the cursor
|
|
|
|
;;; on it and call `describe-face'. Or browse the `list-faces-display'.
|
2013-01-08 23:57:55 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; General
|
2018-07-13 17:41:15 +02:00
|
|
|
;; (set-face-attribute 'default nil :foreground "white" :background "black")
|
|
|
|
(set-face-attribute 'default nil :foreground "white smoke" :background "#101010")
|
2018-11-17 12:56:57 +01:00
|
|
|
(set-face-background 'mouse "#777777")
|
2016-12-12 11:31:24 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Font size
|
2016-12-12 11:31:24 +01:00
|
|
|
(when (fboundp 'tool-bar-mode)
|
|
|
|
;; (set-face-attribute 'default nil :height 100)
|
2018-05-17 17:19:37 +02:00
|
|
|
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12")))
|
2016-12-12 11:31:24 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; More readable but more space consuming; try on big screens.
|
|
|
|
;; (setq-default line-spacing 1)
|
2016-12-12 11:31:24 +01:00
|
|
|
|
2017-06-03 19:41:19 +02:00
|
|
|
(set-face-background 'mode-line "white")
|
2016-12-12 11:31:24 +01:00
|
|
|
;; (set-face-foreground 'link "#00ffff")
|
2017-05-24 00:27:02 +02:00
|
|
|
(set-face-underline 'link t)
|
2016-12-12 11:31:24 +01:00
|
|
|
(set-face-foreground 'minibuffer-prompt "#00ffff")
|
|
|
|
(set-face-background 'region "#191970")
|
2018-07-13 17:41:15 +02:00
|
|
|
;; (set-face-attribute 'isearch nil :foreground 'unspecified :background "#2f4f4f" :box "white")
|
|
|
|
;; (set-face-attribute 'lazy-highlight nil :inherit 'isearch :foreground 'unspecified :background 'unspecified :box nil)
|
2017-08-01 20:55:50 +02:00
|
|
|
;;; TODO: Highlight with box does not render well in Sx, ediff, occur, evil-search.
|
2018-07-13 17:41:15 +02:00
|
|
|
;; (set-face-attribute 'highlight nil :background 'unspecified :box "white")
|
|
|
|
;; (set-face-attribute 'error nil :foreground "red" :weight 'bold)
|
2013-03-02 19:34:12 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Cursor type: default (box) is visible and practical.
|
|
|
|
;; (setq-default cursor-type 'hollow)
|
2016-12-12 11:31:24 +01:00
|
|
|
(setq-default x-stretch-cursor t)
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Blinking cursor is on only when Emacs is not daemonized.
|
2016-12-12 11:31:24 +01:00
|
|
|
(blink-cursor-mode 0)
|
2013-09-30 19:11:22 +02:00
|
|
|
|
2018-02-16 12:33:33 +01:00
|
|
|
;;; Line numbers.
|
|
|
|
;;; Graphic version has a gray bar separating text from line
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; numbers, so we can leave the background black.
|
2013-05-24 17:23:01 +02:00
|
|
|
(if (display-graphic-p)
|
2016-06-10 10:17:14 +02:00
|
|
|
(set-face-background 'shadow "black")
|
2018-02-16 12:33:33 +01:00
|
|
|
(set-face-background 'shadow "#1c1c1c"))
|
2013-05-24 17:23:01 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Whitespace mode
|
2017-06-15 21:59:31 +02:00
|
|
|
(with-eval-after-load 'whitespace
|
|
|
|
(set-face-background 'whitespace-space-after-tab "#a9a9a9")
|
|
|
|
(set-face-background 'whitespace-indentation "#696969"))
|
2014-10-26 18:04:11 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Programming
|
2018-07-13 17:41:15 +02:00
|
|
|
;; (set-face-foreground 'font-lock-comment-face "#00ced1")
|
|
|
|
;; (set-face-foreground 'font-lock-comment-delimiter-face (face-foreground 'font-lock-comment-face))
|
|
|
|
;; (set-face-foreground 'font-lock-doc-face "#00dfff")
|
|
|
|
;; (set-face-foreground 'font-lock-string-face "#0080d4")
|
|
|
|
;; (set-face-foreground 'font-lock-builtin-face (face-foreground 'default))
|
|
|
|
;; (set-face-foreground 'font-lock-constant-face (face-foreground 'default))
|
|
|
|
;; (set-face-foreground 'font-lock-function-name-face (face-foreground 'default))
|
|
|
|
;; (set-face-foreground 'font-lock-keyword-face (face-foreground 'default))
|
|
|
|
;; (set-face-foreground 'font-lock-type-face (face-foreground 'default))
|
|
|
|
;; (set-face-foreground 'font-lock-variable-name-face (face-foreground 'default))
|
2012-10-12 15:23:36 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Compilation mode
|
2018-07-13 17:41:15 +02:00
|
|
|
;; (with-eval-after-load 'compile
|
|
|
|
;; (set-face-foreground 'compilation-column-number "cyan")
|
|
|
|
;; (set-face-foreground 'compilation-line-number "cyan"))
|
2013-07-29 13:13:41 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Ediff
|
2017-06-15 21:59:31 +02:00
|
|
|
(with-eval-after-load 'ediff-init
|
|
|
|
(set-face-attribute 'ediff-even-diff-A nil :inherit 'ediff-current-diff-A :foreground 'unspecified :background 'unspecified :box nil)
|
|
|
|
(set-face-attribute 'ediff-odd-diff-A nil :inherit 'ediff-current-diff-A :foreground 'unspecified :background 'unspecified :box nil)
|
|
|
|
(set-face-attribute 'ediff-even-diff-B nil :inherit 'ediff-current-diff-B :foreground 'unspecified :background 'unspecified :box nil)
|
|
|
|
(set-face-attribute 'ediff-odd-diff-B nil :inherit 'ediff-current-diff-B :foreground 'unspecified :background 'unspecified :box nil)
|
|
|
|
(set-face-attribute 'ediff-even-diff-C nil :inherit 'ediff-current-diff-C :foreground 'unspecified :background 'unspecified :box nil)
|
|
|
|
(set-face-attribute 'ediff-odd-diff-C nil :inherit 'ediff-current-diff-C :foreground 'unspecified :background 'unspecified :box nil)
|
|
|
|
(set-face-attribute 'ediff-current-diff-A nil :box "white")
|
|
|
|
(set-face-attribute 'ediff-current-diff-B nil :box "white")
|
|
|
|
(set-face-attribute 'ediff-current-diff-C nil :box "white"))
|
2016-12-12 11:31:24 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Outline mode
|
2017-06-15 21:59:31 +02:00
|
|
|
(with-eval-after-load 'outline
|
2017-12-13 18:17:51 +01:00
|
|
|
;; (set-face-attribute 'outline-1 nil :inherit 'font-lock-warning-face)
|
|
|
|
(set-face-attribute 'outline-1 nil :weight 'bold :foreground "#CBAC42")
|
|
|
|
(set-face-attribute 'outline-2 nil :weight 'bold :foreground "#7BBF11")
|
|
|
|
(set-face-attribute 'outline-3 nil :weight 'bold :foreground "#BC684F")
|
|
|
|
(set-face-attribute 'outline-4 nil :weight 'bold :foreground "#4C95BF")
|
|
|
|
(set-face-attribute 'outline-5 nil :weight 'bold :foreground "SeaGreen")
|
|
|
|
(set-face-attribute 'outline-6 nil :weight 'bold :foreground "DarkSlateGray4")
|
|
|
|
(set-face-attribute 'outline-7 nil :weight 'bold :foreground "DarkSlateBlue")
|
|
|
|
(set-face-attribute 'outline-8 nil :weight 'bold :foreground "Gold"))
|
|
|
|
|
2016-12-12 11:31:24 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; show-paren
|
2017-06-03 17:39:38 +02:00
|
|
|
(with-eval-after-load 'paren
|
|
|
|
;; (set-face-background 'show-paren-match-face (face-background 'default)) ; Disable background color.
|
2017-06-03 18:47:33 +02:00
|
|
|
(set-face-background 'show-paren-match "#555555")
|
|
|
|
(set-face-foreground 'show-paren-match "#def")
|
|
|
|
(set-face-attribute 'show-paren-match nil :weight 'extra-bold))
|
2012-10-12 15:23:36 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Mail mode
|
2018-07-13 17:41:15 +02:00
|
|
|
;; (font-lock-add-keywords
|
|
|
|
;; 'mail-mode
|
|
|
|
;; '(
|
|
|
|
;; ("^From:" . font-lock-warning-face)
|
|
|
|
;; ("^To:" . font-lock-warning-face)
|
|
|
|
;; ("^Newsgroups:" . font-lock-warning-face)
|
|
|
|
;; ("^B?CC:" . font-lock-warning-face)
|
|
|
|
;; ("^Subject:" . font-lock-warning-face)
|
|
|
|
;; ("^Reply-To:" . font-lock-warning-face)
|
|
|
|
;; ("^In-Reply-To:" . font-lock-warning-face)
|
|
|
|
;; ;; Mail addresses.
|
|
|
|
;; ("\\([[:alnum:]._-]+@[[:alnum:]._-]+\.[[:alnum:]._-]+\\)" 1 font-lock-string-face)
|
|
|
|
;; ;; Quotes.
|
|
|
|
;; ("^\> *\\([^\> ]\\).*$" . font-lock-string-face)
|
|
|
|
;; ("^\> *\> *\\([^\> ]\\).*$" . font-lock-doc-face)
|
|
|
|
;; ("^\> *\> *\> *\\([^\> ]\\).*$" . font-lock-comment-face)
|
|
|
|
;; ("^\> *\> *\> *\> *\\([^\> ]\\).*$" . font-lock-comment-face)
|
|
|
|
;; ("^\> *\> *\> *\> *\> *\\([^\> ]\\).*$" . font-lock-comment-face)
|
|
|
|
;; ("^\> *\> *\> *\> *\> *\> *\\([^\> ]\\).*$" . font-lock-comment-face)
|
|
|
|
;; ("^\> *\> *\> *\> *\> *\> *\> *\\([^\> ]\\).*$" . font-lock-comment-face)
|
|
|
|
;; ("^\> *\> *\> *\> *\> *\> *\> *\> *\\([^\> ]\\).*$" . font-lock-comment-face)
|
|
|
|
;; ;; Signature (multi-line regexes are a bit flaky).
|
|
|
|
;; ("^--.*\\(\n.*\\)*" . font-lock-comment-face)))
|
2012-10-12 15:23:36 +02:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Key notes highlighting. We need to apply it to the mode hook since
|
|
|
|
;;; font-lock-add-keywords has no inheritance support.
|
2018-07-13 17:41:15 +02:00
|
|
|
;; (set-face-foreground 'font-lock-warning-face "DarkOrange")
|
|
|
|
;; (defun ambrevar/fontify-comment-tag ()
|
|
|
|
;; (font-lock-add-keywords
|
|
|
|
;; nil
|
|
|
|
;; ;; See https://en.wikipedia.org/wiki/Comment_(computer_programming)#Tags.
|
|
|
|
;; (mapcar
|
|
|
|
;; (lambda (keyword) `(,(concat "\\<\\(" keyword "\\):") 1 font-lock-warning-face prepend))
|
|
|
|
;; '("FIXME\\(([^)]+)\\)?" "HACK" "OPTIMIZE\\(([^)]+)\\)?" "REVIEW\\(([^)]+)\\)?" "TODO\\(([^)]+)\\)?" "UNDONE" "UX" "WARNING" "XXX"))))
|
|
|
|
;; (dolist (hook '(prog-mode-hook text-mode-hook))
|
|
|
|
;; (add-hook hook 'ambrevar/fontify-comment-tag))
|
2013-03-02 19:34:12 +01:00
|
|
|
|
2017-05-28 12:32:48 +02:00
|
|
|
;;; Man pages
|
2017-06-15 21:59:31 +02:00
|
|
|
(with-eval-after-load 'man
|
|
|
|
(set-face-attribute 'Man-underline nil :foreground (face-foreground 'font-lock-string-face) :underline nil)
|
|
|
|
(set-face-attribute 'Man-overstrike nil :foreground (face-foreground 'font-lock-comment-face) :weight 'normal))
|
2018-05-14 20:09:18 +02:00
|
|
|
(with-eval-after-load 'woman
|
|
|
|
(set-face-foreground 'woman-bold (face-foreground 'font-lock-comment-face)))
|
2014-10-08 11:05:31 +02:00
|
|
|
|
2017-06-15 21:43:20 +02:00
|
|
|
;;; Term
|
|
|
|
;;; Use lighter blue.
|
2018-07-13 17:41:15 +02:00
|
|
|
;; (with-eval-after-load 'ansi-color
|
|
|
|
;; (setf (aref ansi-color-map 34) '(foreground-color . "#1e90ff")))
|
2017-06-15 21:43:20 +02:00
|
|
|
|
2016-12-12 13:53:53 +01:00
|
|
|
(provide 'visual)
|