(deftheme constant "A calm, dark, almost monochrome theme")
(defconst constant-theme-colors
'( (white . "#ffffff")
(default-grey . "#0f1619")
(grey . "#0f1619")
(grey-50 . "#fdfdfe")
(grey-100 . "#f5f8fa")
(grey-200 . "#d8dcde")
(grey-300 . "#bcc0c2")
(grey-400 . "#9fa3a6")
(grey-500 . "#9fa3a6")
(grey-600 . "#656b6e")
(grey-700 . "#494f52")
(grey-720 . "#474d50")
(grey-800 . "#2c3236")
(grey-820 . "#1e2428")
(grey-850 . "#1d2226")
(grey-900 . "#0f1619")
(default-primary . "#0be5e5")
(primary . "#0be5e5")
(primary-50 . "#f3fefe")
(primary-100 . "#d4fafa")
(primary-200 . "#91f3f3")
(primary-300 . "#4eecec")
(primary-400 . "#0be5e5")
(primary-500 . "#09cccc")
(primary-600 . "#07b3b3")
(primary-700 . "#059999")
(primary-800 . "#028080")
(primary-900 . "#006666")
(default-red. "#f24965")
(red . "#f24965")
(danger . "#f24965")
(red-50 . "#fff0f2")
(red-100 . "#ffd9df")
(red-200 . "#fba9b6")
(red-300 . "#f6798e")
(red-400 . "#f24965")
(red-500 . "#d6455d")
(red-600 . "#ba4054")
(red-700 . "#9e3c4c")
(red-800 . "#823743")
(red-900 . "#66333b")
(purple . "#b965e8")))
(defun constant-theme-color (name)
"Return the constant theme color with the given NAME."
(cdr (assoc name constant-theme-colors)))
(let ((class '((class color) (min-colors 256)))
(default-fg (constant-theme-color 'grey-100))
(default-bg (constant-theme-color 'grey-900))
(minor-fg (constant-theme-color 'grey-700))
(inactive-fg (constant-theme-color 'grey-600))
(border-fg (constant-theme-color 'grey-850))
(frame-fg (constant-theme-color 'grey-500))
(cursor-fg (constant-theme-color 'grey-500))
(cursor-bg (constant-theme-color 'grey-500))
(scrollbar-fg (constant-theme-color 'grey-800))
(scrollbar-bg (constant-theme-color 'grey-600))
(highlight-fg (constant-theme-color 'white))
(highlight-bg (constant-theme-color 'red))
(hl-line-bg (constant-theme-color 'grey-810))
(search-fg (constant-theme-color 'white))
(search-bg (constant-theme-color 'primary-700))
(search-bg-0 (constant-theme-color 'primary-700))
(search-bg-1 (constant-theme-color 'primary-500))
(search-bg-2 (constant-theme-color 'primary-300))
(search-bg-3 (constant-theme-color 'primary-100))
(selection-bg (constant-theme-color 'grey-800))
(completion-fg (constant-theme-color 'primary))
(completion-bg (constant-theme-color 'grey-820))
(completion-match-fg (constant-theme-color 'red-500))
(completion-mouse-fg (constant-theme-color 'white))
(completion-selection-fg (constant-theme-color 'white))
(completion-annotation-fg (constant-theme-color 'purple))
(warning-fg (constant-theme-color 'white))
(warning-bg (constant-theme-color 'red-600))
(error-fg (constant-theme-color 'white))
(error-bg (constant-theme-color 'red))
(variable-fg (constant-theme-color 'white))
(function-fg (constant-theme-color 'grey-200))
(type-fg (constant-theme-color 'grey-300))
(constant-fg (constant-theme-color 'grey-500))
(keyword-fg (constant-theme-color 'grey-600))
(builtin-fg (constant-theme-color 'grey-700))
(string-fg (constant-theme-color 'grey-500))
(doc-fg (constant-theme-color 'primary-600)))
(custom-theme-set-faces
'constant
`(cursor ((,class (:foreground ,cursor-fg :background ,cursor-bg))))
`(default ((,class (:foreground ,default-fg :background ,default-bg))))
`(default-italic ((,class (:italic t))))
`(fringe ((,class (:foreground ,error-fg :background ,default-bg))))
`(header-line ((,class :background ,default-bg)))
`(linum ((,class (:inherit shadow :background ,default-bg))))
`(mode-line ((,class (:foreground ,frame-fg :background ,default-bg
:box (:line-width -1 :color ,default-bg)))))
`(mode-line-inactive ((,class (:foreground ,inactive-fg :background ,default-bg
:box (:line-width -1 :color ,default-bg)))))
`(nlinum-relative-current-face ((,class (:foreground ,frame-fg :background ,default-bg))))
`(vertical-border ((,class (:foreground ,border-fg :background ,default-bg))))
`(highlight ((,class (:foreground ,highlight-fg :background ,highlight-bg))))
`(hl-line ((,class (:background ,hl-line-bg))))
`(isearch ((,class (:foreground ,search-fg :background ,search-bg :weight bold))))
`(lazy-highlight ((,class (:foreground ,highlight-fg :background ,highlight-bg) :weight normal)))
`(region ((,class (:background ,selection-bg))))
`(whitespace-line ((,class (:foreground ,error-fg :background ,error-bg))))
`(font-lock-builtin-face ((,class (:foreground ,builtin-fg))))
`(font-lock-comment-face ((,class (:foreground ,doc-fg))))
`(font-lock-comment-delimiter-face ((,class (:foreground ,minor-fg))))
`(font-lock-constant-face ((,class (:foreground ,constant-fg))))
`(font-lock-doc-face ((,class (:foreground ,doc-fg))))
`(font-lock-function-name-face ((,class (:foreground ,function-fg))))
`(font-lock-keyword-face ((,class (:foreground ,keyword-fg))))
`(font-lock-negation-char-face ((,class (:foreground ,error-fg))))
`(font-lock-preprocessor-face ((,class (:foreground ,builtin-fg))))
`(font-lock-string-face ((,class (:foreground ,string-fg))))
`(font-lock-type-face ((,class (:foreground ,type-fg))))
`(font-lock-variable-name-face ((,class (:foreground ,variable-fg))))
`(font-lock-warning-face ((,class (:foreground ,warning-fg :background ,warning-bg))))
`(avy-lead-face ((,class (:background ,search-bg-0 :foreground ,search-fg))))
`(avy-lead-face-0 ((,class (:background ,search-bg-1 :foreground ,search-fg))))
`(avy-lead-face-1 ((,class (:background ,search-bg-2 :foreground ,search-fg))))
`(avy-lead-face-2 ((,class (:background ,search-bg-3 :foreground ,search-fg))))
`(company-preview ((,class (:background ,default-bg :foreground ,completion-match-fg))))
`(company-preview-common ((,class (:background ,completion-bg :foreground ,completion-fg))))
`(company-preview-search ((,class (:background ,completion-bg :foreground ,completion-fg))))
`(company-scrollbar-bg ((,class (:background ,scrollbar-bg))))
`(company-scrollbar-fg ((,class (:background ,scrollbar-fg))))
`(company-tooltip ((,class (:background ,completion-bg :foreground ,completion-fg))))
`(company-tooltip-annotation ((,class (:foreground ,completion-annotation-fg))))
`(company-tooltip-common ((,class (:background nil :foreground ,completion-match-fg))))
`(company-tooltip-common-selection ((,class (:foreground ,completion-selection-fg))))
`(company-tooltip-mouse ((,class (:background ,selection-bg :foreground ,completion-mouse-fg))))
`(company-tooltip-search ((,class (:foreground ,completion-match-fg))))
`(company-tooltip-selection ((,class (:background ,selection-bg :foreground nil))))))
(when (and (boundp 'custom-theme-load-path)
load-file-name)
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'constant)
(provide 'constant-theme)