From acd61b0e004a7b543cda7a016f99ae1bf9a328fb Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Tue, 5 Jul 2022 19:33:56 +0200 Subject: theme, vterm: use symbol for current theme --- lisp/init-theme.el | 10 +++++----- lisp/init-vterm.el | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/lisp/init-theme.el b/lisp/init-theme.el index 82d54c0..1232f64 100644 --- a/lisp/init-theme.el +++ b/lisp/init-theme.el @@ -18,11 +18,11 @@ (call-interactively 'load-theme)))) (defun mpolden/current-theme () - "Return current theme, which is either \"light\" or \"dark\"." + "Return current theme, which is either 'light or 'dark." (cond - ((memq mpolden/theme-light custom-enabled-themes) "light") - ((memq mpolden/theme-dark custom-enabled-themes) "dark") - (t (error "Failed to detect light theme. Enabled themes: %s" + ((memq mpolden/theme-light custom-enabled-themes) 'light) + ((memq mpolden/theme-dark custom-enabled-themes) 'dark) + (t (error "Failed to detect current theme. Enabled themes: %s" custom-enabled-themes)))) (defun mpolden/toggle-theme () @@ -30,7 +30,7 @@ The variables `mpolden/theme-light' and `mpolden/theme-dark' decides the themes to toggle between." (interactive) - (let* ((is-light (equal (mpolden/current-theme) "light")) + (let* ((is-light (eq (mpolden/current-theme) 'light)) (new-theme (if is-light mpolden/theme-dark mpolden/theme-light)) (new-vterm-theme (if is-light "dark" "light"))) (mpolden/switch-theme new-theme) diff --git a/lisp/init-vterm.el b/lisp/init-vterm.el index f0ebc55..47b0ca6 100644 --- a/lisp/init-vterm.el +++ b/lisp/init-vterm.el @@ -2,17 +2,23 @@ ;;; Commentary: ;;; Code: +(defun mpolden/theme-env-var (theme) + "Return the environment variable setting given THEME." + (concat "VTERM_THEME=" (if (symbolp theme) + (symbol-name theme) + theme))) + (defun mpolden/vterm-change-theme (theme) "Change the theme in all Vterm buffers to THEME." - (mapcar (lambda (buf) - (with-current-buffer buf - (vterm-send-string (concat "export VTERM_THEME=" theme "\n")))) - (seq-filter (lambda (buf) (string-prefix-p "vterm: " (buffer-name buf))) - (buffer-list)))) + (let ((export-cmd (concat "export " (mpolden/theme-env-var theme) "\n"))) + (mapcar (lambda (buf) (with-current-buffer buf + (vterm-send-string export-cmd))) + (seq-filter (lambda (buf) (string-prefix-p "vterm: " (buffer-name buf))) + (buffer-list))))) (defun mpolden/vterm-set-theme (theme) "Set the default Vterm theme to THEME." - (let ((new-var (concat "VTERM_THEME=" theme))) + (let ((new-var (mpolden/theme-env-var theme))) (setq vterm-environment (seq-filter (lambda (var) (unless (string-prefix-p "VTERM_THEME=" var))) -- cgit v1.2.3