From 3f28411f643c4cd4d55cb0e6fe8477266ac1d997 Mon Sep 17 00:00:00 2001 From: Steven vanZyl Date: Mon, 5 Oct 2020 10:08:51 -0400 Subject: [PATCH] Use delegate function As suggested by Henrik I changed it to use a delegate function, which reduces code duplication and makes things cleaner --- modules/config/default/+emacs-bindings.el | 6 ++---- modules/config/default/+evil-bindings.el | 6 ++---- modules/ui/fill-column/autoload.el | 14 +++++++++----- modules/ui/fill-column/packages.el | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/modules/config/default/+emacs-bindings.el b/modules/config/default/+emacs-bindings.el index 78bc96cf9..f44db782e 100644 --- a/modules/config/default/+emacs-bindings.el +++ b/modules/config/default/+emacs-bindings.el @@ -266,10 +266,8 @@ ;;; t --- toggle (:prefix-map ("t" . "toggle") :desc "Big mode" "b" #'doom-big-font-mode - (:when (and (featurep! :ui fill-column) EMACS27+) - :desc "Fill Column Indicator" "c" #'display-fill-column-indicator-mode) - (:when (and (featurep! :ui fill-column) (not EMACS27+)) - :desc "Fill Column Indicator" "c" #'hl-fill-column-mode) + (:when (featurep! :ui fill-column) + :desc "Fill Column Indicator" "c" #'+fill-column-enable-h) :desc "Flymake" "f" #'flymake-mode :desc "Frame fullscreen" "F" #'toggle-frame-fullscreen :desc "Indent style" "I" #'doom/toggle-indent-style diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index bbdf4fba6..403851ac4 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -650,10 +650,8 @@ ;;; t --- toggle (:prefix-map ("t" . "toggle") :desc "Big mode" "b" #'doom-big-font-mode - (:when (and (featurep! :ui fill-column) EMACS27+) - :desc "Fill Column Indicator" "c" #'display-fill-column-indicator-mode) - (:when (and (featurep! :ui fill-column) (not EMACS27+)) - :desc "Fill Column Indicator" "c" #'hl-fill-column-mode) + (:when (featurep! :ui fill-column) + :desc "Fill Column Indicator" "c" #'+fill-column-enable-h) :desc "Flymake" "f" #'flymake-mode (:when (featurep! :checkers syntax) :desc "Flycheck" "f" #'flycheck-mode) diff --git a/modules/ui/fill-column/autoload.el b/modules/ui/fill-column/autoload.el index 2f1fb38aa..cb2e595bf 100644 --- a/modules/ui/fill-column/autoload.el +++ b/modules/ui/fill-column/autoload.el @@ -5,8 +5,12 @@ ;;;###autoload ;; Emacs 27 introduced `display-fill-column-indicator-mode' which should be ;; used instead of `hl-fill-column-mode' -(if EMACS27+ - (add-hook! '(text-mode-hook prog-mode-hook conf-mode-hook) - #'display-fill-column-indicator-mode) - (add-hook! '(text-mode-hook prog-mode-hook conf-mode-hook) - #'hl-fill-column-mode)) +(defun +fill-column-enable-h (&optional arg) + (interactive "p") + (if (fboundp 'display-fill-column-indicator-mode) + (display-fill-column-indicator-mode arg) + (hl-fill-column-mode arg))) + +;;;###autoload +(add-hook! '(text-mode-hook prog-mode-hook conf-mode-hook) + #'+fill-column-enable-h) diff --git a/modules/ui/fill-column/packages.el b/modules/ui/fill-column/packages.el index 667e0e7ea..12420f96a 100644 --- a/modules/ui/fill-column/packages.el +++ b/modules/ui/fill-column/packages.el @@ -2,5 +2,5 @@ ;;; ui/fill-column/packages.el ;; `hl-fill-column' is only used on Emacs versions before 27 -(unless EMACS27+ - (package! hl-fill-column :pin "5782a91ba0182c4e562fa0db6379ff9dd472856b")) +(unless (fboundp 'display-fill-column-indicator-mode) + (package! hl-fill-column :pin "5782a91ba0182c4e562fa0db6379ff9dd472856b"))