Make ui/fci's automatic color change customizable

This commit is contained in:
Henrik Lissner 2018-06-08 13:29:06 +02:00
parent fb6490288a
commit d008a7e977
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -1,12 +1,28 @@
;;; ui/fci/config.el -*- lexical-binding: t; -*-
(defvar +fci-rule-color-function
(lambda () (face-foreground 'line-number))
"Color used to draw the fill-column rule.
Accepts a color string or a function that returns a color.
Changes to this variable do not take effect until `fci-mode' is restarted.")
;;
;; Plugins
;;
(def-package! fill-column-indicator
:hook ((text-mode prog-mode conf-mode) . turn-on-fci-mode)
:config
(defun +fci|set-color ()
(setq fci-rule-color (face-foreground 'line-number)))
(add-hook 'doom-load-theme-hook #'+fci|set-color)
(+fci|set-color)
"Automatically change `fci-rule-color' based on `+fci-rule-color-function's
return value. To disable this, either set `+fci-rule-color-function' to nil or
remove `+fci|set-color' from `fci-mode-hook'."
(when (functionp +fci-rule-color-function)
(setq fci-rule-color (funcall +fci-rule-color-function))))
(add-hook 'fci-mode-hook #'+fci|set-color)
(when (featurep! :completion company)
(add-hook 'company-completion-started-hook #'+fci|disable-when-company-activates)