about summary refs log tree commit diff
path: root/users/wpcarro/emacs/.emacs.d/wpc
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2022-11-25T18·36-0800
committerwpcarro <wpcarro@gmail.com>2022-11-28T19·07+0000
commit89e37ee87755339d113fb631ddae3682e5cddffc (patch)
treef3af323c27848516b33d9fc48b6db3bdbffd33c1 /users/wpcarro/emacs/.emacs.d/wpc
parent22c2c5ba46bde2ac3f62811eb5caaffede7ceed8 (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.el85
-rw-r--r--users/wpcarro/emacs/.emacs.d/wpc/wpc-ui.el15
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