|
@@ -164,9 +164,6 @@
|
|
|
|
|
|
(undohist-initialize))
|
|
|
|
|
|
-(use-package powerline
|
|
|
- :ensure t)
|
|
|
-
|
|
|
(use-package powerline-evil
|
|
|
:ensure t
|
|
|
:config
|
|
@@ -225,7 +222,59 @@
|
|
|
(powerline-render center)
|
|
|
(powerline-fill face1 (powerline-width rhs))
|
|
|
(powerline-render rhs)))))))
|
|
|
- (powerline-center-evil-theme))
|
|
|
+ (defun powerline-evil-vim-theme ()
|
|
|
+ "Powerline's Vim-like mode-line with evil state at the beginning."
|
|
|
+ (interactive)
|
|
|
+ (setq-default mode-line-format
|
|
|
+ '("%e"
|
|
|
+ (:eval
|
|
|
+ (let* ((active (powerline-selected-window-active))
|
|
|
+ (mode-line (if active 'mode-line 'mode-line-inactive))
|
|
|
+ (face1 (if active 'powerline-active1 'powerline-inactive1))
|
|
|
+ (face2 (if active 'powerline-active2 'powerline-inactive2))
|
|
|
+ (separator-left (intern (format "powerline-%s-%s"
|
|
|
+ (powerline-current-separator)
|
|
|
+ (car powerline-default-separator-dir))))
|
|
|
+ (separator-right (intern (format "powerline-%s-%s"
|
|
|
+ (powerline-current-separator)
|
|
|
+ (cdr powerline-default-separator-dir))))
|
|
|
+ (lhs (list (if evil-mode
|
|
|
+ (powerline-raw (powerline-evil-tag) mode-line))
|
|
|
+ (powerline-buffer-id `(mode-line-buffer-id ,mode-line) 'l)
|
|
|
+ (powerline-raw "[" mode-line 'l)
|
|
|
+ (powerline-major-mode mode-line)
|
|
|
+ (powerline-process mode-line)
|
|
|
+ (powerline-raw "]" mode-line)
|
|
|
+ (when (buffer-modified-p)
|
|
|
+ (powerline-raw "[+]" mode-line))
|
|
|
+ (when buffer-read-only
|
|
|
+ (powerline-raw "[RO]" mode-line))
|
|
|
+ ;; (powerline-raw (concat "[" (mode-line-eol-desc) "]") mode-line)
|
|
|
+ (when (and (boundp 'which-func-mode) which-func-mode)
|
|
|
+ (powerline-raw which-func-format nil 'l))
|
|
|
+ (when (boundp 'erc-modified-channels-object)
|
|
|
+ (powerline-raw erc-modified-channels-object face1 'l))
|
|
|
+ (powerline-raw "[" mode-line 'l)
|
|
|
+ (powerline-minor-modes mode-line) (powerline-raw "%n" mode-line)
|
|
|
+ (powerline-raw "]" mode-line)
|
|
|
+ (when (and vc-mode buffer-file-name)
|
|
|
+ (let ((backend (vc-backend buffer-file-name)))
|
|
|
+ (when backend
|
|
|
+ (concat (powerline-raw "[" mode-line 'l)
|
|
|
+ (powerline-raw (format "%s / %s" backend (vc-working-revision buffer-file-name backend)))
|
|
|
+ (powerline-raw "]" mode-line)))))))
|
|
|
+ (rhs (list (powerline-raw mode-line-misc-info mode-line 'r)
|
|
|
+ (powerline-raw global-mode-string mode-line 'r)
|
|
|
+ (powerline-raw "%l," mode-line 'l)
|
|
|
+ (powerline-raw (format-mode-line '(10 "%c")))
|
|
|
+ (powerline-raw (replace-regexp-in-string "%" "%%" (format-mode-line '(-3 "%p"))) mode-line 'r))))
|
|
|
+ (concat (powerline-render lhs)
|
|
|
+ (powerline-fill mode-line (powerline-width rhs))
|
|
|
+ (powerline-render rhs)))))))
|
|
|
+
|
|
|
+ (if (or (display-graphic-p) (daemonp))
|
|
|
+ (powerline-center-evil-theme)
|
|
|
+ (powerline-evil-vim-theme)))
|
|
|
|
|
|
(use-package linum-relative
|
|
|
:ensure t
|