summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--templates/emacs.el455
-rw-r--r--templates/thomas.vim22
-rw-r--r--thomas.vim306
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