Explorar o código

Add terminal powerline config

Josh Bicking %!s(int64=7) %!d(string=hai) anos
pai
achega
26e4944c70
Modificáronse 1 ficheiros con 53 adicións e 4 borrados
  1. 53 4
      emacs.d/packages/packages.el

+ 53 - 4
emacs.d/packages/packages.el

@@ -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