Files
dotfiles/Doom/.doom.d/modules/private/oreoline/config.el
2020-05-31 17:23:58 +01:00

75 lines
3.2 KiB
EmacsLisp

;;; ui/telephone/config.el -*- lexical-binding: t; -*-
(use-package! telephone-line
:hook (after-init . telephone-line-mode)
:init
;; Faces
(defface +oreoline-accent-dark '((t (:foreground "black" :background "Cadet Blue" ))) "")
(defface +oreoline-evil-dark '((t (:foreground "white" :background "dark green" ))) "")
(defface +oreoline-evil-inactive '((t (:foreground "cornsilk" :background "gray26" ))) "")
(defface +oreoline-accent-light '((t (:foreground "black" :background "Light Slate Grey"))) "")
(defface +oreoline-evil-light '((t (:foreground "black" :background "Sky Blue" ))) "")
;; Set telephone line faces
(setq telephone-line-faces
'((evil . (+oreoline-evil-dark . +oreoline-evil-inactive))
(modal . telephone-line-modal-face)
(ryo . telephone-line-ryo-modal-face)
(accent . (+oreoline-accent-dark . telephone-line-accent-inactive))
(nil mode-line . mode-line-inactive)))
(when (featurep! +light)
(setq telephone-line-faces
'((evil . (+oreoline-evil-light . +oreoline-evil-inactive))
(modal . telephone-line-modal-face)
(ryo . telephone-line-ryo-modal-face)
(accent . (+oreoline-accent-light . telephone-line-accent-inactive))
(nil mode-line . mode-line-inactive))))
;; Seperators
(setq telephone-line-primary-left-separator 'telephone-line-abs-left
telephone-line-secondary-left-separator 'telephone-line-identity-hollow-left
telephone-line-primary-right-separator 'telephone-line-abs-right
telephone-line-secondary-right-separator 'telephone-line-identity-hollow-right)
;; LSP segment
(telephone-line-defsegment +oreoline-lsp-segment ()
(if (bound-and-true-p lsp-mode)
(propertize "")
(propertize "")))
;; Visual line check
(telephone-line-defsegment +oreoline-visual-segment ()
(if mark-active
(let ((lines (count-lines (region-beginning) (region-end)))
(chars (- (region-end) (region-beginning))))
(if (< lines 2)
(propertize (format "%sC" chars))
(propertize (format "%sL %sC" lines chars))))
(propertize "~")))
(setq
;; LHS
telephone-line-lhs
'((evil . (telephone-line-evil-tag-segment
telephone-line-buffer-modified-segment))
(accent . (telephone-line-filesize-segment
telephone-line-buffer-name-segment
telephone-line-erc-modified-channels-segment
telephone-line-process-segment))
(nil . ()))
;; RHS
telephone-line-rhs
'((nil . (telephone-line-misc-info-segment))
(accent . (telephone-line-vc-segment
+oreoline-lsp-segment
telephone-line-major-mode-segment
telephone-line-flycheck-segment))
(modal . (+oreoline-visual-segment))
(evil . (telephone-line-airline-position-segment))))
:config
(size-indication-mode +1))
(use-package! evil-anzu
:after-call evil-ex-start-search evil-ex-start-word-search evil-ex-search-activate-highlight)