diff options
author | William Carroll <wpcarro@gmail.com> | 2022-11-25T18·36-0800 |
---|---|---|
committer | wpcarro <wpcarro@gmail.com> | 2022-11-28T19·07+0000 |
commit | 89e37ee87755339d113fb631ddae3682e5cddffc (patch) | |
tree | f3af323c27848516b33d9fc48b6db3bdbffd33c1 /users/wpcarro/emacs/.emacs.d/wpc | |
parent | 22c2c5ba46bde2ac3f62811eb5caaffede7ceed8 (diff) |
feat(wpcarro/emacs): Package theme.el r/5347
**TL;DR:** - Rename `colorscheme.el` to `theme.el` to align with Emacs's nomenclature. - Prune dependencies: - `cl-lib` - `>` - `prelude` Change-Id: I15f225671b4096ab08913583b7b464e316c95298 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7412 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
Diffstat (limited to 'users/wpcarro/emacs/.emacs.d/wpc')
-rw-r--r-- | users/wpcarro/emacs/.emacs.d/wpc/colorscheme.el | 85 | ||||
-rw-r--r-- | users/wpcarro/emacs/.emacs.d/wpc/wpc-ui.el | 15 |
2 files changed, 13 insertions, 87 deletions
diff --git a/users/wpcarro/emacs/.emacs.d/wpc/colorscheme.el b/users/wpcarro/emacs/.emacs.d/wpc/colorscheme.el deleted file mode 100644 index 20d209f895eb..000000000000 --- a/users/wpcarro/emacs/.emacs.d/wpc/colorscheme.el +++ /dev/null @@ -1,85 +0,0 @@ -;;; colorscheme.el --- Syntax highlight and friends -*- lexical-binding: t -*- - -;; Author: William Carroll <wpcarro@gmail.com> -;; Version: 0.0.1 -;; Package-Requires: ((emacs "24.3")) - -;;; Commentary: -;; -;; TODO: Clarify this. -;; Since I have my own definition of "theme", which couples wallpaper, font, -;; with Emacs's traditional notion of the word "theme", I'm choosing to use -;; "colorscheme" to refer to *just* the notion of syntax highlight etc. - -;;; Code: - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Dependencies -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(require 'cycle) -(require '>) -(require 'cl-lib) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Library -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(defcustom colorscheme-whitelist - (cycle-from-list - (->> (custom-available-themes) - (list-map #'symbol-name) - (list-filter (>-> (s-starts-with? "doom-"))) - (list-map #'intern))) - "The whitelist of colorschemes through which to cycle.") - -(defun colorscheme-current () - "Return the currently enabled colorscheme." - (cycle-current colorscheme-whitelist)) - -(defun colorscheme-disable-all () - "Disable all currently enabled colorschemes." - (interactive) - (->> custom-enabled-themes - (list-map #'disable-theme))) - -(defun colorscheme-set (theme) - "Call `load-theme' with `THEME', ensuring that the line numbers are bright. -There is no hook that I'm aware of to handle this more elegantly." - (load-theme theme t) - (prelude-set-line-number-color "#da5468")) - -(defun colorscheme-whitelist-set (colorscheme) - "Focus the COLORSCHEME in the `colorscheme-whitelist' cycle." - (cycle-focus! (lambda (x) (equal x colorscheme)) colorscheme-whitelist) - (colorscheme-set (colorscheme-current))) - -(defun colorscheme-ivy-select () - "Load a colorscheme using ivy." - (interactive) - (let ((theme (ivy-read "Theme: " (cycle-to-list colorscheme-whitelist)))) - (colorscheme-disable-all) - (colorscheme-set (intern theme)))) - -(cl-defun colorscheme-cycle (&key forward?) - "Cycle next if `FORWARD?' is non-nil. -Cycle prev otherwise." - (disable-theme (cycle-current colorscheme-whitelist)) - (let ((theme (if forward? - (cycle-next! colorscheme-whitelist) - (cycle-prev! colorscheme-whitelist)))) - (colorscheme-set theme) - (message (s-concat "Active theme: " (symbol-to-string theme))))) - -(defun colorscheme-next () - "Disable the currently active theme and load the next theme." - (interactive) - (colorscheme-cycle :forward? t)) - -(defun colorscheme-prev () - "Disable the currently active theme and load the previous theme." - (interactive) - (colorscheme-cycle :forward? nil)) - -(provide 'colorscheme) -;;; colorscheme.el ends here diff --git a/users/wpcarro/emacs/.emacs.d/wpc/wpc-ui.el b/users/wpcarro/emacs/.emacs.d/wpc/wpc-ui.el index 9384648ee9ac..c05585786eb1 100644 --- a/users/wpcarro/emacs/.emacs.d/wpc/wpc-ui.el +++ b/users/wpcarro/emacs/.emacs.d/wpc/wpc-ui.el @@ -17,11 +17,13 @@ (require 'prelude) (require 'al) (require 'fonts) -(require 'colorscheme) +(require 'theme) (require 'device) (require 'laptop-battery) (require 'modeline) (require 'general) +(require 'dash) +(require '>) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Configuration @@ -162,7 +164,16 @@ ;; during initialization? (when (device-laptop?) (laptop-battery-display)) -(colorscheme-whitelist-set 'doom-peacock) +(setq theme-whitelist + (->> (custom-available-themes) + (list-map #'symbol-name) + (list-filter (>-> (s-starts-with? "doom-"))) + (list-map #'intern) + cycle-from-list)) +(setq theme-linum-color-override "da5478") +(add-hook 'theme-after-change + (lambda () (prelude-set-line-number-color "#da5478"))) +(theme-whitelist-set 'doom-flatwhite) (when window-system ;; On OSX, JetBrainsMono is installed as "JetBrains Mono", and I'm |