diff options
-rw-r--r-- | templates/emacs.el | 455 | ||||
-rw-r--r-- | templates/thomas.vim | 22 | ||||
-rw-r--r-- | thomas.vim | 306 |
3 files changed, 477 insertions, 306 deletions
diff --git a/templates/emacs.el b/templates/emacs.el new file mode 100644 index 0000000..22c89a1 --- /dev/null +++ b/templates/emacs.el @@ -0,0 +1,455 @@ +;; Base16 Thomas (https://github.com/chriskempson/base16) +;; Scheme: José Mota (http://github.com/josemotanet) + +;;; base16-thomas-dark-theme.el + +;;; Code: + +(deftheme thomas) + +(let ((background "#{{BACKGROUND}}") + (darker "#{{DARKER}}") + (dark "#{{DARK}}") + (dark-gray "#{{DARK_GRAY}}") + (light-gray "#{{LIGHT_GRAY}}") + (light "#{{LIGHT}}") + (lighter "#{{LIGHTER}}") + (foreground "#{{FOREGROUND}}") + (red "#{{RED}}") + (orange "#{{ORANGE}}") + (yellow "#{{YELLOW}}") + (green "#{{GREEN}}") + (aqua "#{{AQUA}}") + (blue "#{{BLUE}}") + (purple "#{{PURPLE}}") + (brown "#{{BROWN}}")) + + (custom-theme-set-faces + 'thomas + + ;; Built-in stuff (Emacs 23) + `(border ((t (:background ,darker)))) + `(border-glyph ((t (nil)))) + `(cursor ((t (:background ,red)))) + `(default ((t (:background ,background :foreground ,foreground)))) + `(fringe ((t (:background ,background)))) + `(gui-element ((t (:background ,dark-gray :foreground ,lighter)))) + `(highlight ((t (:background ,darker)))) + `(link ((t (:foreground ,blue)))) + `(link-visited ((t (:foreground ,purple)))) + `(minibuffer-prompt ((t (:foreground ,blue)))) + `(mode-line ((t (:background ,dark :foreground ,light-gray :box nil)))) + `(mode-line-buffer-id ((t (:foreground ,purple :background nil)))) + `(mode-line-emphasis ((t (:foreground ,lighter :slant italic)))) + `(mode-line-highlight ((t (:foreground ,purple :box nil :weight bold)))) + `(mode-line-inactive ((t (:background ,darker :foreground ,dark-gray :box nil)))) + `(region ((t (:background ,dark)))) + `(secondary-selection ((t (:background ,dark-gray)))) + `(error ((t (:foreground ,red :weight bold)))) + `(warning ((t (:foreground ,orange :weight bold)))) + `(success ((t (:foreground ,green :weight bold)))) + + `(header-line ((t (:inherit mode-line :foreground ,purple :background nil)))) + + ;; Font-lock stuff + `(font-lock-builtin-face ((t (:foreground ,aqua)))) + `(font-lock-comment-delimiter-face ((t (:foreground ,dark)))) + `(font-lock-comment-face ((t (:foreground ,dark)))) + `(font-lock-constant-face ((t (:foreground ,orange)))) + `(font-lock-doc-face ((t (:foreground ,light-gray)))) + `(font-lock-doc-string-face ((t (:foreground ,dark-gray)))) + `(font-lock-function-name-face ((t (:foreground ,blue)))) + `(font-lock-keyword-face ((t (:foreground ,red)))) + `(font-lock-negation-char-face ((t (:foreground ,green)))) + `(font-lock-preprocessor-face ((t (:foreground ,blue)))) + `(font-lock-regexp-grouping-backslash ((t (:foreground ,yellow)))) + `(font-lock-regexp-grouping-construct ((t (:foreground ,purple)))) + `(font-lock-string-face ((t (:foreground ,green)))) + `(font-lock-type-face ((t (:foreground ,yellow)))) + `(font-lock-variable-name-face ((t (:foreground ,aqua)))) + `(font-lock-warning-face ((t (:foreground ,red)))) + + ;; linum-mode + `(linum ((t (:background ,darker :foreground ,dark-gray)))) + + ;; Search + `(match ((t (:foreground ,blue :background ,darker :inverse-video t)))) + `(isearch ((t (:foreground ,yellow :background ,darker :inverse-video t)))) + `(isearch-lazy-highlight-face ((t (:foreground ,aqua :background ,darker :inverse-video t)))) + `(isearch-fail ((t (:background ,darker :inherit font-lock-warning-face :inverse-video t)))) + + ;; Flymake + `(flymake-warnline ((t (:underline ,orange :background ,darker)))) + `(flymake-errline ((t (:underline ,red :background ,darker)))) + + ;; Clojure errors + `(clojure-test-failure-face ((t (:background nil :inherit flymake-warnline)))) + `(clojure-test-error-face ((t (:background nil :inherit flymake-errline)))) + `(clojure-test-success-face ((t (:background nil :foreground nil :underline ,green)))) + + ;; For Brian Carper's extended clojure syntax table + `(clojure-keyword ((t (:foreground ,yellow)))) + `(clojure-parens ((t (:foreground ,lighter)))) + `(clojure-braces ((t (:foreground ,green)))) + `(clojure-brackets ((t (:foreground ,yellow)))) + `(clojure-double-quote ((t (:foreground ,aqua :background nil)))) + `(clojure-special ((t (:foreground ,blue)))) + `(clojure-java-call ((t (:foreground ,purple)))) + + ;; MMM-mode + `(mmm-code-submode-face ((t (:background ,dark-gray)))) + `(mmm-comment-submode-face ((t (:inherit font-lock-comment-face)))) + `(mmm-output-submode-face ((t (:background ,dark-gray)))) + + ;; rainbow-delimiters + `(rainbow-delimiters-depth-1-face ((t (:foreground ,purple)))) + `(rainbow-delimiters-depth-2-face ((t (:foreground ,blue)))) + `(rainbow-delimiters-depth-3-face ((t (:foreground ,aqua)))) + `(rainbow-delimiters-depth-4-face ((t (:foreground ,green)))) + `(rainbow-delimiters-depth-5-face ((t (:foreground ,yellow)))) + `(rainbow-delimiters-depth-6-face ((t (:foreground ,orange)))) + `(rainbow-delimiters-depth-7-face ((t (:foreground ,red)))) + `(rainbow-delimiters-depth-8-face ((t (:foreground ,dark-gray)))) + `(rainbow-delimiters-depth-9-face ((t (:foreground ,light)))) + + ;; IDO + `(ido-subdir ((t (:foreground ,light-gray)))) + `(ido-first-match ((t (:foreground ,orange :weight bold)))) + `(ido-only-match ((t (:foreground ,red :weight bold)))) + `(ido-indicator ((t (:foreground ,red :background ,darker)))) + `(ido-virtual ((t (:foreground ,light-gray)))) + + ;; which-function + `(which-func ((t (:foreground ,blue :background nil :weight bold)))) + + `(trailing-whitespace ((t (:background ,aqua :foreground ,yellow)))) + `(whitespace-empty ((t (:foreground ,red :background ,yellow)))) + `(whitespace-hspace ((t (:background ,light-gray :foreground ,light-gray)))) + `(whitespace-indentation ((t (:background ,yellow :foreground ,red)))) + `(whitespace-line ((t (:background ,darker :foreground ,brown)))) + `(whitespace-newline ((t (:foreground ,dark-gray)))) + `(whitespace-space ((t (:background ,darker :foreground ,light-gray)))) + `(whitespace-space-after-tab ((t (:background ,yellow :foreground ,red)))) + `(whitespace-space-before-tab ((t (:background ,orange :foreground ,red)))) + `(whitespace-tab ((t (:background ,light-gray :foreground ,light-gray)))) + `(whitespace-trailing ((t (:background ,red :foreground ,yellow)))) + + ;; Parenthesis matching (built-in) + `(show-paren-match ((t (:background ,dark :foreground ,light-gray)))) + `(show-paren-mismatch ((t (:background ,orange :foreground ,dark-gray)))) + + ;; Parenthesis matching (mic-paren) + `(paren-face-match ((t (:foreground nil :background nil :inherit show-paren-match)))) + `(paren-face-mismatch ((t (:foreground nil :background nil :inherit show-paren-mismatch)))) + `(paren-face-no-match ((t (:foreground nil :background nil :inherit show-paren-mismatch)))) + + ;; Parenthesis dimming (parenface) + `(paren-face ((t (:foreground ,light-gray :background nil)))) + + `(sh-heredoc ((t (:foreground nil :inherit font-lock-string-face :weight normal)))) + `(sh-quoted-exec ((t (:foreground nil :inherit font-lock-preprocessor-face)))) + `(slime-highlight-edits-face ((t (:weight bold)))) + `(slime-repl-input-face ((t (:weight normal :underline nil)))) + `(slime-repl-prompt-face ((t (:underline nil :weight bold :foreground ,purple)))) + `(slime-repl-result-face ((t (:foreground ,green)))) + `(slime-repl-output-face ((t (:foreground ,blue :background ,darker)))) + + `(csv-separator-face ((t (:foreground ,orange)))) + + `(diff-added ((t (:foreground ,green)))) + `(diff-changed ((t (:foreground ,yellow)))) + `(diff-removed ((t (:foreground ,red)))) + `(diff-header ((t (:background ,darker)))) + `(diff-file-header ((t (:background ,dark)))) + `(diff-hunk-header ((t (:background ,darker :foreground ,purple)))) + + `(ediff-even-diff-A ((t (:foreground nil :background nil :inverse-video t)))) + `(ediff-even-diff-B ((t (:foreground nil :background nil :inverse-video t)))) + `(ediff-odd-diff-A ((t (:foreground ,light-gray :background nil :inverse-video t)))) + `(ediff-odd-diff-B ((t (:foreground ,light-gray :background nil :inverse-video t)))) + + `(eldoc-highlight-function-argument ((t (:foreground ,green :weight bold)))) + + ;; undo-tree + `(undo-tree-visualizer-default-face ((t (:foreground ,lighter)))) + `(undo-tree-visualizer-current-face ((t (:foreground ,green :weight bold)))) + `(undo-tree-visualizer-active-branch-face ((t (:foreground ,red)))) + `(undo-tree-visualizer-register-face ((t (:foreground ,yellow)))) + + ;; auctex + `(font-latex-bold-face ((t (:foreground ,green)))) + `(font-latex-doctex-documentation-face ((t (:background ,dark-gray)))) + `(font-latex-italic-face ((t (:foreground ,green)))) + `(font-latex-math-face ((t (:foreground ,orange)))) + `(font-latex-sectioning-0-face ((t (:foreground ,yellow)))) + `(font-latex-sectioning-1-face ((t (:foreground ,yellow)))) + `(font-latex-sectioning-2-face ((t (:foreground ,yellow)))) + `(font-latex-sectioning-3-face ((t (:foreground ,yellow)))) + `(font-latex-sectioning-4-face ((t (:foreground ,yellow)))) + `(font-latex-sectioning-5-face ((t (:foreground ,yellow)))) + `(font-latex-sedate-face ((t (:foreground ,aqua)))) + `(font-latex-string-face ((t (:foreground ,yellow)))) + `(font-latex-verbatim-face ((t (:foreground ,orange)))) + `(font-latex-warning-face ((t (:foreground ,red)))) + + ;; dired+ + `(diredp-compressed-file-suffix ((t (:foreground ,blue)))) + `(diredp-dir-heading ((t (:foreground nil :background nil :inherit heading)))) + `(diredp-dir-priv ((t (:foreground ,aqua :background nil)))) + `(diredp-exec-priv ((t (:foreground ,blue :background nil)))) + `(diredp-executable-tag ((t (:foreground ,red :background nil)))) + `(diredp-file-name ((t (:foreground ,yellow)))) + `(diredp-file-suffix ((t (:foreground ,green)))) + `(diredp-flag-mark-line ((t (:background nil :inherit highlight)))) + `(diredp-ignored-file-name ((t (:foreground ,light-gray)))) + `(diredp-link-priv ((t (:background nil :foreground ,purple)))) + `(diredp-mode-line-flagged ((t (:foreground ,red)))) + `(diredp-mode-line-marked ((t (:foreground ,green)))) + `(diredp-no-priv ((t (:background nil)))) + `(diredp-number ((t (:foreground ,yellow)))) + `(diredp-other-priv ((t (:background nil :foreground ,purple)))) + `(diredp-rare-priv ((t (:foreground ,red :background nil)))) + `(diredp-read-priv ((t (:foreground ,green :background nil)))) + `(diredp-symlink ((t (:foreground ,purple)))) + `(diredp-write-priv ((t (:foreground ,yellow :background nil)))) + + ;; term and ansi-term + `(term-color-black ((t (:foreground ,dark :background ,background)))) + `(term-color-white ((t (:foreground ,light :background ,foreground)))) + `(term-color-red ((t (:foreground ,red :background ,red)))) + `(term-color-yellow ((t (:foreground ,yellow :background ,yellow)))) + `(term-color-green ((t (:foreground ,green :background ,green)))) + `(term-color-cyan ((t (:foreground ,aqua :background ,aqua)))) + `(term-color-blue ((t (:foreground ,blue :background ,blue)))) + `(term-color-magenta ((t (:foreground ,purple :background ,purple)))) + + ;; Magit (a patch is pending in magit to make these standard upstream) + `(magit-branch ((t (:foreground ,green)))) + `(magit-header ((t (:inherit nil :weight bold)))) + `(magit-item-highlight ((t (:inherit highlight :background nil)))) + `(magit-log-graph ((t (:foreground ,light-gray)))) + `(magit-log-sha1 ((t (:foreground ,purple)))) + `(magit-log-head-label-bisect-bad ((t (:foreground ,red)))) + `(magit-log-head-label-bisect-good ((t (:foreground ,green)))) + `(magit-log-head-label-default ((t (:foreground ,yellow :box nil :weight bold)))) + `(magit-log-head-label-local ((t (:foreground ,blue)))) + `(magit-log-head-label-remote ((t (:foreground ,green)))) + `(magit-log-head-label-tags ((t (:foreground ,aqua :box nil :weight bold)))) + `(magit-section-title ((t (:inherit diff-hunk-header)))) + + `(link ((t (:foreground nil :underline t)))) + `(widget-button ((t (:underline t)))) + `(widget-field ((t (:background ,dark-gray :box (:line-width 1 :color ,lighter))))) + + ;; Compilation (most faces politely inherit from 'success, 'error, 'warning etc.) + `(compilation-column-number ((t (:foreground ,yellow)))) + `(compilation-line-number ((t (:foreground ,yellow)))) + `(compilation-message-face ((t (:foreground ,blue)))) + `(compilation-mode-line-exit ((t (:foreground ,green)))) + `(compilation-mode-line-fail ((t (:foreground ,red)))) + `(compilation-mode-line-run ((t (:foreground ,blue)))) + + ;; Grep + `(grep-context-face ((t (:foreground ,light-gray)))) + `(grep-error-face ((t (:foreground ,red :weight bold :underline t)))) + `(grep-hit-face ((t (:foreground ,blue)))) + `(grep-match-face ((t (:foreground nil :background nil :inherit match)))) + + `(regex-tool-matched-face ((t (:foreground nil :background nil :inherit match)))) + + ;; mark-multiple + `(mm/master-face ((t (:inherit region :foreground nil :background nil)))) + `(mm/mirror-face ((t (:inherit region :foreground nil :background nil)))) + + ;; org-mode + `(org-agenda-structure ((t (:foreground ,purple)))) + `(org-agenda-date ((t (:foreground ,blue :underline nil)))) + `(org-agenda-done ((t (:foreground ,green)))) + `(org-agenda-dimmed-todo-face ((t (:foreground ,light-gray)))) + `(org-block ((t (:foreground ,orange)))) + `(org-code ((t (:foreground ,yellow)))) + `(org-column ((t (:background ,dark-gray)))) + `(org-column-title ((t (:inherit org-column :weight bold :underline t)))) + `(org-date ((t (:foreground ,purple :underline t)))) + `(org-document-info ((t (:foreground ,aqua)))) + `(org-document-info-keyword ((t (:foreground ,green)))) + `(org-document-title ((t (:weight bold :foreground ,orange :height 1.44)))) + `(org-done ((t (:foreground ,green)))) + `(org-ellipsis ((t (:foreground ,light-gray)))) + `(org-footnote ((t (:foreground ,aqua)))) + `(org-formula ((t (:foreground ,red)))) + `(org-hide ((t (:foreground ,dark-gray)))) + `(org-link ((t (:foreground ,blue)))) + `(org-scheduled ((t (:foreground ,green)))) + `(org-scheduled-previously ((t (:foreground ,orange)))) + `(org-scheduled-today ((t (:foreground ,green)))) + `(org-special-keyword ((t (:foreground ,orange)))) + `(org-table ((t (:foreground ,purple)))) + `(org-todo ((t (:foreground ,red)))) + `(org-upcoming-deadline ((t (:foreground ,orange)))) + `(org-warning ((t (:weight bold :foreground ,red)))) + + `(markdown-url-face ((t (:inherit link)))) + `(markdown-link-face ((t (:foreground ,blue :underline t)))) + + `(hl-sexp-face ((t (:background ,dark-gray)))) + `(highlight-80+ ((t (:background ,dark-gray)))) + + ;; Python-specific overrides + `(py-builtins-face ((t (:foreground ,orange :weight normal)))) + + ;; js2-mode + `(js2-warning-face ((t (:underline ,orange)))) + `(js2-error-face ((t (:foreground nil :underline ,red)))) + `(js2-external-variable-face ((t (:foreground ,purple)))) + `(js2-function-param-face ((t (:foreground ,blue)))) + `(js2-instance-member-face ((t (:foreground ,blue)))) + `(js2-private-function-call-face ((t (:foreground ,red)))) + + ;; js3-mode + `(js3-warning-face ((t (:underline ,orange)))) + `(js3-error-face ((t (:foreground nil :underline ,red)))) + `(js3-external-variable-face ((t (:foreground ,purple)))) + `(js3-function-param-face ((t (:foreground ,blue)))) + `(js3-jsdoc-tag-face ((t (:foreground ,orange)))) + `(js3-jsdoc-type-face ((t (:foreground ,aqua)))) + `(js3-jsdoc-value-face ((t (:foreground ,yellow)))) + `(js3-jsdoc-html-tag-name-face ((t (:foreground ,blue)))) + `(js3-jsdoc-html-tag-delimiter-face ((t (:foreground ,green)))) + `(js3-instance-member-face ((t (:foreground ,blue)))) + `(js3-private-function-call-face ((t (:foreground ,red)))) + + ;; nxml + `(nxml-name-face ((t (:foreground unspecified :inherit font-lock-constant-face)))) + `(nxml-attribute-local-name-face ((t (:foreground unspecified :inherit font-lock-variable-name-face)))) + `(nxml-ref-face ((t (:foreground unspecified :inherit font-lock-preprocessor-face)))) + `(nxml-delimiter-face ((t (:foreground unspecified :inherit font-lock-keyword-face)))) + `(nxml-delimited-data-face ((t (:foreground unspecified :inherit font-lock-string-face)))) + `(rng-error-face ((t (:underline ,red)))) + + ;; RHTML + `(erb-delim-face ((t (:background ,dark-gray)))) + `(erb-exec-face ((t (:background ,dark-gray :weight bold)))) + `(erb-exec-delim-face ((t (:background ,dark-gray)))) + `(erb-out-face ((t (:background ,dark-gray :weight bold)))) + `(erb-out-delim-face ((t (:background ,dark-gray)))) + `(erb-comment-face ((t (:background ,dark-gray :weight bold :slant italic)))) + `(erb-comment-delim-face ((t (:background ,dark-gray)))) + + ;; Message-mode + `(message-header-other ((t (:foreground nil :background nil :weight normal)))) + `(message-header-subject ((t (:inherit message-header-other :weight bold :foreground ,yellow)))) + `(message-header-to ((t (:inherit message-header-other :weight bold :foreground ,orange)))) + `(message-header-cc ((t (:inherit message-header-to :foreground nil)))) + `(message-header-name ((t (:foreground ,blue :background nil)))) + `(message-header-newsgroups ((t (:foreground ,aqua :background nil :slant normal)))) + `(message-separator ((t (:foreground ,purple)))) + + ;; Jabber + `(jabber-chat-prompt-local ((t (:foreground ,yellow)))) + `(jabber-chat-prompt-foreign ((t (:foreground ,orange)))) + `(jabber-chat-prompt-system ((t (:foreground ,yellow :weight bold)))) + `(jabber-chat-text-local ((t (:foreground ,yellow)))) + `(jabber-chat-text-foreign ((t (:foreground ,orange)))) + `(jabber-chat-text-error ((t (:foreground ,red)))) + + `(jabber-roster-user-online ((t (:foreground ,green)))) + `(jabber-roster-user-xa ((t :foreground ,light-gray))) + `(jabber-roster-user-dnd ((t :foreground ,yellow))) + `(jabber-roster-user-away ((t (:foreground ,orange)))) + `(jabber-roster-user-chatty ((t (:foreground ,purple)))) + `(jabber-roster-user-error ((t (:foreground ,red)))) + `(jabber-roster-user-offline ((t (:foreground ,light-gray)))) + + `(jabber-rare-time-face ((t (:foreground ,light-gray)))) + `(jabber-activity-face ((t (:foreground ,purple)))) + `(jabber-activity-personal-face ((t (:foreground ,aqua)))) + + ;; Gnus + `(gnus-cite-1 ((t (:inherit outline-1 :foreground nil)))) + `(gnus-cite-2 ((t (:inherit outline-2 :foreground nil)))) + `(gnus-cite-3 ((t (:inherit outline-3 :foreground nil)))) + `(gnus-cite-4 ((t (:inherit outline-4 :foreground nil)))) + `(gnus-cite-5 ((t (:inherit outline-5 :foreground nil)))) + `(gnus-cite-6 ((t (:inherit outline-6 :foreground nil)))) + `(gnus-cite-7 ((t (:inherit outline-7 :foreground nil)))) + `(gnus-cite-8 ((t (:inherit outline-8 :foreground nil)))) + ;; there are several more -cite- faces... + `(gnus-header-content ((t (:inherit message-header-other)))) + `(gnus-header-subject ((t (:inherit message-header-subject)))) + `(gnus-header-from ((t (:inherit message-header-other-face :weight bold :foreground ,orange)))) + `(gnus-header-name ((t (:inherit message-header-name)))) + `(gnus-button ((t (:inherit link :foreground nil)))) + `(gnus-signature ((t (:inherit font-lock-comment-face)))) + + `(gnus-summary-normal-unread ((t (:foreground ,blue :weight normal)))) + `(gnus-summary-normal-read ((t (:foreground ,lighter :weight normal)))) + `(gnus-summary-normal-ancient ((t (:foreground ,aqua :weight normal)))) + `(gnus-summary-normal-ticked ((t (:foreground ,orange :weight normal)))) + `(gnus-summary-low-unread ((t (:foreground ,light-gray :weight normal)))) + `(gnus-summary-low-read ((t (:foreground ,light-gray :weight normal)))) + `(gnus-summary-low-ancient ((t (:foreground ,light-gray :weight normal)))) + `(gnus-summary-high-unread ((t (:foreground ,yellow :weight normal)))) + `(gnus-summary-high-read ((t (:foreground ,green :weight normal)))) + `(gnus-summary-high-ancient ((t (:foreground ,green :weight normal)))) + `(gnus-summary-high-ticked ((t (:foreground ,orange :weight normal)))) + `(gnus-summary-cancelled ((t (:foreground ,red :background nil :weight normal)))) + + `(gnus-group-mail-low ((t (:foreground ,light-gray)))) + `(gnus-group-mail-low-empty ((t (:foreground ,light-gray)))) + `(gnus-group-mail-1 ((t (:foreground nil :weight normal :inherit outline-1)))) + `(gnus-group-mail-2 ((t (:foreground nil :weight normal :inherit outline-2)))) + `(gnus-group-mail-3 ((t (:foreground nil :weight normal :inherit outline-3)))) + `(gnus-group-mail-4 ((t (:foreground nil :weight normal :inherit outline-4)))) + `(gnus-group-mail-5 ((t (:foreground nil :weight normal :inherit outline-5)))) + `(gnus-group-mail-6 ((t (:foreground nil :weight normal :inherit outline-6)))) + `(gnus-group-mail-1-empty ((t (:inherit gnus-group-mail-1 :foreground ,light-gray)))) + `(gnus-group-mail-2-empty ((t (:inherit gnus-group-mail-2 :foreground ,light-gray)))) + `(gnus-group-mail-3-empty ((t (:inherit gnus-group-mail-3 :foreground ,light-gray)))) + `(gnus-group-mail-4-empty ((t (:inherit gnus-group-mail-4 :foreground ,light-gray)))) + `(gnus-group-mail-5-empty ((t (:inherit gnus-group-mail-5 :foreground ,light-gray)))) + `(gnus-group-mail-6-empty ((t (:inherit gnus-group-mail-6 :foreground ,light-gray)))) + `(gnus-group-news-1 ((t (:foreground nil :weight normal :inherit outline-5)))) + `(gnus-group-news-2 ((t (:foreground nil :weight normal :inherit outline-6)))) + `(gnus-group-news-3 ((t (:foreground nil :weight normal :inherit outline-7)))) + `(gnus-group-news-4 ((t (:foreground nil :weight normal :inherit outline-8)))) + `(gnus-group-news-5 ((t (:foreground nil :weight normal :inherit outline-1)))) + `(gnus-group-news-6 ((t (:foreground nil :weight normal :inherit outline-2)))) + `(gnus-group-news-1-empty ((t (:inherit gnus-group-news-1 :foreground ,light-gray)))) + `(gnus-group-news-2-empty ((t (:inherit gnus-group-news-2 :foreground ,light-gray)))) + `(gnus-group-news-3-empty ((t (:inherit gnus-group-news-3 :foreground ,light-gray)))) + `(gnus-group-news-4-empty ((t (:inherit gnus-group-news-4 :foreground ,light-gray)))) + `(gnus-group-news-5-empty ((t (:inherit gnus-group-news-5 :foreground ,light-gray)))) + `(gnus-group-news-6-empty ((t (:inherit gnus-group-news-6 :foreground ,light-gray)))) + + `(erc-direct-msg-face ((t (:foreground ,orange)))) + `(erc-error-face ((t (:foreground ,red)))) + `(erc-header-face ((t (:foreground ,lighter :background ,light-gray)))) + `(erc-input-face ((t (:foreground ,green)))) + `(erc-keyword-face ((t (:foreground ,yellow)))) + `(erc-current-nick-face ((t (:foreground ,green)))) + `(erc-my-nick-face ((t (:foreground ,green)))) + `(erc-nick-default-face ((t (:weight normal :foreground ,purple)))) + `(erc-nick-msg-face ((t (:weight normal :foreground ,yellow)))) + `(erc-notice-face ((t (:foreground ,light-gray)))) + `(erc-pal-face ((t (:foreground ,orange)))) + `(erc-prompt-face ((t (:foreground ,blue)))) + `(erc-timestamp-face ((t (:foreground ,aqua)))) + + `(custom-variable-tag ((t (:foreground ,blue)))) + `(custom-group-tag ((t (:foreground ,blue)))) + `(custom-state ((t (:foreground ,green))))) + + (custom-theme-set-variables + 'thomas + + `(ansi-color-names-vector + ;; black, red, green, yellow, blue, magenta, cyan, white + [,background ,red ,green ,yellow ,blue ,purple ,blue ,light]) + `(ansi-term-color-vector + ;; black, red, green, yellow, blue, magenta, cyan, white + [unspecified ,background ,red ,green ,yellow ,blue ,purple ,blue ,light]))) + +(provide-theme 'thomas) + +;;; thomas-theme.el ends here diff --git a/templates/thomas.vim b/templates/thomas.vim new file mode 100644 index 0000000..f265e95 --- /dev/null +++ b/templates/thomas.vim @@ -0,0 +1,22 @@ +" GUI color definitions +let s:color_background = "{{BACKGROUND}}" +let s:color_darker = "{{DARKER}}" +let s:color_dark = "{{DARK}}" +let s:color_dark_gray = "{{DARK_GRAY}}" +let s:color_light_gray = "{{LIGHT_GRAY}}" +let s:color_lighter = "{{LIGHT}}" +let s:color_light = "{{LIGHTER}}" +let s:color_foreground = "{{FOREGROUND}}" +let s:color_red = "{{RED}}" +let s:color_orange = "{{ORANGE}}" +let s:color_yellow = "{{YELLOW}}" +let s:color_green = "{{GREEN}}" +let s:color_aqua = "{{AQUA}}" +let s:color_blue = "{{BLUE}}" +let s:color_purple = "{{PURPLE}}" +let s:color_brown = "{{BROWN}}" + +" Theme setup +hi clear +syntax reset +let g:colors_name = "thomas"
\ No newline at end of file diff --git a/thomas.vim b/thomas.vim deleted file mode 100644 index 92670bd..0000000 --- a/thomas.vim +++ /dev/null @@ -1,306 +0,0 @@ -if !has('gui_running') - if exists("g:base16_shell_path") - execute "silent !/bin/sh ".g:base16_shell_path."/base16-thomas.".&background.".sh" - endif -endif - -" GUI color definitions -let s:gui00 = "142229" -let s:gui01 = "2d3a42" -let s:gui02 = "47535b" -let s:gui03 = "606b74" -let s:gui04 = "79838d" -let s:gui05 = "929ba6" -let s:gui06 = "acb4bf" -let s:gui07 = "c5ccd8" -let s:gui08 = "e65b65" -let s:gui09 = "f38c4f" -let s:gui0A = "f4bf75" -let s:gui0B = "8ebe8c" -let s:gui0C = "54abad" -let s:gui0D = "6295ca" -let s:gui0E = "ab76a6" -let s:gui0F = "8f5536" - -" Terminal color definitions -let s:cterm00 = "00" -let s:cterm03 = "08" -let s:cterm05 = "07" -let s:cterm07 = "15" -let s:cterm08 = "01" -let s:cterm0A = "03" -let s:cterm0B = "02" -let s:cterm0C = "06" -let s:cterm0D = "04" -let s:cterm0E = "05" -if exists('base16colorspace') && base16colorspace == "256" - let s:cterm01 = "18" - let s:cterm02 = "19" - let s:cterm04 = "20" - let s:cterm06 = "21" - let s:cterm09 = "16" - let s:cterm0F = "17" -else - let s:cterm01 = "10" - let s:cterm02 = "11" - let s:cterm04 = "12" - let s:cterm06 = "13" - let s:cterm09 = "09" - let s:cterm0F = "14" -endif - -" Theme setup -hi clear -syntax reset -let g:colors_name = "base16-thomas" - -" Highlighting function -fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr) - if a:guifg != "" - exec "hi " . a:group . " guifg=#" . s:gui(a:guifg) - endif - if a:guibg != "" - exec "hi " . a:group . " guibg=#" . s:gui(a:guibg) - endif - if a:ctermfg != "" - exec "hi " . a:group . " ctermfg=" . s:cterm(a:ctermfg) - endif - if a:ctermbg != "" - exec "hi " . a:group . " ctermbg=" . s:cterm(a:ctermbg) - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif -endfun - -" Return GUI color for light/dark variants -fun s:gui(color) - if &background == "dark" - return a:color - endif - - if a:color == s:gui00 - return s:gui07 - elseif a:color == s:gui01 - return s:gui06 - elseif a:color == s:gui02 - return s:gui05 - elseif a:color == s:gui03 - return s:gui04 - elseif a:color == s:gui04 - return s:gui03 - elseif a:color == s:gui05 - return s:gui02 - elseif a:color == s:gui06 - return s:gui01 - elseif a:color == s:gui07 - return s:gui00 - endif - - return a:color -endfun - -" Return terminal color for light/dark variants -fun s:cterm(color) - if &background == "dark" - return a:color - endif - - if a:color == s:cterm00 - return s:cterm07 - elseif a:color == s:cterm01 - return s:cterm06 - elseif a:color == s:cterm02 - return s:cterm05 - elseif a:color == s:cterm03 - return s:cterm04 - elseif a:color == s:cterm04 - return s:cterm03 - elseif a:color == s:cterm05 - return s:cterm02 - elseif a:color == s:cterm06 - return s:cterm01 - elseif a:color == s:cterm07 - return s:cterm00 - endif - - return a:color -endfun - -" Vim editor colors -call <sid>hi("Bold", "", "", "", "", "bold") -call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "") -call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "") -call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "") -call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "") -call <sid>hi("FoldColumn", "", s:gui01, "", s:cterm01, "") -call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "") -call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none") -call <sid>hi("Italic", "", "", "", "", "none") -call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "") -call <sid>hi("MatchParen", s:gui00, s:gui03, s:cterm00, s:cterm03, "") -call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "") -call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "") -call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "") -call <sid>hi("Search", s:gui03, s:gui0A, s:cterm03, s:cterm0A, "") -call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "") -call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "") -call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "") -call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "") -call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "") -call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "") -call <sid>hi("WildMenu", s:gui08, "", s:cterm08, "", "") -call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none") -call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") -call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "") -call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "") -call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "") -call <sid>hi("LineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "") -call <sid>hi("SignColumn", s:gui03, s:gui01, s:cterm03, s:cterm01, "") -call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "") -call <sid>hi("StatusLine", s:gui04, s:gui02, s:cterm04, s:cterm02, "none") -call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none") -call <sid>hi("VertSplit", s:gui02, s:gui02, s:cterm02, s:cterm02, "none") -call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none") -call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none") -call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none") -call <sid>hi("CursorLineNr", s:gui03, s:gui01, s:cterm03, s:cterm01, "") -call <sid>hi("PMenu", s:gui04, s:gui01, s:cterm04, s:cterm01, "none") -call <sid>hi("PMenuSel", s:gui01, s:gui04, s:cterm01, s:cterm04, "") -call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none") -call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none") -call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none") - -" Standard syntax highlighting -call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "") -call <sid>hi("Character", s:gui08, "", s:cterm08, "", "") -call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "") -call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "") -call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none") -call <sid>hi("Delimiter", s:gui0F, "", s:cterm0F, "", "") -call <sid>hi("Float", s:gui09, "", s:cterm09, "", "") -call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "") -call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none") -call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "") -call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "") -call <sid>hi("Number", s:gui09, "", s:cterm09, "", "") -call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none") -call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "") -call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "") -call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "") -call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "") -call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "") -call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "") -call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "") -call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "") -call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "") -call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none") -call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "") - -" C highlighting -call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "") -call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "") - -" C# highlighting -call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "") -call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "") -call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("csType", s:gui08, "", s:cterm08, "", "") -call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "") -call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "") - -" CSS highlighting -call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "") -call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "") - -" Diff highlighting -call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "") -call <sid>hi("DiffChange", s:gui03, s:gui01, s:cterm03, s:cterm01, "") -call <sid>hi("DiffDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "") -call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "") -call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "") -call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "") -call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "") -call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "") -call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "") - -" Git highlighting -call <sid>hi("gitCommitOverflow", s:gui08, "", s:cterm08, "", "") -call <sid>hi("gitCommitSummary", s:gui0B, "", s:cterm0B, "", "") - -" GitGutter highlighting -call <sid>hi("GitGutterAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "") -call <sid>hi("GitGutterChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "") -call <sid>hi("GitGutterDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "") -call <sid>hi("GitGutterChangeDelete", s:gui0E, s:gui01, s:cterm0E, s:cterm01, "") - -" HTML highlighting -call <sid>hi("htmlBold", s:gui0A, "", s:cterm0A, "", "") -call <sid>hi("htmlItalic", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "") -call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "") - -" JavaScript highlighting -call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "") -call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "") -call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "") - -" Markdown highlighting -call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "") -call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "") -call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "") -call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "") - -" NERDTree highlighting -call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "") -call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "") - -" PHP highlighting -call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "") -call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "") -call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "") - -" Python highlighting -call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "") - -" Ruby highlighting -call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "") -call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "") -call <sid>hi("rubyInterpolation", s:gui0B, "", s:cterm0B, "", "") -call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "") -call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "") -call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "") -call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "") - -" SASS highlighting -call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "") -call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "") -call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "") -call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "") - -" Signify highlighting -call <sid>hi("SignifySignAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "") -call <sid>hi("SignifySignChange", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "") -call <sid>hi("SignifySignDelete", s:gui08, s:gui01, s:cterm08, s:cterm01, "") - -" Spelling highlighting -call <sid>hi("SpellBad", "", s:gui00, "", s:cterm00, "undercurl") -call <sid>hi("SpellLocal", "", s:gui00, "", s:cterm00, "undercurl") -call <sid>hi("SpellCap", "", s:gui00, "", s:cterm00, "undercurl") -call <sid>hi("SpellRare", "", s:gui00, "", s:cterm00, "undercurl") - -" Remove functions -delf <sid>hi -delf <sid>gui -delf <sid>cterm - -" Remove color variables -unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F -unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F |