diff --git a/lain/.emacs.d/colors.el b/lain/.emacs.d/colors.el new file mode 100755 index 0000000..a53dd2d --- /dev/null +++ b/lain/.emacs.d/colors.el @@ -0,0 +1,447 @@ +;;; A wal color theme for emacs, based on the Xresources theme +;;; Credits to cqql who basically created this theme, here's the original: +;;; https://github.com/cqql/xresources-theme + +(deftheme wal "wal colors as a theme") + + ;; Special +(let* ((foreground "{foreground}") + (background "{background}") + (cursor "{cursor}") + ;; Colors + (black "{color1}") + (red "{color1}") + (green "{color2}") + (yellow "{color3}") + (blue "{color4}") + (magenta "{color5}") + (cyan "{color6}") + (gray "{color7}") + (light-gray "{color8}") + (light-red "{color9}") + (light-green "{color10}") + (light-yellow "{color11}") + (light-blue "{color12}") + (light-magenta "{color13}") + (light-cyan "{color14}") + (white "{color15}")) + (custom-theme-set-faces + 'wal + + ;; Built-in + ;; basic coloring + '(button ((t (:underline t)))) + `(link ((t (:foreground ,yellow :underline t :weight bold)))) + `(link-visited ((t (:foreground ,yellow :underline t :weight normal)))) + `(default ((t (:foreground ,foreground :background ,background)))) + `(cursor ((t (:foreground ,foreground :background ,foreground)))) + `(escape-glyph ((t (:foreground ,yellow :bold t)))) + `(fringe ((t (:foreground ,foreground :background ,background)))) + `(header-line ((t (:foreground ,yellow + :background ,background + :box (:line-width -1 :style released-button))))) + `(highlight ((t (:background ,background)))) + `(success ((t (:foreground ,green :weight bold)))) + `(warning ((t (:foreground ,red :weight bold)))) + + ;; compilation + `(compilation-column-face ((t (:foreground ,yellow)))) + `(compilation-enter-directory-face ((t (:foreground ,green)))) + `(compilation-error-face ((t (:foreground ,red :weight bold :underline t)))) + `(compilation-face ((t (:foreground ,foreground)))) + `(compilation-info-face ((t (:foreground ,blue)))) + `(compilation-info ((t (:foreground ,green :underline t)))) + `(compilation-leave-directory-face ((t (:foreground ,green)))) + `(compilation-line-face ((t (:foreground ,yellow)))) + `(compilation-line-number ((t (:foreground ,yellow)))) + `(compilation-message-face ((t (:foreground ,blue)))) + `(compilation-warning-face ((t (:foreground ,red :weight bold :underline t)))) + `(compilation-mode-line-exit ((t (:foreground ,green :weight bold)))) + `(compilation-mode-line-fail ((t (:foreground ,red :weight bold)))) + `(compilation-mode-line-run ((t (:foreground ,yellow :weight bold)))) + + ;; grep + `(grep-context-face ((t (:foreground ,foreground)))) + `(grep-error-face ((t (:foreground ,red :weight bold :underline t)))) + `(grep-hit-face ((t (:foreground ,blue)))) + `(grep-match-face ((t (:foreground ,red :weight bold)))) + `(match ((t (:background ,background :foreground ,red :weight bold)))) + + ;; isearch + `(isearch ((t (:foreground ,yellow :weight bold :background ,background)))) + `(isearch-fail ((t (:foreground ,foreground :background ,red)))) + `(lazy-highlight ((t (:foreground ,yellow :weight bold :background ,background)))) + + `(menu ((t (:foreground ,foreground :background ,background)))) + `(minibuffer-prompt ((t (:foreground ,yellow)))) + `(mode-line + ((t (:foreground ,green + :background ,background + :box (:line-width -1 :style released-button))) + (t :inverse-video t))) + `(mode-line-buffer-id ((t (:foreground ,yellow :weight bold)))) + `(mode-line-inactive + ((t (:foreground ,green + :background ,background + :box (:line-width -1 :style released-button))))) + `(region ((t (:background ,blue)) + (t :inverse-video t))) + `(secondary-selection ((t (:background ,background)))) + `(trailing-whitespace ((t (:background ,red)))) + `(vertical-border ((t (:foreground ,foreground)))) + + ;; font lock + `(font-lock-builtin-face ((t (:foreground ,foreground :weight bold)))) + `(font-lock-comment-face ((t (:foreground ,green)))) + `(font-lock-comment-delimiter-face ((t (:foreground ,green)))) + `(font-lock-constant-face ((t (:foreground ,green)))) + `(font-lock-doc-face ((t (:foreground ,green)))) + `(font-lock-function-name-face ((t (:foreground ,cyan)))) + `(font-lock-keyword-face ((t (:foreground ,yellow :weight bold)))) + `(font-lock-negation-char-face ((t (:foreground ,yellow :weight bold)))) + `(font-lock-preprocessor-face ((t (:foreground ,blue)))) + `(font-lock-regexp-grouping-construct ((t (:foreground ,yellow :weight bold)))) + `(font-lock-regexp-grouping-backslash ((t (:foreground ,green :weight bold)))) + `(font-lock-string-face ((t (:foreground ,red)))) + `(font-lock-type-face ((t (:foreground ,blue)))) + `(font-lock-variable-name-face ((t (:foreground ,red)))) + `(font-lock-warning-face ((t (:foreground ,yellow :weight bold)))) + `(c-annotation-face ((t (:inherit font-lock-constant-face)))) + + ;; which-function-mode + `(which-func ((t (:foreground ,blue)))) + + ;; Third-party + + ;; ace-jump + `(ace-jump-face-background + ((t (:foreground ,foreground :background ,background :inverse-video nil)))) + `(ace-jump-face-foreground + ((t (:foreground ,green :background ,background :inverse-video nil)))) + + ;; auctex + `(font-latex-bold-face ((t (:inherit bold)))) + `(font-latex-warning-face ((t (:foreground nil :inherit font-lock-warning-face)))) + `(font-latex-sectioning-5-face ((t (:foreground ,red :weight bold )))) + `(font-latex-sedate-face ((t (:foreground ,yellow)))) + `(font-latex-italic-face ((t (:foreground ,cyan :slant italic)))) + `(font-latex-string-face ((t (:inherit ,font-lock-string-face)))) + `(font-latex-math-face ((t (:foreground ,red)))) + + ;; auto-complete + `(ac-candidate-face ((t (:background ,foreground :foreground ,background)))) + `(ac-selection-face ((t (:background ,blue :foreground ,foreground)))) + `(popup-tip-face ((t (:background ,yellow :foreground ,background)))) + `(popup-scroll-bar-foreground-face ((t (:background ,blue)))) + `(popup-scroll-bar-background-face ((t (:background ,background)))) + `(popup-isearch-match ((t (:background ,background :foreground ,foreground)))) + + ;; company-mode + `(company-tooltip ((t (:foreground ,foreground :background ,background)))) + `(company-tooltip-selection ((t (:foreground ,foreground :background ,background)))) + `(company-tooltip-mouse ((t (:background ,background)))) + `(company-tooltip-common ((t (:foreground ,green)))) + `(company-tooltip-common-selection ((t (:foreground ,green)))) + `(company-scrollbar-fg ((t (:background ,background)))) + `(company-scrollbar-bg ((t (:background ,background)))) + `(company-preview ((t (:background ,green)))) + `(company-preview-common ((t (:foreground ,green :background ,background)))) + + ;; clojure-test-mode + `(clojure-test-failure-face ((t (:foreground ,red :weight bold :underline t)))) + `(clojure-test-error-face ((t (:foreground ,red :weight bold :underline t)))) + `(clojure-test-success-face ((t (:foreground ,green :weight bold :underline t)))) + + ;; cperl-mode + `(cperl-array-face ((t (:foreground ,yellow)))) + `(cperl-hash-face ((t (:foreground ,cyan)))) + `(cperl-nonoverridable-face ((t (:foreground ,light-magenta)))) + + ;; diff + `(diff-added ((t (:foreground ,green :background nil)) + (t (:foreground ,green :background nil)))) + `(diff-changed ((t (:foreground ,yellow)))) + `(diff-removed ((t (:foreground ,red :background nil)) + (t (:foreground ,red :background nil)))) + `(diff-refine-added ((t (:inherit diff-added :weight bold)))) + `(diff-refine-change ((t (:inherit diff-changed :weight bold)))) + `(diff-refine-removed ((t (:inherit diff-removed :weight bold)))) + `(diff-header ((t (:background ,background)) + (t (:background ,foreground :foreground ,background)))) + `(diff-file-header + ((t (:background ,background :foreground ,foreground :bold t)) + (t (:background ,foreground :foreground ,background :bold t)))) + + ;; diff-hl + `(diff-hl-change ((t (:foreground ,blue :background ,background)))) + `(diff-hl-delete ((t (:foreground ,red :background ,background)))) + `(diff-hl-insert ((t (:foreground ,green :background ,background)))) + `(diff-hl-unknown ((t (:foreground ,yellow :background ,background)))) + + ;; dired+ + `(diredp-display-msg ((t (:foreground ,blue)))) + `(diredp-compressed-file-suffix ((t (:foreground ,red)))) + `(diredp-date-time ((t (:foreground ,magenta)))) + `(diredp-deletion ((t (:foreground ,yellow)))) + `(diredp-deletion-file-name ((t (:foreground ,red)))) + `(diredp-dir-heading ((t (:foreground ,blue :background ,background)))) + `(diredp-dir-priv ((t (:foreground ,cyan)))) + `(diredp-exec-priv ((t (:foreground ,red)))) + `(diredp-executable-tag ((t (:foreground ,green)))) + `(diredp-file-name ((t (:foreground ,blue)))) + `(diredp-file-suffix ((t (:foreground ,green)))) + `(diredp-flag-mark ((t (:foreground ,yellow)))) + `(diredp-flag-mark-line ((t (:foreground ,red)))) + `(diredp-ignored-file-name ((t (:foreground ,red)))) + `(diredp-link-priv ((t (:foreground ,yellow)))) + `(diredp-mode-line-flagged ((t (:foreground ,yellow)))) + `(diredp-mode-line-marked ((t (:foreground ,red)))) + `(diredp-no-priv ((t (:foreground ,foreground)))) + `(diredp-number ((t (:foreground ,green)))) + `(diredp-other-priv ((t (:foreground ,yellow)))) + `(diredp-rare-priv ((t (:foreground ,red)))) + `(diredp-read-priv ((t (:foreground ,green)))) + `(diredp-symlink ((t (:foreground ,yellow)))) + `(diredp-write-priv ((t (:foreground ,magenta)))) + + ;; ediff + `(ediff-current-diff-A ((t (:foreground ,foreground :background ,red)))) + `(ediff-current-diff-Ancestor ((t (:foreground ,foreground :background ,red)))) + `(ediff-current-diff-B ((t (:foreground ,foreground :background ,green)))) + `(ediff-current-diff-C ((t (:foreground ,foreground :background ,blue)))) + `(ediff-even-diff-A ((t (:background ,background)))) + `(ediff-even-diff-Ancestor ((t (:background ,background)))) + `(ediff-even-diff-B ((t (:background ,background)))) + `(ediff-even-diff-C ((t (:background ,background)))) + `(ediff-fine-diff-A ((t (:foreground ,foreground :background ,red :weight bold)))) + `(ediff-fine-diff-Ancestor ((t (:foreground ,foreground :background ,red weight bold)))) + `(ediff-fine-diff-B ((t (:foreground ,foreground :background ,green :weight bold)))) + `(ediff-fine-diff-C ((t (:foreground ,foreground :background ,blue :weight bold )))) + `(ediff-odd-diff-A ((t (:background ,background)))) + `(ediff-odd-diff-Ancestor ((t (:background ,background)))) + `(ediff-odd-diff-B ((t (:background ,background)))) + `(ediff-odd-diff-C ((t (:background ,background)))) + + ;; erc + `(erc-action-face ((t (:inherit erc-default-face)))) + `(erc-bold-face ((t (:weight bold)))) + `(erc-current-nick-face ((t (:foreground ,blue :weight bold)))) + `(erc-dangerous-host-face ((t (:inherit font-lock-warning-face)))) + `(erc-default-face ((t (:foreground ,foreground)))) + `(erc-direct-msg-face ((t (:inherit erc-default)))) + `(erc-error-face ((t (:inherit font-lock-warning-face)))) + `(erc-fool-face ((t (:inherit erc-default)))) + `(erc-highlight-face ((t (:inherit hover-highlight)))) + `(erc-input-face ((t (:foreground ,yellow)))) + `(erc-keyword-face ((t (:foreground ,blue :weight bold)))) + `(erc-nick-default-face ((t (:foreground ,yellow :weight bold)))) + `(erc-my-nick-face ((t (:foreground ,red :weight bold)))) + `(erc-nick-msg-face ((t (:inherit erc-default)))) + `(erc-notice-face ((t (:foreground ,green)))) + `(erc-pal-face ((t (:foreground ,red :weight bold)))) + `(erc-prompt-face ((t (:foreground ,red :background ,background :weight bold)))) + `(erc-timestamp-face ((t (:foreground ,green)))) + `(erc-underline-face ((t (:underline t)))) + + ;; ert + `(ert-test-result-expected ((t (:foreground ,green :background ,background)))) + `(ert-test-result-unexpected ((t (:foreground ,red :background ,background)))) + + ;; eshell + `(eshell-prompt ((t (:foreground ,yellow :weight bold)))) + `(eshell-ls-archive ((t (:foreground ,red :weight bold)))) + `(eshell-ls-backup ((t (:inherit font-lock-comment-face)))) + `(eshell-ls-clutter ((t (:inherit font-lock-comment-face)))) + `(eshell-ls-directory ((t (:foreground ,blue :weight bold)))) + `(eshell-ls-executable ((t (:foreground ,red :weight bold)))) + `(eshell-ls-unreadable ((t (:foreground ,foreground)))) + `(eshell-ls-missing ((t (:inherit font-lock-warning-face)))) + `(eshell-ls-product ((t (:inherit font-lock-doc-face)))) + `(eshell-ls-special ((t (:foreground ,yellow :weight bold)))) + `(eshell-ls-symlink ((t (:foreground ,cyan :weight bold)))) + + ;; flycheck + `(flycheck-error + ((((supports :underline (:style wave))) + (:underline (:style wave :color ,red) :inherit unspecified)) + (t (:foreground ,red :weight bold :underline t)))) + `(flycheck-warning + ((((supports :underline (:style wave))) + (:underline (:style wave :color ,yellow) :inherit unspecified)) + (t (:foreground ,yellow :weight bold :underline t)))) + `(flycheck-info + ((((supports :underline (:style wave))) + (:underline (:style wave :color ,cyan) :inherit unspecified)) + (t (:foreground ,cyan :weight bold :underline t)))) + `(flycheck-fringe-error ((t (:foreground ,red :weight bold)))) + `(flycheck-fringe-warning ((t (:foreground ,yellow :weight bold)))) + `(flycheck-fringe-info ((t (:foreground ,cyan :weight bold)))) + + ;; git-rebase-mode + `(git-rebase-hash ((t (:foreground, red)))) + + ;; helm + `(helm-header + ((t (:foreground ,green + :background ,background + :underline nil + :box nil)))) + `(helm-source-header + ((t (:foreground ,yellow + :background ,background + :underline nil + :weight bold + :box (:line-width -1 :style released-button))))) + `(helm-selection ((t (:background ,green :underline nil)))) + `(helm-selection-line ((t (:background ,background)))) + `(helm-visible-mark ((t (:foreground ,background :background ,yellow)))) + `(helm-candidate-number ((t (:foreground ,green :background ,background)))) + `(helm-separator ((t (:foreground ,red :background ,background)))) + `(helm-time-zone-current ((t (:foreground ,green :background ,background)))) + `(helm-time-zone-home ((t (:foreground ,red :background ,background)))) + `(helm-bookmark-addressbook ((t (:foreground ,red :background ,background)))) + `(helm-bookmark-directory ((t (:foreground nil :background nil :inherit helm-ff-directory)))) + `(helm-bookmark-file ((t (:foreground nil :background nil :inherit helm-ff-file)))) + `(helm-bookmark-gnus ((t (:foreground ,magenta :background ,background)))) + `(helm-bookmark-info ((t (:foreground ,green :background ,background)))) + `(helm-bookmark-man ((t (:foreground ,yellow :background ,background)))) + `(helm-bookmark-w3m ((t (:foreground ,magenta :background ,background)))) + `(helm-buffer-not-saved ((t (:foreground ,red :background ,background)))) + `(helm-buffer-process ((t (:foreground ,cyan :background ,background)))) + `(helm-buffer-saved-out ((t (:foreground ,foreground :background ,background)))) + `(helm-buffer-size ((t (:foreground ,foreground :background ,background)))) + `(helm-ff-directory ((t (:foreground ,cyan :background ,background :weight bold)))) + `(helm-ff-file ((t (:foreground ,foreground :background ,background :weight normal)))) + `(helm-ff-executable ((t (:foreground ,green :background ,background :weight normal)))) + `(helm-ff-invalid-symlink ((t (:foreground ,red :background ,background :weight bold)))) + `(helm-ff-symlink ((t (:foreground ,yellow :background ,background :weight bold)))) + `(helm-ff-prefix ((t (:foreground ,background :background ,yellow :weight normal)))) + `(helm-grep-cmd-line ((t (:foreground ,cyan :background ,background)))) + `(helm-grep-file ((t (:foreground ,foreground :background ,background)))) + `(helm-grep-finish ((t (:foreground ,green :background ,background)))) + `(helm-grep-lineno ((t (:foreground ,foreground :background ,background)))) + `(helm-grep-match ((t (:foreground nil :background nil :inherit helm-match)))) + `(helm-grep-running ((t (:foreground ,red :background ,background)))) + `(helm-moccur-buffer ((t (:foreground ,cyan :background ,background)))) + `(helm-mu-contacts-address-face ((t (:foreground ,foreground :background ,background)))) + `(helm-mu-contacts-name-face ((t (:foreground ,foreground :background ,background)))) + + ;; hl-line-mode + `(hl-line-face ((t (:background ,background)) + (t :weight bold))) + `(hl-line ((t (:background ,background)) ; old emacsen + (t :weight bold))) + + ;; ido-mode + `(ido-first-match ((t (:foreground ,yellow :weight bold)))) + `(ido-only-match ((t (:foreground ,red :weight bold)))) + `(ido-subdir ((t (:foreground ,yellow)))) + `(ido-indicator ((t (:foreground ,yellow :background ,red)))) + + ;; js2-mode + `(js2-warning ((t (:underline ,red)))) + `(js2-error ((t (:foreground ,red :weight bold)))) + `(js2-jsdoc-tag ((t (:foreground ,green)))) + `(js2-jsdoc-type ((t (:foreground ,green)))) + `(js2-jsdoc-value ((t (:foreground ,green)))) + `(js2-function-param ((t (:foreground, green)))) + `(js2-external-variable ((t (:foreground ,red)))) + + ;; linum-mode + `(linum ((t (:foreground ,green :background ,background)))) + + ;; magit + `(magit-item-highlight ((t (:background ,background)))) + `(magit-section-title ((t (:foreground ,yellow :weight bold)))) + `(magit-process-ok ((t (:foreground ,green :weight bold)))) + `(magit-process-ng ((t (:foreground ,red :weight bold)))) + `(magit-branch ((t (:foreground ,blue :weight bold)))) + `(magit-log-author ((t (:foreground ,red)))) + `(magit-log-sha1 ((t (:foreground, red)))) + + ;; org-mode + `(org-agenda-date-today + ((t (:foreground ,foreground :slant italic :weight bold))) t) + `(org-agenda-structure + ((t (:inherit font-lock-comment-face)))) + `(org-archived ((t (:foreground ,foreground :weight bold)))) + `(org-checkbox ((t (:background ,background :foreground ,foreground + :box (:line-width 1 :style released-button))))) + `(org-date ((t (:foreground ,blue :underline t)))) + `(org-deadline-announce ((t (:foreground ,red)))) + `(org-done ((t (:bold t :weight bold :foreground ,green)))) + `(org-formula ((t (:foreground ,yellow)))) + `(org-headline-done ((t (:foreground ,green)))) + `(org-hide ((t (:foreground ,background)))) + `(org-level-1 ((t (:foreground ,red)))) + `(org-level-2 ((t (:foreground ,green)))) + `(org-level-3 ((t (:foreground ,blue)))) + `(org-level-4 ((t (:foreground ,yellow)))) + `(org-level-5 ((t (:foreground ,cyan)))) + `(org-level-6 ((t (:foreground ,green)))) + `(org-level-7 ((t (:foreground ,red)))) + `(org-level-8 ((t (:foreground ,blue)))) + `(org-link ((t (:foreground ,yellow :underline t)))) + `(org-scheduled ((t (:foreground ,green)))) + `(org-scheduled-previously ((t (:foreground ,red)))) + `(org-scheduled-today ((t (:foreground ,blue)))) + `(org-sexp-date ((t (:foreground ,blue :underline t)))) + `(org-special-keyword ((t (:inherit font-lock-comment-face)))) + `(org-table ((t (:foreground ,green)))) + `(org-tag ((t (:bold t :weight bold)))) + `(org-time-grid ((t (:foreground ,red)))) + `(org-todo ((t (:bold t :foreground ,red :weight bold)))) + `(org-upcoming-deadline ((t (:inherit font-lock-keyword-face)))) + `(org-warning ((t (:bold t :foreground ,red :weight bold :underline nil)))) + `(org-column ((t (:background ,background)))) + `(org-column-title ((t (:background ,background :underline t :weight bold)))) + `(org-mode-line-clock ((t (:foreground ,foreground :background ,background)))) + `(org-mode-line-clock-overrun ((t (:foreground ,background :background ,red)))) + `(org-ellipsis ((t (:foreground ,yellow :underline t)))) + `(org-footnote ((t (:foreground ,cyan :underline t)))) + + ;; outline + `(outline-1 ((t (:foreground ,red)))) + `(outline-2 ((t (:foreground ,green)))) + `(outline-3 ((t (:foreground ,blue)))) + `(outline-4 ((t (:foreground ,yellow)))) + `(outline-5 ((t (:foreground ,cyan)))) + `(outline-6 ((t (:foreground ,green)))) + `(outline-7 ((t (:foreground ,red)))) + `(outline-8 ((t (:foreground ,blue)))) + + ;; powerline + `(powerline-active1 ((t (:background ,background :inherit mode-line)))) + `(powerline-active2 ((t (:background ,background :inherit mode-line)))) + `(powerline-inactive1 ((t (:background ,background :inherit mode-line-inactive)))) + `(powerline-inactive2 ((t (:background ,background :inherit mode-line-inactive)))) + + ;; rainbow-delimiters + `(rainbow-delimiters-depth-1-face ((t (:foreground ,foreground)))) + `(rainbow-delimiters-depth-2-face ((t (:foreground ,green)))) + `(rainbow-delimiters-depth-3-face ((t (:foreground ,yellow)))) + `(rainbow-delimiters-depth-4-face ((t (:foreground ,cyan)))) + `(rainbow-delimiters-depth-5-face ((t (:foreground ,green)))) + `(rainbow-delimiters-depth-6-face ((t (:foreground ,blue)))) + `(rainbow-delimiters-depth-7-face ((t (:foreground ,yellow)))) + `(rainbow-delimiters-depth-8-face ((t (:foreground ,green)))) + `(rainbow-delimiters-depth-9-face ((t (:foreground ,blue)))) + `(rainbow-delimiters-depth-10-face ((t (:foreground ,red)))) + `(rainbow-delimiters-depth-11-face ((t (:foreground ,green)))) + `(rainbow-delimiters-depth-12-face ((t (:foreground ,blue)))) + + ;; sh-mode + `(sh-heredoc ((t (:foreground ,yellow :bold t)))) + `(sh-quoted-exec ((t (:foreground ,red)))) + + ;; smartparens + `(sp-show-pair-mismatch-face ((t (:foreground ,red :background ,background :weight bold)))) + `(sp-show-pair-match-face ((t (:background ,background :weight bold)))))) + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory + (file-name-directory load-file-name)))) + +(provide-theme 'wal)