├── .github └── workflows │ └── main.yml ├── .gitignore ├── .gitmodules ├── Makefile ├── README.org ├── assets ├── export-script.el ├── readtheorg.setup ├── style.css └── themes │ ├── .gitkeep │ ├── coldnew-modeline-config.el │ ├── coldnew-theme-day-theme.el │ ├── coldnew-theme-night-old2-theme.el │ ├── coldnew-theme-old.el │ └── coldnew-theme-old2.el ├── init.org ├── local-lisp └── setup-font.el ├── modules └── load-modules.el ├── scripts ├── bootstrap ├── build-emacs.sh ├── deploy-gh-pages-local.sh ├── deploy-gh-pages.sh ├── envsetup-evm.sh ├── install-build-deps-ubuntu.sh └── makefile-script.el ├── snippets ├── c++-mode │ ├── .yas-parents │ └── ns ├── c-mode │ ├── .yas-parents │ ├── fopen │ ├── malloc │ ├── packed │ ├── printf │ ├── printk │ └── union ├── cc-mode │ ├── .yas-parents │ ├── define │ ├── do │ ├── for │ ├── if │ ├── ifdef │ ├── inc │ ├── inc.1 │ ├── main │ ├── once │ ├── struct │ ├── switch │ ├── ternary │ ├── typedef │ └── while ├── clojure-mode │ ├── .yas-parents │ └── project ├── css-mode │ └── .yas-parents ├── emacs-lisp-mode │ ├── .read_me │ ├── .yas-parents │ ├── add-hook.yas │ ├── defun.yas │ └── require.yas ├── html-mode │ ├── .yas-make-groups │ └── .yas-parents ├── latex-mode │ └── .yas-parents ├── markdown-mode │ └── .yas-parents ├── nxml-mode │ ├── .yas-make-groups │ └── .yas-parents ├── perl-mode │ ├── .yas-parents │ ├── eval │ ├── for │ ├── fore │ ├── if │ ├── ife │ ├── ifee │ ├── sub │ ├── unless │ ├── while │ ├── xfore │ ├── xif │ ├── xunless │ └── xwhile ├── python-mode │ └── .yas-parents ├── qml-mode │ ├── Component.yas │ ├── Item.yas │ ├── ListModel.yas │ ├── MouseArea.yas │ ├── Rectangel.yas │ ├── Text.yas │ └── import.yas ├── ruby-mode │ ├── .yas-make-groups │ └── .yas-parents ├── text-mode │ ├── email │ └── time ├── vala-mode │ └── main └── verilog-mode │ ├── .yas-parents │ ├── always.yas │ ├── begin.yas │ └── if.yas └── styles ├── .gitkeep ├── coldnew-theme.el ├── day-coldnew-theme.el └── night-coldnew-theme.el /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow to help you get started with Actions 2 | 3 | name: CI 4 | 5 | # Controls when the action will run. 6 | on: 7 | # Triggers the workflow on push or pull request events but only for the master branch 8 | push: 9 | branches: [ master ] 10 | pull_request: 11 | branches: [ master ] 12 | 13 | # Allows you to run this workflow manually from the Actions tab 14 | workflow_dispatch: 15 | 16 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 17 | jobs: 18 | # This workflow contains a single job called "build" 19 | build: 20 | # The type of runner that the job will run on 21 | runs-on: ubuntu-latest 22 | 23 | env: 24 | CI: true 25 | 26 | # Steps represent a sequence of tasks that will be executed as part of the job 27 | steps: 28 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 29 | - uses: actions/checkout@v2 30 | 31 | # Runs a single command using the runners shell 32 | - name: Install dependencies for build emacs 33 | run: | 34 | sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list 35 | sudo apt-get update -y 36 | sudo apt-get build-dep emacs-nox --yes 37 | sudo apt-get install gnutls-dev -y 38 | 39 | # Runs a set of commands using the runners shell 40 | - name: Run build-emacs.sh 41 | run: ./scripts/build-emacs.sh 42 | 43 | - name: Build init.el 44 | env: 45 | EMACS: .build/bin/emacs 46 | run: make 47 | 48 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | \#*\# 2 | *.log 3 | *~ 4 | *.elc 5 | *.[oa] 6 | *.swp 7 | *.a 8 | *.so 9 | *.out 10 | *.exe 11 | system/ 12 | *.dat$ 13 | auto-save-list/ 14 | .saves* 15 | var/ 16 | *.hg/ 17 | *.git/ 18 | *.py 19 | *.pl 20 | .authinfo.gpg 21 | .#* 22 | swank/ 23 | TAGS 24 | semanticdb/ 25 | url/ 26 | lisp/ 27 | tramp 28 | lisp 29 | eshell/ 30 | .org-id-locations 31 | .cask/ 32 | flycheck_* 33 | log/ 34 | .cache/ 35 | /init.el 36 | /early-init.el 37 | /Cask 38 | /init.html 39 | /init.el.html 40 | /.litable-lists.el 41 | /projectile-bookmarks.eld 42 | /.gh-pages/ 43 | /network-security.data 44 | /.build/ 45 | configs/**/*.el 46 | elpa/ 47 | /server/server 48 | /.DS_Store 49 | /abbrev_defs 50 | /persp-confs/persp-auto-save 51 | /transient/ 52 | /eln-cache/ 53 | /straight/ 54 | /TODO 55 | /TODO.md 56 | /TODO.org 57 | /package-quickstart.el* 58 | 59 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "modules/emacs"] 2 | path = modules/emacs 3 | url = https://github.com/emacs-mirror/emacs.git 4 | [submodule "modules/hexo.el"] 5 | path = modules/hexo.el 6 | url = https://github.com/coldnew/hexo.el.git 7 | [submodule "modules/jdee-server"] 8 | path = modules/jdee-server 9 | url = https://github.com/jdee-emacs/jdee-server.git 10 | [submodule "modules/ProofGeneral"] 11 | path = modules/ProofGeneral 12 | url = https://github.com/ProofGeneral/PG.git 13 | [submodule "modules/libvterm"] 14 | path = modules/libvterm 15 | url = https://github.com/akermu/emacs-libvterm.git 16 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | EMACS ?= emacs 2 | 3 | all: compile 4 | 5 | test: clean 6 | ${MAKE} all 7 | 8 | bootstrap: 9 | ${MAKE} clean 10 | ${MAKE} init.el 11 | 12 | clean: 13 | $(RM) init.el 14 | $(RM) *.elc 15 | $(RM) */*.elc 16 | 17 | # Use function defiled in scripts/makefile-script.el to build the init file. 18 | init.el: 19 | ${EMACS} -Q --script "scripts/makefile-script.el" -f make-init-el 20 | 21 | compile: init.el 22 | ${EMACS} -Q --script "scripts/makefile-script.el" -f compile-init-el 23 | 24 | byte-compile: init.el 25 | ${EMACS} -Q --script "scripts/makefile-script.el" -f byte-compile-init-el 26 | 27 | native-compile: init.el 28 | ${EMACS} -Q --script "scripts/makefile-script.el" -f native-compile-init-el 29 | 30 | doc: init.el 31 | ${EMACS} -Q -l init.el \ 32 | --script "assets/export-script.el" -f generate-doc-files 33 | 34 | .PHONY: all bootstrap init.el compile doc 35 | -------------------------------------------------------------------------------- /README.org: -------------------------------------------------------------------------------- 1 | init.org -------------------------------------------------------------------------------- /assets/export-script.el: -------------------------------------------------------------------------------- 1 | ;; my google-analytics code 2 | (defvar google-analytics-code 3 | "") 11 | 12 | ;; export init.org to init.html 13 | (require 'org) 14 | (require 'ox-html) 15 | (defun export-init-to-html() 16 | (setq org-html-postamble-format google-analytics-code) 17 | (find-file "init.org") 18 | (org-html-export-to-html)) 19 | 20 | ;; export init.el to init.el.html 21 | (require 'htmlize) 22 | (defun export-init-el-to-html () 23 | (add-hook 'htmlize-after-hook 24 | '(lambda () 25 | (while (search-forward "" nil t) 26 | (replace-match (format "\n%s\n" google-analytics-code) nil t)))) 27 | (setq htmlize-output-type 'inline-css) 28 | (set-background-color "#202020") 29 | (set-foreground-color "#c6cccc") 30 | (htmlize-file "init.el")) 31 | 32 | ;;;; export all docs 33 | (defun generate-doc-files () 34 | (export-init-to-html) 35 | (export-init-el-to-html)) -------------------------------------------------------------------------------- /assets/readtheorg.setup: -------------------------------------------------------------------------------- 1 | # -*- mode: org; -*- 2 | # ref: https://github.com/fniessen/org-html-themes 3 | 4 | #+HTML_HEAD: 5 | #+HTML_HEAD: 6 | 7 | #+HTML_HEAD: 8 | #+HTML_HEAD: 9 | #+HTML_HEAD: 10 | #+HTML_HEAD: 11 | 12 | ## My own customize 13 | #+HTML_HEAD: 14 | -------------------------------------------------------------------------------- /assets/style.css: -------------------------------------------------------------------------------- 1 | pre.src { 2 | background: #3f3f3f; color: #dcdccc; 3 | } 4 | -------------------------------------------------------------------------------- /assets/themes/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coldnew/coldnew-emacs/84802f1d20b14aa2fc874fe148c6f7c2f62f93e8/assets/themes/.gitkeep -------------------------------------------------------------------------------- /assets/themes/coldnew-modeline-config.el: -------------------------------------------------------------------------------- 1 | ;;; coldnew-modeline-config.el --- coldnew's modeline-config theme. 2 | 3 | ;; Copyright (C) 2015 Yen-Chin, Lee. 4 | 5 | ;; Author: coldnew 6 | ;; Kyewords: themes 7 | ;; Version: 0.1 8 | ;; X-Original-Version: 0.1 9 | ;; Package-Requires: ((emacs "24.1")) 10 | 11 | ;; This file is free software: you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation, either version 3 of the License, or 14 | ;; (at your option) any later version. 15 | 16 | ;; This file is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with GNU Emacs. If not, see . 23 | 24 | ;;; Commentary: 25 | 26 | ;;; Code: 27 | 28 | (require 'powerline) 29 | (require 'powerline-evil) 30 | 31 | 32 | (defun coldnew/mode-line-prepare-left () 33 | (let* ((active (powerline-selected-window-active)) 34 | (mode-line (if active 'mode-line 'mode-line-inactive)) 35 | (face1 (if active 'powerline-active1 'powerline-inactive1)) 36 | (face2 (if active 'powerline-active2 'powerline-inactive2)) 37 | (separator-left (intern (format "powerline-%s-%s" 38 | powerline-default-separator 39 | (car powerline-default-separator-dir)))) 40 | (separator-right (intern (format "powerline-%s-%s" 41 | powerline-default-separator 42 | (cdr powerline-default-separator-dir))))) 43 | (append 44 | ;; Evil-state indicator 45 | (let ((evil-face (powerline-evil-face))) 46 | (append (if evil-mode 47 | (list (funcall separator-right face2 evil-face) 48 | (powerline-raw " " evil-face) 49 | (powerline-raw (powerline-evil-tag) evil-face 'l) 50 | (powerline-raw " " evil-face) 51 | (funcall separator-left evil-face mode-line))) 52 | 53 | (list (powerline-minor-modes face2 'l) 54 | (powerline-raw " " face2) 55 | (funcall separator-right face2 face1))) 56 | (list (powerline-raw (powerline-evil-tag) evil-face) 57 | (funcall separator-left evil-face mode-line))) 58 | (list 59 | ;; Buffer state indicator 60 | (cond (buffer-read-only 61 | (propertize "RO" 'face 'mode-line-read-only-face)) 62 | ((buffer-modified-p) 63 | (propertize "**" 'face 'mode-line-modified-face)) 64 | (t "--")) 65 | 66 | (powerline-buffer-id nil 'l) 67 | (powerline-raw " ") 68 | (funcall separator-left mode-line face1) 69 | 70 | ;; major mode 71 | (funcall separator-left face1 mode-line ) 72 | (powerline-raw " " mode-line) 73 | (powerline-major-mode mode-line 'l) 74 | (powerline-raw " " mode-line) 75 | (funcall separator-left mode-line face1) 76 | 77 | ;; VC 78 | (powerline-vc face1) 79 | (powerline-raw " " face1 '1) 80 | (funcall separator-left face1 face2) 81 | )))) 82 | 83 | 84 | (defun coldnew/mode-line-prepare-right () 85 | (let* ((active (powerline-selected-window-active)) 86 | (mode-line (if active 'mode-line 'mode-line-inactive)) 87 | (face1 (if active 'powerline-active1 'powerline-inactive1)) 88 | (face2 (if active 'powerline-active2 'powerline-inactive2)) 89 | (separator-left (intern (format "powerline-%s-%s" 90 | powerline-default-separator 91 | (car powerline-default-separator-dir)))) 92 | (separator-right (intern (format "powerline-%s-%s" 93 | powerline-default-separator 94 | (cdr powerline-default-separator-dir))))) 95 | (append 96 | (list 97 | (powerline-process face2) 98 | (funcall separator-right face2 face1) 99 | (when (boundp 'erc-modified-channels-object) 100 | (powerline-raw erc-modified-channels-object face2 'l)) 101 | (powerline-raw "%4l" face1 'r) 102 | (powerline-raw ":" face1) 103 | (powerline-raw "%3c" face1 'r) 104 | (funcall separator-right face1 mode-line) 105 | (powerline-raw " ") 106 | (powerline-raw "%6p" nil 'r) 107 | (powerline-buffer-size nil 'r) 108 | (powerline-hud face2 face1)) 109 | ))) 110 | 111 | (defun coldnew/mode-line-prepare () 112 | (let* ((active (powerline-selected-window-active)) 113 | (face2 (if active 'powerline-active2 'powerline-inactive2)) 114 | (lhs (coldnew/mode-line-prepare-left)) 115 | (rhs (coldnew/mode-line-prepare-right))) 116 | (concat (powerline-render lhs) 117 | (powerline-fill face2 (powerline-width rhs)) 118 | (powerline-render rhs)))) 119 | 120 | ;; Setup my mode-line 121 | 122 | (setq powerline-default-separator 'arrow) 123 | 124 | (setq-default mode-line-format 125 | '("%e" (:eval (coldnew/mode-line-prepare)))) 126 | 127 | 128 | (provide 'coldnew-modeline-config) 129 | ;;; coldnew-modeline-config.el ends here. 130 | -------------------------------------------------------------------------------- /assets/themes/coldnew-theme-day-theme.el: -------------------------------------------------------------------------------- 1 | ;;; coldnew-theme-day-theme.el --- coldnew's emacs color-theme day version. 2 | 3 | ;; Copyright (C) 2015 Yen-Chin, Lee. 4 | 5 | ;; Author: coldnew 6 | ;; Kyewords: themes 7 | ;; Version: 0.1 8 | ;; X-Original-Version: 0.1 9 | ;; Package-Requires: ((emacs "24.1")) 10 | 11 | ;; This file is free software: you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation, either version 3 of the License, or 14 | ;; (at your option) any later version. 15 | 16 | ;; This file is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with GNU Emacs. If not, see . 23 | 24 | ;;; Commentary: 25 | 26 | ;;; Code: 27 | (require 'coldnew-theme) 28 | 29 | (deftheme coldnew-theme-day 30 | "coldnew's day theme") 31 | 32 | (add-to-list 33 | 'coldnew-theme-colors 34 | '(day 35 | . 36 | (;; name sRGB 256 37 | (background "#FAFAFA" "#FAFAFA") 38 | (foreground "#212121" "#212121") 39 | (comment "#607d8b" "#607d8b") 40 | (current-line "#ECEFF1" "#dadada") 41 | 42 | (red "#B71C1C" "#B71C1C") 43 | (orange "#FF5722" "#FF5722") 44 | (yellow "#FFA000" "#FFA000") 45 | (green "#558b2f" "#558b2f") 46 | (aqua "#00796b" "#00796b") 47 | (cyan "#aadddd" "#aadddd") 48 | (blue "#2196f3" "#2196f3") 49 | (magenta "#4527A0" "#4527A0") 50 | (black "#2a2a2a" "#2a2a2a") 51 | (white "#ffffff" "#ffffff") 52 | 53 | ;; extra color 54 | (base03 "#202020" "#202020") 55 | (base02 "#292929" "#292929") 56 | (base01 "#5f5f5f" "#5f5f5f") 57 | (base00 "#999999" "#999999") 58 | (base0 "#cccccc" "#cccccc") 59 | (base1 "#aaaaaa" "#aaaaaa") 60 | (base2 "#e9e2cb" "#e9e2cb") 61 | (base3 "#fcf4dc" "#fcf4dc") 62 | 63 | ;; other 64 | (cursor "#0B0B0E") 65 | (current-line "#efefef") 66 | (selection "#d6d6d6") 67 | (highlight "#CAE682") 68 | ;; (comment "#8e908c") 69 | 70 | ;; rainbow delimiters 71 | (rainbow-1 "#e91e63" "#e91e63") 72 | (rainbow-2 "#1565C0" "#1565C0") 73 | (rainbow-3 "#EF6C00" "#EF6C00") 74 | (rainbow-4 "#B388FF" "#B388FF") 75 | (rainbow-5 "#76FF03" "#76FF03") 76 | (rainbow-6 "#26A69A" "#26A69A") 77 | (rainbow-7 "#B71C1C" "#B71C1C") 78 | (rainbow-8 "#795548" "#795548") 79 | (rainbow-9 "#827717" "#827717") 80 | ))) 81 | 82 | (coldnew-theme--with-colors 83 | 'day 84 | (apply 'custom-theme-set-faces 'coldnew-theme-day 85 | (coldnew-theme--face-specs)) 86 | (custom-theme-set-variables 87 | 'coldnew-theme-day 88 | `(ansi-color-names-vector (vector ,foreground ,red ,green ,yellow ,blue ,magenta ,cyan ,background)) 89 | '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold]))) 90 | 91 | ;; FIXME: need to rewrite 92 | 93 | ;; ;;;###autoload 94 | ;; (defun coldnew-theme-day () 95 | ;; (interactive) 96 | ;; (coldnew-theme--load-theme 'day)) 97 | 98 | (provide 'coldnew-theme-day-theme) 99 | ;;; coldnew-theme-day-theme.el ends here 100 | -------------------------------------------------------------------------------- /assets/themes/coldnew-theme-night-old2-theme.el: -------------------------------------------------------------------------------- 1 | ;;; coldnew-theme-night-theme.el --- coldnew's emacs color-theme night version. 2 | 3 | ;; Copyright (C) 2015 Yen-Chin, Lee. 4 | 5 | ;; Author: coldnew 6 | ;; Kyewords: themes 7 | ;; Version: 0.1 8 | ;; X-Original-Version: 0.1 9 | ;; Package-Requires: ((emacs "24.1")) 10 | 11 | ;; This file is free software: you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation, either version 3 of the License, or 14 | ;; (at your option) any later version. 15 | 16 | ;; This file is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with GNU Emacs. If not, see . 23 | 24 | ;;; Commentary: 25 | 26 | ;;; Code: 27 | (require 'coldnew-theme-old2) 28 | 29 | (deftheme coldnew-theme-night-old2 30 | "coldnew's night theme") 31 | 32 | (add-to-list 33 | 'coldnew-theme-colors 34 | '(night 35 | . (;; name sRGB 256 36 | (background "#202020" "#202020") 37 | (far-background "#1c1f26" "#121212") 38 | (foreground "#c6cccc" "#c6cccc") 39 | (cursor "#00c8c8" "#00c8c8") 40 | (current-line "#2a2a2a" "#2a2a2a") 41 | (selection "#3b3f41" "#3b3f41") 42 | (highlight "#CAE682" "#CAE682") 43 | 44 | ;; font-lock 45 | (buildin "#ccaaff" "#ccaaff") 46 | (constant "#ccaaff" "#ccaaff") 47 | (comment "#9ac" "#9ac") 48 | (comment-delimiter "#5f5f5f" "#5f5f5f") 49 | (doc "#97abc6" "#97abc6") 50 | (function-name "#aaccff" "#aaccff") 51 | (keyword "#aaffaa" "#aaffaa") 52 | (type "#fff59d" "#fff59d") 53 | (variable-name "#aaccff" "#aaccff") 54 | (string "#aadddd" "#aadddd") 55 | 56 | ;; extra color 57 | (base03 "#202020" "#202020") 58 | (base02 "#292929" "#292929") 59 | (base01 "#5f5f5f" "#5f5f5f") 60 | (base00 "#999999" "#999999") 61 | (base0 "#cccccc" "#cccccc") 62 | (base1 "#aaaaaa" "#aaaaaa") 63 | (base2 "#e9e2cb" "#e9e2cb") 64 | (base3 "#fcf4dc" "#fcf4dc") 65 | 66 | ;; terminal color 67 | (red "#ff3333" "#ff3333") 68 | (yellow "#fff59d" "#fff59d") 69 | (orange "#ff8888" "#ff8888") 70 | (green "#aaffaa" "#aaffaa") 71 | (blue "#aaccff" "#aaccff") 72 | (magenta "#ccaaff" "#ccaaff") 73 | (cyan "#aadddd" "#aadddd") 74 | (white "#ffffff" "#ffffff") 75 | (black "#2a2a2a" "#2a2a2a") 76 | (aqua "#81d4fa" "#81d4fa") 77 | 78 | ;; rainbow delimiters 79 | (rainbow-1 "#aadddd" "#aadddd") 80 | (rainbow-2 "#81d4fa" "#81d4fa") 81 | (rainbow-3 "#aaccff" "#aaccff") 82 | (rainbow-4 "#aaeecc" "#aaeecc") 83 | (rainbow-5 "#ccaaff" "#ccaaff") 84 | (rainbow-6 "#fff59d" "#fff59d") 85 | (rainbow-7 "#ff8888" "#ff8888") 86 | (rainbow-8 "#795548" "#795548") 87 | (rainbow-9 "#827717" "#827717") 88 | ))) 89 | 90 | (coldnew-theme--with-colors-old2 91 | 'night 92 | (apply 'custom-theme-set-faces 'coldnew-theme-night-old2 93 | (coldnew-theme--face-specs-old2)) 94 | (custom-theme-set-variables 95 | 'coldnew-theme-night-old2 96 | `(ansi-color-names-vector (vector ,foreground ,red ,green ,yellow ,blue ,magenta ,cyan ,background)) 97 | '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold]))) 98 | 99 | ;;;###autoload 100 | (defun coldnew-theme-night-old2 () 101 | (interactive) 102 | (coldnew-theme--load-theme-old2 'night)) 103 | 104 | (provide 'coldnew-theme-night-old2-theme) 105 | ;;; coldnew-theme-night-theme.el ends here. 106 | -------------------------------------------------------------------------------- /assets/themes/coldnew-theme-old.el: -------------------------------------------------------------------------------- 1 | ;;; coldnew-moe-theme.el --- coldnew's emacs color-theme based on moe-theme. 2 | 3 | ;;; Commentary: 4 | ;; 5 | 6 | ;; 256-color charts 7 | ;; http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html 8 | 9 | (require 'powerline) 10 | (require 'powerline-evil) 11 | 12 | (defface mode-line-read-only-face 13 | '((t (:foreground "#C82829" :bold t))) 14 | "face for mode-name-string in modeline." 15 | :group 'mode-line) 16 | 17 | (defface mode-line-modified-face 18 | '((t (:inherit 'font-lock-function-name-face :bolt t))) 19 | "face for mode-name-string in modeline." 20 | :group'mode-lin) 21 | 22 | (defface mode-line-mode-name-face 23 | '((t (:inherit font-lock-keyword-face))) 24 | "face for mode-name-string in modeline." 25 | :group 'mode-line) 26 | 27 | (defface font-lock-escape-char-face 28 | '((((class color)) (:foreground "seagreen2"))) 29 | "highlight c escapes char like vim" 30 | :group 'font-lock-faces) 31 | 32 | (defconst coldnew-theme-colors 33 | '((night . ((background "#0b0b0b") 34 | (foreground "#dcdcdc") 35 | (cursor "#C2C2C2") 36 | (current-line "#2a2a2a") 37 | (selection "#444444") 38 | (highlight "#CAE682") 39 | (comment "#5d9ae4") 40 | (red "#E52210") 41 | (orange "#e65c00") 42 | (yellow "#f0c674") 43 | (green "#95e454") 44 | (aqua "#5d9ae4") 45 | (blue "#4d85ff") 46 | (purple "#AD7fA8") 47 | )) 48 | (day . ((background "#ffffff") 49 | (foreground "#1c1c1c") 50 | (cursor "#0B0B0E") 51 | (current-line "#efefef") 52 | (selection "#d6d6d6") 53 | (highlight "#CAE682") 54 | (comment "#8e908c") 55 | (red "#c82829") 56 | (orange "#f5871f") 57 | (yellow "#eab700") 58 | (green "#829c00") 59 | (aqua "#3e999f") 60 | (blue "#4271ae") 61 | (purple "#8959a8") 62 | )) 63 | )) 64 | 65 | (defun coldnew-theme--build-colors-alist (mode) 66 | (mapcar (lambda (x) (list (symbol-name (car x)) (cadr x))) 67 | (cdr (assoc (cadr `,mode) coldnew-theme-colors)))) 68 | 69 | (defmacro coldnew-theme--with-colors (mode &rest body) 70 | "`let' bind all colors defined in `coldnew-theme-colors' around BODY. 71 | Also bind `class' to ((class color) (min-colors 89))." 72 | (declare (indent 0)) 73 | `(let ((class '((class color) (min-colors 89))) 74 | ,@(mapcar (lambda (cons) 75 | (list (intern (car cons)) (cadr cons))) 76 | (coldnew-theme--build-colors-alist mode))) 77 | ,@body)) 78 | 79 | (defmacro coldnew-theme--face-specs () 80 | (quote 81 | `( 82 | ;; Ensure sufficient contrast on low-color terminals. 83 | (default ((((class color) (min-colors 4096)) 84 | (:foreground ,foreground :background ,background)) 85 | (((class color) (min-colors 256)) 86 | (:foreground ,foreground :background ,background)) 87 | (,class 88 | (:foreground ,foreground :background ,background)))) 89 | 90 | (bold ((,class (:weight bold)))) 91 | (bold-italic ((,class (:slant italic :weight bold)))) 92 | (underline ((,class (:underline t)))) 93 | (italic ((,class (:slant italic)))) 94 | (shadow ((,class (:foreground ,comment)))) 95 | (success ((,class (:foreground ,green)))) 96 | (error ((,class (:foreground ,red)))) 97 | (warning ((,class (:foreground ,orange)))) 98 | (outline-4 ((,class (:slant normal :foreground ,comment)))) 99 | 100 | ;; Font locks 101 | (font-lock-builtin-face ((t (:foreground "#4BC98A")))) 102 | (font-lock-comment-face ((t (:foreground ,comment :italic t)))) 103 | (font-lock-constant-face ((t (:foreground "#E53F3F" :bold t)))) 104 | (font-lock-function-name-face ((t (:foreground "#AD7FA8" :italic t :bold t)))) 105 | (font-lock-keyword-face ((t (:foreground "#FFC125")))) 106 | (font-lock-string-face ((t (:foreground "#95E454" :italic t)))) 107 | (font-lock-type-face ((t (:foreground "#CAE682")))) 108 | (font-lock-variable-name-face ((t (:foreground "#4BC98A")))) 109 | (font-lock-warning-face ((t (:foreground "#E91303" :bold t)))) 110 | (font-lock-doc-face ((t (:foreground "#40AAFA")))) 111 | 112 | ;; Auto Complete 113 | (ac-candidate-face ((t (:background ,selection :foreground ,foreground)))) 114 | (ac-selection-face ((t (:background ,highlight :foreground ,background)))) 115 | 116 | ;; Company 117 | (company-tooltip ((t (:background ,selection :foreground ,foreground)))) 118 | (company-tooltip-selection ((t (:background ,highlight :foreground ,background)))) 119 | 120 | ;; Elscreen 121 | (elscreen-tab-background-face ((t (:background ,background)))) 122 | (elscreen-tab-control-face ((t (:foreground ,foreground :background "black" 123 | :weight extra-bold)))) 124 | (elscreen-tab-current-screen-face ((t (:background "#250628" :foreground "Gray90" 125 | :bold t)))) 126 | (elscreen-tab-other-screen-face ((t (:background "#1D1D1F" :foreground "Gray85" 127 | :bold t)))) 128 | ;; Evil 129 | (evil-state-normal-face ((t :foreground ,purple :bold t))) 130 | (evil-state-insert-face ((t :foreground ,red :bold t))) 131 | (evil-state-visual-face ((t :foreground ,blue :bold t))) 132 | (evil-state-emacs-face ((t :foreground ,green :bold t))) 133 | 134 | ;; Flymake 135 | (flymake-warnline ((,class (:underline ,orange :background ,background)))) 136 | (flymake-errline ((,class (:underline ,red :background ,background)))) 137 | 138 | ;; Clojure errors 139 | (clojure-test-failure-face ((,class (:background nil :inherit flymake-warnline)))) 140 | (clojure-test-error-face ((,class (:background nil :inherit flymake-errline)))) 141 | (clojure-test-success-face ((,class (:background nil :foreground nil :underline ,green)))) 142 | 143 | ;; For Brian Carper's extended clojure syntax table 144 | (clojure-keyword ((,class (:foreground ,yellow)))) 145 | (clojure-parens ((,class (:foreground ,foreground)))) 146 | (clojure-braces ((,class (:foreground ,green)))) 147 | (clojure-brackets ((,class (:foreground ,yellow)))) 148 | (clojure-double-quote ((,class (:foreground ,aqua :background nil)))) 149 | (clojure-special ((,class (:foreground ,blue)))) 150 | (clojure-java-call ((,class (:foreground ,purple)))) 151 | 152 | ;; Rainbow-delimiters 153 | (rainbow-delimiters-depth-1-face ((,class (:foreground ,purple)))) 154 | (rainbow-delimiters-depth-2-face ((,class (:foreground ,blue)))) 155 | (rainbow-delimiters-depth-3-face ((,class (:foreground ,aqua)))) 156 | (rainbow-delimiters-depth-4-face ((,class (:foreground ,green)))) 157 | (rainbow-delimiters-depth-5-face ((,class (:foreground ,yellow)))) 158 | (rainbow-delimiters-depth-6-face ((,class (:foreground ,orange)))) 159 | (rainbow-delimiters-depth-7-face ((,class (:foreground ,red)))) 160 | (rainbow-delimiters-depth-8-face ((,class (:foreground ,comment)))) 161 | (rainbow-delimiters-depth-9-face ((,class (:foreground ,foreground)))) 162 | (rainbow-delimiters-unmatched-face ((,class (:foreground ,red)))) 163 | 164 | ;; MMM-mode 165 | (mmm-code-submode-face ((,class (:background ,current-line)))) 166 | (mmm-comment-submode-face ((,class (:inherit font-lock-comment-face)))) 167 | (mmm-output-submode-face ((,class (:background ,current-line)))) 168 | 169 | ;; Search 170 | (match ((,class (:foreground ,blue :background ,background :inverse-video t)))) 171 | (isearch ((,class (:foreground ,yellow :background ,background :inverse-video t)))) 172 | (isearch-lazy-highlight-face ((,class (:foreground ,aqua :background ,background :inverse-video t)))) 173 | (isearch-fail ((,class (:background ,background :inherit font-lock-warning-face :inverse-video t)))) 174 | 175 | ;; IDO 176 | (ido-first-match ((,class (:foreground ,yellow :weight bold)))) 177 | (ido-only-match ((,class (:foreground ,orange :weight bold)))) 178 | (ido-virtual ((,class (:foreground ,comment)))) 179 | (ido-incomplete-regexp ((,class (:foreground ,red :bold t)))) 180 | (ido-subdir ((,class (:foreground ,aqua :bold t)))) 181 | (ido-virtual ((,class (:foreground ,purple)))) 182 | 183 | ;; which-function 184 | (which-func ((,class (:foreground ,blue :background nil :weight bold)))) 185 | 186 | ;; Emacs interface 187 | (cursor ((,class (:background ,cursor)))) 188 | (fringe ((,class (:background ,current-line)))) 189 | (linum ((,class (:foreground ,cursor :background ,background)))) 190 | (hl-line ((,class (:background ,selection)))) 191 | ;; (border ((,class (:background ,current-line)))) 192 | ;; (border-glyph ((,class (nil)))) 193 | (highlight ((,class (:foreground ,current-line :background ,green)))) 194 | (link ((,class (:foreground ,blue)))) 195 | (link-visited ((,class (:foreground ,purple)))) 196 | (gui-element ((,class (:background ,current-line :foreground ,foreground)))) 197 | 198 | ;; mode-line 199 | (mode-line ((,class (:background ,background :foreground "#b1c3d4" 200 | :box (:line-width 2 :color "#B184CB"))))) 201 | (mode-line-inactive ((,class (:background ,current-line :foreground "#7b8793" 202 | :box (:line-width 2 :color "#565968"))))) 203 | (mode-line-buffer-id ((,class (:foreground ,foreground :background nil)))) 204 | (mode-line-emphasis ((,class (:foreground ,foreground :slant italic)))) 205 | (mode-line-highlight ((,class (:foreground ,purple :box nil :weight bold)))) 206 | 207 | (minibuffer-prompt ((,class (:foreground ,red :bold t)))) 208 | (region ((,class (:background ,selection)))) 209 | (secondary-selection ((,class (:background ,current-line)))) 210 | 211 | ;; (header-line ((,class (:inherit mode-line :foreground ,purple :background nil)))) 212 | 213 | (trailing-whitespace ((,class (:background ,red :foreground ,yellow)))) 214 | (whitespace-empty ((,class (:foreground ,red :background ,yellow)))) 215 | (whitespace-hspace ((,class (:background ,selection :foreground ,comment)))) 216 | (whitespace-indentation ((,class (:background ,yellow :foreground ,red)))) 217 | (whitespace-line ((,class (:background ,current-line :foreground ,purple)))) 218 | (whitespace-newline ((,class (:foreground ,comment)))) 219 | (whitespace-space ((,class (:background ,current-line :foreground ,comment)))) 220 | (whitespace-space-after-tab ((,class (:background ,yellow :foreground ,red)))) 221 | (whitespace-space-before-tab ((,class (:background ,orange :foreground ,red)))) 222 | (whitespace-tab ((,class (:background ,selection :foreground ,comment)))) 223 | (whitespace-trailing ((,class (:background ,red :foreground ,yellow)))) 224 | 225 | ;; Parenthesis matching (built-in) 226 | (show-paren-match ((,class (:background ,blue :foreground ,current-line)))) 227 | (show-paren-mismatch ((,class (:background ,orange :foreground ,current-line)))) 228 | 229 | ;; Parenthesis matching (mic-paren) 230 | (paren-face-match ((,class (:foreground nil :background nil :inherit show-paren-match)))) 231 | (paren-face-mismatch ((,class (:foreground nil :background nil :inherit show-paren-mismatch)))) 232 | (paren-face-no-match ((,class (:foreground nil :background nil :inherit show-paren-mismatch)))) 233 | 234 | ;; Parenthesis dimming (parenface) 235 | (paren-face ((,class (:foreground ,comment :background nil)))) 236 | 237 | (sh-heredoc ((,class (:foreground nil :inherit font-lock-string-face :weight normal)))) 238 | (sh-quoted-exec ((,class (:foreground nil :inherit font-lock-preprocessor-face)))) 239 | (slime-highlight-edits-face ((,class (:weight bold)))) 240 | (slime-repl-input-face ((,class (:weight normal :underline nil)))) 241 | (slime-repl-prompt-face ((,class (:underline nil :weight bold :foreground ,purple)))) 242 | (slime-repl-result-face ((,class (:foreground ,green)))) 243 | (slime-repl-output-face ((,class (:foreground ,blue :background ,background)))) 244 | 245 | (csv-separator-face ((,class (:foreground ,orange)))) 246 | 247 | (diff-added ((,class (:foreground ,green)))) 248 | (diff-changed ((,class (:foreground ,yellow)))) 249 | (diff-removed ((,class (:foreground ,red)))) 250 | (diff-header ((,class (:background ,current-line)))) 251 | (diff-file-header ((,class (:background ,selection)))) 252 | (diff-hunk-header ((,class (:foreground ,yellow :italic t)))) 253 | (diff-context ((,class (:foreground ,foreground)))) 254 | 255 | (ediff-even-diff-A ((,class (:foreground nil :background nil :inverse-video t)))) 256 | (ediff-even-diff-B ((,class (:foreground nil :background nil :inverse-video t)))) 257 | (ediff-odd-diff-A ((,class (:foreground ,comment :background nil :inverse-video t)))) 258 | (ediff-odd-diff-B ((,class (:foreground ,comment :background nil :inverse-video t)))) 259 | 260 | (eldoc-highlight-function-argument ((,class (:foreground ,green :weight bold)))) 261 | 262 | ;; undo-tree 263 | (undo-tree-visualizer-default-face ((,class (:foreground ,foreground)))) 264 | (undo-tree-visualizer-current-face ((,class (:foreground ,green :weight bold)))) 265 | (undo-tree-visualizer-active-branch-face ((,class (:foreground ,red)))) 266 | (undo-tree-visualizer-register-face ((,class (:foreground ,yellow)))) 267 | 268 | ;; auctex 269 | (font-latex-bold-face ((,class (:foreground ,green)))) 270 | (font-latex-doctex-documentation-face ((,class (:background ,current-line)))) 271 | (font-latex-italic-face ((,class (:foreground ,green)))) 272 | (font-latex-math-face ((,class (:foreground ,orange)))) 273 | (font-latex-sectioning-0-face ((,class (:foreground ,yellow)))) 274 | (font-latex-sectioning-1-face ((,class (:foreground ,yellow)))) 275 | (font-latex-sectioning-2-face ((,class (:foreground ,yellow)))) 276 | (font-latex-sectioning-3-face ((,class (:foreground ,yellow)))) 277 | (font-latex-sectioning-4-face ((,class (:foreground ,yellow)))) 278 | (font-latex-sectioning-5-face ((,class (:foreground ,yellow)))) 279 | (font-latex-sedate-face ((,class (:foreground ,aqua)))) 280 | (font-latex-string-face ((,class (:foreground ,yellow)))) 281 | (font-latex-verbatim-face ((,class (:foreground ,orange)))) 282 | (font-latex-warning-face ((,class (:foreground ,red)))) 283 | 284 | ;; dired+ 285 | (diredp-compressed-file-suffix ((,class (:foreground ,blue)))) 286 | (diredp-dir-heading ((,class (:foreground nil :background nil :inherit heading)))) 287 | (diredp-dir-priv ((,class (:foreground ,aqua :background nil)))) 288 | (diredp-exec-priv ((,class (:foreground ,blue :background nil)))) 289 | (diredp-executable-tag ((,class (:foreground ,red :background nil)))) 290 | (diredp-file-name ((,class (:foreground ,yellow)))) 291 | (diredp-file-suffix ((,class (:foreground ,green)))) 292 | (diredp-flag-mark-line ((,class (:background nil :inherit highlight)))) 293 | (diredp-ignored-file-name ((,class (:foreground ,comment)))) 294 | (diredp-link-priv ((,class (:background nil :foreground ,purple)))) 295 | (diredp-mode-line-flagged ((,class (:foreground ,red)))) 296 | (diredp-mode-line-marked ((,class (:foreground ,green)))) 297 | (diredp-no-priv ((,class (:background nil)))) 298 | (diredp-number ((,class (:foreground ,yellow)))) 299 | (diredp-other-priv ((,class (:background nil :foreground ,purple)))) 300 | (diredp-rare-priv ((,class (:foreground ,red :background nil)))) 301 | (diredp-read-priv ((,class (:foreground ,green :background nil)))) 302 | (diredp-symlink ((,class (:foreground ,purple)))) 303 | (diredp-write-priv ((,class (:foreground ,yellow :background nil)))) 304 | 305 | ;; Magit 306 | (magit-branch ((,class (:foreground ,green)))) 307 | (magit-header ((,class (:inherit nil :weight bold)))) 308 | (magit-item-highlight ((,class (:background ,background)))) 309 | (magit-log-graph ((,class (:foreground ,comment)))) 310 | (magit-log-sha1 ((,class (:foreground ,orange)))) 311 | (magit-log-head-label-bisect-bad ((,class (:foreground ,red)))) 312 | (magit-log-head-label-bisect-good ((,class (:foreground ,green)))) 313 | (magit-log-head-label-default ((,class (:foreground ,yellow :box nil :weight bold)))) 314 | (magit-log-head-label-local ((,class (:foreground ,blue)))) 315 | (magit-log-head-label-remote ((,class (:foreground ,green)))) 316 | (magit-log-head-label-tags ((,class (:foreground ,aqua :box nil :weight bold)))) 317 | (magit-section-title ((,class (:inherit diff-hunk-header)))) 318 | 319 | ;; git-gutter 320 | (git-gutter-fr:modified ((,class (:foreground ,yellow)))) 321 | (git-gutter-fr:added ((,class (:inherit diff-added)))) 322 | (git-gutter-fr:deleted ((,class (:inherit diff-removed)))) 323 | 324 | (link ((t (:foreground "dodger blue" :underline t)))) 325 | (widget-button ((,class (:underline t)))) 326 | (widget-field ((,class (:background ,current-line :box (:line-width 1 :color ,foreground))))) 327 | 328 | ;; Compilation (most faces politely inherit from 'success, 'error, 'warning etc.) 329 | (compilation-column-number ((,class (:foreground ,yellow)))) 330 | (compilation-line-number ((,class (:foreground ,yellow)))) 331 | (compilation-message-face ((,class (:foreground ,blue)))) 332 | (compilation-mode-line-exit ((,class (:foreground ,green)))) 333 | (compilation-mode-line-fail ((,class (:foreground ,red)))) 334 | (compilation-mode-line-run ((,class (:foreground ,blue)))) 335 | 336 | ;; Grep 337 | (grep-context-face ((,class (:foreground ,comment)))) 338 | (grep-error-face ((,class (:foreground ,red :weight bold :underline t)))) 339 | (grep-hit-face ((,class (:foreground ,blue)))) 340 | (grep-match-face ((,class (:foreground nil :background nil :inherit match)))) 341 | 342 | (regex-tool-matched-face ((,class (:foreground nil :background nil :inherit match)))) 343 | 344 | ;; mark-multiple 345 | (mm/master-face ((,class (:inherit region :foreground nil :background nil)))) 346 | (mm/mirror-face ((,class (:inherit region :foreground nil :background nil)))) 347 | 348 | (org-agenda-structure ((,class (:foreground ,purple)))) 349 | (org-agenda-date ((,class (:foreground ,blue :underline nil)))) 350 | (org-agenda-done ((,class (:foreground ,green)))) 351 | (org-agenda-dimmed-todo-face ((,class (:foreground ,comment)))) 352 | (org-block ((,class (:foreground ,yellow)))) 353 | (org-code ((,class (:foreground ,yellow)))) 354 | (org-column ((,class (:background ,current-line)))) 355 | (org-column-title ((,class (:inherit org-column :weight bold :underline t)))) 356 | (org-date ((,class (:foreground ,purple :underline t :bold t)))) 357 | (org-agenda-date-weekend ((t (:bold t :foreground ,orange :weight bold)))) 358 | (org-document-info ((,class (:foreground ,aqua)))) 359 | (org-document-info-keyword ((,class (:foreground ,green)))) 360 | (org-document-title ((,class (:weight bold :foreground ,orange :height 1.44)))) 361 | (org-ellipsis ((,class (:foreground ,comment)))) 362 | (org-footnote ((,class (:foreground ,aqua)))) 363 | (org-formula ((,class (:foreground ,red)))) 364 | ;;(org-hide ((,class (:foreground ,current-line)))) 365 | (org-hide ((t (:foreground "#0B0B0E")))) 366 | (org-scheduled ((,class (:foreground ,green)))) 367 | (org-scheduled-previously ((,class (:foreground ,orange)))) 368 | (org-scheduled-today ((,class (:foreground ,green)))) 369 | (org-special-keyword ((,class (:foreground ,orange)))) 370 | ;;(org-table ((,class (:foreground ,purple)))) 371 | (org-todo ((,class (:foreground ,red :bold t)))) 372 | (org-done ((t (:foreground "#4BC98A" :bold t)))) 373 | (org-link ((t (:inherit link)))) 374 | (org-upcoming-deadline ((,class (:foreground ,orange)))) 375 | (org-warning ((,class (:weight bold :foreground ,red)))) 376 | (org-level-1 ((t (:foreground "#8AC6F2" :bold t)))) 377 | (org-level-2 ((t (:foreground "#ee9a49")))) 378 | (org-level-3 ((t (:foreground "#ff83fa")))) 379 | (org-level-4 ((t (:foreground "#efe500")))) 380 | (org-level-5 ((t (:foreground "#ff4040")))) 381 | (org-level-6 ((t (:foreground "#afe04e")))) 382 | (org-level-7 ((t (:foreground "#0A4C64")))) 383 | 384 | 385 | (markdown-url-face ((,class (:inherit link)))) 386 | (markdown-link-face ((,class (:foreground ,blue :underline t)))) 387 | 388 | (hl-sexp-face ((,class (:background ,current-line)))) 389 | (highlight-80+ ((,class (:background ,current-line)))) 390 | 391 | ;; Python-specific overrides 392 | (py-builtins-face ((,class (:foreground ,orange :weight normal)))) 393 | 394 | ;; js2-mode 395 | (js2-warning-face ((,class (:underline ,orange)))) 396 | (js2-error-face ((,class (:foreground nil :underline ,red)))) 397 | (js2-external-variable-face ((,class (:foreground ,purple)))) 398 | (js2-function-param-face ((,class (:foreground ,blue)))) 399 | (js2-instance-member-face ((,class (:foreground ,blue)))) 400 | (js2-private-function-call-face ((,class (:foreground ,red)))) 401 | 402 | ;; js3-mode 403 | (js3-warning-face ((,class (:underline ,orange)))) 404 | (js3-error-face ((,class (:foreground nil :underline ,red)))) 405 | (js3-external-variable-face ((,class (:foreground ,purple)))) 406 | (js3-function-param-face ((,class (:foreground ,blue)))) 407 | (js3-jsdoc-tag-face ((,class (:foreground ,orange)))) 408 | (js3-jsdoc-type-face ((,class (:foreground ,aqua)))) 409 | (js3-jsdoc-value-face ((,class (:foreground ,yellow)))) 410 | (js3-jsdoc-html-tag-name-face ((,class (:foreground ,blue)))) 411 | (js3-jsdoc-html-tag-delimiter-face ((,class (:foreground ,green)))) 412 | (js3-instance-member-face ((,class (:foreground ,blue)))) 413 | (js3-private-function-call-face ((,class (:foreground ,red)))) 414 | 415 | ;; nxml 416 | (nxml-name-face ((,class (:foreground unspecified :inherit font-lock-constant-face)))) 417 | (nxml-attribute-local-name-face ((,class (:foreground unspecified :inherit font-lock-variable-name-face)))) 418 | (nxml-ref-face ((,class (:foreground unspecified :inherit font-lock-preprocessor-face)))) 419 | (nxml-delimiter-face ((,class (:foreground unspecified :inherit font-lock-keyword-face)))) 420 | (nxml-delimited-data-face ((,class (:foreground unspecified :inherit font-lock-string-face)))) 421 | (rng-error-face ((,class (:underline ,red)))) 422 | 423 | ;; RHTML 424 | (erb-delim-face ((,class (:background ,current-line)))) 425 | (erb-exec-face ((,class (:background ,current-line :weight bold)))) 426 | (erb-exec-delim-face ((,class (:background ,current-line)))) 427 | (erb-out-face ((,class (:background ,current-line :weight bold)))) 428 | (erb-out-delim-face ((,class (:background ,current-line)))) 429 | (erb-comment-face ((,class (:background ,current-line :weight bold :slant italic)))) 430 | (erb-comment-delim-face ((,class (:background ,current-line)))) 431 | 432 | ;; Message-mode 433 | (message-header-other ((,class (:foreground nil :background nil :weight normal)))) 434 | (message-header-subject ((,class (:inherit message-header-other :weight bold :foreground ,yellow)))) 435 | (message-header-to ((,class (:inherit message-header-other :weight bold :foreground ,orange)))) 436 | (message-header-cc ((,class (:inherit message-header-to :foreground nil)))) 437 | (message-header-name ((,class (:foreground ,blue :background nil)))) 438 | (message-header-newsgroups ((,class (:foreground ,aqua :background nil :slant normal)))) 439 | (message-separator ((,class (:foreground ,purple)))) 440 | 441 | ;; Jabber 442 | (jabber-chat-prompt-local ((,class (:foreground ,yellow)))) 443 | (jabber-chat-prompt-foreign ((,class (:foreground ,orange)))) 444 | (jabber-chat-prompt-system ((,class (:foreground ,yellow :weight bold)))) 445 | (jabber-chat-text-local ((,class (:foreground ,yellow)))) 446 | (jabber-chat-text-foreign ((,class (:foreground ,orange)))) 447 | (jabber-chat-text-error ((,class (:foreground ,red)))) 448 | 449 | (jabber-roster-user-online ((,class (:foreground ,green)))) 450 | (jabber-roster-user-xa ((,class :foreground ,comment))) 451 | (jabber-roster-user-dnd ((,class :foreground ,yellow))) 452 | (jabber-roster-user-away ((,class (:foreground ,orange)))) 453 | (jabber-roster-user-chatty ((,class (:foreground ,purple)))) 454 | (jabber-roster-user-error ((,class (:foreground ,red)))) 455 | (jabber-roster-user-offline ((,class (:foreground ,comment)))) 456 | 457 | (jabber-rare-time-face ((,class (:foreground ,comment)))) 458 | (jabber-activity-face ((,class (:foreground ,purple)))) 459 | (jabber-activity-personal-face ((,class (:foreground ,aqua)))) 460 | 461 | ;; Gnus 462 | (gnus-cite-1 ((,class (:inherit outline-1 :foreground nil)))) 463 | (gnus-cite-2 ((,class (:inherit outline-2 :foreground nil)))) 464 | (gnus-cite-3 ((,class (:inherit outline-3 :foreground nil)))) 465 | (gnus-cite-4 ((,class (:inherit outline-4 :foreground nil)))) 466 | (gnus-cite-5 ((,class (:inherit outline-5 :foreground nil)))) 467 | (gnus-cite-6 ((,class (:inherit outline-6 :foreground nil)))) 468 | (gnus-cite-7 ((,class (:inherit outline-7 :foreground nil)))) 469 | (gnus-cite-8 ((,class (:inherit outline-8 :foreground nil)))) 470 | ;; there are several more -cite- faces... 471 | (gnus-header-content ((,class (:inherit message-header-other)))) 472 | (gnus-header-subject ((,class (:inherit message-header-subject)))) 473 | (gnus-header-from ((,class (:inherit message-header-other-face :weight bold :foreground ,orange)))) 474 | 475 | (gnus-header-name ((,class (:inherit message-header-name)))) 476 | (gnus-button ((,class (:inherit link :foreground nil)))) 477 | (gnus-signature ((,class (:inherit font-lock-comment-face)))) 478 | 479 | (gnus-summary-normal-unread ((,class (:foreground ,blue :weight normal)))) 480 | (gnus-summary-normal-read ((,class (:foreground ,foreground :weight normal)))) 481 | (gnus-summary-normal-ancient ((,class (:foreground ,aqua :weight normal)))) 482 | (gnus-summary-normal-ticked ((,class (:foreground ,orange :weight normal)))) 483 | (gnus-summary-low-unread ((,class (:foreground ,comment :weight normal)))) 484 | (gnus-summary-low-read ((,class (:foreground ,comment :weight normal)))) 485 | (gnus-summary-low-ancient ((,class (:foreground ,comment :weight normal)))) 486 | (gnus-summary-high-unread ((,class (:foreground ,yellow :weight normal)))) 487 | (gnus-summary-high-read ((,class (:foreground ,green :weight normal)))) 488 | (gnus-summary-high-ancient ((,class (:foreground ,green :weight normal)))) 489 | (gnus-summary-high-ticked ((,class (:foreground ,orange :weight normal)))) 490 | (gnus-summary-cancelled ((,class (:foreground ,red :background nil :weight normal)))) 491 | 492 | (gnus-group-mail-low ((,class (:foreground ,comment)))) 493 | (gnus-group-mail-low-empty ((,class (:foreground ,comment)))) 494 | (gnus-group-mail-1 ((,class (:foreground nil :weight normal :inherit outline-1)))) 495 | (gnus-group-mail-2 ((,class (:foreground nil :weight normal :inherit outline-2)))) 496 | (gnus-group-mail-3 ((,class (:foreground nil :weight normal :inherit outline-3)))) 497 | (gnus-group-mail-4 ((,class (:foreground nil :weight normal :inherit outline-4)))) 498 | (gnus-group-mail-5 ((,class (:foreground nil :weight normal :inherit outline-5)))) 499 | (gnus-group-mail-6 ((,class (:foreground nil :weight normal :inherit outline-6)))) 500 | (gnus-group-mail-1-empty ((,class (:inherit gnus-group-mail-1 :foreground ,comment)))) 501 | (gnus-group-mail-2-empty ((,class (:inherit gnus-group-mail-2 :foreground ,comment)))) 502 | (gnus-group-mail-3-empty ((,class (:inherit gnus-group-mail-3 :foreground ,comment)))) 503 | (gnus-group-mail-4-empty ((,class (:inherit gnus-group-mail-4 :foreground ,comment)))) 504 | (gnus-group-mail-5-empty ((,class (:inherit gnus-group-mail-5 :foreground ,comment)))) 505 | (gnus-group-mail-6-empty ((,class (:inherit gnus-group-mail-6 :foreground ,comment)))) 506 | (gnus-group-news-1 ((,class (:foreground nil :weight normal :inherit outline-5)))) 507 | (gnus-group-news-2 ((,class (:foreground nil :weight normal :inherit outline-6)))) 508 | (gnus-group-news-3 ((,class (:foreground nil :weight normal :inherit outline-7)))) 509 | (gnus-group-news-4 ((,class (:foreground nil :weight normal :inherit outline-8)))) 510 | (gnus-group-news-5 ((,class (:foreground nil :weight normal :inherit outline-1)))) 511 | (gnus-group-news-6 ((,class (:foreground nil :weight normal :inherit outline-2)))) 512 | (gnus-group-news-1-empty ((,class (:inherit gnus-group-news-1 :foreground ,comment)))) 513 | (gnus-group-news-2-empty ((,class (:inherit gnus-group-news-2 :foreground ,comment)))) 514 | (gnus-group-news-3-empty ((,class (:inherit gnus-group-news-3 :foreground ,comment)))) 515 | (gnus-group-news-4-empty ((,class (:inherit gnus-group-news-4 :foreground ,comment)))) 516 | (gnus-group-news-5-empty ((,class (:inherit gnus-group-news-5 :foreground ,comment)))) 517 | (gnus-group-news-6-empty ((,class (:inherit gnus-group-news-6 :foreground ,comment)))) 518 | 519 | ;; erc 520 | (erc-direct-msg-face ((,class (:foreground ,orange)))) 521 | (erc-error-face ((,class (:foreground ,red)))) 522 | (erc-header-face ((,class (:foreground ,foreground :background ,selection)))) 523 | (erc-input-face ((,class (:foreground ,green)))) 524 | (erc-keyword-face ((,class (:foreground ,yellow)))) 525 | (erc-current-nick-face ((,class (:foreground ,green)))) 526 | (erc-my-nick-face ((,class (:foreground ,green)))) 527 | (erc-nick-default-face ((,class (:weight normal :foreground ,purple)))) 528 | (erc-nick-msg-face ((,class (:weight normal :foreground ,yellow)))) 529 | (erc-notice-face ((,class (:foreground ,comment)))) 530 | (erc-pal-face ((,class (:foreground ,orange)))) 531 | (erc-prompt-face ((,class (:foreground ,blue)))) 532 | (erc-timestamp-face ((,class (:foreground ,aqua)))) 533 | 534 | ;; woman 535 | (woman-italic-face ((t (:slant italic :weight bold)))) 536 | (woman-unknown ((t (:foreground ,red :weight bold)))) 537 | (woman-addition ((t (:foreground ,aqua)))) 538 | (woman-bold ((t (:inherit bold :foreground ,blue)))) 539 | 540 | ;; smartparens-mode 541 | (sp-pair-overlay-face ((t (:forground ,foreground :background ,current-line)))) 542 | 543 | (custom-variable-tag ((,class (:foreground ,blue)))) 544 | (custom-group-tag ((,class (:foreground ,blue)))) 545 | (custom-state ((,class (:foreground ,green)))) 546 | 547 | ))) 548 | 549 | (defun coldnew-theme--theme-name (mode) 550 | (intern (format "coldnew-theme-%s" (symbol-name mode)))) 551 | 552 | (defmacro coldnew-theme--define-theme (mode) 553 | "Define a theme for the coldnew variant `MODE'." 554 | (let ((name (coldnew-theme--theme-name mode)) 555 | (doc (format "coldnew's personal color theme (%s version)" mode))) 556 | `(progn 557 | (deftheme ,name ,doc) 558 | (put ',name 'theme-immediate t) 559 | (message (format "%s : %s" (symbol-name ',name) ,doc)) 560 | (coldnew-theme--with-colors 561 | ',mode 562 | (apply 'custom-theme-set-faces ',name 563 | (coldnew-theme--face-specs)) 564 | (custom-theme-set-variables 565 | ',name 566 | ;; `(fci-rule-color ,current-line) 567 | `(ansi-color-names-vector (vector ,foreground ,red ,green ,yellow ,blue ,purple ,aqua ,background)) 568 | '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold]))) 569 | (provide-theme ',name)))) 570 | 571 | (defun coldnew-theme--load-theme (mode) 572 | (if (fboundp 'load-theme) 573 | (let ((name (coldnew-theme--theme-name mode))) 574 | (if (> emacs-major-version 23) 575 | (load-theme name t) 576 | (load-theme name))) 577 | ;; not support for older emace. 578 | (error "emacs should support load-theme to make coldnew-theme work."))) 579 | 580 | ;;;; Mode-line 581 | 582 | (defun coldnew/mode-line-prepare-left () 583 | (let* ((active (powerline-selected-window-active)) 584 | (mode-line (if active 'mode-line 'mode-line-inactive)) 585 | (face1 (if active 'powerline-active1 'powerline-inactive1)) 586 | (face2 (if active 'powerline-active2 'powerline-inactive2)) 587 | (separator-left (intern (format "powerline-%s-%s" 588 | powerline-default-separator 589 | (car powerline-default-separator-dir)))) 590 | (separator-right (intern (format "powerline-%s-%s" 591 | powerline-default-separator 592 | (cdr powerline-default-separator-dir))))) 593 | (append 594 | ;; Evil-state indicator 595 | (let ((evil-face (powerline-evil-face))) 596 | (append (if evil-mode 597 | (list (funcall separator-right face2 evil-face) 598 | (powerline-raw " " evil-face) 599 | (powerline-raw (powerline-evil-tag) evil-face 'l) 600 | (powerline-raw " " evil-face) 601 | (funcall separator-left evil-face mode-line))) 602 | 603 | (list (powerline-minor-modes face2 'l) 604 | (powerline-raw " " face2) 605 | (funcall separator-right face2 face1))) 606 | (list (powerline-raw (powerline-evil-tag) evil-face) 607 | (funcall separator-left evil-face mode-line))) 608 | (list 609 | ;; Buffer state indicator 610 | (cond (buffer-read-only 611 | (propertize "RO" 'face 'mode-line-read-only-face)) 612 | ((buffer-modified-p) 613 | (propertize "**" 'face 'mode-line-modified-face)) 614 | (t "--")) 615 | 616 | (powerline-buffer-id nil 'l) 617 | (powerline-raw " ") 618 | (funcall separator-left mode-line face1) 619 | 620 | ;; major mode 621 | (funcall separator-left face1 mode-line ) 622 | (powerline-raw " " mode-line) 623 | (powerline-major-mode mode-line 'l) 624 | (powerline-raw " " mode-line) 625 | (funcall separator-left mode-line face1) 626 | 627 | ;; VC 628 | (powerline-vc face1) 629 | (powerline-raw " " face1 '1) 630 | (funcall separator-left face1 face2) 631 | )))) 632 | 633 | 634 | (defun coldnew/mode-line-prepare-right () 635 | (let* ((active (powerline-selected-window-active)) 636 | (mode-line (if active 'mode-line 'mode-line-inactive)) 637 | (face1 (if active 'powerline-active1 'powerline-inactive1)) 638 | (face2 (if active 'powerline-active2 'powerline-inactive2)) 639 | (separator-left (intern (format "powerline-%s-%s" 640 | powerline-default-separator 641 | (car powerline-default-separator-dir)))) 642 | (separator-right (intern (format "powerline-%s-%s" 643 | powerline-default-separator 644 | (cdr powerline-default-separator-dir))))) 645 | (append 646 | (list 647 | (powerline-process face2) 648 | (funcall separator-right face2 face1) 649 | (when (boundp 'erc-modified-channels-object) 650 | (powerline-raw erc-modified-channels-object face2 'l)) 651 | (powerline-raw "%4l" face1 'r) 652 | (powerline-raw ":" face1) 653 | (powerline-raw "%3c" face1 'r) 654 | (funcall separator-right face1 mode-line) 655 | (powerline-raw " ") 656 | (powerline-raw "%6p" nil 'r) 657 | (powerline-buffer-size nil 'r) 658 | (powerline-hud face2 face1)) 659 | ))) 660 | 661 | (defun coldnew/mode-line-prepare () 662 | (let* ((active (powerline-selected-window-active)) 663 | (face2 (if active 'powerline-active2 'powerline-inactive2)) 664 | (lhs (coldnew/mode-line-prepare-left)) 665 | (rhs (coldnew/mode-line-prepare-right))) 666 | (concat (powerline-render lhs) 667 | (powerline-fill face2 (powerline-width rhs)) 668 | (powerline-render rhs)))) 669 | 670 | ;; Setup my mode-line 671 | 672 | (setq powerline-default-separator 'arrow) 673 | 674 | (setq mode-line-format 675 | '("%e" (:eval (coldnew/mode-line-prepare)))) 676 | 677 | (defun spacemacs/mode-line-prepare () 678 | "Overwrite spacemacs's mode-line-prepare so I can use my own modeline." 679 | (coldnew/mode-line-prepare)) 680 | 681 | ;;;###autoload 682 | (when (boundp 'custom-theme-load-path) 683 | (add-to-list 'custom-theme-load-path 684 | (file-name-as-directory (file-name-directory (or load-file-name (buffer-file-name)))))) 685 | 686 | ;;;###autoload 687 | (defun coldnew-theme-night () 688 | (interactive) 689 | (coldnew-theme--load-theme 'night)) 690 | 691 | ;;;###autoload 692 | (defun coldnew-theme-day () 693 | (interactive) 694 | (coldnew-theme--load-theme 'day)) 695 | 696 | ;; (provide 'coldnew-theme) 697 | 698 | ;; Local Variables: 699 | ;; byte-compile-warnings: (not cl-functions) 700 | ;; End: 701 | 702 | ;;; coldnew-theme.el ends here 703 | -------------------------------------------------------------------------------- /assets/themes/coldnew-theme-old2.el: -------------------------------------------------------------------------------- 1 | ;;; coldnew-theme-old2.el --- old coldnew's emacs color-theme. 2 | ;; 3 | ;; Copyright (C) 2011-2015 Yen-Chin, Lee 4 | ;; Author: coldnew 5 | ;; Kyewords: themes 6 | ;; Version: 0.1 7 | ;; X-Original-Version: 0.1 8 | ;; Package-Requires: ((emacs "24.1")) 9 | 10 | ;; This file is free software: you can redistribute it and/or modify 11 | ;; it under the terms of the GNU General Public License as published by 12 | ;; the Free Software Foundation, either version 3 of the License, or 13 | ;; (at your option) any later version. 14 | 15 | ;; This file is distributed in the hope that it will be useful, 16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | ;; GNU General Public License for more details. 19 | 20 | ;; You should have received a copy of the GNU General Public License 21 | ;; along with GNU Emacs. If not, see . 22 | 23 | ;;; Commentary: 24 | ;; 25 | ;; This theme is based on following theme file: 26 | ;; https://github.com/bbatsov/solarized-emacs 27 | ;; https://github.com/sjrmanning/noctilux-theme 28 | ;; https://github.com/cpaulik/emacs-material-theme 29 | ;; 30 | ;; 31 | ;; 256-color charts 32 | ;; http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html 33 | 34 | ;;; Code: 35 | 36 | (require 'noflet) 37 | 38 | ;; NOTE: 39 | ;; This vairable is filled by other file. 40 | (defvar coldnew-theme-colors-old2 41 | '( ) 42 | "This is a table of all the colors used by the coldnew color 43 | theme. Each column is a different set, one of which will be 44 | chosen based on term capabilities, etc.") 45 | 46 | (defun coldnew-theme--build-colors-alist-old2 (mode) 47 | ;; (mapcar (lambda (x) (list (symbol-name (car x)) (nth 1 (cdr x)))) 48 | (noflet ((find-color (color) 49 | ;; 1: window system , 2: terminal 50 | (let* ((index (if window-system 1 2))) 51 | (nth index color)))) 52 | (mapcar (lambda (x) (list (symbol-name (car x)) (find-color x))) 53 | (cdr (assoc (cadr `,mode) coldnew-theme-colors-old2))))) 54 | 55 | (defmacro coldnew-theme--with-colors-old2 (mode &rest body) 56 | "`let' bind all colors defined in `coldnew-theme-colors-old2' around BODY. 57 | Also bind `class' to ((class color) (min-colors 89))." 58 | (declare (indent 0)) 59 | `(let ((class '((class color) (min-colors 89))) 60 | ,@(mapcar (lambda (cons) 61 | (list (intern (car cons)) (cadr cons))) 62 | (coldnew-theme--build-colors-alist-old2 mode))) 63 | ,@body)) 64 | 65 | (defmacro coldnew-theme--face-specs-old2 () 66 | (quote 67 | `(;; Ensure sufficient contrast on low-color terminals. 68 | (default ((((class color) (min-colors 4096)) 69 | (:foreground ,foreground :background ,background)) 70 | (((class color) (min-colors 256)) 71 | (:foreground ,foreground :background ,background)) 72 | (,class 73 | (:foreground ,foreground :background ,background)))) 74 | ;; Basic 75 | (bold ((t (:weight bold)))) 76 | (bold-italic ((t (:weight bold :slant italic)))) 77 | (cursor ((t (:foreground ,base0 :background ,white)))) 78 | (error ((t (:foreground ,red :bold t)))) 79 | (italic ((t (:slant italic)))) 80 | (shadow ((t (:foreground ,comment)))) 81 | (success ((t (:foreground ,green)))) 82 | (underline ((t (:underline t)))) 83 | (warning ((t (:foreground ,orange)))) 84 | 85 | ;; font-lock 86 | (font-lock-builtin-face ((t (:foreground ,buildin)))) 87 | (font-lock-constant-face ((t (:foreground ,magenta)))) 88 | (font-lock-comment-face ((t (:foreground ,comment :slant italic)))) 89 | (font-lock-comment-delimiter-face ((t (:foreground ,comment-delimiter :slant italic)))) 90 | (font-lock-doc-face ((t (:foreground ,doc :slant italic)))) 91 | (font-lock-function-name-face ((t (:foreground ,function-name)))) 92 | (font-lock-keyword-face ((t (:foreground ,keyword)))) 93 | (font-lock-type-face ((t (:foreground ,type)))) 94 | (font-lock-variable-name-face ((t (:foreground ,variable-name)))) 95 | (font-lock-string-face ((t (:foreground ,string)))) 96 | 97 | (font-lock-exit-face ((t (:foreground ,red)))) 98 | (font-lock-negation-char-face ((t (:foreground ,red)))) 99 | (font-lock-other-emphasized-face ((t (:foreground ,magenta :weight bold)))) 100 | (font-lock-other-type-face ((t (:foreground ,blue :slant italic)))) 101 | (font-lock-preprocessor-face ((t (:foreground ,orange)))) 102 | (font-lock-reference-face ((t (:foreground ,cyan)))) 103 | (font-lock-regexp-grouping-backslash ((t (:foreground ,yellow)))) 104 | (font-lock-regexp-grouping-construct ((t (:foreground ,orange)))) 105 | (font-lock-special-keyword-face ((t (:foreground ,red)))) 106 | (font-lock-warning-face ((t (:foreground ,red :weight bold)))) 107 | 108 | ;; rainbow-delimiters 109 | (rainbow-delimiters-depth-1-face ((t (:foreground ,rainbow-1)))) 110 | (rainbow-delimiters-depth-2-face ((t (:foreground ,rainbow-2)))) 111 | (rainbow-delimiters-depth-3-face ((t (:foreground ,rainbow-3)))) 112 | (rainbow-delimiters-depth-4-face ((t (:foreground ,rainbow-4)))) 113 | (rainbow-delimiters-depth-5-face ((t (:foreground ,rainbow-5)))) 114 | (rainbow-delimiters-depth-6-face ((t (:foreground ,rainbow-6)))) 115 | (rainbow-delimiters-depth-7-face ((t (:foreground ,rainbow-7)))) 116 | (rainbow-delimiters-depth-8-face ((t (:foreground ,rainbow-8)))) 117 | (rainbow-delimiters-depth-9-face ((t (:foreground ,rainbow-9)))) 118 | (rainbow-delimiters-unmatched-face ((t (:inherit error)))) 119 | 120 | ;; link 121 | (link ((t (:foreground ,magenta :underline t)))) 122 | 123 | ;; region 124 | (region ((,class (:background ,selection)))) 125 | 126 | ;; minibuffer 127 | (minibuffer-prompt ((t (:foreground ,cyan :weight bold)))) 128 | 129 | ;; modeline 130 | (mode-line ((t (:foreground ,base0 :background ,base02 :weight bold :box nil)))) 131 | (mode-line-inactive ((t (:foreground ,base01 :background ,base03 :weight bold :box nil)))) 132 | 133 | ;; comint 134 | (comint-highlight-prompt ((t (:foreground ,blue)))) 135 | 136 | ;; compilation 137 | (compilation-info ((t (:foreground ,green :weight bold)))) 138 | (compilation-warning ((t (:foreground ,orange :weight bold)))) 139 | 140 | ;; smartparens-mode 141 | (sp-pair-overlay-face ((t (:forground ,foreground :background ,current-line)))) 142 | 143 | ;; custom 144 | (custom-button 145 | ((t (:foreground ,base1 :background ,base02 146 | :box (:line-width 2 :style released-button))))) 147 | (custom-button-mouse 148 | ((t (:foreground ,base1 :background ,base02 :inherit custom-button)))) 149 | (custom-button-pressed 150 | ((t (:foreground ,base1 :background ,base02 151 | :box (:line-width 2 :style pressed-button) 152 | :inherit custom-button-mouse)))) 153 | (custom-changed ((t (:foreground ,blue :background ,base3)))) 154 | (custom-comment ((t (:foreground ,base1 :background ,base02)))) 155 | (custom-comment-tag ((t (:foreground ,base1 :background ,base02)))) 156 | (custom-documentation ((t (:inherit default)))) 157 | (custom-group-tag ((t (:foreground ,base1)))) 158 | (custom-group-tag-1 ((t (:foreground ,base1 :weight bold)))) 159 | (custom-invalid ((t (:foreground ,red :background ,base3)))) 160 | (custom-link ((t (:foreground ,magenta)))) 161 | (custom-state ((t (:foreground ,green)))) 162 | (custom-variable-tag ((t (:foreground ,base1)))) 163 | 164 | ;; mu4e 165 | (mu4e-highlight-face ((t (:inherit font-lock-builtin-face :bold t)))) 166 | 167 | ;; emacs-wiki 168 | (emacs-wiki-bad-link-face ((t (:foreground ,red)))) 169 | (emacs-wiki-link-face ((t (:foreground ,blue :underline t)))) 170 | (emacs-wiki-verbatim-face ((t (:foreground ,base00 :underline t)))) 171 | 172 | ;; diff-mode 173 | (diff-added ((t (:foreground ,green :weight bold)))) 174 | (diff-changed ((t (:foreground ,yellow :weight bold)))) 175 | (diff-removed ((t (:foreground ,red :weight bold)))) 176 | (diff-refine-change ((t (:foreground ,blue :background ,base03 :weight bold)))) 177 | (diff-file-header ((t (:background ,base03)))) 178 | (diff-header ((t (:foreground ,base1 :background ,base03)))) 179 | 180 | ;; ido 181 | (ido-only-match ((t (:foreground ,green)))) 182 | (ido-subdir ((t (:foreground ,blue)))) 183 | (ido-first-match ((t (:foreground ,green :weight bold)))) 184 | 185 | ;; helm 186 | (helm-M-x-key ((t (:foreground ,magenta)))) 187 | (helm-buffer-directory ((t (:foreground, yellow :weight bold)))) 188 | (helm-buffer-file ((t (:foreground ,base0)))) 189 | (helm-buffer-not-saved ((t (:foreground ,red :slant italic )))) 190 | (helm-buffer-process ((t (:foregorund ,blue)))) 191 | (helm-buffer-saved-out ((t (:foreground ,cyan)))) 192 | (helm-buffer-size ((t (:foreground ,magenta)))) 193 | (helm-candidate-number ((t (:foreground ,red :background ,base02 :weight bold)))) 194 | (helm-header-line-left-margin ((t (:foreground ,red)))) 195 | (helm-ff-directory ((t (:foreground ,blue :weight bold)))) 196 | (helm-ff-dotted-directory ((t (:foreground ,red)))) 197 | (helm-ff-executable ((t (:foreground ,base0 :weight bold)))) 198 | (helm-ff-file ((t (:foreground ,base0)))) 199 | (helm-ff-invalid-symlink ((t (:foreground ,red :background ,base02 :underline t)))) 200 | (helm-ff-prefix ((t (:foreground ,yellow :weight bold)))) 201 | (helm-ff-symlink ((t (:foreground ,blue :background ,base02 :weight bold)))) 202 | (helm-match ((t (:foreground ,red :underline t)))) 203 | (helm-selection ((t (:foreground ,green :background ,base01)))) 204 | (helm-source-header ((t (:foreground ,cyan :weight bold )))) 205 | (helm-visible-mark ((t (:foreground ,blue :background ,base02)))) 206 | 207 | ;; mmm-mode 208 | (mmm-code-submode-face ((,class (:background ,current-line)))) 209 | (mmm-comment-submode-face ((,class (:inherit font-lock-comment-face)))) 210 | (mmm-output-submode-face ((,class (:background ,current-line)))) 211 | 212 | ;; info 213 | (info-xref ((t (:foreground ,blue :underline t)))) 214 | (info-xref-visited ((t (:foreground ,magenta :inherit info-xref)))) 215 | 216 | ;; outline 217 | (outline-1 ((t (:foreground ,blue)))) 218 | (outline-2 ((t (:foreground ,cyan)))) 219 | (outline-3 ((t (:foreground ,yellow)))) 220 | (outline-4 ((t (:foreground ,red)))) 221 | (outline-5 ((t (:foreground ,base0)))) 222 | (outline-6 ((t (:foreground ,base01)))) 223 | (outline-7 ((t (:foreground ,orange)))) 224 | (outline-8 ((t (:foreground ,magenta)))) 225 | 226 | ;; hl-line 227 | (hl-line ((t (:background ,selection :underline nil)))) 228 | 229 | ;; highlight 230 | (highlight ((,class (:foreground ,current-line :background ,highlight)))) 231 | 232 | ;; fringe 233 | ;; (fringe ((t (:background ,current-line)))) 234 | (fringe ((t (:foreground ,base01 :background ,base02)))) 235 | 236 | ;; header 237 | (header-line ((t (:foreground ,base0 :background ,base02 :weight bold)))) 238 | 239 | ;; linum 240 | (linum ((t (:foreground ,base01 :background ,base02)))) 241 | 242 | ;; org 243 | (org-level-1 ((t (:inherit outline-1 :bold t)))) 244 | (org-level-2 ((t (:inherit outline-2)))) 245 | (org-level-3 ((t (:inherit outline-3)))) 246 | (org-level-4 ((t (:inherit outline-4)))) 247 | (org-level-5 ((t (:inherit outline-5)))) 248 | (org-level-6 ((t (:inherit outline-6)))) 249 | (org-level-7 ((t (:inherit outline-7)))) 250 | (org-level-8 ((t (:inherit outline-8)))) 251 | (org-level-9 ((t (:inherit outline-9)))) 252 | (org-block ((,class (:foreground ,green :background ,far-background)))) 253 | (org-block-background ((,t (:background ,far-background)))) 254 | 255 | (org-hide ((t (:foreground ,base03)))) 256 | (org-link ((t (:inherit link)))) 257 | ;; (org-todo ((t (:foreground ,base03 :background ,red :weight bold)))) 258 | (org-todo ((t (:foreground ,red :bold t)))) 259 | (org-done ((t (:foreground ,green :weight bold)))) 260 | (org-todo-kwd-face ((t (:foreground ,red :background ,base03)))) 261 | (org-done-kwd-face ((t (:foreground ,green :background ,base03)))) 262 | (org-project-kwd-face ((t (:foreground ,magenta :background ,base03)))) 263 | (org-waiting-kwd-face ((t (:foreground ,orange :background ,base03)))) 264 | (org-someday-kwd-face ((t (:foreground ,blue :background ,base03)))) 265 | (org-started-kwd-face ((t (:foreground ,yellow :background ,base03)))) 266 | (org-cancelled-kwd-face ((t (:foreground ,green :background ,base03)))) 267 | (org-delegated-kwd-face ((t (:foreground ,cyan :background ,base03)))) 268 | 269 | ;; table 270 | (table-cell ((t (:foreground ,base0 :background ,base03)))) 271 | 272 | ;; speedbar 273 | (speedbar-button-face ((t (:foreground ,base1)))) 274 | (speedbar-directory-face ((t (:foreground ,orange)))) 275 | (speedbar-file-face ((t (:foreground ,green)))) 276 | (speedbar-highlight-face ((t (:background ,base02)))) 277 | (speedbar-selected-face ((t (:foreground ,yellow :underline t)))) 278 | (speedbar-separator-face ((t (:inherit default)))) 279 | (speedbar-tag-face ((t (:foreground ,blue)))) 280 | 281 | ;; show-paren 282 | (show-paren-match ((t (:foreground ,cyan :background ,base02 :weight bold :underline t)))) 283 | (show-paren-mismatch ((t (:inherit error)))) 284 | 285 | ;; bm visual bookmarks 286 | (bm-fringe-face ((t (:foreground ,base03 :background ,orange)))) 287 | (bm-fringe-persistent-face ((t (:foreground ,base03 :background ,blue)))) 288 | 289 | ;; Flymake 290 | (flymake-errline ((t (:underline (:color ,red :style wave) :inherit default)))) ; ErrorMsg 291 | (flymake-warnline ((t (:underline (:color ,orange :style wave) :inherit default)))) ; WarningMsg 292 | 293 | ;; column-marker 294 | (column-marker-1 ((t (:background ,base01)))) 295 | (column-marker-2 ((t (:background ,cyan)))) 296 | (column-marker-3 ((t (:background ,magenta)))) 297 | 298 | ;; jabber 299 | (jabber-activity-face ((t (:foreground ,red :weight bold)))) 300 | (jabber-activity-personal-face ((t (:foreground ,blue :weight bold)))) 301 | (jabber-chat-error ((t (:foreground ,red :weight bold)))) 302 | (jabber-chat-prompt-foreign ((t (:foreground ,red :weight bold)))) 303 | (jabber-chat-prompt-local ((t (:foreground ,blue :weight bold)))) 304 | (jabber-chat-prompt-system ((t (:foreground ,green :weight bold)))) 305 | (jabber-chat-text-foreign ((t (:foreground ,base1)))) 306 | (jabber-chat-text-local ((t (:foreground ,base0)))) 307 | (jabber-chat-rare-time-face ((t (:foreground ,green :underline t)))) 308 | (jabber-roster-user-away ((t (:foreground ,green :slant italic)))) 309 | (jabber-roster-user-chatty ((t (:foreground ,orange :weight bold)))) 310 | (jabber-roster-user-dnd ((t (:foreground ,red :slant italic)))) 311 | (jabber-roster-user-error ((t (:foregournd ,red :weight light :slant italic)))) 312 | (jabber-roster-user-offline ((t (:foreground ,base01)))) 313 | (jabber-roster-user-online ((t (:foreground ,blue :weight bold )))) 314 | (jabber-roster-user-xa ((t (:foreground ,magenta :slant italic)))) 315 | 316 | ;; git-gutter 317 | (git-gutter:modified ((t (:foreground ,magenta)))) 318 | (git-gutter:added ((t (:foreground ,green)))) 319 | (git-gutter:deleted ((t (:foreground ,red)))) 320 | 321 | ;; gnus 322 | (gnus-cite-1 ((t (:foreground ,blue)))) 323 | (gnus-cite-2 ((t (:foreground ,cyan)))) 324 | (gnus-cite-3 ((t (:foreground ,yellow)))) 325 | (gnus-cite-4 ((t (:foreground ,red)))) 326 | (gnus-cite-5 ((t (:foreground ,orange)))) 327 | (gnus-cite-6 ((t (:foreground ,magenta)))) 328 | (gnus-cite-7 ((t (:foreground ,green)))) 329 | (gnus-cite-8 ((t (:foreground ,magenta)))) 330 | (gnus-cite-9 ((t (:foreground ,base00)))) 331 | (gnus-cite-10 ((t (:foreground ,base01)))) 332 | (gnus-cite-11 ((t (:foreground ,base02)))) 333 | (gnus-group-mail-1 ((t (:foreground ,base3 :weight bold)))) 334 | (gnus-group-mail-1-empty ((t (:foreground ,base3)))) 335 | (gnus-group-mail-2 ((t (:foreground ,base2 :weight bold)))) 336 | (gnus-group-mail-2-empty ((t (:foreground ,base2)))) 337 | (gnus-group-mail-3 ((t (:foreground ,magenta :weight bold)))) 338 | (gnus-group-mail-3-empty ((t (:foreground ,magenta)))) 339 | (gnus-group-mail-low ((t (:foreground ,base00 :weight bold)))) 340 | (gnus-group-mail-low-empty ((t (:foreground ,base00)))) 341 | (gnus-group-news-1 ((t (:foreground ,base1 :weight bold)))) 342 | (gnus-group-news-1-empty ((t (:foreground ,base1)))) 343 | (gnus-group-news-2 ((t (:foreground ,blue :weight bold)))) 344 | (gnus-group-news-2-empty ((t (:foreground ,blue)))) 345 | (gnus-group-news-low ((t (:foreground ,magenta :weight bold)))) 346 | (gnus-group-news-low-empty ((t (:foreground ,magenta)))) 347 | (gnus-emphasis-highlight-words ((t (:foreground ,yellow)))) 348 | (gnus-header-content ((t (:foreground ,base01)))) ; hdrdefault 349 | (gnus-header-from ((t (:foreground ,base00)))) ; header ^From 350 | (gnus-header-name ((t (:foregrund ,base01)))) ; hdrdefault 351 | (gnus-header-newsgroups ((t (:foreground ,base02)))) 352 | (gnus-header-subject ((t (:foreground ,blue)))) 353 | (gnus-server-agent ((t (:foreground ,base3 :weight bold)))) 354 | (gnus-server-closed ((t (:foreground ,base1 :slant italic)))) 355 | (gnus-server-denied ((t (:foreground ,base2 :weight bold)))) 356 | 357 | (gnus-server-offline ((t (:foreground ,green :weight bold)))) 358 | (gnus-server-opened ((t (:foreground ,cyan :weight bold)))) 359 | (gnus-signature ((t (:foreground ,base01)))) 360 | (gnus-splash ((t (:foreground ,base2)))) 361 | (gnus-summary-cancelled ((t (:foreground ,red)))) 362 | (gnus-summary-high-ancient ((t (:weight bold :inherit gnus-summary-normal-ancient)))) 363 | (gnus-summary-high-read ((t (:weight bold :inherit gnus-summary-normal-read)))) 364 | (gnus-summary-high-ticked ((t (:weight bold :inherit gnus-summary-normal-ticked)))) 365 | (gnus-summary-high-undownloaded ((t (:weight bold :inherit gnus-summary-normal-undownloaded)))) 366 | (gnus-summary-high-unread ((t (:weight bold :inherit gnus-summary-normal-unread)))) 367 | (gnus-summary-low-ancient ((t (:slant italic :inherit gnus-summary-normal-ancient)))) 368 | (gnus-summary-low-read ((t (:slant italic :inherit gnus-summary-normal-ancient)))) 369 | (gnus-summary-low-unread ((t (:slant italic :inherit gnus-summary-normal-unread)))) 370 | (gnus-summary-low-ticked ((t (:slant italic :inherit gnus-summary-normal-ancient)))) 371 | (gnus-summary-low-undownloaded ((t (:slant italic :inherit gnus-summary-normal-ancient)))) 372 | (gnus-summary-normal-ancient ((t (:foreground ,blue)))) 373 | (gnus-summary-normal-read ((t (:foreground ,base01)))) 374 | (gnus-summary-normal-ticked ((t (:foreground ,red)))) 375 | (gnus-summary-normal-undownloaded ((t (:foreground ,base2)))) 376 | (gnus-summary-normal-unread ((t (:foreground ,blue)))) 377 | (gnus-summary-selected ((t (:foreground ,base03 :background ,yellow)))) 378 | 379 | ;; magit 380 | (magit-bisect-bad ((t (:foreground ,red)))) 381 | (magit-bisect-good ((t (:foreground ,green)))) 382 | (magit-biset-skip ((t (:foreground ,blue)))) 383 | (magit-branch-current ((t (:foreground ,green)))) 384 | (magit-branch-local ((t (:foreground ,cyan)))) 385 | (magit-branch-remote ((t (:foreground ,yellow)))) 386 | (magit-cherry-equivalent ((t (:foreground ,base0)))) 387 | (magit-cherry-unmatched ((t (:foreground ,orange)))) 388 | (magit-dimmed ((t (:foregrund ,base01 :slant italic)))) 389 | (magit-hash ((t (:foreground ,base2)))) 390 | (magit-header-line ((t (:foreground ,blue :weight bold)))) 391 | (magit-log-author ((t (:foregrund ,cyan)))) 392 | (magit-log-date ((t (:foreground ,blue)))) 393 | (magit-log-graph ((t (:foreground ,base01)))) 394 | (magit-process-ng ((t (:foreground ,red :weight bold)))) 395 | (magit-process-ok ((t (:foreground ,green :weight bold)))) 396 | (magit-refname ((t (:foreground ,magenta)))) 397 | (magit-section-heading ((t (:foreground ,cyan :weight bold)))) 398 | (magit-siganture-unmatched ((t (:foreground ,magenta)))) 399 | (magit-siganture-untrusted ((t (:foreground ,magenta)))) 400 | (magit-signature-bad ((t (:foreground ,red)))) 401 | (magit-signature-good ((t (:foreground ,green)))) 402 | (magit-tag ((t (:foreground ,orange)))) 403 | 404 | ;; message 405 | (message-mml ((t (:foreground ,blue)))) 406 | (message-cited-text ((t (:foreground ,base2)))) 407 | (message-separator ((t (:foreground ,base3)))) 408 | (message-header-xheader ((t (:foreground ,magenta)))) 409 | (message-header-name ((t (:foreground ,cyan)))) 410 | (message-header-other ((t (:foreground ,red)))) 411 | (message-header-newsgroups ((t (:foreground ,yellow :weight bold)))) 412 | (message-header-subject ((t (:foreground ,base00)))) 413 | (message-header-cc ((t (:foreground ,green :weight bold)))) 414 | (message-header-to ((t (:foreground ,base1 :weight bold)))) 415 | 416 | ;; parenface 417 | (paren-face ((t (:foreground ,base01)))) 418 | 419 | ;; slime 420 | (slime-error-face ((t (:foreground ,red :inverse-video t)))) ; ErrorMsg 421 | (slime-note-face ((t (:foreground ,yellow)))) 422 | (slime-repl-inputted-output-face ((t (:foreground ,red)))) 423 | (slime-repl-output-mouseover-face ((t (:box (:color ,base3))))) 424 | (slime-style-warning-face ((t (:foreground ,orange :weight bold)))) 425 | (slime-warning-face ((t (:foreground ,red :weight bold)))) ; WarningMsg 426 | 427 | ;; whitespace 428 | (whitespace-empty ((t (:foreground ,red)))) 429 | (whitespace-hspace ((t (:foreground ,orange)))) 430 | (whitespace-indentation ((t (:foreground ,base02)))) 431 | (whitespace-space ((t (:foreground ,base02)))) 432 | (whitespace-space-after-tab ((t (:foreground ,cyan)))) 433 | (whitespace-space-before-tab ((t (:foreground ,red :weight bold)))) 434 | (whitespace-tab ((t (:foreground ,base02)))) 435 | (whitespace-trailing ((t (:foreground ,red :background ,base02 :weight bold)))) 436 | (whitespace-highlight-face ((t (:foreground ,@red :background ,blue)))) 437 | (whitespace-line ((t (:foreground ,magenta :background ,base03)))) 438 | 439 | ;; rcirc 440 | (rcirc-my-nick ((t (:foreground ,blue)))) 441 | (rcirc-nick-in-message ((t (:foreground ,orange)))) 442 | (rcirc-other-nick ((t (:foreground ,green)))) 443 | (rcirc-prompt ((t (:foreground ,yellow)))) 444 | (rcirc-bright-nick ((t (:foreground ,magenta)))) 445 | (rcirc-server ((t (:foreground ,base1)))) 446 | (rcirc-timestamp ((t (:foreground ,base01)))) 447 | 448 | ;; erc 449 | ;;(erc-input-face ((t (:foreground ,base01)))) 450 | (erc-keyword-face ((t (:foreground ,yellow :weight bold)))) 451 | (erc-my-nick-face ((t (:foreground ,blue)))) 452 | (erc-nick-defaunoctilux-face ((t (:foreground ,cyan)))) 453 | (erc-notice-face ((t (:foreground ,blue)))) 454 | (erc-timestamp-face ((t (:foreground ,base01)))) 455 | 456 | ;; evil 457 | (evil-ex-lazy-highlight ((t (:inherit lazy-highlight)))) 458 | (evil-ex-search ((t (:inherit isearch)))) 459 | (evil-ex-substitute-matches ((t (:foreground ,orange)))) 460 | (evil-ex-substitute-replacement ((t (:foreground ,red :underline t)))) 461 | 462 | ;;font-latex 463 | (font-latex-warning-face ((t (:foreground ,red)))) 464 | (font-latex-sectioning-5-face ((t (:foreground ,magenta)))) 465 | 466 | ;;flyspell 467 | (flyspell-incorrect ((t (:foreground ,red)))) 468 | (flyspell-duplicate ((t (:foreground ,yellow)))) 469 | 470 | ;; company-mode 471 | (company-tooltip ((t (:foreground ,base0 :background ,base02)))) 472 | (company-tooltip-selection ((t (:foreground ,base0 :background ,base01)))) 473 | (company-tooltip-mouse ((t (:background ,base02)))) 474 | (company-tooltip-common ((t (:foreground ,magenta :background ,base02)))) 475 | (company-tooltip-common-selection ((t (:foreground ,magenta :background ,base01)))) 476 | (company-tooltip-annotation ((t (:foreground ,base0 :background ,base02)))) 477 | (company-scrollbar-fg ((t (:background ,base01)))) 478 | (company-scrollbar-bg ((t (:background ,base3)))) 479 | (company-preview ((t (:foreground ,base0 :background ,base01)))) 480 | (company-preview-common ((t (:foreground ,base0 :background ,base01)))) 481 | (company-preview-search ((t (:foreground ,magenta :background ,base01)))) 482 | (company-echo ((t nil))) 483 | (company-echo-common ((t (:foreground ,magenta)))) 484 | 485 | ;; ;; ansi-term 486 | (term-color-black ((t (:foreground ,black)))) 487 | (term-color-red ((t (:foreground ,red)))) 488 | (term-color-green ((t (:foreground ,green)))) 489 | (term-color-yellow ((t (:foreground ,yellow)))) 490 | (term-color-blue ((t (:foreground ,blue)))) 491 | (term-color-magenta ((t (:foreground ,magenta)))) 492 | (term-color-cyan ((t (:foreground ,cyan)))) 493 | (term-color-white ((t (:foreground ,white)))) 494 | 495 | 496 | ;;;; Following need to re-check 497 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 498 | 499 | (escape-glyph-face ((,class (:foreground ,red)))) 500 | 501 | (isearch ((t (:foreground ,orange :backbround ,base03 :weight normal :slant normal :underline nil :inverse-video t)))) ; IncSearch 502 | (isearch-fail ((t (:foreground ,orange :background ,base03 :weight normal :slant normal :underline nil :inverse-video t)))) ; IncSearch 503 | (lazy-highlight ((t (:foreground ,yellow :background ,base03 :weight normal :slant normal :underline nil :inverse-video t)))) ; Search 504 | 505 | 506 | (menu ((t (:foreground ,base0 :background ,base02)))) 507 | 508 | ;; (region ((t (:foreground ,base01 :background ,base03 :weight bold :slant normal :underline nil :inverse-video t)))) ; Visual 509 | (secondary-selection ((t (:background ,base02)))) 510 | ;; (shadow ((t (:foreground ,base01)))) 511 | (trailing-whitespace ((t (:foreground ,red :weight normal :slant normal :underline nil :inverse-video t)))) 512 | (vertical-border ((t (:foreground ,base0)))) 513 | 514 | ;; (outline-4 ((,class (:slant normal :foreground ,comment)))) 515 | 516 | ;; ;; Font locks 517 | ;; (font-lock-builtin-face ((t (:foreground "#4BC98A")))) 518 | ;; (font-lock-comment-face ((t (:foreground ,comment :italic t)))) 519 | ;; (font-lock-constant-face ((t (:foreground "#E53F3F" :bold t)))) 520 | ;; (font-lock-function-name-face ((t (:foreground "#AD7FA8" :italic t :bold t)))) 521 | ;; (font-lock-keyword-face ((t (:foreground "#FFC125")))) 522 | ;; (font-lock-string-face ((t (:foreground "#95E454" :italic t)))) 523 | ;; (font-lock-type-face ((t (:foreground "#CAE682")))) 524 | ;; (font-lock-variable-name-face ((t (:foreground "#4BC98A")))) 525 | ;; (font-lock-warning-face ((t (:foreground "#E91303" :bold t)))) 526 | ;; (font-lock-doc-face ((t (:foreground "#40AAFA")))) 527 | 528 | ;; ;; Auto Complete 529 | ;; (ac-candidate-face ((t (:background ,selection :foreground ,foreground)))) 530 | ;; (ac-selection-face ((t (:background ,highlight :foreground ,background)))) 531 | 532 | ;; ;; Elscreen 533 | ;; (elscreen-tab-background-face ((t (:background ,background)))) 534 | ;; (elscreen-tab-control-face ((t (:foreground ,foreground :background "black" 535 | ;; :weight extra-bold)))) 536 | ;; (elscreen-tab-current-screen-face ((t (:background "#250628" :foreground "Gray90" 537 | ;; :bold t)))) 538 | ;; (elscreen-tab-other-screen-face ((t (:background "#1D1D1F" :foreground "Gray85" 539 | ;; :bold t)))) 540 | ;; ;; Evil 541 | ;; (evil-state-normal-face ((t :foreground ,purple :bold t))) 542 | ;; (evil-state-insert-face ((t :foreground ,red :bold t))) 543 | ;; (evil-state-visual-face ((t :foreground ,blue :bold t))) 544 | ;; (evil-state-emacs-face ((t :foreground ,green :bold t))) 545 | 546 | ;; ;; Flymake 547 | ;; (flymake-warnline ((,class (:underline ,orange :background ,background)))) 548 | ;; (flymake-errline ((,class (:underline ,red :background ,background)))) 549 | 550 | ;; ;; Clojure errors 551 | ;; (clojure-test-failure-face ((,class (:background nil :inherit flymake-warnline)))) 552 | ;; (clojure-test-error-face ((,class (:background nil :inherit flymake-errline)))) 553 | ;; (clojure-test-success-face ((,class (:background nil :foreground nil :underline ,green)))) 554 | 555 | ;; ;; For Brian Carper's extended clojure syntax table 556 | ;; (clojure-keyword ((,class (:foreground ,yellow)))) 557 | ;; (clojure-parens ((,class (:foreground ,foreground)))) 558 | ;; (clojure-braces ((,class (:foreground ,green)))) 559 | ;; (clojure-brackets ((,class (:foreground ,yellow)))) 560 | ;; (clojure-double-quote ((,class (:foreground ,aqua :background nil)))) 561 | ;; (clojure-special ((,class (:foreground ,blue)))) 562 | ;; (clojure-java-call ((,class (:foreground ,purple)))) 563 | 564 | ;; ;; Search 565 | ;; (match ((,class (:foreground ,blue :background ,background :inverse-video t)))) 566 | ;; (isearch ((,class (:foreground ,yellow :background ,background :inverse-video t)))) 567 | ;; (isearch-lazy-highlight-face ((,class (:foreground ,aqua :background ,background :inverse-video t)))) 568 | ;; (isearch-fail ((,class (:background ,background :inherit font-lock-warning-face :inverse-video t)))) 569 | 570 | ;; ;; IDO 571 | ;; (ido-first-match ((,class (:foreground ,yellow :weight bold)))) 572 | ;; (ido-only-match ((,class (:foreground ,orange :weight bold)))) 573 | ;; (ido-virtual ((,class (:foreground ,comment)))) 574 | ;; (ido-incomplete-regexp ((,class (:foreground ,red :bold t)))) 575 | ;; (ido-subdir ((,class (:foreground ,aqua :bold t)))) 576 | ;; (ido-virtual ((,class (:foreground ,purple)))) 577 | 578 | ;; ;; which-function 579 | ;; (which-func ((,class (:foreground ,blue :background nil :weight bold)))) 580 | 581 | ;; ;; Emacs interface 582 | 583 | ;; (linum ((,class (:foreground ,cursor :background ,background)))) 584 | 585 | ;; ;; (border ((,class (:background ,current-line)))) 586 | ;; ;; (border-glyph ((,class (nil)))) 587 | ;; (highlight ((,class (:foreground ,current-line :background ,green)))) 588 | ;; (link ((,class (:foreground ,blue)))) 589 | ;; (link-visited ((,class (:foreground ,purple)))) 590 | ;; (gui-element ((,class (:background ,current-line :foreground ,foreground)))) 591 | 592 | ;; ;; mode-line 593 | ;; (mode-line ((,class (:background ,background :foreground "#b1c3d4" 594 | ;; :box (:line-width 2 :color "#B184CB"))))) 595 | ;; (mode-line-inactive ((,class (:background ,current-line :foreground "#7b8793" 596 | ;; :box (:line-width 2 :color "#565968"))))) 597 | ;; (mode-line-buffer-id ((,class (:foreground ,foreground :background nil)))) 598 | ;; (mode-line-emphasis ((,class (:foreground ,foreground :slant italic)))) 599 | ;; (mode-line-highlight ((,class (:foreground ,purple :box nil :weight bold)))) 600 | 601 | ;; (minibuffer-prompt ((,class (:foreground ,red :bold t)))) 602 | ;; (region ((,class (:background ,selection)))) 603 | ;; (secondary-selection ((,class (:background ,current-line)))) 604 | 605 | ;; ;; (header-line ((,class (:inherit mode-line :foreground ,purple :background nil)))) 606 | 607 | ;; (trailing-whitespace ((,class (:background ,red :foreground ,yellow)))) 608 | ;; (whitespace-empty ((,class (:foreground ,red :background ,yellow)))) 609 | ;; (whitespace-hspace ((,class (:background ,selection :foreground ,comment)))) 610 | ;; (whitespace-indentation ((,class (:background ,yellow :foreground ,red)))) 611 | ;; (whitespace-line ((,class (:background ,current-line :foreground ,purple)))) 612 | ;; (whitespace-newline ((,class (:foreground ,comment)))) 613 | ;; (whitespace-space ((,class (:background ,current-line :foreground ,comment)))) 614 | ;; (whitespace-space-after-tab ((,class (:background ,yellow :foreground ,red)))) 615 | ;; (whitespace-space-before-tab ((,class (:background ,orange :foreground ,red)))) 616 | ;; (whitespace-tab ((,class (:background ,selection :foreground ,comment)))) 617 | ;; (whitespace-trailing ((,class (:background ,red :foreground ,yellow)))) 618 | 619 | ;; ;; Parenthesis matching (built-in) 620 | ;; (show-paren-match ((,class (:background ,blue :foreground ,current-line)))) 621 | ;; (show-paren-mismatch ((,class (:background ,orange :foreground ,current-line)))) 622 | 623 | ;; ;; Parenthesis matching (mic-paren) 624 | ;; (paren-face-match ((,class (:foreground nil :background nil :inherit show-paren-match)))) 625 | ;; (paren-face-mismatch ((,class (:foreground nil :background nil :inherit show-paren-mismatch)))) 626 | ;; (paren-face-no-match ((,class (:foreground nil :background nil :inherit show-paren-mismatch)))) 627 | 628 | ;; ;; Parenthesis dimming (parenface) 629 | ;; (paren-face ((,class (:foreground ,comment :background nil)))) 630 | 631 | ;; (sh-heredoc ((,class (:foreground nil :inherit font-lock-string-face :weight normal)))) 632 | ;; (sh-quoted-exec ((,class (:foreground nil :inherit font-lock-preprocessor-face)))) 633 | ;; (slime-highlight-edits-face ((,class (:weight bold)))) 634 | ;; (slime-repl-input-face ((,class (:weight normal :underline nil)))) 635 | ;; (slime-repl-prompt-face ((,class (:underline nil :weight bold :foreground ,purple)))) 636 | ;; (slime-repl-result-face ((,class (:foreground ,green)))) 637 | ;; (slime-repl-output-face ((,class (:foreground ,blue :background ,background)))) 638 | 639 | ;; (csv-separator-face ((,class (:foreground ,orange)))) 640 | 641 | ;; (diff-added ((,class (:foreground ,green)))) 642 | ;; (diff-changed ((,class (:foreground ,yellow)))) 643 | ;; (diff-removed ((,class (:foreground ,red)))) 644 | ;; (diff-header ((,class (:background ,current-line)))) 645 | ;; (diff-file-header ((,class (:background ,selection)))) 646 | ;; (diff-hunk-header ((,class (:foreground ,yellow :italic t)))) 647 | ;; (diff-context ((,class (:foreground ,foreground)))) 648 | 649 | ;; (ediff-even-diff-A ((,class (:foreground nil :background nil :inverse-video t)))) 650 | ;; (ediff-even-diff-B ((,class (:foreground nil :background nil :inverse-video t)))) 651 | ;; (ediff-odd-diff-A ((,class (:foreground ,comment :background nil :inverse-video t)))) 652 | ;; (ediff-odd-diff-B ((,class (:foreground ,comment :background nil :inverse-video t)))) 653 | 654 | ;; (eldoc-highlight-function-argument ((,class (:foreground ,green :weight bold)))) 655 | 656 | ;; ;; undo-tree 657 | ;; (undo-tree-visualizer-default-face ((,class (:foreground ,foreground)))) 658 | ;; (undo-tree-visualizer-current-face ((,class (:foreground ,green :weight bold)))) 659 | ;; (undo-tree-visualizer-active-branch-face ((,class (:foreground ,red)))) 660 | ;; (undo-tree-visualizer-register-face ((,class (:foreground ,yellow)))) 661 | 662 | ;; ;; auctex 663 | ;; (font-latex-bold-face ((,class (:foreground ,green)))) 664 | ;; (font-latex-doctex-documentation-face ((,class (:background ,current-line)))) 665 | ;; (font-latex-italic-face ((,class (:foreground ,green)))) 666 | ;; (font-latex-math-face ((,class (:foreground ,orange)))) 667 | ;; (font-latex-sectioning-0-face ((,class (:foreground ,yellow)))) 668 | ;; (font-latex-sectioning-1-face ((,class (:foreground ,yellow)))) 669 | ;; (font-latex-sectioning-2-face ((,class (:foreground ,yellow)))) 670 | ;; (font-latex-sectioning-3-face ((,class (:foreground ,yellow)))) 671 | ;; (font-latex-sectioning-4-face ((,class (:foreground ,yellow)))) 672 | ;; (font-latex-sectioning-5-face ((,class (:foreground ,yellow)))) 673 | ;; (font-latex-sedate-face ((,class (:foreground ,aqua)))) 674 | ;; (font-latex-string-face ((,class (:foreground ,yellow)))) 675 | ;; (font-latex-verbatim-face ((,class (:foreground ,orange)))) 676 | ;; (font-latex-warning-face ((,class (:foreground ,red)))) 677 | 678 | ;; ;; dired+ 679 | ;; (diredp-compressed-file-suffix ((,class (:foreground ,blue)))) 680 | ;; (diredp-dir-heading ((,class (:foreground nil :background nil :inherit heading)))) 681 | ;; (diredp-dir-priv ((,class (:foreground ,aqua :background nil)))) 682 | ;; (diredp-exec-priv ((,class (:foreground ,blue :background nil)))) 683 | ;; (diredp-executable-tag ((,class (:foreground ,red :background nil)))) 684 | ;; (diredp-file-name ((,class (:foreground ,yellow)))) 685 | ;; (diredp-file-suffix ((,class (:foreground ,green)))) 686 | ;; (diredp-flag-mark-line ((,class (:background nil :inherit highlight)))) 687 | ;; (diredp-ignored-file-name ((,class (:foreground ,comment)))) 688 | ;; (diredp-link-priv ((,class (:background nil :foreground ,purple)))) 689 | ;; (diredp-mode-line-flagged ((,class (:foreground ,red)))) 690 | ;; (diredp-mode-line-marked ((,class (:foreground ,green)))) 691 | ;; (diredp-no-priv ((,class (:background nil)))) 692 | ;; (diredp-number ((,class (:foreground ,yellow)))) 693 | ;; (diredp-other-priv ((,class (:background nil :foreground ,purple)))) 694 | ;; (diredp-rare-priv ((,class (:foreground ,red :background nil)))) 695 | ;; (diredp-read-priv ((,class (:foreground ,green :background nil)))) 696 | ;; (diredp-symlink ((,class (:foreground ,purple)))) 697 | ;; (diredp-write-priv ((,class (:foreground ,yellow :background nil)))) 698 | 699 | ;; ;; Magit 700 | ;; (magit-branch ((,class (:foreground ,green)))) 701 | ;; (magit-header ((,class (:inherit nil :weight bold)))) 702 | ;; (magit-item-highlight ((,class (:background ,background)))) 703 | ;; (magit-log-graph ((,class (:foreground ,comment)))) 704 | ;; (magit-log-sha1 ((,class (:foreground ,orange)))) 705 | ;; (magit-log-head-label-bisect-bad ((,class (:foreground ,red)))) 706 | ;; (magit-log-head-label-bisect-good ((,class (:foreground ,green)))) 707 | ;; (magit-log-head-label-default ((,class (:foreground ,yellow :box nil :weight bold)))) 708 | ;; (magit-log-head-label-local ((,class (:foreground ,blue)))) 709 | ;; (magit-log-head-label-remote ((,class (:foreground ,green)))) 710 | ;; (magit-log-head-label-tags ((,class (:foreground ,aqua :box nil :weight bold)))) 711 | ;; (magit-section-title ((,class (:inherit diff-hunk-header)))) 712 | 713 | ;; ;; git-gutter 714 | ;; (git-gutter-fr:modified ((,class (:foreground ,yellow)))) 715 | ;; (git-gutter-fr:added ((,class (:inherit diff-added)))) 716 | ;; (git-gutter-fr:deleted ((,class (:inherit diff-removed)))) 717 | 718 | ;; (link ((t (:foreground "dodger blue" :underline t)))) 719 | ;; (widget-button ((,class (:underline t)))) 720 | ;; (widget-field ((,class (:background ,current-line :box (:line-width 1 :color ,foreground))))) 721 | 722 | ;; ;; Compilation (most faces politely inherit from 'success, 'error, 'warning etc.) 723 | ;; (compilation-column-number ((,class (:foreground ,yellow)))) 724 | ;; (compilation-line-number ((,class (:foreground ,yellow)))) 725 | ;; (compilation-message-face ((,class (:foreground ,blue)))) 726 | ;; (compilation-mode-line-exit ((,class (:foreground ,green)))) 727 | ;; (compilation-mode-line-fail ((,class (:foreground ,red)))) 728 | ;; (compilation-mode-line-run ((,class (:foreground ,blue)))) 729 | 730 | ;; ;; Grep 731 | ;; (grep-context-face ((,class (:foreground ,comment)))) 732 | ;; (grep-error-face ((,class (:foreground ,red :weight bold :underline t)))) 733 | ;; (grep-hit-face ((,class (:foreground ,blue)))) 734 | ;; (grep-match-face ((,class (:foreground nil :background nil :inherit match)))) 735 | 736 | ;; (regex-tool-matched-face ((,class (:foreground nil :background nil :inherit match)))) 737 | 738 | ;; ;; mark-multiple 739 | ;; (mm/master-face ((,class (:inherit region :foreground nil :background nil)))) 740 | ;; (mm/mirror-face ((,class (:inherit region :foreground nil :background nil)))) 741 | 742 | ;; (org-agenda-structure ((,class (:foreground ,purple)))) 743 | ;; (org-agenda-date ((,class (:foreground ,blue :underline nil)))) 744 | ;; (org-agenda-done ((,class (:foreground ,green)))) 745 | ;; (org-agenda-dimmed-todo-face ((,class (:foreground ,comment)))) 746 | ;; (org-block ((,class (:foreground ,yellow)))) 747 | ;; (org-code ((,class (:foreground ,yellow)))) 748 | ;; (org-column ((,class (:background ,current-line)))) 749 | ;; (org-column-title ((,class (:inherit org-column :weight bold :underline t)))) 750 | ;; (org-date ((,class (:foreground ,purple :underline t :bold t)))) 751 | ;; (org-agenda-date-weekend ((t (:bold t :foreground ,orange :weight bold)))) 752 | ;; (org-document-info ((,class (:foreground ,aqua)))) 753 | ;; (org-document-info-keyword ((,class (:foreground ,green)))) 754 | ;; (org-document-title ((,class (:weight bold :foreground ,orange :height 1.44)))) 755 | ;; (org-ellipsis ((,class (:foreground ,comment)))) 756 | ;; (org-footnote ((,class (:foreground ,aqua)))) 757 | ;; (org-formula ((,class (:foreground ,red)))) 758 | ;; ;;(org-hide ((,class (:foreground ,current-line)))) 759 | ;; (org-hide ((t (:foreground "#0B0B0E")))) 760 | ;; (org-scheduled ((,class (:foreground ,green)))) 761 | ;; (org-scheduled-previously ((,class (:foreground ,orange)))) 762 | ;; (org-scheduled-today ((,class (:foreground ,green)))) 763 | ;; (org-special-keyword ((,class (:foreground ,orange)))) 764 | ;; ;;(org-table ((,class (:foreground ,purple)))) 765 | ;; (org-todo ((,class (:foreground ,red :bold t)))) 766 | ;; (org-done ((t (:foreground "#4BC98A" :bold t)))) 767 | 768 | ;; (org-upcoming-deadline ((,class (:foreground ,orange)))) 769 | ;; (org-warning ((,class (:weight bold :foreground ,red)))) 770 | 771 | ;; (markdown-url-face ((,class (:inherit link)))) 772 | ;; (markdown-link-face ((,class (:foreground ,blue :underline t)))) 773 | 774 | ;; (hl-sexp-face ((,class (:background ,current-line)))) 775 | ;; (highlight-80+ ((,class (:background ,current-line)))) 776 | 777 | ;; ;; Python-specific overrides 778 | ;; (py-builtins-face ((,class (:foreground ,orange :weight normal)))) 779 | 780 | ;; ;; js2-mode 781 | ;; (js2-warning-face ((,class (:underline ,orange)))) 782 | ;; (js2-error-face ((,class (:foreground nil :underline ,red)))) 783 | ;; (js2-external-variable-face ((,class (:foreground ,purple)))) 784 | ;; (js2-function-param-face ((,class (:foreground ,blue)))) 785 | ;; (js2-instance-member-face ((,class (:foreground ,blue)))) 786 | ;; (js2-private-function-call-face ((,class (:foreground ,red)))) 787 | 788 | ;; ;; js3-mode 789 | ;; (js3-warning-face ((,class (:underline ,orange)))) 790 | ;; (js3-error-face ((,class (:foreground nil :underline ,red)))) 791 | ;; (js3-external-variable-face ((,class (:foreground ,purple)))) 792 | ;; (js3-function-param-face ((,class (:foreground ,blue)))) 793 | ;; (js3-jsdoc-tag-face ((,class (:foreground ,orange)))) 794 | ;; (js3-jsdoc-type-face ((,class (:foreground ,aqua)))) 795 | ;; (js3-jsdoc-value-face ((,class (:foreground ,yellow)))) 796 | ;; (js3-jsdoc-html-tag-name-face ((,class (:foreground ,blue)))) 797 | ;; (js3-jsdoc-html-tag-delimiter-face ((,class (:foreground ,green)))) 798 | ;; (js3-instance-member-face ((,class (:foreground ,blue)))) 799 | ;; (js3-private-function-call-face ((,class (:foreground ,red)))) 800 | 801 | ;; ;; nxml 802 | ;; (nxml-name-face ((,class (:foreground unspecified :inherit font-lock-constant-face)))) 803 | ;; (nxml-attribute-local-name-face ((,class (:foreground unspecified :inherit font-lock-variable-name-face)))) 804 | ;; (nxml-ref-face ((,class (:foreground unspecified :inherit font-lock-preprocessor-face)))) 805 | ;; (nxml-delimiter-face ((,class (:foreground unspecified :inherit font-lock-keyword-face)))) 806 | ;; (nxml-delimited-data-face ((,class (:foreground unspecified :inherit font-lock-string-face)))) 807 | ;; (rng-error-face ((,class (:underline ,red)))) 808 | 809 | ;; ;; RHTML 810 | ;; (erb-delim-face ((,class (:background ,current-line)))) 811 | ;; (erb-exec-face ((,class (:background ,current-line :weight bold)))) 812 | ;; (erb-exec-delim-face ((,class (:background ,current-line)))) 813 | ;; (erb-out-face ((,class (:background ,current-line :weight bold)))) 814 | ;; (erb-out-delim-face ((,class (:background ,current-line)))) 815 | ;; (erb-comment-face ((,class (:background ,current-line :weight bold :slant italic)))) 816 | ;; (erb-comment-delim-face ((,class (:background ,current-line)))) 817 | 818 | ;; ;; Message-mode 819 | ;; (message-header-other ((,class (:foreground nil :background nil :weight normal)))) 820 | ;; (message-header-subject ((,class (:inherit message-header-other :weight bold :foreground ,yellow)))) 821 | ;; (message-header-to ((,class (:inherit message-header-other :weight bold :foreground ,orange)))) 822 | ;; (message-header-cc ((,class (:inherit message-header-to :foreground nil)))) 823 | ;; (message-header-name ((,class (:foreground ,blue :background nil)))) 824 | ;; (message-header-newsgroups ((,class (:foreground ,aqua :background nil :slant normal)))) 825 | ;; (message-separator ((,class (:foreground ,purple)))) 826 | 827 | ;; ;; Jabber 828 | ;; (jabber-chat-prompt-local ((,class (:foreground ,yellow)))) 829 | ;; (jabber-chat-prompt-foreign ((,class (:foreground ,orange)))) 830 | ;; (jabber-chat-prompt-system ((,class (:foreground ,yellow :weight bold)))) 831 | ;; (jabber-chat-text-local ((,class (:foreground ,yellow)))) 832 | ;; (jabber-chat-text-foreign ((,class (:foreground ,orange)))) 833 | ;; (jabber-chat-text-error ((,class (:foreground ,red)))) 834 | 835 | ;; (jabber-roster-user-online ((,class (:foreground ,green)))) 836 | ;; (jabber-roster-user-xa ((,class :foreground ,comment))) 837 | ;; (jabber-roster-user-dnd ((,class :foreground ,yellow))) 838 | ;; (jabber-roster-user-away ((,class (:foreground ,orange)))) 839 | ;; (jabber-roster-user-chatty ((,class (:foreground ,purple)))) 840 | ;; (jabber-roster-user-error ((,class (:foreground ,red)))) 841 | ;; (jabber-roster-user-offline ((,class (:foreground ,comment)))) 842 | 843 | ;; (jabber-rare-time-face ((,class (:foreground ,comment)))) 844 | ;; (jabber-activity-face ((,class (:foreground ,purple)))) 845 | ;; (jabber-activity-personal-face ((,class (:foreground ,aqua)))) 846 | 847 | ;; ;; Gnus 848 | ;; (gnus-cite-1 ((,class (:inherit outline-1 :foreground nil)))) 849 | ;; (gnus-cite-2 ((,class (:inherit outline-2 :foreground nil)))) 850 | ;; (gnus-cite-3 ((,class (:inherit outline-3 :foreground nil)))) 851 | ;; (gnus-cite-4 ((,class (:inherit outline-4 :foreground nil)))) 852 | ;; (gnus-cite-5 ((,class (:inherit outline-5 :foreground nil)))) 853 | ;; (gnus-cite-6 ((,class (:inherit outline-6 :foreground nil)))) 854 | ;; (gnus-cite-7 ((,class (:inherit outline-7 :foreground nil)))) 855 | ;; (gnus-cite-8 ((,class (:inherit outline-8 :foreground nil)))) 856 | ;; ;; there are several more -cite- faces... 857 | ;; (gnus-header-content ((,class (:inherit message-header-other)))) 858 | ;; (gnus-header-subject ((,class (:inherit message-header-subject)))) 859 | ;; (gnus-header-from ((,class (:inherit message-header-other-face :weight bold :foreground ,orange)))) 860 | 861 | ;; (gnus-header-name ((,class (:inherit message-header-name)))) 862 | ;; (gnus-button ((,class (:inherit link :foreground nil)))) 863 | ;; (gnus-signature ((,class (:inherit font-lock-comment-face)))) 864 | 865 | ;; (gnus-summary-normal-unread ((,class (:foreground ,blue :weight normal)))) 866 | ;; (gnus-summary-normal-read ((,class (:foreground ,foreground :weight normal)))) 867 | ;; (gnus-summary-normal-ancient ((,class (:foreground ,aqua :weight normal)))) 868 | ;; (gnus-summary-normal-ticked ((,class (:foreground ,orange :weight normal)))) 869 | ;; (gnus-summary-low-unread ((,class (:foreground ,comment :weight normal)))) 870 | ;; (gnus-summary-low-read ((,class (:foreground ,comment :weight normal)))) 871 | ;; (gnus-summary-low-ancient ((,class (:foreground ,comment :weight normal)))) 872 | ;; (gnus-summary-high-unread ((,class (:foreground ,yellow :weight normal)))) 873 | ;; (gnus-summary-high-read ((,class (:foreground ,green :weight normal)))) 874 | ;; (gnus-summary-high-ancient ((,class (:foreground ,green :weight normal)))) 875 | ;; (gnus-summary-high-ticked ((,class (:foreground ,orange :weight normal)))) 876 | ;; (gnus-summary-cancelled ((,class (:foreground ,red :background nil :weight normal)))) 877 | 878 | ;; (gnus-group-mail-low ((,class (:foreground ,comment)))) 879 | ;; (gnus-group-mail-low-empty ((,class (:foreground ,comment)))) 880 | ;; (gnus-group-mail-1 ((,class (:foreground nil :weight normal :inherit outline-1)))) 881 | ;; (gnus-group-mail-2 ((,class (:foreground nil :weight normal :inherit outline-2)))) 882 | ;; (gnus-group-mail-3 ((,class (:foreground nil :weight normal :inherit outline-3)))) 883 | ;; (gnus-group-mail-4 ((,class (:foreground nil :weight normal :inherit outline-4)))) 884 | ;; (gnus-group-mail-5 ((,class (:foreground nil :weight normal :inherit outline-5)))) 885 | ;; (gnus-group-mail-6 ((,class (:foreground nil :weight normal :inherit outline-6)))) 886 | ;; (gnus-group-mail-1-empty ((,class (:inherit gnus-group-mail-1 :foreground ,comment)))) 887 | ;; (gnus-group-mail-2-empty ((,class (:inherit gnus-group-mail-2 :foreground ,comment)))) 888 | ;; (gnus-group-mail-3-empty ((,class (:inherit gnus-group-mail-3 :foreground ,comment)))) 889 | ;; (gnus-group-mail-4-empty ((,class (:inherit gnus-group-mail-4 :foreground ,comment)))) 890 | ;; (gnus-group-mail-5-empty ((,class (:inherit gnus-group-mail-5 :foreground ,comment)))) 891 | ;; (gnus-group-mail-6-empty ((,class (:inherit gnus-group-mail-6 :foreground ,comment)))) 892 | ;; (gnus-group-news-1 ((,class (:foreground nil :weight normal :inherit outline-5)))) 893 | ;; (gnus-group-news-2 ((,class (:foreground nil :weight normal :inherit outline-6)))) 894 | ;; (gnus-group-news-3 ((,class (:foreground nil :weight normal :inherit outline-7)))) 895 | ;; (gnus-group-news-4 ((,class (:foreground nil :weight normal :inherit outline-8)))) 896 | ;; (gnus-group-news-5 ((,class (:foreground nil :weight normal :inherit outline-1)))) 897 | ;; (gnus-group-news-6 ((,class (:foreground nil :weight normal :inherit outline-2)))) 898 | ;; (gnus-group-news-1-empty ((,class (:inherit gnus-group-news-1 :foreground ,comment)))) 899 | ;; (gnus-group-news-2-empty ((,class (:inherit gnus-group-news-2 :foreground ,comment)))) 900 | ;; (gnus-group-news-3-empty ((,class (:inherit gnus-group-news-3 :foreground ,comment)))) 901 | ;; (gnus-group-news-4-empty ((,class (:inherit gnus-group-news-4 :foreground ,comment)))) 902 | ;; (gnus-group-news-5-empty ((,class (:inherit gnus-group-news-5 :foreground ,comment)))) 903 | ;; (gnus-group-news-6-empty ((,class (:inherit gnus-group-news-6 :foreground ,comment)))) 904 | 905 | ;; ;; erc 906 | ;; (erc-direct-msg-face ((,class (:foreground ,orange)))) 907 | ;; (erc-error-face ((,class (:foreground ,red)))) 908 | ;; (erc-header-face ((,class (:foreground ,foreground :background ,selection)))) 909 | ;; (erc-input-face ((,class (:foreground ,green)))) 910 | ;; (erc-keyword-face ((,class (:foreground ,yellow)))) 911 | ;; (erc-current-nick-face ((,class (:foreground ,green)))) 912 | ;; (erc-my-nick-face ((,class (:foreground ,green)))) 913 | ;; (erc-nick-default-face ((,class (:weight normal :foreground ,purple)))) 914 | ;; (erc-nick-msg-face ((,class (:weight normal :foreground ,yellow)))) 915 | ;; (erc-notice-face ((,class (:foreground ,comment)))) 916 | ;; (erc-pal-face ((,class (:foreground ,orange)))) 917 | ;; (erc-prompt-face ((,class (:foreground ,blue)))) 918 | ;; (erc-timestamp-face ((,class (:foreground ,aqua)))) 919 | 920 | ;; ;; woman 921 | ;; (woman-italic-face ((t (:slant italic :weight bold)))) 922 | ;; (woman-unknown ((t (:foreground ,red :weight bold)))) 923 | ;; (woman-addition ((t (:foreground ,aqua)))) 924 | ;; (woman-bold ((t (:inherit bold :foreground ,blue)))) 925 | 926 | ;; (custom-variable-tag ((,class (:foreground ,blue)))) 927 | ;; (custom-group-tag ((,class (:foreground ,blue)))) 928 | ;; (custom-state ((,class (:foreground ,green)))) 929 | 930 | ))) 931 | 932 | (defun coldnew-theme--theme-name-old2 (mode) 933 | (intern (format "coldnew-theme-%s" (symbol-name mode)))) 934 | 935 | (defmacro coldnew-theme--define-theme-old2 (mode) 936 | "Define a theme for the coldnew variant `MODE'." 937 | (let ((name (coldnew-theme--theme-name-old2 mode)) 938 | (doc (format "coldnew's personal color theme (%s version)" mode))) 939 | `(progn 940 | (deftheme ,name ,doc) 941 | (put ',name 'theme-immediate t) 942 | (message (format "%s : %s" (symbol-name ',name) ,doc)) 943 | (coldnew-theme--with-colors-old2 944 | ',mode 945 | (apply 'custom-theme-set-faces ',name 946 | (coldnew-theme--face-specs-old2)) 947 | (custom-theme-set-variables 948 | ',name 949 | `(ansi-color-names-vector (vector ,foreground ,red ,green ,yellow ,blue ,magenta ,cyan ,background)) 950 | '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold]))) 951 | (provide-theme ',name)))) 952 | 953 | (defun coldnew-theme--load-theme-old2 (mode) 954 | (if (fboundp 'load-theme) 955 | (let ((name (coldnew-theme--theme-name-old2 mode))) 956 | (if (> emacs-major-version 23) 957 | (load-theme name t) 958 | (load-theme name))) 959 | ;; not support for older emace. 960 | (error "emacs should support load-theme to make coldnew-theme work."))) 961 | 962 | ;; ;;;; Mode-line 963 | 964 | 965 | ;;;###autoload 966 | (when (boundp 'custom-theme-load-path) 967 | (add-to-list 'custom-theme-load-path 968 | (file-name-as-directory (file-name-directory (or load-file-name (buffer-file-name)))))) 969 | 970 | (provide 'coldnew-theme-old2) 971 | 972 | ;; Local Variables: 973 | ;; byte-compile-warnings: (not cl-functions) 974 | ;; End: 975 | 976 | ;;; coldnew-theme-old2.el ends here 977 | -------------------------------------------------------------------------------- /local-lisp/setup-font.el: -------------------------------------------------------------------------------- 1 | (defvar emacs-english-font "Monaco" 2 | "The font name of English.") 3 | 4 | (defvar emacs-cjk-font "Hiragino Sans GB" 5 | "The font name for CJK.") 6 | 7 | 8 | (defvar emacs-font-size-pair '(13 . 16) 9 | "Default font size pair for (english . chinese)") 10 | 11 | (defun font-exist-p (fontname) 12 | "Test if this font is exist or not. 13 | This function only work on GUI mode, on terminal it just 14 | return nil since you can't set font for emacs on it." 15 | (if (or (not fontname) (string= fontname "") (not (display-graphic-p))) 16 | nil 17 | (if (not (x-list-fonts fontname)) 18 | nil t))) 19 | 20 | (defun set-font (english chinese size-pair) 21 | "Setup emacs English and Chinese font on x window-system." 22 | 23 | (if (font-exist-p english) 24 | (set-frame-font (format "%s:pixelsize=%d" english (car size-pair)) t)) 25 | 26 | (if (font-exist-p chinese) 27 | (dolist (charset '(kana han cjk-misc bopomofo)) 28 | (set-fontset-font (frame-parameter nil 'font) charset 29 | (font-spec :family chinese :size (cdr size-pair)))))) 30 | 31 | ;; Setup font size based on emacs-font-size-pair 32 | (set-font emacs-english-font emacs-cjk-font emacs-font-size-pair) 33 | 34 | (defvar emacs-font-size-pair-list 35 | '(( 5 . 6) (10 . 12) 36 | (13 . 16) (15 . 18) (17 . 20) 37 | (19 . 22) (20 . 24) (21 . 26) 38 | (24 . 28) (26 . 32) (28 . 34) 39 | (30 . 36) (34 . 40) (36 . 44)) 40 | "This list is used to store matching (english . chinese) font-size.") 41 | 42 | (defun emacs-step-font-size (step) 43 | "Increase/Decrease emacs's font size." 44 | (let ((scale-steps emacs-font-size-pair-list)) 45 | (if (< step 0) (setq scale-steps (reverse scale-steps))) 46 | (setq emacs-font-size-pair 47 | (or (cadr (member emacs-font-size-pair scale-steps)) 48 | emacs-font-size-pair)) 49 | (when emacs-font-size-pair 50 | (message "emacs font size set to %.1f" (car emacs-font-size-pair)) 51 | (set-font emacs-english-font emacs-cjk-font emacs-font-size-pair)))) 52 | 53 | (defun increase-emacs-font-size () 54 | "Decrease emacs's font-size acording emacs-font-size-pair-list." 55 | (interactive) (emacs-step-font-size 1)) 56 | 57 | (defun decrease-emacs-font-size () 58 | "Increase emacs's font-size acording emacs-font-size-pair-list." 59 | (interactive) (emacs-step-font-size -1)) 60 | 61 | (global-set-key (kbd "C-=") 'increase-emacs-font-size) 62 | (global-set-key (kbd "C--") 'decrease-emacs-font-size) -------------------------------------------------------------------------------- /modules/load-modules.el: -------------------------------------------------------------------------------- 1 | ;;; Add all modules to path 2 | ;; This file will be load in my emacs config. 3 | 4 | ;; libvterm 5 | (add-to-list 'load-path 6 | (concat user-modules-directory "libvterm")) 7 | (let (vterm-install) 8 | (require 'vterm)) -------------------------------------------------------------------------------- /scripts/bootstrap: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env emacs -Q -q --script 2 | ":"; exec emacs -Q -q --script "$0" "$@" # -*- mode: emacs-lisp; lexical-binding: t; -*- 3 | ;;; bootstrap --- coldnew's emacs's bootstrap script. 4 | 5 | ;; Copyright (c) 2017 Yen-Chin, Lee. (coldnew) 6 | ;; 7 | ;; Author: coldnew 8 | ;; Keywords: 9 | ;; X-URL: http://github.com/coldnew/coldnew-emacs 10 | ;; Version: 0.1 11 | ;; Package-Requires: () 12 | 13 | ;; This file is not part of GNU Emacs. 14 | 15 | ;; This program is free software; you can redistribute it and/or modify 16 | ;; it under the terms of the GNU General Public License as published by 17 | ;; the Free Software Foundation; either version 3, or (at your option) 18 | ;; any later version. 19 | ;; 20 | ;; This program is distributed in the hope that it will be useful, 21 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 | ;; GNU General Public License for more details. 24 | ;; 25 | ;; You should have received a copy of the GNU General Public License 26 | ;; along with this program; if not, write to the Free Software 27 | ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 28 | 29 | ;;; Commentary: 30 | 31 | ;;; Code: 32 | 33 | 34 | ;; Init 35 | 36 | (require 'subr-x) 37 | 38 | ;; Enable debug message 39 | (setq debug-on-error t) 40 | 41 | 42 | ;; Logging functions 43 | 44 | (defun format-error (msg) 45 | "Format MSG as red color in console." 46 | (format "\e[1m\e[31m%s\e[0m" msg)) 47 | 48 | (defun format-info (msg) 49 | "Format MSG as green color in console." 50 | (format "\e[1m\e[32m%s\e[0m" msg)) 51 | 52 | (defun format-warning (msg) 53 | "Format MSG as yellow color in console." 54 | (format "\e[1m\e[33m%s\e[0m" msg)) 55 | 56 | (defun log-error (msg) 57 | "Display error MSG." 58 | (message (format "%s: %s" (format-error "ERROR") msg))) 59 | 60 | (defun log-warnning (msg) 61 | "Display warning MSG." 62 | (message (format "%s: %s" (format-warnning "WARNNING") msg))) 63 | 64 | (defun log-info (msg) 65 | "Display info MSG." 66 | (message (format "%s: %s" (format-info "INFO") msg))) 67 | 68 | (defun log-cmd (msg) 69 | "Display execute shell command MSG." 70 | (message (format "%s: %s" (format-info "CMD") msg))) 71 | 72 | 73 | ;; Step-by-step function 74 | 75 | (defun call-command (cmd) 76 | "Execute CMD in shell, stop the script while error occured." 77 | (let ((buffer-stderr "*Shell Command Error Output*")) 78 | 79 | (princ (format " %s" cmd)) 80 | 81 | ;; execute shell command 82 | (shell-command cmd t buffer-stderr) 83 | 84 | (when (not (get-buffer buffer-stderr)) 85 | (princ (format " [ %s ]\n" (format-info "OK")))) 86 | 87 | ;; Throw error 88 | (when (get-buffer buffer-stderr) 89 | (princ (format " [ %s ]\n" (format-error "FAIL"))) 90 | (let ((result (with-current-buffer buffer-stderr (buffer-string)))) 91 | (unless (string-empty-p result) 92 | (log-error (format "%s" result)))) 93 | ;; stop this script when error occured 94 | (kill-emacs) 95 | ))) 96 | 97 | (defun check-git-submodule () 98 | "Check git submodule in up-to-date." 99 | (message "Check git-submodule status:") 100 | (call-command "git submodule init") 101 | (call-command "git submodule update")) 102 | 103 | (defun build-jdee-server () 104 | "Build jdee-server for java development." 105 | (message "Build jdee-server:") 106 | (let ((default-directory (concat default-directory "/modules/jdee-server"))) 107 | (call-command "mvn -DskipTests=true assembly:assembly"))) 108 | 109 | (defun build-ycmd () 110 | "Build ycmd for code complete." 111 | (message "Build ycmd:") 112 | (let ((default-directory (concat default-directory "/modules/ycmd"))) 113 | (call-command "./build.py --all"))) 114 | 115 | 116 | ;; Start Bootstrap 117 | 118 | ;; Step 0: display a newline 119 | (message "") 120 | 121 | ;; Step 1: check submodule is up-to-date 122 | (check-git-submodule) 123 | 124 | ;; Step 2: Build jdee-server 125 | (build-jdee-server) 126 | 127 | ;; Step 3: 128 | (build-ycmd) 129 | 130 | ;; Step ∞: display a newline 131 | (message "") 132 | 133 | (provide 'bootstrap) 134 | ;;; bootstrap ends here -------------------------------------------------------------------------------- /scripts/build-emacs.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Get where is this script 4 | SDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 5 | 6 | # Configration 7 | INSDIR="${SDIR}/../.build" 8 | SRCDIR="${SDIR}/../modules/emacs" 9 | 10 | ################################################################################ 11 | # Any subsequent(*) commands which fail will cause the shell script to exit immediately 12 | set -e 13 | ################################################################################ 14 | 15 | do_autogen () { 16 | ./autogen.sh 17 | } 18 | 19 | do_configure_cli () { 20 | ./configure --prefix=${INSDIR} --with-modules --with-libgmp \ 21 | --without-x \ 22 | --without-ns \ 23 | --with-native-compilation \ 24 | --with-gnutls=ifavailable 25 | } 26 | 27 | do_configure_osx () { 28 | ./configure --prefix=${INSDIR} --with-modules --with-libgmp \ 29 | --with-ns --disable-ns-self-contained \ 30 | --with-gnutls \ 31 | --with-rsvg \ 32 | --without-imagemagick \ 33 | --with-pgtk \ 34 | --without-dbus --without-x --without-makeinfo 35 | } 36 | 37 | do_configure_linux () { 38 | ./configure --prefix=${INSDIR} --with-modules --with-libgmp \ 39 | --without-ns --disable-ns-self-contained \ 40 | --with-gnutls \ 41 | --with-rsvg \ 42 | --without-imagemagick \ 43 | --with-cairo \ 44 | --with-pgtk \ 45 | --with-xinput2 \ 46 | --with-xwidgets \ 47 | --with-dbus --with-x --with-x-toolkit=gtk3 \ 48 | --with-native-compilation 49 | } 50 | 51 | do_make () { 52 | make bootstrap 53 | make -j9 54 | } 55 | 56 | do_install_osx() { 57 | # Replace the symlink with one that avoids starting Cocoa. 58 | rm $INSDIR/bin/emacs -f 59 | cp -rf $SRCDIR/nextstep/Emacs.app $INSDIR 60 | cat <<-EOF > $INSDIR/bin/emacs 61 | #!/usr/bin/env bash 62 | exec $INSDIR/Emacs.app/Contents/MacOS/Emacs "\$@" 63 | EOF 64 | chmod +x $INSDIR/bin/emacs 65 | } 66 | 67 | do_install () { 68 | make install 69 | # special hack for different os 70 | case $(uname) in 71 | "Darwin") do_install_osx ;; 72 | *) ;; 73 | esac 74 | 75 | } 76 | 77 | do_clean () { 78 | make distclean 79 | make mantainer-clean 80 | } 81 | 82 | ################################################################################ 83 | 84 | # check if submodule already exist 85 | if [ ! -d $SRCDIR/src ]; then 86 | git submodule init 87 | git submodule update 88 | fi 89 | 90 | # building emacs 91 | cd $SRCDIR 92 | 93 | # check commit id, if already build, it's no need to rebuild 94 | if [ -f "$INSDIR/commit-id" ]; then 95 | OLD_ID=$(cat "$INSDIR/commit-id") 96 | NEW_ID=$(git rev-parse --short HEAD) 97 | if [ $OLD_ID == $NEW_ID ]; then 98 | echo "Your emacs is match to commit-id, no need to rebuild." 99 | exit 0 # quit 100 | else 101 | echo -ne "$NEW_ID" > "$INSDIR/commit-id" 102 | echo "Start rebuilding emacs..." 103 | fi 104 | fi 105 | 106 | do_autogen 107 | 108 | # configure according to platform 109 | if [[ $CI == "true" ]]; then 110 | do_configure_cli 111 | else 112 | case $(uname) in 113 | "Darwin") 114 | do_configure_osx 115 | ;; 116 | "Linux") 117 | do_configure_linux 118 | ;; 119 | *) 120 | echo "This building script only support Linux and Darwin" 121 | exit -1 122 | ;; 123 | esac 124 | fi 125 | 126 | # You need to set --with-modules to enable dynamic modules feature 127 | do_make 128 | do_install 129 | -------------------------------------------------------------------------------- /scripts/deploy-gh-pages-local.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # exit with nonzero exit code if anything fails 4 | set -e 5 | 6 | # Local variables 7 | OUT=".gh-pages" 8 | ID=$(git rev-parse --short HEAD) 9 | DATE=$(date) 10 | 11 | # remove all data in $OUT 12 | (cd $OUT; git rm -rf *) 13 | 14 | # Copy all prebuild files 15 | cp init.html $OUT/index.html 16 | cp init.el.html $OUT 17 | cp -rf assets $OUT 18 | 19 | # go to the out directory and create a *new* Git repo 20 | cd $OUT 21 | 22 | # We permit following exit with error 23 | set +e 24 | 25 | # The first and only commit to this new Git repo contains all the 26 | # files present with the commit message "Deploy to GitHub Pages". 27 | git add . 28 | git commit -m "deploy commit $ID to GitHub Pages: $DATE" 29 | 30 | # Force push from the current repo's master branch to the remote 31 | # repo's gh-pages branch. (All previous history on the gh-pages branch 32 | # will be lost, since we are overwriting it.) We redirect any output to 33 | # /dev/null to hide any sensitive credential data that might otherwise be exposed. 34 | set -e 35 | git push --quiet origin gh-pages 36 | -------------------------------------------------------------------------------- /scripts/deploy-gh-pages.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # exit with nonzero exit code if anything fails 4 | set -e 5 | 6 | # Local variables 7 | OUT=".gh-pages" 8 | ID=$(git rev-parse --short HEAD) 9 | DATE=$(date) 10 | 11 | # clear and re-create the out directory 12 | rm -rf $OUT || exit 0; 13 | git clone "https://${GH_TOKEN}@${GH_REPO}" $OUT 14 | 15 | # remove all data in $OUT 16 | (cd $OUT; git checkout -b gh-pages origin/gh-pages ; git rm -rf *) 17 | 18 | # Copy all prebuild files 19 | cp init.html $OUT/index.html 20 | cp init.el.html $OUT 21 | cp -rf assets $OUT 22 | 23 | # go to the out directory and create a *new* Git repo 24 | cd $OUT 25 | git init 26 | 27 | # inside this git repo we'll pretend to be a new user 28 | git config user.name "Travis CI" 29 | git config user.email "coldnew.tw@gmail.com" 30 | 31 | # We permit following exit with error 32 | set +e 33 | 34 | # The first and only commit to this new Git repo contains all the 35 | # files present with the commit message "Deploy to GitHub Pages". 36 | git add . 37 | git commit -m "deploy commit $ID to GitHub Pages: $DATE" 38 | 39 | # Force push from the current repo's master branch to the remote 40 | # repo's gh-pages branch. (All previous history on the gh-pages branch 41 | # will be lost, since we are overwriting it.) We redirect any output to 42 | # /dev/null to hide any sensitive credential data that might otherwise be exposed. 43 | set -e 44 | git push --force --quiet "https://${GH_TOKEN}@${GH_REPO}" gh-pages:gh-pages > /dev/null 2>&1 45 | -------------------------------------------------------------------------------- /scripts/envsetup-evm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # From: https://gist.githubusercontent.com/rejeep/ebcd57c3af83b049833b/raw 4 | 5 | # This script will setup Evm (Emacs Version Manager) and Cask on 6 | # Travis to use for Emacs Lisp testing. 7 | # 8 | # In .travis.yml, add this: 9 | # 10 | # - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > x.sh && source ./x.sh 11 | # 12 | # Emacs 24.3 is installed in the above script because Cask requires 13 | # Emacs 24 to be installed. Because of this, when installing other 14 | # environments in the .travis.yml configuration, use the --skip 15 | # option, for example: 16 | # 17 | # - evm install $EVM_EMACS --use --skip 18 | 19 | export PATH="$HOME/.evm/bin:$PATH" 20 | export PATH="$HOME/.cask/bin:$PATH" 21 | 22 | git clone https://github.com/rejeep/evm.git $HOME/.evm 23 | evm config path /tmp 24 | evm install emacs-24.3-travis --use --skip 25 | 26 | #curl -fsSkL https://raw.github.com/cask/cask/master/go | python -------------------------------------------------------------------------------- /scripts/install-build-deps-ubuntu.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | sudo apt-get update 4 | sudo apt-get upgrade 5 | sudo apt-get install \ 6 | gcc-multilib g++-multilib build-essential autoconf \ 7 | automake libtool texinfo xorg-dev libgtk2.0-dev \ 8 | libjpeg-dev libncurses-dev libdbus-1-dev libgif-dev \ 9 | libtiff-dev libm17n-dev libpng12-dev librsvg2-dev \ 10 | libotf-dev libxml2-dev libcairo-dev -------------------------------------------------------------------------------- /scripts/makefile-script.el: -------------------------------------------------------------------------------- 1 | ;;; makefile-script.el --- Building script for coldnew's emacs 2 | 3 | ;; Copyright (c) 2013 - 2021 Yen-Chin, Lee. 4 | ;; 5 | ;; Author: coldnew 6 | ;; Keywords: converience 7 | ;; X-URL: http://github.com/coldnew/coldnew-emacs 8 | ;; Version: 0.3 9 | 10 | ;; This file is not part of GNU Emacs. 11 | 12 | ;; This program is free software; you can redistribute it and/or modify 13 | ;; it under the terms of the GNU General Public License as published by 14 | ;; the Free Software Foundation; either version 2, or (at your option) 15 | ;; any later version. 16 | ;; 17 | ;; This program is distributed in the hope that it will be useful, 18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | ;; GNU General Public License for more details. 21 | ;; 22 | ;; You should have received a copy of the GNU General Public License 23 | ;; along with this program; if not, write to the Free Software 24 | ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 25 | 26 | ;;; Commentary: 27 | ;; 28 | ;; This file is desinged to used by Makefile and coldnew's Emacs. 29 | 30 | ;;; Code: 31 | (require 'org) 32 | (require 'subr-x) 33 | (require 'find-lisp) 34 | 35 | ;;;; Basic Functions 36 | (defun find-tmpfile-path () 37 | "Find suitable tmpfile path." 38 | (let ((my-ramdisk "/Volumes/ramdisk")) 39 | ;; I always create `/Volumes/ramdisk' for ramdisk usage on OSX 40 | (if (and (eq system-type 'darwin) (file-exists-p my-ramdisk)) 41 | my-ramdisk 42 | temporary-file-directory))) 43 | 44 | (defun dirjoin (root &rest dirs) 45 | "Joins ROOT and DIRS together." 46 | (if (not dirs) 47 | root 48 | (apply 'dirjoin 49 | (expand-file-name (car dirs) root) 50 | (cdr dirs)))) 51 | 52 | ;;;; Variables 53 | 54 | (defconst *workdir* (dirjoin (find-tmpfile-path) ".emacs-init-build") 55 | "Working directory for building emacs-lisp configs.") 56 | 57 | (defconst *pid* (number-to-string (emacs-pid)) 58 | "Current process pid in string.") 59 | 60 | (defconst *lockfile* (dirjoin *workdir* "lock") 61 | "A file store pid info.") 62 | 63 | (defconst *configs-dir* "configs" 64 | "Other `org-mode' configs path.") 65 | 66 | (defconst has-native-compile-p 67 | (and (version<= "28.0.50" emacs-version) 68 | (require 'comp)) 69 | "This Emacs support `native-compile' feature.") 70 | 71 | ;;;; Functions 72 | 73 | (defun my-comp-async-runnings () 74 | (if (fboundp 'comp--async-runnings) 75 | (comp--async-runnings) 76 | (comp-async-runnings))) 77 | 78 | (defun native-compile-wait-for-async () 79 | "Wait for `native-compile-async' done." 80 | (when has-native-compile-p 81 | (while (> (+ (length comp-files-queue) 82 | (my-comp-async-runnings)) 0) 83 | (sleep-for 1)))) 84 | 85 | (defun mkdir-p (dirname) 86 | "Create directory DIRNAME and it's parents." 87 | (when (not (file-exists-p dirname)) 88 | (make-directory dirname :parents))) 89 | 90 | (defun find-org-files (dirname) 91 | "Return a list store all .org file in DIRNAME." 92 | (thread-last (find-lisp-find-files dirname "^[^\\.#].*\\.org$") 93 | (mapcar (lambda (f) (replace-regexp-in-string (expand-file-name user-emacs-directory) "" f))))) 94 | 95 | (defun find-tmp-el-files () 96 | "Return a list store all .pid files." 97 | (find-lisp-find-files *workdir* (concat "\\." *pid* "$"))) 98 | 99 | (defun delete-tmp-files () 100 | "Delete all temp file generate by this script." 101 | (dolist (f (find-tmp-el-files)) 102 | (delete-file f nil))) 103 | 104 | (defun org->el (forg) 105 | "Convert `org-mode' file FORG to emacs-lisp file in *workdir*." 106 | (let* ((dir (dirjoin *workdir* (or (file-name-directory forg) ""))) 107 | (base (file-name-base forg)) 108 | (fel (dirjoin dir (concat base ".el" "." *pid*)))) 109 | (mkdir-p dir) 110 | (message (format "Building %s to %s ..." forg fel)) 111 | (org-babel-tangle-file forg fel))) 112 | 113 | (defun write-lockfile (pid) 114 | "Create lockfile with PID as it's contents." 115 | (mkdir-p (file-name-directory *lockfile*)) 116 | (with-temp-buffer 117 | (insert pid) 118 | (write-file *lockfile*))) 119 | 120 | (defun read-lockfile () 121 | "Return lockfile contents." 122 | (with-temp-buffer 123 | (insert-file-contents *lockfile*) 124 | (buffer-string))) 125 | 126 | (defun update-config (forg) 127 | "Update FORG's relative .el file from *workdir*." 128 | (let* ((bdir (or (file-name-directory forg) "")) 129 | (base (file-name-base forg)) 130 | (dir (dirjoin *workdir* bdir)) 131 | (fel (dirjoin dir (format "%s.el.%s" base *pid*))) 132 | (fel2 (dirjoin bdir (concat base ".el")))) 133 | (message (format "Create %s from %s..." fel2 forg)) 134 | (rename-file fel fel2 t))) 135 | 136 | ;; (defun find-all-org-configs () 137 | ;; "Return a list store all `org-mode' configs." 138 | ;; (cons "init.org" 139 | ;; (find-org-files "configs"))) 140 | 141 | (defun find-all-org-configs () 142 | "Return a list store all `org-mode' configs." 143 | (list "init.org")) 144 | 145 | 146 | 147 | (defun check-if-process-end () 148 | "Check if current process's pid match to `*lockfile*', remove all tmp files and exit when failed." 149 | (unless (string= *pid* (read-lockfile)) 150 | (message "Current pid not match to *lockfile*, exit.") 151 | (delete-tmp-files) 152 | (kill-emacs))) 153 | 154 | (defun make-init-el () 155 | "Build all .org configs to emacs-lisp file." 156 | (setq org-confirm-babel-evaluate nil) 157 | ;; Create lockfile with pid 158 | (write-lockfile *pid*) 159 | ;; tangle init.el and other configs 160 | (let ((configs (find-all-org-configs))) 161 | ;; tangle all .org files 162 | (dolist (config configs) 163 | ;; if current process pid not match to lockfile, remove tmpfiles and exist. 164 | (check-if-process-end) 165 | ;; tangle org-mode files. 166 | (org->el config)) 167 | ;; check if current process pid match to lock file again 168 | (check-if-process-end) 169 | ;; Since we think current process pid is the same as lockfile, update all generate .el file to emacs-config. 170 | (message "OK, time to update all .el files.") 171 | (dolist (config configs) 172 | (update-config config)))) 173 | 174 | (defun byte-compile-init-el () 175 | "`byte-compile' init.el file." 176 | (setq byte-compile-error-on-warn nil) 177 | (cl-loop for file in (directory-files (expand-file-name (getenv "PWD")) t "^.*\\.el$") 178 | do (byte-compile-file file))) 179 | 180 | (defun native-compile-init-el () 181 | "`native-compile' init.el file." 182 | (if has-native-compile-p 183 | (progn 184 | (cl-loop for file in (directory-files (expand-file-name (getenv "PWD")) t "^.*\\.el$") 185 | do (native-compile-async file)) 186 | ;; wait for async compilation done 187 | (native-compile-wait-for-async)) 188 | (message "This emacs doesn't support native-compile feature. \n emacs-version: %s\n native-compile: %s" (emacs-version) (require 'comp)))) 189 | 190 | (defun compile-init-el () 191 | "Select `byte-compile' or `native-compile' for building the 192 | init.el. Use `native-compile' if available." 193 | (if has-native-compile-p 194 | (native-compile-init-el) 195 | (byte-compile-init-el))) 196 | 197 | (defun native-compile-packages () 198 | "native compile packages in specified directories." 199 | (if has-native-compile-p 200 | (progn 201 | (cl-loop for dir in '("elpa" "local-lisp" "straight") 202 | do (native-compile-async (dirjoin (expand-file-name (getenv "PWD")) dir) 'recursively)) 203 | ;; wait for async compilation done 204 | (native-compile-wait-for-async)) 205 | (message "This emacs doesn't support native-compile feature. \n emacs-version: %s\n native-compile: %s" (emacs-version) (require 'comp)))) 206 | 207 | ;;; makefile-script.el ends here 208 | -------------------------------------------------------------------------------- /snippets/c++-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | cc-mode 2 | -------------------------------------------------------------------------------- /snippets/c++-mode/ns: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: namespace ... 3 | # key: ns 4 | # -- 5 | namespace $1 { 6 | $0 7 | } // namespace $1 8 | -------------------------------------------------------------------------------- /snippets/c-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | cc-mode 2 | -------------------------------------------------------------------------------- /snippets/c-mode/fopen: -------------------------------------------------------------------------------- 1 | #name : FILE *fp = fopen(..., ...); 2 | # key: fopen 3 | # -- 4 | FILE *${fp} = fopen(${"file"}, "${r}"); 5 | -------------------------------------------------------------------------------- /snippets/c-mode/malloc: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: malloc 3 | # key: malloc 4 | # -- 5 | malloc(sizeof($1)${2: * ${3:3}}); 6 | $0 -------------------------------------------------------------------------------- /snippets/c-mode/packed: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: packed 3 | # key: packed 4 | # -- 5 | __attribute__((__packed__))$0 -------------------------------------------------------------------------------- /snippets/c-mode/printf: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: printf 3 | # key: pr 4 | # -- 5 | printf("${1:format string}"${2: ,a0,a1}); -------------------------------------------------------------------------------- /snippets/c-mode/printk: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: printk 3 | # key: pk 4 | # -- 5 | printk("${1:format string}"${2: ,a0,a1}); -------------------------------------------------------------------------------- /snippets/c-mode/union: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: union 3 | # key: union 4 | # -- 5 | typedef union { 6 | $0 7 | } ${1:name}; -------------------------------------------------------------------------------- /snippets/cc-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/cc-mode/define: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: define 3 | # key: d 4 | # -- 5 | #define $0 -------------------------------------------------------------------------------- /snippets/cc-mode/do: -------------------------------------------------------------------------------- 1 | #name : do { ... } while (...) 2 | # key: do 3 | # -- 4 | do { 5 | $0 6 | } while (${1:condition}); -------------------------------------------------------------------------------- /snippets/cc-mode/for: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: for 3 | # key: for 4 | # -- 5 | for (${1:i = 0}; ${2:i < N}; ${3:i++}) { 6 | $0 7 | } 8 | -------------------------------------------------------------------------------- /snippets/cc-mode/if: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name : if (...) { ... } 3 | # key: if 4 | # -- 5 | if (${1:condition}) { 6 | $0 7 | } 8 | -------------------------------------------------------------------------------- /snippets/cc-mode/ifdef: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: ifdef 3 | # key: ifdef 4 | # -- 5 | #ifdef ${1:MACRO} 6 | 7 | $0 8 | 9 | #endif // $1 10 | -------------------------------------------------------------------------------- /snippets/cc-mode/inc: -------------------------------------------------------------------------------- 1 | #name : #include <...> 2 | #key : inc 3 | # -- 4 | #include <$1> 5 | -------------------------------------------------------------------------------- /snippets/cc-mode/inc.1: -------------------------------------------------------------------------------- 1 | #name : #include "..." 2 | #key : inc 3 | # -- 4 | #include "$1" 5 | -------------------------------------------------------------------------------- /snippets/cc-mode/main: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # contributor : coldnew 3 | # name: int main(argc, argv) { ... } 4 | # key: main 5 | # -- 6 | int main(int argc, char *argv[]) 7 | { 8 | $0 9 | return 0; 10 | } 11 | -------------------------------------------------------------------------------- /snippets/cc-mode/once: -------------------------------------------------------------------------------- 1 | #name : #ifndef XXX; #define XXX; #endif 2 | # key: once 3 | # -- 4 | #ifndef ${1:_`(upcase (file-name-nondirectory (file-name-sans-extension (buffer-file-name))))`_H_} 5 | #define $1 6 | 7 | $0 8 | 9 | #endif /* $1 */ -------------------------------------------------------------------------------- /snippets/cc-mode/struct: -------------------------------------------------------------------------------- 1 | #name : struct ... { ... } 2 | # key: struct 3 | # -- 4 | struct ${1:name} { 5 | $0 6 | }; -------------------------------------------------------------------------------- /snippets/cc-mode/switch: -------------------------------------------------------------------------------- 1 | #-*- mode: snippet -*- 2 | #name: switch 3 | #key: switch 4 | #-- 5 | switch (${1:condition}) { 6 | case $0 : 7 | break; 8 | default: 9 | ${2:action} 10 | } 11 | -------------------------------------------------------------------------------- /snippets/cc-mode/ternary: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: ternary 3 | # key: ? 4 | # -- 5 | (${1:cond}) ? ${2:then} : ${3:else}; -------------------------------------------------------------------------------- /snippets/cc-mode/typedef: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: typedef 3 | # key: typedef 4 | # -- 5 | typedef ${1:type} ${2:alias}; -------------------------------------------------------------------------------- /snippets/cc-mode/while: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: while 3 | # key: while 4 | # -- 5 | while (${1:condition}) { 6 | $0 7 | } -------------------------------------------------------------------------------- /snippets/clojure-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/clojure-mode/project: -------------------------------------------------------------------------------- 1 | # name: project 2 | # key: prj 3 | # -- 4 | (defproject ${1:project} "0.1.0-SNAPSHOT" 5 | :description "FIXME: write description" 6 | :url "http://example.com/FIXME" 7 | :license {:name "Eclipse Public License" 8 | :url "http://www.eclipse.org/legal/epl-v10.html"} 9 | 10 | ;; CLJ source code path 11 | :source-paths ["src/clj"] 12 | :dependencies [[org.clojure/clojure "1.5.1"]] 13 | 14 | ;; lein-cljsbuild plugin to build a CLJS project 15 | :plugins [[lein-cljsbuild "0.3.2"]] 16 | 17 | ;; cljsbuild options configuration 18 | :cljsbuild {:builds 19 | [{;; CLJS source code path 20 | :source-paths ["src/cljs"] 21 | 22 | ;; Google Closure (CLS) options configuration 23 | :compiler {;; CLS generated JS script filename 24 | :output-to "resources/public/js/target.js" 25 | 26 | ;; Enable this for node.js 27 | ;; :target :nodejs 28 | 29 | ;; minimal JS optimization directive 30 | :optimizations :whitespace 31 | 32 | ;; generated JS code prettyfication 33 | :pretty-print true}}]}) 34 | -------------------------------------------------------------------------------- /snippets/css-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/emacs-lisp-mode/.read_me: -------------------------------------------------------------------------------- 1 | -*- coding: utf-8 -*- 2 | Originally started by Xah Lee (xahlee.org) on 2009-02-22 3 | Released under GPL 3. 4 | 5 | Feel free to add missing ones or modify existing ones to improve. 6 | 7 | Those starting with “x-” are supposed to be idiom templates. Not sure it's very useful. They might start with “i-” or "id-" in the future. -------------------------------------------------------------------------------- /snippets/emacs-lisp-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/emacs-lisp-mode/add-hook.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: add-hook 3 | # key: ah 4 | # -- 5 | (add-hook '$1 6 | '$0 7 | ) 8 | -------------------------------------------------------------------------------- /snippets/emacs-lisp-mode/defun.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: defun 3 | # key: defun 4 | # -- 5 | (defun $0 ()) -------------------------------------------------------------------------------- /snippets/emacs-lisp-mode/require.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: require 3 | # key: require 4 | # -- 5 | (require '$0) -------------------------------------------------------------------------------- /snippets/html-mode/.yas-make-groups: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coldnew/coldnew-emacs/84802f1d20b14aa2fc874fe148c6f7c2f62f93e8/snippets/html-mode/.yas-make-groups -------------------------------------------------------------------------------- /snippets/html-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/latex-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/markdown-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/nxml-mode/.yas-make-groups: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coldnew/coldnew-emacs/84802f1d20b14aa2fc874fe148c6f7c2f62f93e8/snippets/nxml-mode/.yas-make-groups -------------------------------------------------------------------------------- /snippets/nxml-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/perl-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/perl-mode/eval: -------------------------------------------------------------------------------- 1 | # name: eval { ... } if ($@) { ... } 2 | # key: eval 3 | # -- 4 | eval { 5 | ${1:# do something risky...} 6 | }; 7 | if (\$@) { 8 | ${2:# handle failure...} 9 | } -------------------------------------------------------------------------------- /snippets/perl-mode/for: -------------------------------------------------------------------------------- 1 | # name: for (...) { ... } 2 | # key: for 3 | # -- 4 | for (my \$${1:var} = 0; \$$1 < ${2:expression}; \$$1++) { 5 | ${3:# body...} 6 | } -------------------------------------------------------------------------------- /snippets/perl-mode/fore: -------------------------------------------------------------------------------- 1 | # name: foreach ... { ... } 2 | # key: fore 3 | # -- 4 | foreach my \$${1:x} (@${2:array}) { 5 | ${3:# body...} 6 | } -------------------------------------------------------------------------------- /snippets/perl-mode/if: -------------------------------------------------------------------------------- 1 | # name: if (...) { ... } 2 | # key: if 3 | # -- 4 | if ($1) { 5 | $0 6 | } -------------------------------------------------------------------------------- /snippets/perl-mode/ife: -------------------------------------------------------------------------------- 1 | # name: if (...) { ... } else { ... } 2 | # key: ife 3 | # -- 4 | if ($1) { 5 | $2 6 | } else { 7 | $3 8 | } -------------------------------------------------------------------------------- /snippets/perl-mode/ifee: -------------------------------------------------------------------------------- 1 | # name: if, elsif, else ... 2 | # key: ifee 3 | # -- 4 | if ($1) { 5 | ${2:# body...} 6 | } elsif ($3) { 7 | ${4:# elsif...} 8 | } else { 9 | ${5:# else...} 10 | } -------------------------------------------------------------------------------- /snippets/perl-mode/sub: -------------------------------------------------------------------------------- 1 | # name: sub ... { ... } 2 | # key: sub 3 | # -- 4 | sub ${1:function_name} { 5 | $0 6 | } -------------------------------------------------------------------------------- /snippets/perl-mode/unless: -------------------------------------------------------------------------------- 1 | # name: unless (...) { ... } 2 | # key: unless 3 | # -- 4 | unless ($1) { 5 | $0 6 | } -------------------------------------------------------------------------------- /snippets/perl-mode/while: -------------------------------------------------------------------------------- 1 | # name: while (...) { ... } 2 | # key: while 3 | # -- 4 | while ($1) { 5 | $0 6 | } -------------------------------------------------------------------------------- /snippets/perl-mode/xfore: -------------------------------------------------------------------------------- 1 | # name: ... foreach ... 2 | # key: xfore 3 | # -- 4 | ${1:expression} foreach @${2:array}; -------------------------------------------------------------------------------- /snippets/perl-mode/xif: -------------------------------------------------------------------------------- 1 | # name: ... if ... 2 | # key: xif 3 | # -- 4 | ${1:expression} if ${2:condition} -------------------------------------------------------------------------------- /snippets/perl-mode/xunless: -------------------------------------------------------------------------------- 1 | # name: ... unless ... 2 | # key: xunless 3 | # -- 4 | ${1:expression} unless ${2:condition} -------------------------------------------------------------------------------- /snippets/perl-mode/xwhile: -------------------------------------------------------------------------------- 1 | # name: ... while ... 2 | # key: xwhile 3 | # -- 4 | ${1:expression} while ${2:condition}; -------------------------------------------------------------------------------- /snippets/python-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/qml-mode/Component.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: Component 3 | # key: Component 4 | # -- 5 | Component { 6 | $0 7 | } 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /snippets/qml-mode/Item.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: Item 3 | # key: Item 4 | # -- 5 | Item { 6 | $0 7 | } 8 | -------------------------------------------------------------------------------- /snippets/qml-mode/ListModel.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: ListModel 3 | # key: ListModel 4 | # -- 5 | ListModel { 6 | $0 7 | } -------------------------------------------------------------------------------- /snippets/qml-mode/MouseArea.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: MouseArea 3 | # key: MouseArea 4 | # -- 5 | MouseArea { 6 | $0 7 | } 8 | -------------------------------------------------------------------------------- /snippets/qml-mode/Rectangel.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: Rectangle 3 | # key: Rectangle 4 | # -- 5 | Rectangle { 6 | $0 7 | } -------------------------------------------------------------------------------- /snippets/qml-mode/Text.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: Text 3 | # key: Text 4 | # -- 5 | Text { 6 | $0 7 | } 8 | -------------------------------------------------------------------------------- /snippets/qml-mode/import.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: import 3 | # key: import 4 | # -- 5 | import $0 -------------------------------------------------------------------------------- /snippets/ruby-mode/.yas-make-groups: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coldnew/coldnew-emacs/84802f1d20b14aa2fc874fe148c6f7c2f62f93e8/snippets/ruby-mode/.yas-make-groups -------------------------------------------------------------------------------- /snippets/ruby-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/text-mode/email: -------------------------------------------------------------------------------- 1 | # name: (user's email) 2 | # key: email 3 | # -- 4 | `(replace-regexp-in-string "@" "@NOSPAM." user-mail-address)` -------------------------------------------------------------------------------- /snippets/text-mode/time: -------------------------------------------------------------------------------- 1 | # name: (current time) 2 | # key: time 3 | # -- 4 | `(current-time-string)` -------------------------------------------------------------------------------- /snippets/vala-mode/main: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: int main(string[] args) { ... } 3 | # key: main 4 | # -- 5 | int main( string[] args ) 6 | { 7 | $0 8 | return 0; 9 | } 10 | -------------------------------------------------------------------------------- /snippets/verilog-mode/.yas-parents: -------------------------------------------------------------------------------- 1 | text-mode 2 | -------------------------------------------------------------------------------- /snippets/verilog-mode/always.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: always 3 | # key: aw 4 | # -- 5 | always@($1) begin 6 | $0 7 | end 8 | -------------------------------------------------------------------------------- /snippets/verilog-mode/begin.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: begin 3 | # key: begin 4 | # -- 5 | begin 6 | $0 7 | end 8 | -------------------------------------------------------------------------------- /snippets/verilog-mode/if.yas: -------------------------------------------------------------------------------- 1 | # -*- mode: snippet -*- 2 | # name: if 3 | # key: if 4 | # -- 5 | if($1) begin 6 | end -------------------------------------------------------------------------------- /styles/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coldnew/coldnew-emacs/84802f1d20b14aa2fc874fe148c6f7c2f62f93e8/styles/.gitkeep -------------------------------------------------------------------------------- /styles/coldnew-theme.el: -------------------------------------------------------------------------------- 1 | ;;; coldnew-theme.el --- coldnew's emacs color-theme. -*- lexical-binding: t; -*- 2 | ;; 3 | ;; Copyright (C) 2011-2016 Yen-Chin, Lee 4 | ;; Author: coldnew 5 | ;; Kyewords: themes 6 | ;; Version: 0.3 7 | ;; X-Original-Version: 0.1 8 | ;; Package-Requires: ((emacs "24.3")) 9 | 10 | ;; This file is free software: you can redistribute it and/or modify 11 | ;; it under the terms of the GNU General Public License as published by 12 | ;; the Free Software Foundation, either version 3 of the License, or 13 | ;; (at your option) any later version. 14 | 15 | ;; This file is distributed in the hope that it will be useful, 16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | ;; GNU General Public License for more details. 19 | 20 | ;; You should have received a copy of the GNU General Public License 21 | ;; along with GNU Emacs. If not, see . 22 | 23 | ;;; Commentary: 24 | ;; 25 | ;; This theme is based on following theme file: 26 | ;; https://github.com/bbatsov/solarized-emacs 27 | ;; https://github.com/sjrmanning/noctilux-theme 28 | ;; https://github.com/cpaulik/emacs-material-theme 29 | ;; 30 | ;; 31 | ;; 256-color charts 32 | ;; http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html 33 | 34 | ;;; Code: 35 | (require 'cl-lib) 36 | 37 | ;; NOTE: This vairable is filled by other file. 38 | (defvar coldnew-theme-colors 39 | '( ) 40 | "This is a table of all the colors used by the coldnew color theme. 41 | Each column is a different set, one of which will be chosen based on term capabilities, etc.") 42 | 43 | (defun coldnew-theme--build-colors-alist (mode) 44 | "Build color list according to mode MODE." 45 | (cl-flet ((find-color (color) 46 | ;; 1: window system , 2: terminal 47 | (let* ((index (if window-system 1 2))) 48 | (nth index color)))) 49 | (mapcar (lambda (x) (list (symbol-name (car x)) (find-color x))) 50 | (cdr (assoc (cadr `,mode) coldnew-theme-colors))))) 51 | 52 | (defmacro coldnew-theme--with-colors (mode &rest body) 53 | "Bind all colors defined in `coldnew-theme-colors' with mode MODE around BODY. 54 | Also bind `class' to ((class color) (min-colors 89))." 55 | (declare (indent 0)) 56 | `(let ((class '((class color) (min-colors 89))) 57 | ,@(mapcar (lambda (cons) 58 | (list (intern (car cons)) (cadr cons))) 59 | (coldnew-theme--build-colors-alist mode))) 60 | ,@body)) 61 | 62 | (defmacro coldnew-theme--face-specs () 63 | "The real theme defined macro." 64 | (quote 65 | `( ;; Ensure sufficient contrast on low-color terminals. 66 | (default ((((class color) (min-colors 4096)) 67 | (:foreground ,foreground :background ,background)) 68 | (((class color) (min-colors 256)) 69 | (:foreground ,foreground :background ,background)) 70 | (,class 71 | (:foreground ,foreground :background ,background)))) 72 | ;; Basic 73 | (bold ((t (:weight bold)))) 74 | (bold-italic ((t (:weight bold :slant italic)))) 75 | (cursor ((t (:foreground ,base04 :background ,white)))) 76 | (error ((t (:foreground ,red :bold t)))) 77 | (italic ((t (:slant italic)))) 78 | (shadow ((t (:foreground ,comment)))) 79 | (success ((t (:foreground ,green)))) 80 | (underline ((t (:underline t)))) 81 | (warning ((t (:foreground ,orange)))) 82 | 83 | ;; font-lock 84 | (font-lock-builtin-face ((t (:foreground ,buildin)))) 85 | (font-lock-constant-face ((t (:foreground ,magenta)))) 86 | (font-lock-comment-face ((t (:foreground ,comment :slant italic)))) 87 | (font-lock-comment-delimiter-face ((t (:foreground ,comment-delimiter :slant italic)))) 88 | (font-lock-doc-face ((t (:foreground ,doc :slant italic)))) 89 | (font-lock-function-name-face ((t (:foreground ,function-name)))) 90 | (font-lock-keyword-face ((t (:foreground ,keyword)))) 91 | (font-lock-type-face ((t (:foreground ,type)))) 92 | (font-lock-variable-name-face ((t (:foreground ,variable-name)))) 93 | (font-lock-string-face ((t (:foreground ,string)))) 94 | 95 | (font-lock-exit-face ((t (:foreground ,red)))) 96 | (font-lock-negation-char-face ((t (:foreground ,red)))) 97 | (font-lock-other-emphasized-face ((t (:foreground ,magenta :weight bold)))) 98 | (font-lock-other-type-face ((t (:foreground ,blue :slant italic)))) 99 | (font-lock-preprocessor-face ((t (:foreground ,orange)))) 100 | (font-lock-reference-face ((t (:foreground ,cyan)))) 101 | (font-lock-regexp-grouping-backslash ((t (:foreground ,yellow)))) 102 | (font-lock-regexp-grouping-construct ((t (:foreground ,orange)))) 103 | (font-lock-special-keyword-face ((t (:foreground ,red)))) 104 | (font-lock-warning-face ((t (:foreground ,red :weight bold)))) 105 | 106 | ;; rainbow-delimiters 107 | (rainbow-delimiters-depth-1-face ((t (:foreground ,rainbow-1)))) 108 | (rainbow-delimiters-depth-2-face ((t (:foreground ,rainbow-2)))) 109 | (rainbow-delimiters-depth-3-face ((t (:foreground ,rainbow-3)))) 110 | (rainbow-delimiters-depth-4-face ((t (:foreground ,rainbow-4)))) 111 | (rainbow-delimiters-depth-5-face ((t (:foreground ,rainbow-5)))) 112 | (rainbow-delimiters-depth-6-face ((t (:foreground ,rainbow-6)))) 113 | (rainbow-delimiters-depth-7-face ((t (:foreground ,rainbow-7)))) 114 | (rainbow-delimiters-depth-8-face ((t (:foreground ,rainbow-8)))) 115 | (rainbow-delimiters-depth-9-face ((t (:foreground ,rainbow-9)))) 116 | (rainbow-delimiters-unmatched-face ((t (:inherit error)))) 117 | 118 | ;; link 119 | (link ((t (:foreground ,magenta :underline t)))) 120 | 121 | ;; region 122 | (region ((,class (:background ,selection)))) 123 | 124 | ;; minibuffer 125 | (minibuffer-prompt ((t (:foreground ,cyan :weight bold)))) 126 | 127 | ;; modeline 128 | (mode-line ((t (:foreground ,base04 :background ,base01 :weight bold :box nil)))) 129 | (mode-line-inactive ((t (:foreground ,base02 :background ,base00 :weight bold :box nil)))) 130 | 131 | ;; comint 132 | (comint-highlight-prompt ((t (:foreground ,blue)))) 133 | 134 | ;; compilation 135 | (compilation-info ((t (:foreground ,green :weight bold)))) 136 | (compilation-warning ((t (:foreground ,orange :weight bold)))) 137 | 138 | ;; smartparens-mode 139 | (sp-pair-overlay-face ((t (:forground ,foreground :background ,current-line)))) 140 | 141 | ;; custom 142 | (custom-button 143 | ((t (:foreground ,base05 :background ,base01 144 | :box (:line-width 2 :style released-button))))) 145 | (custom-button-mouse 146 | ((t (:foreground ,base05 :background ,base01 :inherit custom-button)))) 147 | (custom-button-pressed 148 | ((t (:foreground ,base05 :background ,base01 149 | :box (:line-width 2 :style pressed-button) 150 | :inherit custom-button-mouse)))) 151 | (custom-changed ((t (:foreground ,blue :background ,base07)))) 152 | (custom-comment ((t (:foreground ,base05 :background ,base01)))) 153 | (custom-comment-tag ((t (:foreground ,base05 :background ,base01)))) 154 | (custom-documentation ((t (:inherit default)))) 155 | (custom-group-tag ((t (:foreground ,base05)))) 156 | (custom-group-tag-1 ((t (:foreground ,base05 :weight bold)))) 157 | (custom-invalid ((t (:foreground ,red :background ,base07)))) 158 | (custom-link ((t (:foreground ,magenta)))) 159 | (custom-state ((t (:foreground ,green)))) 160 | (custom-variable-tag ((t (:foreground ,base05)))) 161 | 162 | ;; mu4e 163 | (mu4e-highlight-face ((t (:inherit font-lock-builtin-face :bold t)))) 164 | 165 | ;; emacs-wiki 166 | (emacs-wiki-bad-link-face ((t (:foreground ,red)))) 167 | (emacs-wiki-link-face ((t (:foreground ,blue :underline t)))) 168 | (emacs-wiki-verbatim-face ((t (:foreground ,base03 :underline t)))) 169 | 170 | ;; diff-mode 171 | (diff-added ((t (:foreground ,green :weight bold)))) 172 | (diff-changed ((t (:foreground ,yellow :weight bold)))) 173 | (diff-removed ((t (:foreground ,red :weight bold)))) 174 | (diff-refine-change ((t (:foreground ,blue :background ,base00 :weight bold)))) 175 | (diff-file-header ((t (:background ,base00)))) 176 | (diff-header ((t (:foreground ,base05 :background ,base00)))) 177 | 178 | ;; ido 179 | (ido-only-match ((t (:foreground ,green)))) 180 | (ido-subdir ((t (:foreground ,blue)))) 181 | (ido-first-match ((t (:foreground ,green :weight bold)))) 182 | 183 | ;; helm 184 | (helm-M-x-key ((t (:foreground ,magenta)))) 185 | (helm-buffer-directory ((t (:foreground, yellow :weight bold)))) 186 | (helm-buffer-file ((t (:foreground ,base04)))) 187 | (helm-buffer-not-saved ((t (:foreground ,red :slant italic )))) 188 | (helm-buffer-process ((t (:foregorund ,blue)))) 189 | (helm-buffer-saved-out ((t (:foreground ,cyan)))) 190 | (helm-buffer-size ((t (:foreground ,magenta)))) 191 | (helm-candidate-number ((t (:foreground ,red :background ,base01 :weight bold)))) 192 | (helm-header-line-left-margin ((t (:foreground ,red)))) 193 | (helm-ff-directory ((t (:foreground ,blue :weight bold)))) 194 | (helm-ff-dotted-directory ((t (:foreground ,red)))) 195 | (helm-ff-executable ((t (:foreground ,base04 :weight bold)))) 196 | (helm-ff-file ((t (:foreground ,base04)))) 197 | (helm-ff-invalid-symlink ((t (:foreground ,red :background ,base01 :underline t)))) 198 | (helm-ff-prefix ((t (:foreground ,yellow :weight bold)))) 199 | (helm-ff-symlink ((t (:foreground ,blue :background ,base01 :weight bold)))) 200 | (helm-match ((t (:foreground ,red :underline t)))) 201 | (helm-selection ((t (:foreground ,green :background ,base02)))) 202 | (helm-source-header ((t (:foreground ,cyan :weight bold )))) 203 | (helm-visible-mark ((t (:foreground ,blue :background ,base01)))) 204 | 205 | ;; mmm-mode 206 | (mmm-code-submode-face ((,class (:background ,current-line)))) 207 | (mmm-comment-submode-face ((,class (:inherit font-lock-comment-face)))) 208 | (mmm-output-submode-face ((,class (:background ,current-line)))) 209 | 210 | ;; info 211 | (info-xref ((t (:foreground ,blue :underline t)))) 212 | (info-xref-visited ((t (:foreground ,magenta :inherit info-xref)))) 213 | 214 | ;; outline 215 | (outline-1 ((t (:foreground ,blue)))) 216 | (outline-2 ((t (:foreground ,cyan)))) 217 | (outline-3 ((t (:foreground ,yellow)))) 218 | (outline-4 ((t (:foreground ,red)))) 219 | (outline-5 ((t (:foreground ,base04)))) 220 | (outline-6 ((t (:foreground ,base02)))) 221 | (outline-7 ((t (:foreground ,orange)))) 222 | (outline-8 ((t (:foreground ,magenta)))) 223 | 224 | ;; hl-line 225 | (hl-line ((t (:background ,selection :underline nil)))) 226 | 227 | ;; highlight 228 | (highlight ((,class (:foreground ,current-line :background ,highlight)))) 229 | 230 | ;; fringe 231 | ;; (fringe ((t (:background ,current-line)))) 232 | (fringe ((t (:foreground ,base02 :background ,base01)))) 233 | 234 | ;; header 235 | (header-line ((t (:foreground ,base04 :background ,base01 :weight bold)))) 236 | 237 | ;; linum 238 | (linum ((t (:foreground ,base02 :background ,base01)))) 239 | 240 | ;; org 241 | (org-level-1 ((t (:inherit outline-1 :bold t)))) 242 | (org-level-2 ((t (:inherit outline-2)))) 243 | (org-level-3 ((t (:inherit outline-3)))) 244 | (org-level-4 ((t (:inherit outline-4)))) 245 | (org-level-5 ((t (:inherit outline-5)))) 246 | (org-level-6 ((t (:inherit outline-6)))) 247 | (org-level-7 ((t (:inherit outline-7)))) 248 | (org-level-8 ((t (:inherit outline-8)))) 249 | (org-level-9 ((t (:inherit outline-9)))) 250 | (org-block ((,class (:foreground ,green :background ,far-background)))) 251 | (org-block-background ((,t (:background ,far-background)))) 252 | 253 | (org-hide ((t (:foreground ,base00)))) 254 | (org-link ((t (:inherit link)))) 255 | ;; (org-todo ((t (:foreground ,base00 :background ,red :weight bold)))) 256 | (org-todo ((t (:foreground ,red :bold t)))) 257 | (org-done ((t (:foreground ,green :weight bold)))) 258 | (org-todo-kwd-face ((t (:foreground ,red :background ,base00)))) 259 | (org-done-kwd-face ((t (:foreground ,green :background ,base00)))) 260 | (org-project-kwd-face ((t (:foreground ,magenta :background ,base00)))) 261 | (org-waiting-kwd-face ((t (:foreground ,orange :background ,base00)))) 262 | (org-someday-kwd-face ((t (:foreground ,blue :background ,base00)))) 263 | (org-started-kwd-face ((t (:foreground ,yellow :background ,base00)))) 264 | (org-cancelled-kwd-face ((t (:foreground ,green :background ,base00)))) 265 | (org-delegated-kwd-face ((t (:foreground ,cyan :background ,base00)))) 266 | 267 | ;; table 268 | (table-cell ((t (:foreground ,base04 :background ,base00)))) 269 | 270 | ;; speedbar 271 | (speedbar-button-face ((t (:foreground ,base05)))) 272 | (speedbar-directory-face ((t (:foreground ,orange)))) 273 | (speedbar-file-face ((t (:foreground ,green)))) 274 | (speedbar-highlight-face ((t (:background ,base01)))) 275 | (speedbar-selected-face ((t (:foreground ,yellow :underline t)))) 276 | (speedbar-separator-face ((t (:inherit default)))) 277 | (speedbar-tag-face ((t (:foreground ,blue)))) 278 | 279 | ;; show-paren 280 | (show-paren-match ((t (:foreground ,cyan :background ,base01 :weight bold :underline t)))) 281 | (show-paren-mismatch ((t (:inherit error)))) 282 | 283 | ;; bm visual bookmarks 284 | (bm-fringe-face ((t (:foreground ,base00 :background ,orange)))) 285 | (bm-fringe-persistent-face ((t (:foreground ,base00 :background ,blue)))) 286 | 287 | ;; Flymake 288 | (flymake-errline ((t (:underline (:color ,red :style wave) :inherit default)))) ; ErrorMsg 289 | (flymake-warnline ((t (:underline (:color ,orange :style wave) :inherit default)))) ; WarningMsg 290 | 291 | ;; column-marker 292 | (column-marker-1 ((t (:background ,base02)))) 293 | (column-marker-2 ((t (:background ,cyan)))) 294 | (column-marker-3 ((t (:background ,magenta)))) 295 | 296 | ;; jabber 297 | (jabber-activity-face ((t (:foreground ,red :weight bold)))) 298 | (jabber-activity-personal-face ((t (:foreground ,blue :weight bold)))) 299 | (jabber-chat-error ((t (:foreground ,red :weight bold)))) 300 | (jabber-chat-prompt-foreign ((t (:foreground ,red :weight bold)))) 301 | (jabber-chat-prompt-local ((t (:foreground ,blue :weight bold)))) 302 | (jabber-chat-prompt-system ((t (:foreground ,green :weight bold)))) 303 | (jabber-chat-text-foreign ((t (:foreground ,base05)))) 304 | (jabber-chat-text-local ((t (:foreground ,base04)))) 305 | (jabber-chat-rare-time-face ((t (:foreground ,green :underline t)))) 306 | (jabber-roster-user-away ((t (:foreground ,green :slant italic)))) 307 | (jabber-roster-user-chatty ((t (:foreground ,orange :weight bold)))) 308 | (jabber-roster-user-dnd ((t (:foreground ,red :slant italic)))) 309 | (jabber-roster-user-error ((t (:foregournd ,red :weight light :slant italic)))) 310 | (jabber-roster-user-offline ((t (:foreground ,base02)))) 311 | (jabber-roster-user-online ((t (:foreground ,blue :weight bold )))) 312 | (jabber-roster-user-xa ((t (:foreground ,magenta :slant italic)))) 313 | 314 | ;; git-gutter 315 | (git-gutter:modified ((t (:foreground ,magenta)))) 316 | (git-gutter:added ((t (:foreground ,green)))) 317 | (git-gutter:deleted ((t (:foreground ,red)))) 318 | 319 | ;; gnus 320 | (gnus-cite-1 ((t (:foreground ,blue)))) 321 | (gnus-cite-2 ((t (:foreground ,cyan)))) 322 | (gnus-cite-3 ((t (:foreground ,yellow)))) 323 | (gnus-cite-4 ((t (:foreground ,red)))) 324 | (gnus-cite-5 ((t (:foreground ,orange)))) 325 | (gnus-cite-6 ((t (:foreground ,magenta)))) 326 | (gnus-cite-7 ((t (:foreground ,green)))) 327 | (gnus-cite-8 ((t (:foreground ,magenta)))) 328 | (gnus-cite-9 ((t (:foreground ,base03)))) 329 | (gnus-cite-10 ((t (:foreground ,base02)))) 330 | (gnus-cite-11 ((t (:foreground ,base01)))) 331 | (gnus-group-mail-1 ((t (:foreground ,base07 :weight bold)))) 332 | (gnus-group-mail-1-empty ((t (:foreground ,base07)))) 333 | (gnus-group-mail-2 ((t (:foreground ,base06 :weight bold)))) 334 | (gnus-group-mail-2-empty ((t (:foreground ,base06)))) 335 | (gnus-group-mail-3 ((t (:foreground ,magenta :weight bold)))) 336 | (gnus-group-mail-3-empty ((t (:foreground ,magenta)))) 337 | (gnus-group-mail-low ((t (:foreground ,base03 :weight bold)))) 338 | (gnus-group-mail-low-empty ((t (:foreground ,base03)))) 339 | (gnus-group-news-1 ((t (:foreground ,base05 :weight bold)))) 340 | (gnus-group-news-1-empty ((t (:foreground ,base05)))) 341 | (gnus-group-news-2 ((t (:foreground ,blue :weight bold)))) 342 | (gnus-group-news-2-empty ((t (:foreground ,blue)))) 343 | (gnus-group-news-low ((t (:foreground ,magenta :weight bold)))) 344 | (gnus-group-news-low-empty ((t (:foreground ,magenta)))) 345 | (gnus-emphasis-highlight-words ((t (:foreground ,yellow)))) 346 | (gnus-header-content ((t (:foreground ,base02)))) ; hdrdefault 347 | (gnus-header-from ((t (:foreground ,base03)))) ; header ^From 348 | (gnus-header-name ((t (:foregrund ,base02)))) ; hdrdefault 349 | (gnus-header-newsgroups ((t (:foreground ,base01)))) 350 | (gnus-header-subject ((t (:foreground ,blue)))) 351 | (gnus-server-agent ((t (:foreground ,base07 :weight bold)))) 352 | (gnus-server-closed ((t (:foreground ,base05 :slant italic)))) 353 | (gnus-server-denied ((t (:foreground ,base06 :weight bold)))) 354 | 355 | (gnus-server-offline ((t (:foreground ,green :weight bold)))) 356 | (gnus-server-opened ((t (:foreground ,cyan :weight bold)))) 357 | (gnus-signature ((t (:foreground ,base02)))) 358 | (gnus-splash ((t (:foreground ,base06)))) 359 | (gnus-summary-cancelled ((t (:foreground ,red)))) 360 | (gnus-summary-high-ancient ((t (:weight bold :inherit gnus-summary-normal-ancient)))) 361 | (gnus-summary-high-read ((t (:weight bold :inherit gnus-summary-normal-read)))) 362 | (gnus-summary-high-ticked ((t (:weight bold :inherit gnus-summary-normal-ticked)))) 363 | (gnus-summary-high-undownloaded ((t (:weight bold :inherit gnus-summary-normal-undownloaded)))) 364 | (gnus-summary-high-unread ((t (:weight bold :inherit gnus-summary-normal-unread)))) 365 | (gnus-summary-low-ancient ((t (:slant italic :inherit gnus-summary-normal-ancient)))) 366 | (gnus-summary-low-read ((t (:slant italic :inherit gnus-summary-normal-ancient)))) 367 | (gnus-summary-low-unread ((t (:slant italic :inherit gnus-summary-normal-unread)))) 368 | (gnus-summary-low-ticked ((t (:slant italic :inherit gnus-summary-normal-ancient)))) 369 | (gnus-summary-low-undownloaded ((t (:slant italic :inherit gnus-summary-normal-ancient)))) 370 | (gnus-summary-normal-ancient ((t (:foreground ,blue)))) 371 | (gnus-summary-normal-read ((t (:foreground ,base02)))) 372 | (gnus-summary-normal-ticked ((t (:foreground ,red)))) 373 | (gnus-summary-normal-undownloaded ((t (:foreground ,base06)))) 374 | (gnus-summary-normal-unread ((t (:foreground ,blue)))) 375 | (gnus-summary-selected ((t (:foreground ,base00 :background ,yellow)))) 376 | 377 | ;; magit 378 | (magit-bisect-bad ((t (:foreground ,red)))) 379 | (magit-bisect-good ((t (:foreground ,green)))) 380 | (magit-biset-skip ((t (:foreground ,blue)))) 381 | (magit-branch-current ((t (:foreground ,green)))) 382 | (magit-branch-local ((t (:foreground ,cyan)))) 383 | (magit-branch-remote ((t (:foreground ,yellow)))) 384 | (magit-cherry-equivalent ((t (:foreground ,base04)))) 385 | (magit-cherry-unmatched ((t (:foreground ,orange)))) 386 | (magit-dimmed ((t (:foregrund ,base02 :slant italic)))) 387 | (magit-hash ((t (:foreground ,base06)))) 388 | (magit-header-line ((t (:foreground ,blue :weight bold)))) 389 | (magit-log-author ((t (:foregrund ,cyan)))) 390 | (magit-log-date ((t (:foreground ,blue)))) 391 | (magit-log-graph ((t (:foreground ,base02)))) 392 | (magit-process-ng ((t (:foreground ,red :weight bold)))) 393 | (magit-process-ok ((t (:foreground ,green :weight bold)))) 394 | (magit-refname ((t (:foreground ,magenta)))) 395 | (magit-section-heading ((t (:foreground ,cyan :weight bold)))) 396 | (magit-siganture-unmatched ((t (:foreground ,magenta)))) 397 | (magit-siganture-untrusted ((t (:foreground ,magenta)))) 398 | (magit-signature-bad ((t (:foreground ,red)))) 399 | (magit-signature-good ((t (:foreground ,green)))) 400 | (magit-tag ((t (:foreground ,orange)))) 401 | 402 | ;; message 403 | (message-header-name ((t (:foreground ,cyan)))) 404 | (message-header-other ((t (:inherit font-lock-type-face)))) 405 | (message-header-from ((t (:inherit font-lock-variable-name-face)))) 406 | (message-header-to ((t (:inherit font-lock-variable-name-face)))) 407 | (message-header-cc ((t (:inherit font-lock-variable-name-face)))) 408 | (message-header-bcc ((t (:inherit font-lock-variable-name-face)))) 409 | (message-header-subject ((t (:inherit font-lock-builtin-face)))) 410 | (message-cited-text ((t (:inherit font-lock-builtin-face :bold nil :italic t)))) 411 | 412 | ;; TODO: need to review 413 | (message-mml ((t (:foreground ,blue)))) 414 | (message-separator ((t (:foreground ,base07)))) 415 | (message-header-xheader ((t (:foreground ,magenta)))) 416 | (message-header-newsgroups ((t (:foreground ,yellow :weight bold)))) 417 | 418 | 419 | ;; parenface 420 | (paren-face ((t (:foreground ,base02)))) 421 | 422 | ;; slime 423 | (slime-error-face ((t (:foreground ,red :inverse-video t)))) ; ErrorMsg 424 | (slime-note-face ((t (:foreground ,yellow)))) 425 | (slime-repl-inputted-output-face ((t (:foreground ,red)))) 426 | (slime-repl-output-mouseover-face ((t (:box (:color ,base07))))) 427 | (slime-style-warning-face ((t (:foreground ,orange :weight bold)))) 428 | (slime-warning-face ((t (:foreground ,red :weight bold)))) ; WarningMsg 429 | 430 | ;; whitespace 431 | (whitespace-empty ((t (:foreground ,red)))) 432 | (whitespace-hspace ((t (:foreground ,orange)))) 433 | (whitespace-indentation ((t (:foreground ,base01)))) 434 | (whitespace-space ((t (:foreground ,base01)))) 435 | (whitespace-space-after-tab ((t (:foreground ,cyan)))) 436 | (whitespace-space-before-tab ((t (:foreground ,red :weight bold)))) 437 | (whitespace-tab ((t (:foreground ,base01)))) 438 | (whitespace-trailing ((t (:foreground ,red :background ,base01 :weight bold)))) 439 | (whitespace-highlight-face ((t (:foreground ,@red :background ,blue)))) 440 | (whitespace-line ((t (:foreground ,magenta :background ,base00)))) 441 | 442 | ;; rcirc 443 | (rcirc-my-nick ((t (:foreground ,blue)))) 444 | (rcirc-nick-in-message ((t (:foreground ,orange)))) 445 | (rcirc-other-nick ((t (:foreground ,green)))) 446 | (rcirc-prompt ((t (:foreground ,yellow)))) 447 | (rcirc-bright-nick ((t (:foreground ,magenta)))) 448 | (rcirc-server ((t (:foreground ,base05)))) 449 | (rcirc-timestamp ((t (:foreground ,base02)))) 450 | 451 | ;; erc 452 | ;;(erc-input-face ((t (:foreground ,base02)))) 453 | (erc-keyword-face ((t (:foreground ,yellow :weight bold)))) 454 | (erc-my-nick-face ((t (:foreground ,blue)))) 455 | (erc-nick-defaunoctilux-face ((t (:foreground ,cyan)))) 456 | (erc-notice-face ((t (:foreground ,blue)))) 457 | (erc-timestamp-face ((t (:foreground ,base02)))) 458 | 459 | ;; evil 460 | (evil-ex-lazy-highlight ((t (:inherit lazy-highlight)))) 461 | (evil-ex-search ((t (:inherit isearch)))) 462 | (evil-ex-substitute-matches ((t (:foreground ,orange)))) 463 | (evil-ex-substitute-replacement ((t (:foreground ,red :underline t)))) 464 | 465 | ;;font-latex 466 | (font-latex-warning-face ((t (:foreground ,red)))) 467 | (font-latex-sectioning-5-face ((t (:foreground ,magenta)))) 468 | 469 | ;;flyspell 470 | (flyspell-incorrect ((t (:foreground ,red)))) 471 | (flyspell-duplicate ((t (:foreground ,yellow)))) 472 | 473 | ;; company-mode 474 | (company-tooltip ((t (:foreground ,base04 :background ,base01)))) 475 | (company-tooltip-selection ((t (:foreground ,base04 :background ,base02)))) 476 | (company-tooltip-mouse ((t (:background ,base01)))) 477 | (company-tooltip-common ((t (:foreground ,magenta :background ,base01)))) 478 | (company-tooltip-common-selection ((t (:foreground ,magenta :background ,base02)))) 479 | (company-tooltip-annotation ((t (:foreground ,base04 :background ,base01)))) 480 | (company-scrollbar-fg ((t (:background ,base02)))) 481 | (company-scrollbar-bg ((t (:background ,base07)))) 482 | (company-preview ((t (:foreground ,base04 :background ,base02)))) 483 | (company-preview-common ((t (:foreground ,base04 :background ,base02)))) 484 | (company-preview-search ((t (:foreground ,magenta :background ,base02)))) 485 | (company-echo ((t nil))) 486 | (company-echo-common ((t (:foreground ,magenta)))) 487 | 488 | ;; ;; ansi-term 489 | (term-color-black ((t (:foreground ,black)))) 490 | (term-color-red ((t (:foreground ,red)))) 491 | (term-color-green ((t (:foreground ,green)))) 492 | (term-color-yellow ((t (:foreground ,yellow)))) 493 | (term-color-blue ((t (:foreground ,blue)))) 494 | (term-color-magenta ((t (:foreground ,magenta)))) 495 | (term-color-cyan ((t (:foreground ,cyan)))) 496 | (term-color-white ((t (:foreground ,white)))) 497 | 498 | 499 | ;;;; Following need to re-check 500 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 501 | 502 | (escape-glyph-face ((,class (:foreground ,red)))) 503 | 504 | (isearch ((t (:foreground ,orange :backbround ,base00 :weight normal :slant normal :underline nil :inverse-video t)))) ; IncSearch 505 | (isearch-fail ((t (:foreground ,orange :background ,base00 :weight normal :slant normal :underline nil :inverse-video t)))) ; IncSearch 506 | (lazy-highlight ((t (:foreground ,yellow :background ,base00 :weight normal :slant normal :underline nil :inverse-video t)))) ; Search 507 | 508 | 509 | (menu ((t (:foreground ,base04 :background ,base01)))) 510 | 511 | ;; (region ((t (:foreground ,base02 :background ,base00 :weight bold :slant normal :underline nil :inverse-video t)))) ; Visual 512 | (secondary-selection ((t (:background ,base01)))) 513 | ;; (shadow ((t (:foreground ,base02)))) 514 | (trailing-whitespace ((t (:foreground ,red :weight normal :slant normal :underline nil :inverse-video t)))) 515 | (vertical-border ((t (:foreground ,base04)))) 516 | 517 | ;; (outline-4 ((,class (:slant normal :foreground ,comment)))) 518 | 519 | ;; ;; Font locks 520 | ;; (font-lock-builtin-face ((t (:foreground "#4BC98A")))) 521 | ;; (font-lock-comment-face ((t (:foreground ,comment :italic t)))) 522 | ;; (font-lock-constant-face ((t (:foreground "#E53F3F" :bold t)))) 523 | ;; (font-lock-function-name-face ((t (:foreground "#AD7FA8" :italic t :bold t)))) 524 | ;; (font-lock-keyword-face ((t (:foreground "#FFC125")))) 525 | ;; (font-lock-string-face ((t (:foreground "#95E454" :italic t)))) 526 | ;; (font-lock-type-face ((t (:foreground "#CAE682")))) 527 | ;; (font-lock-variable-name-face ((t (:foreground "#4BC98A")))) 528 | ;; (font-lock-warning-face ((t (:foreground "#E91303" :bold t)))) 529 | ;; (font-lock-doc-face ((t (:foreground "#40AAFA")))) 530 | 531 | ;; ;; Auto Complete 532 | ;; (ac-candidate-face ((t (:background ,selection :foreground ,foreground)))) 533 | ;; (ac-selection-face ((t (:background ,highlight :foreground ,background)))) 534 | 535 | ;; ;; Elscreen 536 | ;; (elscreen-tab-background-face ((t (:background ,background)))) 537 | ;; (elscreen-tab-control-face ((t (:foreground ,foreground :background "black" 538 | ;; :weight extra-bold)))) 539 | ;; (elscreen-tab-current-screen-face ((t (:background "#250628" :foreground "Gray90" 540 | ;; :bold t)))) 541 | ;; (elscreen-tab-other-screen-face ((t (:background "#1D1D1F" :foreground "Gray85" 542 | ;; :bold t)))) 543 | ;; ;; Evil 544 | ;; (evil-state-normal-face ((t :foreground ,purple :bold t))) 545 | ;; (evil-state-insert-face ((t :foreground ,red :bold t))) 546 | ;; (evil-state-visual-face ((t :foreground ,blue :bold t))) 547 | ;; (evil-state-emacs-face ((t :foreground ,green :bold t))) 548 | 549 | ;; ;; Flymake 550 | ;; (flymake-warnline ((,class (:underline ,orange :background ,background)))) 551 | ;; (flymake-errline ((,class (:underline ,red :background ,background)))) 552 | 553 | ;; ;; Clojure errors 554 | ;; (clojure-test-failure-face ((,class (:background nil :inherit flymake-warnline)))) 555 | ;; (clojure-test-error-face ((,class (:background nil :inherit flymake-errline)))) 556 | ;; (clojure-test-success-face ((,class (:background nil :foreground nil :underline ,green)))) 557 | 558 | ;; ;; For Brian Carper's extended clojure syntax table 559 | ;; (clojure-keyword ((,class (:foreground ,yellow)))) 560 | ;; (clojure-parens ((,class (:foreground ,foreground)))) 561 | ;; (clojure-braces ((,class (:foreground ,green)))) 562 | ;; (clojure-brackets ((,class (:foreground ,yellow)))) 563 | ;; (clojure-double-quote ((,class (:foreground ,aqua :background nil)))) 564 | ;; (clojure-special ((,class (:foreground ,blue)))) 565 | ;; (clojure-java-call ((,class (:foreground ,purple)))) 566 | 567 | ;; ;; Search 568 | ;; (match ((,class (:foreground ,blue :background ,background :inverse-video t)))) 569 | ;; (isearch ((,class (:foreground ,yellow :background ,background :inverse-video t)))) 570 | ;; (isearch-lazy-highlight-face ((,class (:foreground ,aqua :background ,background :inverse-video t)))) 571 | ;; (isearch-fail ((,class (:background ,background :inherit font-lock-warning-face :inverse-video t)))) 572 | 573 | ;; ;; IDO 574 | ;; (ido-first-match ((,class (:foreground ,yellow :weight bold)))) 575 | ;; (ido-only-match ((,class (:foreground ,orange :weight bold)))) 576 | ;; (ido-virtual ((,class (:foreground ,comment)))) 577 | ;; (ido-incomplete-regexp ((,class (:foreground ,red :bold t)))) 578 | ;; (ido-subdir ((,class (:foreground ,aqua :bold t)))) 579 | ;; (ido-virtual ((,class (:foreground ,purple)))) 580 | 581 | ;; ;; which-function 582 | ;; (which-func ((,class (:foreground ,blue :background nil :weight bold)))) 583 | 584 | ;; ;; Emacs interface 585 | 586 | ;; (linum ((,class (:foreground ,cursor :background ,background)))) 587 | 588 | ;; ;; (border ((,class (:background ,current-line)))) 589 | ;; ;; (border-glyph ((,class (nil)))) 590 | ;; (highlight ((,class (:foreground ,current-line :background ,green)))) 591 | ;; (link ((,class (:foreground ,blue)))) 592 | ;; (link-visited ((,class (:foreground ,purple)))) 593 | ;; (gui-element ((,class (:background ,current-line :foreground ,foreground)))) 594 | 595 | ;; ;; mode-line 596 | ;; (mode-line ((,class (:background ,background :foreground "#b1c3d4" 597 | ;; :box (:line-width 2 :color "#B184CB"))))) 598 | ;; (mode-line-inactive ((,class (:background ,current-line :foreground "#7b8793" 599 | ;; :box (:line-width 2 :color "#565968"))))) 600 | ;; (mode-line-buffer-id ((,class (:foreground ,foreground :background nil)))) 601 | ;; (mode-line-emphasis ((,class (:foreground ,foreground :slant italic)))) 602 | ;; (mode-line-highlight ((,class (:foreground ,purple :box nil :weight bold)))) 603 | 604 | ;; (minibuffer-prompt ((,class (:foreground ,red :bold t)))) 605 | ;; (region ((,class (:background ,selection)))) 606 | ;; (secondary-selection ((,class (:background ,current-line)))) 607 | 608 | ;; ;; (header-line ((,class (:inherit mode-line :foreground ,purple :background nil)))) 609 | 610 | ;; (trailing-whitespace ((,class (:background ,red :foreground ,yellow)))) 611 | ;; (whitespace-empty ((,class (:foreground ,red :background ,yellow)))) 612 | ;; (whitespace-hspace ((,class (:background ,selection :foreground ,comment)))) 613 | ;; (whitespace-indentation ((,class (:background ,yellow :foreground ,red)))) 614 | ;; (whitespace-line ((,class (:background ,current-line :foreground ,purple)))) 615 | ;; (whitespace-newline ((,class (:foreground ,comment)))) 616 | ;; (whitespace-space ((,class (:background ,current-line :foreground ,comment)))) 617 | ;; (whitespace-space-after-tab ((,class (:background ,yellow :foreground ,red)))) 618 | ;; (whitespace-space-before-tab ((,class (:background ,orange :foreground ,red)))) 619 | ;; (whitespace-tab ((,class (:background ,selection :foreground ,comment)))) 620 | ;; (whitespace-trailing ((,class (:background ,red :foreground ,yellow)))) 621 | 622 | ;; ;; Parenthesis matching (built-in) 623 | ;; (show-paren-match ((,class (:background ,blue :foreground ,current-line)))) 624 | ;; (show-paren-mismatch ((,class (:background ,orange :foreground ,current-line)))) 625 | 626 | ;; ;; Parenthesis matching (mic-paren) 627 | ;; (paren-face-match ((,class (:foreground nil :background nil :inherit show-paren-match)))) 628 | ;; (paren-face-mismatch ((,class (:foreground nil :background nil :inherit show-paren-mismatch)))) 629 | ;; (paren-face-no-match ((,class (:foreground nil :background nil :inherit show-paren-mismatch)))) 630 | 631 | ;; ;; Parenthesis dimming (parenface) 632 | ;; (paren-face ((,class (:foreground ,comment :background nil)))) 633 | 634 | ;; (sh-heredoc ((,class (:foreground nil :inherit font-lock-string-face :weight normal)))) 635 | ;; (sh-quoted-exec ((,class (:foreground nil :inherit font-lock-preprocessor-face)))) 636 | ;; (slime-highlight-edits-face ((,class (:weight bold)))) 637 | ;; (slime-repl-input-face ((,class (:weight normal :underline nil)))) 638 | ;; (slime-repl-prompt-face ((,class (:underline nil :weight bold :foreground ,purple)))) 639 | ;; (slime-repl-result-face ((,class (:foreground ,green)))) 640 | ;; (slime-repl-output-face ((,class (:foreground ,blue :background ,background)))) 641 | 642 | ;; (csv-separator-face ((,class (:foreground ,orange)))) 643 | 644 | ;; (diff-added ((,class (:foreground ,green)))) 645 | ;; (diff-changed ((,class (:foreground ,yellow)))) 646 | ;; (diff-removed ((,class (:foreground ,red)))) 647 | ;; (diff-header ((,class (:background ,current-line)))) 648 | ;; (diff-file-header ((,class (:background ,selection)))) 649 | ;; (diff-hunk-header ((,class (:foreground ,yellow :italic t)))) 650 | ;; (diff-context ((,class (:foreground ,foreground)))) 651 | 652 | ;; (ediff-even-diff-A ((,class (:foreground nil :background nil :inverse-video t)))) 653 | ;; (ediff-even-diff-B ((,class (:foreground nil :background nil :inverse-video t)))) 654 | ;; (ediff-odd-diff-A ((,class (:foreground ,comment :background nil :inverse-video t)))) 655 | ;; (ediff-odd-diff-B ((,class (:foreground ,comment :background nil :inverse-video t)))) 656 | 657 | ;; (eldoc-highlight-function-argument ((,class (:foreground ,green :weight bold)))) 658 | 659 | ;; ;; undo-tree 660 | ;; (undo-tree-visualizer-default-face ((,class (:foreground ,foreground)))) 661 | ;; (undo-tree-visualizer-current-face ((,class (:foreground ,green :weight bold)))) 662 | ;; (undo-tree-visualizer-active-branch-face ((,class (:foreground ,red)))) 663 | ;; (undo-tree-visualizer-register-face ((,class (:foreground ,yellow)))) 664 | 665 | ;; ;; auctex 666 | ;; (font-latex-bold-face ((,class (:foreground ,green)))) 667 | ;; (font-latex-doctex-documentation-face ((,class (:background ,current-line)))) 668 | ;; (font-latex-italic-face ((,class (:foreground ,green)))) 669 | ;; (font-latex-math-face ((,class (:foreground ,orange)))) 670 | ;; (font-latex-sectioning-0-face ((,class (:foreground ,yellow)))) 671 | ;; (font-latex-sectioning-1-face ((,class (:foreground ,yellow)))) 672 | ;; (font-latex-sectioning-2-face ((,class (:foreground ,yellow)))) 673 | ;; (font-latex-sectioning-3-face ((,class (:foreground ,yellow)))) 674 | ;; (font-latex-sectioning-4-face ((,class (:foreground ,yellow)))) 675 | ;; (font-latex-sectioning-5-face ((,class (:foreground ,yellow)))) 676 | ;; (font-latex-sedate-face ((,class (:foreground ,aqua)))) 677 | ;; (font-latex-string-face ((,class (:foreground ,yellow)))) 678 | ;; (font-latex-verbatim-face ((,class (:foreground ,orange)))) 679 | ;; (font-latex-warning-face ((,class (:foreground ,red)))) 680 | 681 | ;; ;; dired+ 682 | ;; (diredp-compressed-file-suffix ((,class (:foreground ,blue)))) 683 | ;; (diredp-dir-heading ((,class (:foreground nil :background nil :inherit heading)))) 684 | ;; (diredp-dir-priv ((,class (:foreground ,aqua :background nil)))) 685 | ;; (diredp-exec-priv ((,class (:foreground ,blue :background nil)))) 686 | ;; (diredp-executable-tag ((,class (:foreground ,red :background nil)))) 687 | ;; (diredp-file-name ((,class (:foreground ,yellow)))) 688 | ;; (diredp-file-suffix ((,class (:foreground ,green)))) 689 | ;; (diredp-flag-mark-line ((,class (:background nil :inherit highlight)))) 690 | ;; (diredp-ignored-file-name ((,class (:foreground ,comment)))) 691 | ;; (diredp-link-priv ((,class (:background nil :foreground ,purple)))) 692 | ;; (diredp-mode-line-flagged ((,class (:foreground ,red)))) 693 | ;; (diredp-mode-line-marked ((,class (:foreground ,green)))) 694 | ;; (diredp-no-priv ((,class (:background nil)))) 695 | ;; (diredp-number ((,class (:foreground ,yellow)))) 696 | ;; (diredp-other-priv ((,class (:background nil :foreground ,purple)))) 697 | ;; (diredp-rare-priv ((,class (:foreground ,red :background nil)))) 698 | ;; (diredp-read-priv ((,class (:foreground ,green :background nil)))) 699 | ;; (diredp-symlink ((,class (:foreground ,purple)))) 700 | ;; (diredp-write-priv ((,class (:foreground ,yellow :background nil)))) 701 | 702 | ;; ;; Magit 703 | ;; (magit-branch ((,class (:foreground ,green)))) 704 | ;; (magit-header ((,class (:inherit nil :weight bold)))) 705 | ;; (magit-item-highlight ((,class (:background ,background)))) 706 | ;; (magit-log-graph ((,class (:foreground ,comment)))) 707 | ;; (magit-log-sha1 ((,class (:foreground ,orange)))) 708 | ;; (magit-log-head-label-bisect-bad ((,class (:foreground ,red)))) 709 | ;; (magit-log-head-label-bisect-good ((,class (:foreground ,green)))) 710 | ;; (magit-log-head-label-default ((,class (:foreground ,yellow :box nil :weight bold)))) 711 | ;; (magit-log-head-label-local ((,class (:foreground ,blue)))) 712 | ;; (magit-log-head-label-remote ((,class (:foreground ,green)))) 713 | ;; (magit-log-head-label-tags ((,class (:foreground ,aqua :box nil :weight bold)))) 714 | ;; (magit-section-title ((,class (:inherit diff-hunk-header)))) 715 | 716 | ;; ;; git-gutter 717 | ;; (git-gutter-fr:modified ((,class (:foreground ,yellow)))) 718 | ;; (git-gutter-fr:added ((,class (:inherit diff-added)))) 719 | ;; (git-gutter-fr:deleted ((,class (:inherit diff-removed)))) 720 | 721 | ;; (link ((t (:foreground "dodger blue" :underline t)))) 722 | ;; (widget-button ((,class (:underline t)))) 723 | ;; (widget-field ((,class (:background ,current-line :box (:line-width 1 :color ,foreground))))) 724 | 725 | ;; ;; Compilation (most faces politely inherit from 'success, 'error, 'warning etc.) 726 | ;; (compilation-column-number ((,class (:foreground ,yellow)))) 727 | ;; (compilation-line-number ((,class (:foreground ,yellow)))) 728 | ;; (compilation-message-face ((,class (:foreground ,blue)))) 729 | ;; (compilation-mode-line-exit ((,class (:foreground ,green)))) 730 | ;; (compilation-mode-line-fail ((,class (:foreground ,red)))) 731 | ;; (compilation-mode-line-run ((,class (:foreground ,blue)))) 732 | 733 | ;; ;; Grep 734 | ;; (grep-context-face ((,class (:foreground ,comment)))) 735 | ;; (grep-error-face ((,class (:foreground ,red :weight bold :underline t)))) 736 | ;; (grep-hit-face ((,class (:foreground ,blue)))) 737 | ;; (grep-match-face ((,class (:foreground nil :background nil :inherit match)))) 738 | 739 | ;; (regex-tool-matched-face ((,class (:foreground nil :background nil :inherit match)))) 740 | 741 | ;; ;; mark-multiple 742 | ;; (mm/master-face ((,class (:inherit region :foreground nil :background nil)))) 743 | ;; (mm/mirror-face ((,class (:inherit region :foreground nil :background nil)))) 744 | 745 | ;; (org-agenda-structure ((,class (:foreground ,purple)))) 746 | ;; (org-agenda-date ((,class (:foreground ,blue :underline nil)))) 747 | ;; (org-agenda-done ((,class (:foreground ,green)))) 748 | ;; (org-agenda-dimmed-todo-face ((,class (:foreground ,comment)))) 749 | ;; (org-block ((,class (:foreground ,yellow)))) 750 | ;; (org-code ((,class (:foreground ,yellow)))) 751 | ;; (org-column ((,class (:background ,current-line)))) 752 | ;; (org-column-title ((,class (:inherit org-column :weight bold :underline t)))) 753 | ;; (org-date ((,class (:foreground ,purple :underline t :bold t)))) 754 | ;; (org-agenda-date-weekend ((t (:bold t :foreground ,orange :weight bold)))) 755 | ;; (org-document-info ((,class (:foreground ,aqua)))) 756 | ;; (org-document-info-keyword ((,class (:foreground ,green)))) 757 | ;; (org-document-title ((,class (:weight bold :foreground ,orange :height 1.44)))) 758 | ;; (org-ellipsis ((,class (:foreground ,comment)))) 759 | ;; (org-footnote ((,class (:foreground ,aqua)))) 760 | ;; (org-formula ((,class (:foreground ,red)))) 761 | ;; ;;(org-hide ((,class (:foreground ,current-line)))) 762 | ;; (org-hide ((t (:foreground "#0B0B0E")))) 763 | ;; (org-scheduled ((,class (:foreground ,green)))) 764 | ;; (org-scheduled-previously ((,class (:foreground ,orange)))) 765 | ;; (org-scheduled-today ((,class (:foreground ,green)))) 766 | ;; (org-special-keyword ((,class (:foreground ,orange)))) 767 | ;; ;;(org-table ((,class (:foreground ,purple)))) 768 | ;; (org-todo ((,class (:foreground ,red :bold t)))) 769 | ;; (org-done ((t (:foreground "#4BC98A" :bold t)))) 770 | 771 | ;; (org-upcoming-deadline ((,class (:foreground ,orange)))) 772 | ;; (org-warning ((,class (:weight bold :foreground ,red)))) 773 | 774 | ;; (markdown-url-face ((,class (:inherit link)))) 775 | ;; (markdown-link-face ((,class (:foreground ,blue :underline t)))) 776 | 777 | ;; (hl-sexp-face ((,class (:background ,current-line)))) 778 | ;; (highlight-80+ ((,class (:background ,current-line)))) 779 | 780 | ;; ;; Python-specific overrides 781 | ;; (py-builtins-face ((,class (:foreground ,orange :weight normal)))) 782 | 783 | ;; ;; js2-mode 784 | ;; (js2-warning-face ((,class (:underline ,orange)))) 785 | ;; (js2-error-face ((,class (:foreground nil :underline ,red)))) 786 | ;; (js2-external-variable-face ((,class (:foreground ,purple)))) 787 | ;; (js2-function-param-face ((,class (:foreground ,blue)))) 788 | ;; (js2-instance-member-face ((,class (:foreground ,blue)))) 789 | ;; (js2-private-function-call-face ((,class (:foreground ,red)))) 790 | 791 | ;; ;; js3-mode 792 | ;; (js3-warning-face ((,class (:underline ,orange)))) 793 | ;; (js3-error-face ((,class (:foreground nil :underline ,red)))) 794 | ;; (js3-external-variable-face ((,class (:foreground ,purple)))) 795 | ;; (js3-function-param-face ((,class (:foreground ,blue)))) 796 | ;; (js3-jsdoc-tag-face ((,class (:foreground ,orange)))) 797 | ;; (js3-jsdoc-type-face ((,class (:foreground ,aqua)))) 798 | ;; (js3-jsdoc-value-face ((,class (:foreground ,yellow)))) 799 | ;; (js3-jsdoc-html-tag-name-face ((,class (:foreground ,blue)))) 800 | ;; (js3-jsdoc-html-tag-delimiter-face ((,class (:foreground ,green)))) 801 | ;; (js3-instance-member-face ((,class (:foreground ,blue)))) 802 | ;; (js3-private-function-call-face ((,class (:foreground ,red)))) 803 | 804 | ;; ;; nxml 805 | ;; (nxml-name-face ((,class (:foreground unspecified :inherit font-lock-constant-face)))) 806 | ;; (nxml-attribute-local-name-face ((,class (:foreground unspecified :inherit font-lock-variable-name-face)))) 807 | ;; (nxml-ref-face ((,class (:foreground unspecified :inherit font-lock-preprocessor-face)))) 808 | ;; (nxml-delimiter-face ((,class (:foreground unspecified :inherit font-lock-keyword-face)))) 809 | ;; (nxml-delimited-data-face ((,class (:foreground unspecified :inherit font-lock-string-face)))) 810 | ;; (rng-error-face ((,class (:underline ,red)))) 811 | 812 | ;; ;; RHTML 813 | ;; (erb-delim-face ((,class (:background ,current-line)))) 814 | ;; (erb-exec-face ((,class (:background ,current-line :weight bold)))) 815 | ;; (erb-exec-delim-face ((,class (:background ,current-line)))) 816 | ;; (erb-out-face ((,class (:background ,current-line :weight bold)))) 817 | ;; (erb-out-delim-face ((,class (:background ,current-line)))) 818 | ;; (erb-comment-face ((,class (:background ,current-line :weight bold :slant italic)))) 819 | ;; (erb-comment-delim-face ((,class (:background ,current-line)))) 820 | 821 | ;; ;; Message-mode 822 | ;; (message-header-other ((,class (:foreground nil :background nil :weight normal)))) 823 | ;; (message-header-subject ((,class (:inherit message-header-other :weight bold :foreground ,yellow)))) 824 | ;; (message-header-to ((,class (:inherit message-header-other :weight bold :foreground ,orange)))) 825 | ;; (message-header-cc ((,class (:inherit message-header-to :foreground nil)))) 826 | ;; (message-header-name ((,class (:foreground ,blue :background nil)))) 827 | ;; (message-header-newsgroups ((,class (:foreground ,aqua :background nil :slant normal)))) 828 | ;; (message-separator ((,class (:foreground ,purple)))) 829 | 830 | ;; ;; Jabber 831 | ;; (jabber-chat-prompt-local ((,class (:foreground ,yellow)))) 832 | ;; (jabber-chat-prompt-foreign ((,class (:foreground ,orange)))) 833 | ;; (jabber-chat-prompt-system ((,class (:foreground ,yellow :weight bold)))) 834 | ;; (jabber-chat-text-local ((,class (:foreground ,yellow)))) 835 | ;; (jabber-chat-text-foreign ((,class (:foreground ,orange)))) 836 | ;; (jabber-chat-text-error ((,class (:foreground ,red)))) 837 | 838 | ;; (jabber-roster-user-online ((,class (:foreground ,green)))) 839 | ;; (jabber-roster-user-xa ((,class :foreground ,comment))) 840 | ;; (jabber-roster-user-dnd ((,class :foreground ,yellow))) 841 | ;; (jabber-roster-user-away ((,class (:foreground ,orange)))) 842 | ;; (jabber-roster-user-chatty ((,class (:foreground ,purple)))) 843 | ;; (jabber-roster-user-error ((,class (:foreground ,red)))) 844 | ;; (jabber-roster-user-offline ((,class (:foreground ,comment)))) 845 | 846 | ;; (jabber-rare-time-face ((,class (:foreground ,comment)))) 847 | ;; (jabber-activity-face ((,class (:foreground ,purple)))) 848 | ;; (jabber-activity-personal-face ((,class (:foreground ,aqua)))) 849 | 850 | ;; ;; Gnus 851 | ;; (gnus-cite-1 ((,class (:inherit outline-1 :foreground nil)))) 852 | ;; (gnus-cite-2 ((,class (:inherit outline-2 :foreground nil)))) 853 | ;; (gnus-cite-3 ((,class (:inherit outline-3 :foreground nil)))) 854 | ;; (gnus-cite-4 ((,class (:inherit outline-4 :foreground nil)))) 855 | ;; (gnus-cite-5 ((,class (:inherit outline-5 :foreground nil)))) 856 | ;; (gnus-cite-6 ((,class (:inherit outline-6 :foreground nil)))) 857 | ;; (gnus-cite-7 ((,class (:inherit outline-7 :foreground nil)))) 858 | ;; (gnus-cite-8 ((,class (:inherit outline-8 :foreground nil)))) 859 | ;; ;; there are several more -cite- faces... 860 | ;; (gnus-header-content ((,class (:inherit message-header-other)))) 861 | ;; (gnus-header-subject ((,class (:inherit message-header-subject)))) 862 | ;; (gnus-header-from ((,class (:inherit message-header-other-face :weight bold :foreground ,orange)))) 863 | 864 | ;; (gnus-header-name ((,class (:inherit message-header-name)))) 865 | ;; (gnus-button ((,class (:inherit link :foreground nil)))) 866 | ;; (gnus-signature ((,class (:inherit font-lock-comment-face)))) 867 | 868 | ;; (gnus-summary-normal-unread ((,class (:foreground ,blue :weight normal)))) 869 | ;; (gnus-summary-normal-read ((,class (:foreground ,foreground :weight normal)))) 870 | ;; (gnus-summary-normal-ancient ((,class (:foreground ,aqua :weight normal)))) 871 | ;; (gnus-summary-normal-ticked ((,class (:foreground ,orange :weight normal)))) 872 | ;; (gnus-summary-low-unread ((,class (:foreground ,comment :weight normal)))) 873 | ;; (gnus-summary-low-read ((,class (:foreground ,comment :weight normal)))) 874 | ;; (gnus-summary-low-ancient ((,class (:foreground ,comment :weight normal)))) 875 | ;; (gnus-summary-high-unread ((,class (:foreground ,yellow :weight normal)))) 876 | ;; (gnus-summary-high-read ((,class (:foreground ,green :weight normal)))) 877 | ;; (gnus-summary-high-ancient ((,class (:foreground ,green :weight normal)))) 878 | ;; (gnus-summary-high-ticked ((,class (:foreground ,orange :weight normal)))) 879 | ;; (gnus-summary-cancelled ((,class (:foreground ,red :background nil :weight normal)))) 880 | 881 | ;; (gnus-group-mail-low ((,class (:foreground ,comment)))) 882 | ;; (gnus-group-mail-low-empty ((,class (:foreground ,comment)))) 883 | ;; (gnus-group-mail-1 ((,class (:foreground nil :weight normal :inherit outline-1)))) 884 | ;; (gnus-group-mail-2 ((,class (:foreground nil :weight normal :inherit outline-2)))) 885 | ;; (gnus-group-mail-3 ((,class (:foreground nil :weight normal :inherit outline-3)))) 886 | ;; (gnus-group-mail-4 ((,class (:foreground nil :weight normal :inherit outline-4)))) 887 | ;; (gnus-group-mail-5 ((,class (:foreground nil :weight normal :inherit outline-5)))) 888 | ;; (gnus-group-mail-6 ((,class (:foreground nil :weight normal :inherit outline-6)))) 889 | ;; (gnus-group-mail-1-empty ((,class (:inherit gnus-group-mail-1 :foreground ,comment)))) 890 | ;; (gnus-group-mail-2-empty ((,class (:inherit gnus-group-mail-2 :foreground ,comment)))) 891 | ;; (gnus-group-mail-3-empty ((,class (:inherit gnus-group-mail-3 :foreground ,comment)))) 892 | ;; (gnus-group-mail-4-empty ((,class (:inherit gnus-group-mail-4 :foreground ,comment)))) 893 | ;; (gnus-group-mail-5-empty ((,class (:inherit gnus-group-mail-5 :foreground ,comment)))) 894 | ;; (gnus-group-mail-6-empty ((,class (:inherit gnus-group-mail-6 :foreground ,comment)))) 895 | ;; (gnus-group-news-1 ((,class (:foreground nil :weight normal :inherit outline-5)))) 896 | ;; (gnus-group-news-2 ((,class (:foreground nil :weight normal :inherit outline-6)))) 897 | ;; (gnus-group-news-3 ((,class (:foreground nil :weight normal :inherit outline-7)))) 898 | ;; (gnus-group-news-4 ((,class (:foreground nil :weight normal :inherit outline-8)))) 899 | ;; (gnus-group-news-5 ((,class (:foreground nil :weight normal :inherit outline-1)))) 900 | ;; (gnus-group-news-6 ((,class (:foreground nil :weight normal :inherit outline-2)))) 901 | ;; (gnus-group-news-1-empty ((,class (:inherit gnus-group-news-1 :foreground ,comment)))) 902 | ;; (gnus-group-news-2-empty ((,class (:inherit gnus-group-news-2 :foreground ,comment)))) 903 | ;; (gnus-group-news-3-empty ((,class (:inherit gnus-group-news-3 :foreground ,comment)))) 904 | ;; (gnus-group-news-4-empty ((,class (:inherit gnus-group-news-4 :foreground ,comment)))) 905 | ;; (gnus-group-news-5-empty ((,class (:inherit gnus-group-news-5 :foreground ,comment)))) 906 | ;; (gnus-group-news-6-empty ((,class (:inherit gnus-group-news-6 :foreground ,comment)))) 907 | 908 | ;; ;; erc 909 | ;; (erc-direct-msg-face ((,class (:foreground ,orange)))) 910 | ;; (erc-error-face ((,class (:foreground ,red)))) 911 | ;; (erc-header-face ((,class (:foreground ,foreground :background ,selection)))) 912 | ;; (erc-input-face ((,class (:foreground ,green)))) 913 | ;; (erc-keyword-face ((,class (:foreground ,yellow)))) 914 | ;; (erc-current-nick-face ((,class (:foreground ,green)))) 915 | ;; (erc-my-nick-face ((,class (:foreground ,green)))) 916 | ;; (erc-nick-default-face ((,class (:weight normal :foreground ,purple)))) 917 | ;; (erc-nick-msg-face ((,class (:weight normal :foreground ,yellow)))) 918 | ;; (erc-notice-face ((,class (:foreground ,comment)))) 919 | ;; (erc-pal-face ((,class (:foreground ,orange)))) 920 | ;; (erc-prompt-face ((,class (:foreground ,blue)))) 921 | ;; (erc-timestamp-face ((,class (:foreground ,aqua)))) 922 | 923 | ;; ;; woman 924 | ;; (woman-italic-face ((t (:slant italic :weight bold)))) 925 | ;; (woman-unknown ((t (:foreground ,red :weight bold)))) 926 | ;; (woman-addition ((t (:foreground ,aqua)))) 927 | ;; (woman-bold ((t (:inherit bold :foreground ,blue)))) 928 | 929 | ;; (custom-variable-tag ((,class (:foreground ,blue)))) 930 | ;; (custom-group-tag ((,class (:foreground ,blue)))) 931 | ;; (custom-state ((,class (:foreground ,green)))) 932 | 933 | ))) 934 | 935 | ;;;###autoload 936 | (when (boundp 'custom-theme-load-path) 937 | (add-to-list 'custom-theme-load-path 938 | (file-name-as-directory (file-name-directory (or load-file-name (buffer-file-name)))))) 939 | 940 | (provide 'coldnew-theme) 941 | ;;; coldnew-theme.el ends here 942 | 943 | ;; Local Variables: 944 | ;; byte-compile-warnings: (not cl-functions) 945 | ;; End: 946 | -------------------------------------------------------------------------------- /styles/day-coldnew-theme.el: -------------------------------------------------------------------------------- 1 | ;;; day-coldnew-theme.el --- coldnew's emacs color-theme day version. 2 | 3 | ;; Copyright (C) 2016 Yen-Chin, Lee. 4 | 5 | ;; Author: coldnew 6 | ;; Kyewords: themes 7 | ;; Version: 0.3 8 | ;; X-Original-Version: 0.3 9 | ;; Package-Requires: ((emacs "24.3")) 10 | 11 | ;; This file is free software: you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation, either version 3 of the License, or 14 | ;; (at your option) any later version. 15 | 16 | ;; This file is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with GNU Emacs. If not, see . 23 | 24 | ;;; Commentary: 25 | 26 | ;;; Code: 27 | (require 'coldnew-theme) 28 | 29 | ;; Add color definition 30 | (add-to-list 31 | 'coldnew-theme-colors 32 | '(day 33 | . ( ;; name sRGB 256 34 | (background "#FAFAFA" "#FAFAFA") 35 | (far-background "#1c1f26" "#121212") 36 | (foreground "#212121" "#212121") 37 | (cursor "#00c8c8" "#00c8c8") 38 | (current-line "#ECEFF1" "#dadada") 39 | (selection "#3b3f41" "#3b3f41") 40 | (highlight "#CAE682" "#CAE682") 41 | 42 | ;; font-lock 43 | (buildin "#ccaaff" "#ccaaff") 44 | (constant "#ccaaff" "#ccaaff") 45 | (comment "#607d8b" "#607d8b") 46 | (comment-delimiter "#5f5f5f" "#5f5f5f") 47 | (doc "#97abc6" "#97abc6") 48 | (function-name "#aaccff" "#aaccff") 49 | (keyword "#aaffaa" "#aaffaa") 50 | (type "#fff59d" "#fff59d") 51 | (variable-name "#aaccff" "#aaccff") 52 | (string "#aadddd" "#aadddd") 53 | 54 | ;; extra color 55 | (base00 "#202020" "#202020") 56 | (base01 "#292929" "#292929") 57 | (base02 "#5f5f5f" "#5f5f5f") 58 | (base03 "#999999" "#999999") 59 | (base04 "#cccccc" "#cccccc") 60 | (base05 "#aaaaaa" "#aaaaaa") 61 | (base06 "#e9e2cb" "#e9e2cb") 62 | (base07 "#fcf4dc" "#fcf4dc") 63 | 64 | ;; terminal color 65 | (aqua "#00796b" "#00796b") 66 | (black "#2a2a2a" "#2a2a2a") 67 | (blue "#2196f3" "#2196f3") 68 | (cyan "#aadddd" "#aadddd") 69 | (green "#558b2f" "#558b2f") 70 | (magenta "#4527A0" "#4527A0") 71 | (orange "#FF5722" "#FF5722") 72 | (red "#B71C1C" "#B71C1C") 73 | (white "#ffffff" "#ffffff") 74 | (yellow "#FFA000" "#FFA000") 75 | 76 | ;; rainbow delimiters 77 | (rainbow-1 "#e91e63" "#e91e63") 78 | (rainbow-2 "#1565C0" "#1565C0") 79 | (rainbow-3 "#EF6C00" "#EF6C00") 80 | (rainbow-4 "#B388FF" "#B388FF") 81 | (rainbow-5 "#76FF03" "#76FF03") 82 | (rainbow-6 "#26A69A" "#26A69A") 83 | (rainbow-7 "#B71C1C" "#B71C1C") 84 | (rainbow-8 "#795548" "#795548") 85 | (rainbow-9 "#827717" "#827717") 86 | ))) 87 | 88 | 89 | ;; Create color theme 90 | (deftheme day-coldnew "coldnew's day theme") 91 | 92 | (coldnew-theme--with-colors 93 | 'day 94 | (apply 'custom-theme-set-faces 'day-coldnew 95 | (coldnew-theme--face-specs)) 96 | (custom-theme-set-variables 97 | 'day-coldnew 98 | `(ansi-color-names-vector (vector ,foreground ,red ,green ,yellow ,blue ,magenta ,cyan ,background)) 99 | '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold]))) 100 | 101 | (provide-theme 'day-coldnew) 102 | 103 | (provide 'day-coldnew-theme) 104 | ;;; day-coldnew-theme.el ends here 105 | -------------------------------------------------------------------------------- /styles/night-coldnew-theme.el: -------------------------------------------------------------------------------- 1 | ;;; night-coldnew-theme.el --- coldnew's emacs color-theme night version. -*- lexical-binding: t; -*- 2 | 3 | ;; Copyright (C) 2016 Yen-Chin, Lee. 4 | 5 | ;; Author: coldnew 6 | ;; Kyewords: themes 7 | ;; Version: 0.3 8 | ;; X-Original-Version: 0.3 9 | ;; Package-Requires: ((emacs "24.3")) 10 | 11 | ;; This file is free software: you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation, either version 3 of the License, or 14 | ;; (at your option) any later version. 15 | 16 | ;; This file is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with GNU Emacs. If not, see . 23 | 24 | ;;; Commentary: 25 | 26 | ;;; Code: 27 | (require 'coldnew-theme) 28 | 29 | ;; Add color definition 30 | (add-to-list 31 | 'coldnew-theme-colors 32 | '(night 33 | . (;; name sRGB 256 34 | (background "#202020" "#202020") 35 | (far-background "#1c1f26" "#121212") 36 | (foreground "#c6cccc" "#c6cccc") 37 | (cursor "#00c8c8" "#00c8c8") 38 | (current-line "#2a2a2a" "#2a2a2a") 39 | (selection "#3b3f41" "#3b3f41") 40 | (highlight "#CAE682" "#CAE682") 41 | 42 | ;; font-lock 43 | (buildin "#ccaaff" "#ccaaff") 44 | (constant "#ccaaff" "#ccaaff") 45 | (comment "#9ac" "#9ac") 46 | (comment-delimiter "#5f5f5f" "#5f5f5f") 47 | (doc "#97abc6" "#97abc6") 48 | (function-name "#aaccff" "#aaccff") 49 | (keyword "#aaffaa" "#aaffaa") 50 | (type "#fff59d" "#fff59d") 51 | (variable-name "#aaccff" "#aaccff") 52 | (string "#aadddd" "#aadddd") 53 | 54 | ;; extra color 55 | (base00 "#202020" "#202020") 56 | (base01 "#292929" "#292929") 57 | (base02 "#5f5f5f" "#5f5f5f") 58 | (base03 "#999999" "#999999") 59 | (base04 "#cccccc" "#cccccc") 60 | (base05 "#aaaaaa" "#aaaaaa") 61 | (base06 "#e9e2cb" "#e9e2cb") 62 | (base07 "#fcf4dc" "#fcf4dc") 63 | 64 | ;; terminal color 65 | (red "#ff3333" "#ff3333") 66 | (yellow "#fff59d" "#fff59d") 67 | (orange "#ff8888" "#ff8888") 68 | (green "#aaffaa" "#aaffaa") 69 | (blue "#aaccff" "#aaccff") 70 | (magenta "#ccaaff" "#ccaaff") 71 | (cyan "#aadddd" "#aadddd") 72 | (white "#ffffff" "#ffffff") 73 | (black "#2a2a2a" "#2a2a2a") 74 | (aqua "#81d4fa" "#81d4fa") 75 | 76 | ;; rainbow delimiters 77 | (rainbow-1 "#aadddd" "#aadddd") 78 | (rainbow-2 "#81d4fa" "#81d4fa") 79 | (rainbow-3 "#aaccff" "#aaccff") 80 | (rainbow-4 "#aaeecc" "#aaeecc") 81 | (rainbow-5 "#ccaaff" "#ccaaff") 82 | (rainbow-6 "#fff59d" "#fff59d") 83 | (rainbow-7 "#ff8888" "#ff8888") 84 | (rainbow-8 "#795548" "#795548") 85 | (rainbow-9 "#827717" "#827717") 86 | ))) 87 | 88 | 89 | ;; Create color theme 90 | (deftheme night-coldnew "coldnew's night theme") 91 | 92 | (coldnew-theme--with-colors 93 | 'night 94 | (apply 'custom-theme-set-faces 'night-coldnew 95 | (coldnew-theme--face-specs)) 96 | (custom-theme-set-variables 97 | 'night-coldnew 98 | `(ansi-color-names-vector (vector ,foreground ,red ,green ,yellow ,blue ,magenta ,cyan ,background)) 99 | '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold]))) 100 | 101 | (provide-theme 'night-coldnew) 102 | 103 | (provide 'night-coldnew-theme) 104 | ;;; night-coldnew-theme.el ends here 105 | --------------------------------------------------------------------------------