summaryrefslogtreecommitdiff
path: root/elpa/powerline-20200105.2053
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/powerline-20200105.2053')
-rw-r--r--elpa/powerline-20200105.2053/powerline-autoloads.el101
-rw-r--r--elpa/powerline-20200105.2053/powerline-pkg.el12
-rw-r--r--elpa/powerline-20200105.2053/powerline-separators.el635
-rw-r--r--elpa/powerline-20200105.2053/powerline-themes.el294
-rw-r--r--elpa/powerline-20200105.2053/powerline.el617
5 files changed, 0 insertions, 1659 deletions
diff --git a/elpa/powerline-20200105.2053/powerline-autoloads.el b/elpa/powerline-20200105.2053/powerline-autoloads.el
deleted file mode 100644
index 8053204..0000000
--- a/elpa/powerline-20200105.2053/powerline-autoloads.el
+++ /dev/null
@@ -1,101 +0,0 @@
-;;; powerline-autoloads.el --- automatically extracted autoloads
-;;
-;;; Code:
-
-(add-to-list 'load-path (directory-file-name
- (or (file-name-directory #$) (car load-path))))
-
-
-;;;### (autoloads nil "powerline" "powerline.el" (0 0 0 0))
-;;; Generated autoloads from powerline.el
-
-(autoload 'powerline-hud "powerline" "\
-Return an XPM of relative buffer location using FACE1 and FACE2 of optional WIDTH.
-
-\(fn FACE1 FACE2 &optional WIDTH)" nil nil)
-
-(autoload 'powerline-mouse "powerline" "\
-Return mouse handler for CLICK-GROUP given CLICK-TYPE and STRING.
-
-\(fn CLICK-GROUP CLICK-TYPE STRING)" nil nil)
-
-(autoload 'powerline-concat "powerline" "\
-Concatonate STRINGS and pad sides by spaces.
-
-\(fn &rest STRINGS)" nil nil)
-
-(autoload 'defpowerline "powerline" "\
-Create function NAME by wrapping BODY with powerline padding an propetization.
-
-\(fn NAME BODY)" nil t)
-
-(autoload 'powerline-raw "powerline" "\
-Render STR as mode-line data using FACE and optionally PAD import on left (l) or right (r).
-
-\(fn STR &optional FACE PAD)" nil nil)
-
-(autoload 'powerline-fill "powerline" "\
-Return empty space using FACE and leaving RESERVE space on the right.
-
-\(fn FACE RESERVE)" nil nil)
- (autoload 'powerline-major-mode "powerline")
- (autoload 'powerline-minor-modes "powerline")
- (autoload 'powerline-narrow "powerline")
- (autoload 'powerline-vc "powerline")
- (autoload 'powerline-encoding "powerline")
- (autoload 'powerline-buffer-size "powerline")
- (autoload 'powerline-buffer-id "powerline")
- (autoload 'powerline-process "powerline")
- (autoload 'powerline-selected-window-active "powerline")
-
-(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "powerline" '("pl/" "powerline-")))
-
-;;;***
-
-;;;### (autoloads nil "powerline-separators" "powerline-separators.el"
-;;;;;; (0 0 0 0))
-;;; Generated autoloads from powerline-separators.el
-
-(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "powerline-separators" '("powerline-image-apple-rgb" "pl/")))
-
-;;;***
-
-;;;### (autoloads nil "powerline-themes" "powerline-themes.el" (0
-;;;;;; 0 0 0))
-;;; Generated autoloads from powerline-themes.el
-
-(autoload 'powerline-default-theme "powerline-themes" "\
-Setup the default mode-line.
-
-\(fn)" t nil)
-
-(autoload 'powerline-center-theme "powerline-themes" "\
-Setup a mode-line with major and minor modes centered.
-
-\(fn)" t nil)
-
-(autoload 'powerline-vim-theme "powerline-themes" "\
-Setup a Vim-like mode-line.
-
-\(fn)" t nil)
-
-(autoload 'powerline-nano-theme "powerline-themes" "\
-Setup a nano-like mode-line.
-
-\(fn)" t nil)
-
-(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "powerline-themes" '("powerline-")))
-
-;;;***
-
-;;;### (autoloads nil nil ("powerline-pkg.el") (0 0 0 0))
-
-;;;***
-
-;; Local Variables:
-;; version-control: never
-;; no-byte-compile: t
-;; no-update-autoloads: t
-;; coding: utf-8
-;; End:
-;;; powerline-autoloads.el ends here
diff --git a/elpa/powerline-20200105.2053/powerline-pkg.el b/elpa/powerline-20200105.2053/powerline-pkg.el
deleted file mode 100644
index c685d29..0000000
--- a/elpa/powerline-20200105.2053/powerline-pkg.el
+++ /dev/null
@@ -1,12 +0,0 @@
-(define-package "powerline" "20200105.2053" "Rewrite of Powerline"
- '((cl-lib "0.2"))
- :commit "edbb464eef680efc9d408730288c716cd4cac404" :keywords
- '("mode-line")
- :authors
- '(("Donald Ephraim Curtis" . "dcurtis@milkbox.net"))
- :maintainer
- '("Donald Ephraim Curtis" . "dcurtis@milkbox.net")
- :url "http://github.com/milkypostman/powerline/")
-;; Local Variables:
-;; no-byte-compile: t
-;; End:
diff --git a/elpa/powerline-20200105.2053/powerline-separators.el b/elpa/powerline-20200105.2053/powerline-separators.el
deleted file mode 100644
index ee560d4..0000000
--- a/elpa/powerline-20200105.2053/powerline-separators.el
+++ /dev/null
@@ -1,635 +0,0 @@
-;;; powerline-separators.el --- Separators for Powerline
-
-;; Copyright (C) 2012-2013 Donald Ephraim Curtis
-;; Copyright (C) 2013 Jason Milkins
-;; Copyright (C) 2012 Nicolas Rougier
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;
-;; Separators for Powerline.
-;; Included separators: alternate, arrow, arrow-fade, bar, box, brace, butt,
-;; chamfer, contour, curve, rounded, roundstub, slant, wave, zigzag, and nil.
-;;
-
-;;; Code:
-
-(require 'cl-lib)
-(require 'color)
-
-(defvar powerline-image-apple-rgb
- (and (eq (window-system) 'ns)
- ns-use-srgb-colorspace
- (< 11
- (string-to-number
- (and (string-match "darwin\\([0-9]+\\)" system-configuration)
- (match-string-no-properties 1 system-configuration)))))
- "Boolean variable to determine whether to use Apple RGB colorspace to render images.
-
-t on macOS 10.7+ and `ns-use-srgb-colorspace' is t, nil otherwise.
-
-This variable is automatically set, there's no need to modify it.")
-
-(defun pl/interpolate (color1 color2)
- "Interpolate between COLOR1 and COLOR2.
-
-COLOR1 and COLOR2 must be supplied as hex strings with a leading #."
- (let* ((c1 (color-name-to-rgb color1))
- (c2 (color-name-to-rgb color2))
- (red (/ (+ (nth 0 c1) (nth 0 c2)) 2))
- (green (/ (+ (nth 1 c1) (nth 1 c2)) 2))
- (blue (/ (+ (nth 2 c1) (nth 2 c2)) 2)))
- (color-rgb-to-hex red green blue)))
-
-(defun pl/color-xyz-to-apple-rgb (X Y Z)
- "Convert CIE X Y Z colors to Apple RGB color space."
- (let ((r (+ (* 3.2404542 X) (* -1.5371385 Y) (* -0.4985314 Z)))
- (g (+ (* -0.9692660 X) (* 1.8760108 Y) (* 0.0415560 Z)))
- (b (+ (* 0.0556434 X) (* -0.2040259 Y) (* 1.0572252 Z))))
- (list (expt r (/ 1.8)) (expt g (/ 1.8)) (expt b (/ 1.8)))))
-
-(defun pl/color-srgb-to-apple-rgb (red green blue)
- "Convert RED GREEN BLUE colors from sRGB color space to Apple RGB.
-RED, GREEN and BLUE should be between 0.0 and 1.0, inclusive."
- (apply 'pl/color-xyz-to-apple-rgb (color-srgb-to-xyz red green blue)))
-
-(defun pl/hex-color (color)
- "Get the hexadecimal value of COLOR."
- (when color
- (let ((srgb-color (color-name-to-rgb color)))
- (if powerline-image-apple-rgb
- (apply 'color-rgb-to-hex (apply 'pl/color-srgb-to-apple-rgb srgb-color))
- (apply 'color-rgb-to-hex srgb-color)))))
-
-(defun pl/pattern (lst)
- "Turn LST into an infinite pattern."
- (when lst
- (let ((pattern (cl-copy-list lst)))
- (setcdr (last pattern) pattern))))
-
-(defun pl/pattern-to-string (pattern)
- "Convert a PATTERN into a string that can be used in an XPM."
- (concat "\"" (mapconcat 'number-to-string pattern "") "\","))
-
-(defun pl/reverse-pattern (pattern)
- "Reverse each line in PATTERN."
- (mapcar 'reverse pattern))
-
-(defun pl/row-pattern (fill total &optional fade)
- "Make a list that has FILL 0s out of TOTAL 1s with FADE 2s to the right of the fill."
- (unless fade
- (setq fade 0))
- (let ((fill (min fill total))
- (fade (min fade (max (- total fill) 0))))
- (append (make-list fill 0)
- (make-list fade 2)
- (make-list (- total fill fade) 1))))
-
-(defun pl/pattern-bindings-body (patterns height-exp pattern-height-sym
- second-pattern-height-sym)
- "Create let-var bindings and a function body from PATTERNS.
-The `car' and `cdr' parts of the result can be passed to the
-function `pl/wrap-defun' as its `let-vars' and `body' arguments,
-respectively. HEIGHT-EXP is an expression calculating the image
-height and it should contain a free variable `height'.
-PATTERN-HEIGHT-SYM and SECOND-PATTERN-HEIGHT-SYM are symbols used
-for let-var binding variables."
- (let* ((pattern (pl/pattern (mapcar 'pl/pattern-to-string (car patterns))))
- (header (mapcar 'pl/pattern-to-string (nth 1 patterns)))
- (footer (mapcar 'pl/pattern-to-string (nth 2 patterns)))
- (second-pattern (pl/pattern (mapcar 'pl/pattern-to-string (nth 3 patterns))))
- (center (mapcar 'pl/pattern-to-string (nth 4 patterns)))
- (reserve (+ (length header) (length footer) (length center))))
- (when pattern
- (cons `((,pattern-height-sym (max (- ,height-exp ,reserve) 0))
- (,second-pattern-height-sym (/ ,pattern-height-sym 2))
- (,pattern-height-sym ,(if second-pattern `(ceiling ,pattern-height-sym 2) `,pattern-height-sym)))
- (list (when header `(mapconcat 'identity ',header ""))
- `(mapconcat 'identity
- (cl-subseq ',pattern 0 ,pattern-height-sym) "")
- (when center `(mapconcat 'identity ',center ""))
- (when second-pattern
- `(mapconcat 'identity
- (cl-subseq ',second-pattern
- 0 ,second-pattern-height-sym) ""))
- (when footer `(mapconcat 'identity ',footer "")))))))
-
-(defun pl/pattern-defun (name dir width &rest patterns)
- "Create a powerline function of NAME in DIR with WIDTH for PATTERNS.
-
-PATTERNS is of the form (PATTERN HEADER FOOTER SECOND-PATTERN CENTER
-PATTERN-2X HEADER-2X FOOTER-2X SECOND-PATTERN-2X CENTER-2X).
-PATTERN is required, all other components are optional.
-The first 5 components are for the standard resolution image.
-The remaining ones are for the high resolution image where both
-width and height are doubled. If PATTERN-2X is nil or not given,
-then the remaining components are ignored and the standard
-resolution image with magnification and interpolation will be
-used in high resolution environments
-
-All generated functions generate the form:
-HEADER
-PATTERN ...
-CENTER
-SECOND-PATTERN ...
-FOOTER
-
-PATTERN and SECOND-PATTERN repeat infinitely to fill the space needed to generate a full height XPM.
-
-PATTERN, HEADER, FOOTER, SECOND-PATTERN, CENTER are of the form ((COLOR ...) (COLOR ...) ...).
-
-COLOR can be one of 0, 1, or 2, where 0 is the source color, 1 is the
-destination color, and 2 is the interpolated color between 0 and 1."
- (when (eq dir 'right)
- (setq patterns (mapcar 'pl/reverse-pattern patterns)))
- (let ((bindings-body (pl/pattern-bindings-body patterns
- 'height
- 'pattern-height
- 'second-pattern-height))
- (bindings-body-2x (pl/pattern-bindings-body (nthcdr 5 patterns)
- '(* height 2)
- 'pattern-height-2x
- 'second-pattern-height-2x)))
- (pl/wrap-defun name dir width
- (append (car bindings-body) (car bindings-body-2x))
- (cdr bindings-body) (cdr bindings-body-2x))))
-
-(defun pl/background-color (face)
- (face-attribute face
- (if (face-attribute face :inverse-video nil 'default)
- :foreground
- :background)
- nil
- 'default))
-
-(defun pl/wrap-defun (name dir width let-vars body &optional body-2x)
- "Generate a powerline function of NAME in DIR with WIDTH using LET-VARS and BODY."
- (let* ((src-face (if (eq dir 'left) 'face1 'face2))
- (dst-face (if (eq dir 'left) 'face2 'face1)))
- `(defun ,(intern (format "powerline-%s-%s" name (symbol-name dir)))
- (face1 face2 &optional height)
- (when window-system
- (unless height (setq height (pl/separator-height)))
- (let* ,(append `((color1 (when ,src-face
- (pl/hex-color (pl/background-color ,src-face))))
- (color2 (when ,dst-face
- (pl/hex-color (pl/background-color ,dst-face))))
- (colori (when (and color1 color2) (pl/interpolate color1 color2)))
- (color1 (or color1 "None"))
- (color2 (or color2 "None"))
- (colori (or colori "None")))
- let-vars)
- (apply 'create-image
- ,(append `(concat (format "/* XPM */ static char * %s_%s[] = { \"%s %s 3 1\", \"0 c %s\", \"1 c %s\", \"2 c %s\","
- ,(replace-regexp-in-string "-" "_" name)
- (symbol-name ',dir)
- ,width
- height
- color1
- color2
- colori))
- body
- '("};"))
- 'xpm t
- :ascent 'center
- :face (when (and face1 face2)
- ,dst-face)
- ,(and body-2x
- `(and (featurep 'mac)
- (list :data-2x
- ,(append `(concat (format "/* XPM */ static char * %s_%s_2x[] = { \"%s %s 3 1\", \"0 c %s\", \"1 c %s\", \"2 c %s\","
- ,(replace-regexp-in-string "-" "_" name)
- (symbol-name ',dir)
- (* ,width 2)
- (* height 2)
- color1
- color2
- colori))
- body-2x
- '("};")))))))))))
-
-(defmacro pl/alternate (dir)
- "Generate an alternating pattern XPM function for DIR."
- (pl/pattern-defun "alternate" dir 4
- '((2 2 1 1)
- (0 0 2 2))
- nil nil nil nil
- ;; 2x
- '((2 2 2 2 1 1 1 1)
- (2 2 2 2 1 1 1 1)
- (0 0 0 0 2 2 2 2)
- (0 0 0 0 2 2 2 2))))
-
-(defmacro pl/arrow (dir)
- "Generate an arrow XPM function for DIR."
- (let ((row-modifier (if (eq dir 'left) 'identity 'reverse)))
- (pl/wrap-defun "arrow" dir 'middle-width
- '((width (1- (/ height 2)))
- (middle-width (1- (ceiling height 2))))
- `((cl-loop for i from 0 to width
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern i middle-width))))
- (when (cl-oddp height)
- (pl/pattern-to-string (make-list middle-width 0)))
- (cl-loop for i from width downto 0
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern i middle-width)))))
- `((when (cl-evenp height)
- (pl/pattern-to-string (make-list (* middle-width 2) 1)))
- (cl-loop for i from 0 to (* middle-width 2)
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern i (* middle-width 2)))))
- (cl-loop for i from (* middle-width 2) downto 0
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern i (* middle-width 2)))))
- (when (cl-evenp height)
- (pl/pattern-to-string (make-list (* middle-width 2) 1)))))))
-
-(defmacro pl/arrow-fade (dir)
- "Generate an arrow-fade XPM function for DIR."
- (let* ((row-modifier (if (eq dir 'left) 'identity 'reverse)))
- (pl/wrap-defun "arrow-fade" dir 'middle-width
- '((width (1- (/ height 2)))
- (middle-width (1+ (ceiling height 2))))
- `((cl-loop for i from 0 to width
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern i middle-width 2))))
- (when (cl-oddp height)
- (pl/pattern-to-string (,row-modifier (pl/row-pattern (1+ width) middle-width 2))))
- (cl-loop for i from width downto 0
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern i middle-width 2)))))
- `((when (cl-evenp height)
- (pl/pattern-to-string (,row-modifier (pl/row-pattern 0 (* middle-width 2) (* 2 2)))))
- (cl-loop for i from 0 to (* (- middle-width 2) 2)
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern i (* middle-width 2) (* 2 2)))))
- (cl-loop for i from (* (- middle-width 2) 2) downto 0
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern i (* middle-width 2) (* 2 2)))))
- (when (cl-evenp height)
- (pl/pattern-to-string (,row-modifier (pl/row-pattern 0 (* middle-width 2) (* 2 2)))))))))
-
-(defmacro pl/bar (dir)
- "Generate a bar XPM function for DIR."
- (pl/pattern-defun "bar" dir 2
- '((2 2))))
-
-(defmacro pl/box (dir)
- "Generate a box XPM function for DIR."
- (pl/pattern-defun "box" dir 2
- '((0 0)
- (0 0)
- (1 1)
- (1 1))
- nil nil nil nil
- ;; 2x
- '((0 0 0 0)
- (0 0 0 0)
- (0 0 0 0)
- (0 0 0 0)
- (1 1 1 1)
- (1 1 1 1)
- (1 1 1 1)
- (1 1 1 1))))
-
-(defmacro pl/brace (dir)
- "Generate a brace XPM function for DIR."
- (pl/pattern-defun "brace" dir 4
- '((0 1 1 1))
- '((1 1 1 1)
- (2 1 1 1))
- '((2 1 1 1)
- (1 1 1 1))
- '((0 1 1 1))
- '((0 2 1 1)
- (0 2 1 1)
- (0 0 2 1)
- (0 0 0 0)
- (0 0 2 1)
- (0 2 1 1)
- (0 2 1 1))
- ;; 2x
- '((0 0 1 1 1 1 1 1))
- '((1 1 1 1 1 1 1 1)
- (1 1 1 1 1 1 1 1)
- (2 1 1 1 1 1 1 1)
- (0 2 1 1 1 1 1 1))
- '((0 2 1 1 1 1 1 1)
- (2 1 1 1 1 1 1 1)
- (1 1 1 1 1 1 1 1)
- (1 1 1 1 1 1 1 1))
- '((0 0 1 1 1 1 1 1))
- '((0 0 2 1 1 1 1 1)
- (0 0 0 1 1 1 1 1)
- (0 0 0 2 1 1 1 1)
- (0 0 0 0 1 1 1 1)
- (0 0 0 0 2 1 1 1)
- (0 0 0 0 0 2 1 1)
- (0 0 0 0 0 0 0 2)
- (0 0 0 0 0 0 0 2)
- (0 0 0 0 0 2 1 1)
- (0 0 0 0 2 1 1 1)
- (0 0 0 0 1 1 1 1)
- (0 0 0 2 1 1 1 1)
- (0 0 0 1 1 1 1 1)
- (0 0 2 1 1 1 1 1))))
-
-(defmacro pl/butt (dir)
- "Generate a butt XPM function for DIR."
- (pl/pattern-defun "butt" dir 3
- '((0 0 0))
- '((1 1 1)
- (0 1 1)
- (0 0 1))
- '((0 0 1)
- (0 1 1)
- (1 1 1))
- nil nil
- ;; 2x
- '((0 0 0 0 0 0))
- '((1 1 1 1 1 1)
- (0 1 1 1 1 1)
- (0 0 1 1 1 1)
- (0 0 0 1 1 1)
- (0 0 0 0 1 1)
- (0 0 0 0 0 1))
- '((0 0 0 0 0 1)
- (0 0 0 0 1 1)
- (0 0 0 1 1 1)
- (0 0 1 1 1 1)
- (0 1 1 1 1 1)
- (1 1 1 1 1 1))))
-
-(defmacro pl/chamfer (dir)
- "Generate a chamfer XPM function for DIR."
- (pl/pattern-defun "chamfer" dir 3
- '((0 0 0))
- '((1 1 1)
- (0 1 1)
- (0 0 1))
- nil nil nil
- ;; 2x
- '((0 0 0 0 0 0))
- '((1 1 1 1 1 1)
- (0 1 1 1 1 1)
- (0 0 1 1 1 1)
- (0 0 0 1 1 1)
- (0 0 0 0 1 1)
- (0 0 0 0 0 1))))
-
-(defmacro pl/contour (dir)
- "Generate a contour XPM function for DIR."
- (pl/pattern-defun "contour" dir 10
- '((0 0 0 0 0 1 1 1 1 1))
- '((1 1 1 1 1 1 1 1 1 1)
- (0 2 1 1 1 1 1 1 1 1)
- (0 0 2 1 1 1 1 1 1 1)
- (0 0 0 2 1 1 1 1 1 1)
- (0 0 0 0 1 1 1 1 1 1)
- (0 0 0 0 2 1 1 1 1 1))
- '((0 0 0 0 0 2 1 1 1 1)
- (0 0 0 0 0 0 1 1 1 1)
- (0 0 0 0 0 0 2 1 1 1)
- (0 0 0 0 0 0 0 2 1 1)
- (0 0 0 0 0 0 0 0 0 0))
- nil nil
- ;; 2x
- '((0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1))
- '((1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1))
- '((0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))
-
-(defmacro pl/curve (dir)
- "Generate a curve XPM function for DIR."
- (pl/pattern-defun "curve" dir 4
- '((0 0 0 0))
- '((1 1 1 1)
- (2 1 1 1)
- (0 0 1 1)
- (0 0 2 1)
- (0 0 0 1)
- (0 0 0 2))
- '((0 0 0 2)
- (0 0 0 1)
- (0 0 2 1)
- (0 0 1 1)
- (2 1 1 1)
- (1 1 1 1))
- nil nil
- ;; 2x
- '((0 0 0 0 0 0 0 0))
- '((1 1 1 1 1 1 1 1)
- (1 1 1 1 1 1 1 1)
- (1 1 1 1 1 1 1 1)
- (0 0 1 1 1 1 1 1)
- (0 0 0 2 1 1 1 1)
- (0 0 0 0 2 1 1 1)
- (0 0 0 0 0 2 1 1)
- (0 0 0 0 0 0 1 1)
- (0 0 0 0 0 0 1 1)
- (0 0 0 0 0 0 0 1)
- (0 0 0 0 0 0 0 1)
- (0 0 0 0 0 0 0 1))
- '((0 0 0 0 0 0 0 1)
- (0 0 0 0 0 0 0 1)
- (0 0 0 0 0 0 0 1)
- (0 0 0 0 0 0 1 1)
- (0 0 0 0 0 0 1 1)
- (0 0 0 0 0 2 1 1)
- (0 0 0 0 2 1 1 1)
- (0 0 0 2 1 1 1 1)
- (0 0 1 1 1 1 1 1)
- (1 1 1 1 1 1 1 1)
- (1 1 1 1 1 1 1 1)
- (1 1 1 1 1 1 1 1))))
-
-(defmacro pl/rounded (dir)
- "Generate a rounded XPM function for DIR."
- (pl/pattern-defun "rounded" dir 6
- '((0 0 0 0 0 0))
- '((2 1 1 1 1 1)
- (0 0 2 1 1 1)
- (0 0 0 0 1 1)
- (0 0 0 0 2 1)
- (0 0 0 0 0 1)
- (0 0 0 0 0 2))
- nil nil nil
- ;; 2x
- '((0 0 0 0 0 0 0 0 0 0 0 0))
- '((1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 2 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 2 1 1 1 1)
- (0 0 0 0 0 0 0 0 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 1 1)
- (0 0 0 0 0 0 0 0 0 0 1 1)
- (0 0 0 0 0 0 0 0 0 0 2 1)
- (0 0 0 0 0 0 0 0 0 0 0 1)
- (0 0 0 0 0 0 0 0 0 0 0 1))))
-
-(defmacro pl/roundstub (dir)
- "Generate a roundstub XPM function for DIR."
- (pl/pattern-defun "roundstub" dir 3
- '((0 0 0))
- '((1 1 1)
- (0 0 1)
- (0 0 2))
- '((0 0 2)
- (0 0 1)
- (1 1 1))
- nil nil
- ;; 2x
- '((0 0 0 0 0 0))
- '((1 1 1 1 1 1)
- (2 1 1 1 1 1)
- (0 0 0 2 1 1)
- (0 0 0 0 1 1)
- (0 0 0 0 0 1)
- (0 0 0 0 0 1))
- '((0 0 0 0 0 1)
- (0 0 0 0 0 1)
- (0 0 0 0 1 1)
- (0 0 0 2 1 1)
- (2 1 1 1 1 1)
- (1 1 1 1 1 1))))
-
-(defmacro pl/slant (dir)
- "Generate a slant XPM function for DIR."
- (let* ((row-modifier (if (eq dir 'left) 'identity 'reverse)))
- (pl/wrap-defun "slant" dir 'width
- '((width (1- (ceiling height 2))))
- `((cl-loop for i from 0 to (1- height)
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern (/ i 2) width)))))
- `((cl-loop for i from 0 to (1- (* height 2))
- concat (pl/pattern-to-string (,row-modifier (pl/row-pattern (/ i 2) (* width 2)))))))))
-
-(defmacro pl/wave (dir)
- "Generate a wave XPM function for DIR."
- (pl/pattern-defun "wave" dir 11
- '((0 0 0 0 0 0 1 1 1 1 1))
- '((2 1 1 1 1 1 1 1 1 1 1)
- (0 0 1 1 1 1 1 1 1 1 1)
- (0 0 0 1 1 1 1 1 1 1 1)
- (0 0 0 2 1 1 1 1 1 1 1)
- (0 0 0 0 1 1 1 1 1 1 1)
- (0 0 0 0 2 1 1 1 1 1 1)
- (0 0 0 0 0 1 1 1 1 1 1)
- (0 0 0 0 0 1 1 1 1 1 1)
- (0 0 0 0 0 2 1 1 1 1 1))
- '((0 0 0 0 0 0 2 1 1 1 1)
- (0 0 0 0 0 0 0 1 1 1 1)
- (0 0 0 0 0 0 0 1 1 1 1)
- (0 0 0 0 0 0 0 2 1 1 1)
- (0 0 0 0 0 0 0 0 1 1 1)
- (0 0 0 0 0 0 0 0 2 1 1)
- (0 0 0 0 0 0 0 0 0 0 2))
- nil nil
- ;; 2x
- '((0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1))
- '((1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1))
- '((0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1)
- (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))))
-
-(defmacro pl/zigzag (dir)
- "Generate a zigzag pattern XPM function for DIR."
- (pl/pattern-defun "zigzag" dir 3
- '((1 1 1)
- (0 1 1)
- (0 0 1)
- (0 0 0)
- (0 0 1)
- (0 1 1))
- nil nil nil nil
- ;; 2x
- '((1 1 1 1 1 1)
- (0 1 1 1 1 1)
- (0 0 1 1 1 1)
- (0 0 0 1 1 1)
- (0 0 0 0 1 1)
- (0 0 0 0 0 1)
- (0 0 0 0 0 0)
- (0 0 0 0 0 1)
- (0 0 0 0 1 1)
- (0 0 0 1 1 1)
- (0 0 1 1 1 1)
- (0 1 1 1 1 1))))
-
-(defmacro pl/nil (dir)
- "Generate a XPM function that returns nil for DIR."
- `(defun ,(intern (format "powerline-nil-%s" (symbol-name dir)))
- (face1 face2 &optional height)
- nil))
-
-(defmacro pl/utf-8 (dir)
- "Generate function that returns raw utf-8 symbols."
- (let ((dir-name (symbol-name dir))
- (src-face (if (eq dir 'left) 'face1 'face2))
- (dst-face (if (eq dir 'left) 'face2 'face1)))
- `(defun ,(intern (format "powerline-utf-8-%s" dir-name))
- (face1 face2 &optional height)
- (powerline-raw
- (char-to-string ,(intern (format "powerline-utf-8-separator-%s"
- dir-name)))
- (list :foreground (pl/background-color ,src-face)
- :background (pl/background-color ,dst-face)
- :inverse-video nil)))))
-
-
-(provide 'powerline-separators)
-
-;;; powerline-separators.el ends here
diff --git a/elpa/powerline-20200105.2053/powerline-themes.el b/elpa/powerline-20200105.2053/powerline-themes.el
deleted file mode 100644
index 20b43e3..0000000
--- a/elpa/powerline-20200105.2053/powerline-themes.el
+++ /dev/null
@@ -1,294 +0,0 @@
-;;; powerline-themes.el --- Themes for Powerline
-
-;; Copyright (C) 2012-2013 Donald Ephraim Curtis
-;; Copyright (C) 2013 Jason Milkins
-;; Copyright (C) 2012 Nicolas Rougier
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;
-;; Themes for Powerline.
-;; Included themes: default, center, center-evil, vim, and nano.
-;;
-
-;;; Code:
-
-(defcustom powerline-display-buffer-size t
- "When non-nil, display the buffer size."
- :group 'powerline
- :type 'boolean)
-
-(defcustom powerline-display-mule-info t
- "When non-nil, display the mule info."
- :group 'powerline
- :type 'boolean)
-
-(defcustom powerline-display-hud t
- "When non-nil, display the hud."
- :group 'powerline
- :type 'boolean)
-
-;;;###autoload
-(defun powerline-default-theme ()
- "Setup the default mode-line."
- (interactive)
- (setq-default mode-line-format
- '("%e"
- (:eval
- (let* ((active (powerline-selected-window-active))
- (mode-line-buffer-id (if active 'mode-line-buffer-id 'mode-line-buffer-id-inactive))
- (mode-line (if active 'mode-line 'mode-line-inactive))
- (face0 (if active 'powerline-active0 'powerline-inactive0))
- (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 (powerline-raw "%*" face0 'l)
- (when powerline-display-buffer-size
- (powerline-buffer-size face0 'l))
- (when powerline-display-mule-info
- (powerline-raw mode-line-mule-info face0 'l))
- (powerline-buffer-id `(mode-line-buffer-id ,face0) 'l)
- (when (and (boundp 'which-func-mode) which-func-mode)
- (powerline-raw which-func-format face0 'l))
- (powerline-raw " " face0)
- (funcall separator-left face0 face1)
- (when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
- (powerline-raw erc-modified-channels-object face1 'l))
- (powerline-major-mode face1 'l)
- (powerline-process face1)
- (powerline-minor-modes face1 'l)
- (powerline-narrow face1 'l)
- (powerline-raw " " face1)
- (funcall separator-left face1 face2)
- (powerline-vc face2 'r)
- (when (bound-and-true-p nyan-mode)
- (powerline-raw (list (nyan-create)) face2 'l))))
- (rhs (list (powerline-raw global-mode-string face2 'r)
- (funcall separator-right face2 face1)
- (unless window-system
- (powerline-raw (char-to-string #xe0a1) face1 'l))
- (powerline-raw "%4l" face1 'l)
- (powerline-raw ":" face1 'l)
- (powerline-raw "%3c" face1 'r)
- (funcall separator-right face1 face0)
- (powerline-raw " " face0)
- (powerline-raw "%6p" face0 'r)
- (when powerline-display-hud
- (powerline-hud face0 face2))
- (powerline-fill face0 0)
- )))
- (concat (powerline-render lhs)
- (powerline-fill face2 (powerline-width rhs))
- (powerline-render rhs)))))))
-
-;;;###autoload
-(defun powerline-center-theme ()
- "Setup a mode-line with major and minor modes centered."
- (interactive)
- (setq-default mode-line-format
- '("%e"
- (:eval
- (let* ((active (powerline-selected-window-active))
- (mode-line-buffer-id (if active 'mode-line-buffer-id 'mode-line-buffer-id-inactive))
- (mode-line (if active 'mode-line 'mode-line-inactive))
- (face0 (if active 'powerline-active0 'powerline-inactive0))
- (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 (powerline-raw "%*" face0 'l)
- (when powerline-display-buffer-size
- (powerline-buffer-size face0 'l))
- (powerline-buffer-id `(mode-line-buffer-id ,face0) 'l)
- (powerline-raw " " face0)
- (funcall separator-left face0 face1)
- (powerline-narrow face1 'l)
- (powerline-vc face1)))
- (rhs (list (powerline-raw global-mode-string face1 'r)
- (powerline-raw "%4l" face1 'r)
- (powerline-raw ":" face1)
- (powerline-raw "%3c" face1 'r)
- (funcall separator-right face1 face0)
- (powerline-raw " " face0)
- (powerline-raw "%6p" face0 'r)
- (when powerline-display-hud
- (powerline-hud face2 face1))
- (powerline-fill face0 0)))
- (center (list (powerline-raw " " face1)
- (funcall separator-left face1 face2)
- (when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
- (powerline-raw erc-modified-channels-object face2 'l))
- (powerline-major-mode face2 'l)
- (powerline-process face2)
- (powerline-raw " :" face2)
- (powerline-minor-modes face2 'l)
- (powerline-raw " " face2)
- (funcall separator-right face2 face1))))
- (concat (powerline-render lhs)
- (powerline-fill-center face1 (/ (powerline-width center) 2.0))
- (powerline-render center)
- (powerline-fill face1 (powerline-width rhs))
- (powerline-render rhs)))))))
-
-(defun powerline-center-evil-theme ()
- "Setup a mode-line with major, evil, and minor modes centered."
- (interactive)
- (setq-default mode-line-format
- '("%e"
- (:eval
- (let* ((active (powerline-selected-window-active))
- (mode-line-buffer-id (if active 'mode-line-buffer-id 'mode-line-buffer-id-inactive))
- (mode-line (if active 'mode-line 'mode-line-inactive))
- (face0 (if active 'powerline-active0 'powerline-inactive0))
- (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 (powerline-raw "%*" face0 'l)
- (when powerline-display-buffer-size
- (powerline-buffer-size face0 'l))
- (powerline-buffer-id `(mode-line-buffer-id ,face0) 'l)
- (powerline-raw " " face0)
- (funcall separator-left face0 face1)
- (powerline-narrow face1 'l)
- (powerline-vc face1)))
- (rhs (list (powerline-raw global-mode-string face1 'r)
- (powerline-raw "%4l" face1 'r)
- (powerline-raw ":" face1)
- (powerline-raw "%3c" face1 'r)
- (funcall separator-right face1 face0)
- (powerline-raw " " face0)
- (powerline-raw "%6p" face0 'r)
- (when powerline-display-hud
- (powerline-hud face2 face1))))
- (center (append (list (powerline-raw " " face1)
- (funcall separator-left face1 face2)
- (when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
- (powerline-raw erc-modified-channels-object face2 'l))
- (powerline-major-mode face2 'l)
- (powerline-process face2)
- (powerline-raw " " face2))
- (if (split-string (format-mode-line minor-mode-alist))
- (append (if evil-mode
- (list (funcall separator-right face2 face1)
- (powerline-raw evil-mode-line-tag face1 'l)
- (powerline-raw " " face1)
- (funcall separator-left face1 face2)))
- (list (powerline-minor-modes face2 'l)
- (powerline-raw " " face2)
- (funcall separator-right face2 face1)))
- (list (powerline-raw evil-mode-line-tag face2)
- (funcall separator-right face2 face1))))))
- (concat (powerline-render lhs)
- (powerline-fill-center face1 (/ (powerline-width center) 2.0))
- (powerline-render center)
- (powerline-fill face1 (powerline-width rhs))
- (powerline-render rhs)))))))
-
-;;;###autoload
-(defun powerline-vim-theme ()
- "Setup a Vim-like mode-line."
- (interactive)
- (setq-default mode-line-format
- '("%e"
- (:eval
- (let* ((active (powerline-selected-window-active))
- (mode-line (if active 'mode-line 'mode-line-inactive))
- (face0 (if active 'powerline-active0 'powerline-inactive0))
- (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 (powerline-buffer-id `(mode-line-buffer-id ,face0) 'l)
- (powerline-raw "[" face0 'l)
- (powerline-major-mode face0)
- (powerline-process face0)
- (powerline-raw "]" face0)
- (when (buffer-modified-p)
- (powerline-raw "[+]" face0))
- (when buffer-read-only
- (powerline-raw "[RO]" face0))
- (powerline-raw "[%z]" face0)
- ;; (powerline-raw (concat "[" (mode-line-eol-desc) "]") face0)
- (when (and (boundp 'which-func-mode) which-func-mode)
- (powerline-raw which-func-format nil 'l))
- (when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
- (powerline-raw erc-modified-channels-object face1 'l))
- (powerline-raw "[" face0 'l)
- (powerline-minor-modes face0)
- (powerline-raw "%n" face0)
- (powerline-raw "]" face0)
- (when (and vc-mode buffer-file-name)
- (let ((backend (vc-backend buffer-file-name)))
- (when backend
- (concat (powerline-raw "[" face0 'l)
- (powerline-raw (format "%s / %s" backend (vc-working-revision buffer-file-name backend)) face0)
- (powerline-raw "]" face0)))))))
- (rhs (list (powerline-raw '(10 "%i") face0)
- (powerline-raw global-mode-string face0 'r)
- (powerline-raw "%l," face0 'l)
- (powerline-raw (format-mode-line '(10 "%c")) face0)
- (powerline-raw (replace-regexp-in-string "%" "%%" (format-mode-line '(-3 "%p"))) face0 'r)
- (powerline-fill face0 0))))
- (concat (powerline-render lhs)
- (powerline-fill face0 (powerline-width rhs))
- (powerline-render rhs)))))))
-
-;;;###autoload
-(defun powerline-nano-theme ()
- "Setup a nano-like mode-line."
- (interactive)
- (setq-default mode-line-format
- '("%e"
- (:eval
- (let* ((active (powerline-selected-window-active))
- (face0 (if active 'powerline-active0 'powerline-inactive0))
- (lhs (list (powerline-raw (concat "GNU Emacs "
- (number-to-string
- emacs-major-version)
- "."
- (number-to-string
- emacs-minor-version))
- face0 'l)))
- (rhs (list (if (buffer-modified-p) (powerline-raw "Modified" face0 'r))
- (powerline-fill face0 0)))
- (center (list (powerline-raw "%b" face0))))
- (concat (powerline-render lhs)
- (powerline-fill-center face0 (/ (powerline-width center) 2.0))
- (powerline-render center)
- (powerline-fill face0 (powerline-width rhs))
- (powerline-render rhs)))))))
-
-
-(provide 'powerline-themes)
-
-;;; powerline-themes.el ends here
diff --git a/elpa/powerline-20200105.2053/powerline.el b/elpa/powerline-20200105.2053/powerline.el
deleted file mode 100644
index 7670e5a..0000000
--- a/elpa/powerline-20200105.2053/powerline.el
+++ /dev/null
@@ -1,617 +0,0 @@
-;;; powerline.el --- Rewrite of Powerline
-
-;; Copyright (C) 2012-2013 Donald Ephraim Curtis
-;; Copyright (C) 2013 Jason Milkins
-;; Copyright (C) 2012 Nicolas Rougier
-
-;; Author: Donald Ephraim Curtis <dcurtis@milkbox.net>
-;; URL: http://github.com/milkypostman/powerline/
-;; Version: 2.4
-;; Keywords: mode-line
-;; Package-Requires: ((cl-lib "0.2"))
-
-;; This file is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-
-;; This file is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-;;
-;; Powerline is a library for customizing the mode-line that is based on the Vim
-;; Powerline. A collection of predefined themes comes with the package.
-;;
-
-;;; Code:
-
-(eval-and-compile (require 'powerline-themes))
-(eval-and-compile (require 'powerline-separators))
-
-(require 'cl-lib)
-
-(defgroup powerline nil
- "Powerline, a prettier mode line."
- :group 'mode-line)
-
-(defface powerline-active0 '((t (:inherit mode-line)))
- "Powerline face 0."
- :group 'powerline)
-
-(defface powerline-active1 '((t (:background "grey17" :foreground "white" :inherit mode-line)))
- "Powerline face 1."
- :group 'powerline)
-
-(defface powerline-active2 '((t (:background "grey40" :foreground "white" :inherit mode-line)))
- "Powerline face 2."
- :group 'powerline)
-
-(defface powerline-inactive0
- '((t (:inherit mode-line-inactive)))
- "Powerline face 0."
- :group 'powerline)
-
-(defface powerline-inactive1
- '((t (:background "grey11" :inherit mode-line-inactive)))
- "Powerline face 1."
- :group 'powerline)
-
-(defface powerline-inactive2
- '((t (:background "grey20" :inherit mode-line-inactive)))
- "Powerline face 2."
- :group 'powerline)
-
-(defface mode-line-buffer-id-inactive
- '((t (:inherit mode-line-buffer-id)))
- "Powerline mode-line face"
- :group 'powerline)
-
-(defcustom powerline-default-separator 'arrow
- "The separator to use for the default theme.
-
-Valid Values: alternate, arrow, arrow-fade, bar, box, brace,
-butt, chamfer, contour, curve, rounded, roundstub, wave, zigzag,
-slant, utf-8."
- :group 'powerline
- :type '(choice (const alternate)
- (const arrow)
- (const arrow-fade)
- (const bar)
- (const box)
- (const brace)
- (const butt)
- (const chamfer)
- (const contour)
- (const curve)
- (const rounded)
- (const roundstub)
- (const slant)
- (const wave)
- (const zigzag)
- (const utf-8)
- (const nil)))
-
-(defcustom powerline-utf-8-separator-left #xe0b0
- "The unicode character number for the left facing separator"
- :group 'powerline
- :type '(choice integer (const nil)))
-
-(defcustom powerline-utf-8-separator-right #xe0b2
- "The unicode character number for the right facing separator"
- :group 'powerline
- :type '(choice integer (const nil)))
-
-(defcustom powerline-default-separator-dir '(left . right)
- "The separator direction to use for the default theme.
-
-CONS of the form (DIR . DIR) denoting the lean of the
-separators for the left and right side of the powerline.
-
-DIR must be one of: left, right"
- :group 'powerline
- :type '(cons (choice :tag "Left Hand Side" (const left) (const right))
- (choice :tag "Right Hand Side" (const left) (const right))))
-
-(defcustom powerline-height nil
- "Override the mode-line height."
- :group 'powerline
- :type '(choice integer (const nil)))
-
-(defcustom powerline-text-scale-factor nil
- "Scale of mode-line font size to default text size.
-
-Smaller mode-line fonts will be a float value less that 1.
-Larger mode-line fonts require a float value greater than 1.
-
-This is needed to make sure that text is properly aligned."
- :group 'powerline
- :type '(choice float integer (const nil)))
-
-(defcustom powerline-buffer-size-suffix t
- "Display the buffer size suffix."
- :group 'powerline
- :type 'boolean)
-
-(defcustom powerline-gui-use-vcs-glyph nil
- "Display a unicode character to represent a version control system. Not always supported in GUI."
- :group 'powerline
- :type 'boolean)
-
-(defcustom powerline-narrowed-indicator "Narrow"
- "A string to display in the mode-line when the buffer is narrowed."
- :group 'powerline
- :type 'string)
-
-(defun pl/create-or-get-cache ()
- "Return a frame-local hash table that acts as a memoization cache for powerline. Create one if the frame doesn't have one yet."
- (let ((table (frame-parameter nil 'powerline-cache)))
- (if (hash-table-p table) table (pl/reset-cache))))
-
-(defun pl/reset-cache ()
- "Reset and return the frame-local hash table used for a memoization cache."
- (let ((table (make-hash-table :test 'equal)))
- ;; Store it as a frame-local variable
- (modify-frame-parameters nil `((powerline-cache . ,table)))
- table))
-
-(defun powerline-current-separator ()
- "Get the current default separator. Always returns utf-8 in non-gui mode."
- (if window-system
- powerline-default-separator
- 'utf-8))
-
-;;
-;; the frame-local powerline cache causes problems if included in a saved desktop,
-;; so delete it before the desktop is saved.
-;;
-;; see https://github.com/milkypostman/powerline/issues/58
-;;
-;; It is better to put the following code into your init file for Emacs 24.4 or later.
-;; (require 'frameset)
-;; (push '(powerline-cache . :never) frameset-filter-alist)
-;;
-(defun powerline-delete-cache (&optional frame)
- "Set the FRAME cache to nil."
- (set-frame-parameter frame 'powerline-cache nil))
-
-(defun powerline-desktop-save-delete-cache ()
- "Set all caches to nil unless `frameset-filter-alist' has :never for powerline-cache."
- (unless (and (boundp 'frameset-filter-alist)
- (eq (cdr (assq 'powerline-cache frameset-filter-alist))
- :never))
- (dolist (fr (frame-list)) (powerline-delete-cache fr))))
-
-(add-hook 'desktop-save-hook 'powerline-desktop-save-delete-cache)
-
-;; from memoize.el @ http://nullprogram.com/blog/2010/07/26/
-(defun pl/memoize (func)
- "Memoize FUNC.
-If argument is a symbol then install the memoized function over
-the original function. Use frame-local memoization."
- (cl-typecase func
- (symbol (fset func (pl/memoize-wrap-frame-local (symbol-function func))) func)
- (function (pl/memoize-wrap-frame-local func))))
-
-(defun pl/memoize-wrap-frame-local (func)
- "Return the memoized version of FUNC.
-The memoization cache is frame-local."
- (let ((funcid (cl-gensym)))
- `(lambda (&rest args)
- ,(concat (documentation func) (format "\n(memoized function %s)" funcid))
- (let* ((cache (pl/create-or-get-cache))
- (key (cons ',funcid args))
- (val (gethash key cache)))
- (if val
- val
- (puthash key (apply ,func args) cache))))))
-
-(defun pl/separator-height ()
- "Get default height for rendering separators."
- (or powerline-height (frame-char-height)))
-
-(defun powerline-reset ()
- "Reset memoized functions."
- (interactive)
- (pl/memoize (pl/alternate left))
- (pl/memoize (pl/alternate right))
- (pl/memoize (pl/arrow left))
- (pl/memoize (pl/arrow right))
- (pl/memoize (pl/arrow-fade left))
- (pl/memoize (pl/arrow-fade right))
- (pl/memoize (pl/bar left))
- (pl/memoize (pl/bar right))
- (pl/memoize (pl/box left))
- (pl/memoize (pl/box right))
- (pl/memoize (pl/brace left))
- (pl/memoize (pl/brace right))
- (pl/memoize (pl/butt left))
- (pl/memoize (pl/butt right))
- (pl/memoize (pl/chamfer left))
- (pl/memoize (pl/chamfer right))
- (pl/memoize (pl/contour left))
- (pl/memoize (pl/contour right))
- (pl/memoize (pl/curve left))
- (pl/memoize (pl/curve right))
- (pl/memoize (pl/rounded left))
- (pl/memoize (pl/rounded right))
- (pl/memoize (pl/roundstub left))
- (pl/memoize (pl/roundstub right))
- (pl/memoize (pl/slant left))
- (pl/memoize (pl/slant right))
- (pl/memoize (pl/wave left))
- (pl/memoize (pl/wave right))
- (pl/memoize (pl/zigzag left))
- (pl/memoize (pl/zigzag right))
- (pl/memoize (pl/nil left))
- (pl/memoize (pl/nil right))
- (pl/utf-8 left)
- (pl/utf-8 right)
- (pl/reset-cache))
-
-(powerline-reset)
-
-(defun pl/make-xpm (name color1 color2 data)
- "Return an XPM image with NAME using COLOR1 for enabled and COLOR2 for disabled bits specified in DATA."
- (when window-system
- (create-image
- (concat
- (format "/* XPM */
-static char * %s[] = {
-\"%i %i 2 1\",
-\". c %s\",
-\" c %s\",
-"
- (downcase (replace-regexp-in-string " " "_" name))
- (length (car data))
- (length data)
- (or (pl/hex-color color1) "None")
- (or (pl/hex-color color2) "None"))
- (let ((len (length data))
- (idx 0))
- (apply 'concat
- (mapcar #'(lambda (dl)
- (setq idx (+ idx 1))
- (concat
- "\""
- (concat
- (mapcar #'(lambda (d)
- (if (eq d 0)
- (string-to-char " ")
- (string-to-char ".")))
- dl))
- (if (eq idx len)
- "\"};"
- "\",\n")))
- data))))
- 'xpm t :ascent 'center)))
-
-(defun pl/percent-xpm
- (height pmax pmin winend winstart width color1 color2)
- "Generate percentage xpm of HEIGHT for PMAX to PMIN given WINEND and WINSTART with WIDTH and COLOR1 and COLOR2."
- (let* ((height- (1- height))
- (fillstart (round (* height- (/ (float winstart) (float pmax)))))
- (fillend (round (* height- (/ (float winend) (float pmax)))))
- (data nil)
- (i 0))
- (while (< i height)
- (setq data (cons
- (if (and (<= fillstart i)
- (<= i fillend))
- (append (make-list width 1))
- (append (make-list width 0)))
- data))
- (setq i (+ i 1)))
- (pl/make-xpm "percent" color1 color2 (reverse data))))
-
-(pl/memoize 'pl/percent-xpm)
-
-;;;###autoload
-(defun powerline-hud (face1 face2 &optional width)
- "Return an XPM of relative buffer location using FACE1 and FACE2 of optional WIDTH."
- (unless width (setq width 2))
- (let ((color1 (if face1 (face-background face1) "None"))
- (color2 (if face2 (face-background face2) "None"))
- (height (or powerline-height (frame-char-height)))
- pmax
- pmin
- (ws (window-start))
- (we (window-end)))
- (save-restriction
- (widen)
- (setq pmax (point-max))
- (setq pmin (point-min)))
- (pl/percent-xpm height pmax pmin we ws
- (* (frame-char-width) width) color1 color2)))
-
-;;;###autoload
-(defun powerline-mouse (click-group click-type string)
- "Return mouse handler for CLICK-GROUP given CLICK-TYPE and STRING."
- (cond ((eq click-group 'minor)
- (cond ((eq click-type 'menu)
- `(lambda (event)
- (interactive "@e")
- (minor-mode-menu-from-indicator ,string)))
- ((eq click-type 'help)
- `(lambda (event)
- (interactive "@e")
- (describe-minor-mode-from-indicator ,string)))
- (t
- `(lambda (event)
- (interactive "@e")
- nil))))
- (t
- `(lambda (event)
- (interactive "@e")
- nil))))
-
-;;;###autoload
-(defun powerline-concat (&rest strings)
- "Concatonate STRINGS and pad sides by spaces."
- (concat
- " "
- (mapconcat 'identity (delq nil strings) " ")
- " "))
-
-;;;###autoload
-(defmacro defpowerline (name body)
- "Create function NAME by wrapping BODY with powerline padding an propetization."
- `(defun ,name
- (&optional face pad)
- (powerline-raw ,body face pad)))
-
-(defun pl/property-substrings (str prop)
- "Return a list of substrings of STR when PROP change."
- (let ((beg 0) (end 0)
- (len (length str))
- (out))
- (while (< end (length str))
- (setq end (or (next-single-property-change beg prop str) len))
- (setq out (append out (list (substring str beg (setq beg end))))))
- out))
-
-(defun pl/assure-list (item)
- "Assure that ITEM is a list."
- (if (listp item)
- item
- (list item)))
-
-(defun pl/add-text-property (str prop val)
- (mapconcat
- (lambda (mm)
- (let ((cur (pl/assure-list (get-text-property 0 'face mm))))
- (propertize mm 'face (append cur (list val)))))
- (pl/property-substrings str prop)
- ""))
-
-;;;###autoload
-(defun powerline-raw (str &optional face pad)
- "Render STR as mode-line data using FACE and optionally PAD import on left (l) or right (r)."
- (when str
- (let* ((rendered-str (format-mode-line str))
- (padded-str (concat
- (when (and (> (length rendered-str) 0) (eq pad 'l)) " ")
- (if (listp str) rendered-str str)
- (when (and (> (length rendered-str) 0) (eq pad 'r)) " "))))
-
- (if face
- (pl/add-text-property padded-str 'face face)
- padded-str))))
-
-;;;###autoload
-(defun powerline-fill (face reserve)
- "Return empty space using FACE and leaving RESERVE space on the right."
- (unless reserve
- (setq reserve 20))
- (when powerline-text-scale-factor
- (setq reserve (* powerline-text-scale-factor reserve)))
- (when (and window-system (eq 'right (get-scroll-bar-mode)))
- (setq reserve (- reserve 3)))
- (propertize " "
- 'display `((space :align-to (- (+ right right-fringe right-margin) ,reserve)))
- 'face face))
-
-(defun powerline-fill-center (face reserve)
- "Return empty space using FACE to the center of remaining space leaving RESERVE space on the right."
- (unless reserve
- (setq reserve 20))
- (when powerline-text-scale-factor
- (setq reserve (* powerline-text-scale-factor reserve)))
- (propertize " "
- 'display `((space :align-to (- (+ center (.5 . right-margin)) ,reserve
- (.5 . left-margin))))
- 'face face))
-
-;;;###autoload (autoload 'powerline-major-mode "powerline")
-(defpowerline powerline-major-mode
- (propertize (format-mode-line mode-name)
- 'mouse-face 'mode-line-highlight
- 'help-echo "Major mode\n\ mouse-1: Display major mode menu\n\ mouse-2: Show help for major mode\n\ mouse-3: Toggle minor modes"
- 'local-map (let ((map (make-sparse-keymap)))
- (define-key map [mode-line down-mouse-1]
- `(menu-item ,(purecopy "Menu Bar") ignore
- :filter (lambda (_) (mouse-menu-major-mode-map))))
- (define-key map [mode-line mouse-2] 'describe-mode)
- (define-key map [mode-line down-mouse-3] mode-line-mode-menu)
- map)))
-
-;;;###autoload (autoload 'powerline-minor-modes "powerline")
-(defpowerline powerline-minor-modes
- (mapconcat (lambda (mm)
- (propertize mm
- 'mouse-face 'mode-line-highlight
- 'help-echo "Minor mode\n mouse-1: Display minor mode menu\n mouse-2: Show help for minor mode\n mouse-3: Toggle minor modes"
- 'local-map (let ((map (make-sparse-keymap)))
- (define-key map
- [mode-line down-mouse-1]
- (powerline-mouse 'minor 'menu mm))
- (define-key map
- [mode-line mouse-2]
- (powerline-mouse 'minor 'help mm))
- (define-key map
- [mode-line down-mouse-3]
- (powerline-mouse 'minor 'menu mm))
- (define-key map
- [header-line down-mouse-3]
- (powerline-mouse 'minor 'menu mm))
- map)))
- (split-string (format-mode-line minor-mode-alist))
- (propertize " " 'face face)))
-
-;;;###autoload (autoload 'powerline-narrow "powerline")
-(defpowerline powerline-narrow
- (when ;; (buffer-narrowed-p) introduced in Emacs 24.3.
- (/= (- (point-max) (point-min)) (buffer-size))
- (propertize powerline-narrowed-indicator
- 'mouse-face 'mode-line-highlight
- 'help-echo "mouse-1: Remove narrowing from the current buffer"
- 'local-map (make-mode-line-mouse-map
- 'mouse-1 'mode-line-widen))))
-
-;;;###autoload (autoload 'powerline-vc "powerline")
-(defpowerline powerline-vc
- (when (and (buffer-file-name (current-buffer)) vc-mode)
- (if (and window-system (not powerline-gui-use-vcs-glyph))
- (format-mode-line '(vc-mode vc-mode))
- (format " %s%s"
- (char-to-string #xe0a0)
- (format-mode-line '(vc-mode vc-mode))))))
-
-;;;###autoload (autoload 'powerline-encoding "powerline")
-(defpowerline powerline-encoding
- (let ((buf-coding (format "%s" buffer-file-coding-system)))
- (if (string-match "\\(dos\\|unix\\|mac\\)" buf-coding)
- (match-string 1 buf-coding)
- buf-coding)))
-
-
-;;;###autoload (autoload 'powerline-buffer-size "powerline")
-(defpowerline powerline-buffer-size
- (propertize
- (if powerline-buffer-size-suffix
- "%I"
- "%i")
- 'mouse-face 'mode-line-highlight
- 'local-map (make-mode-line-mouse-map
- 'mouse-1 (lambda () (interactive)
- (setq powerline-buffer-size-suffix
- (not powerline-buffer-size-suffix))
- (force-mode-line-update)))))
-
-;;;###autoload (autoload 'powerline-buffer-id "powerline")
-(defun powerline-buffer-id (&optional face pad)
- (powerline-raw
- (format-mode-line
- (concat " " (propertize
- (format-mode-line mode-line-buffer-identification)
- 'face face
- 'mouse-face 'mode-line-highlight
- 'help-echo "Buffer name\n\ mouse-1: Previous buffer\n\ mouse-3: Next buffer"
- 'local-map (let ((map (make-sparse-keymap)))
- (define-key map [mode-line mouse-1] 'mode-line-previous-buffer)
- (define-key map [mode-line mouse-3] 'mode-line-next-buffer)
- map))))
- face pad))
-
-;;;###autoload (autoload 'powerline-process "powerline")
-(defpowerline powerline-process
- (cond
- ((symbolp mode-line-process) (symbol-value mode-line-process))
- ((listp mode-line-process) (format-mode-line mode-line-process))
- (t mode-line-process)))
-
-(defvar pl/default-mode-line mode-line-format)
-
-(defvar pl/minibuffer-selected-window-list '())
-
-(defun pl/minibuffer-selected-window ()
- "Return the selected window when entereing the minibuffer."
- (when pl/minibuffer-selected-window-list
- (car pl/minibuffer-selected-window-list)))
-
-(defun pl/minibuffer-setup ()
- "Save the `minibuffer-selected-window' to `pl/minibuffer-selected-window'."
- (push (minibuffer-selected-window) pl/minibuffer-selected-window-list))
-
-(add-hook 'minibuffer-setup-hook 'pl/minibuffer-setup)
-
-(defun pl/minibuffer-exit ()
- "Set `pl/minibuffer-selected-window' to nil."
- (pop pl/minibuffer-selected-window-list))
-
-(add-hook 'minibuffer-exit-hook 'pl/minibuffer-exit)
-
-(defvar powerline-selected-window (frame-selected-window)
- "Selected window.")
-
-(defun powerline-set-selected-window ()
- "Set the variable `powerline-selected-window' appropriately."
- (when (not (minibuffer-window-active-p (frame-selected-window)))
- (setq powerline-selected-window (frame-selected-window))
- (force-mode-line-update)))
-
-(defun powerline-unset-selected-window ()
- "Unset the variable `powerline-selected-window' and update the mode line."
- (setq powerline-selected-window nil)
- (force-mode-line-update))
-
-(add-hook 'window-configuration-change-hook 'powerline-set-selected-window)
-
-;; focus-in-hook was introduced in emacs v24.4.
-;; Gets evaluated in the last frame's environment.
-(add-hook 'focus-in-hook 'powerline-set-selected-window)
-
-;; focus-out-hook was introduced in emacs v24.4.
-(add-hook 'focus-out-hook 'powerline-unset-selected-window)
-
-;; Executes after the window manager requests that the user's events
-;; be directed to a different frame.
-(defadvice handle-switch-frame (after powerline-handle-switch-frame activate)
- "Call `powerline-set-selected-window'."
- (powerline-set-selected-window))
-
-(add-hook 'buffer-list-update-hook #'powerline-set-selected-window)
-
-;;;###autoload (autoload 'powerline-selected-window-active "powerline")
-(defun powerline-selected-window-active ()
- "Return whether the current window is active."
- (eq powerline-selected-window (selected-window)))
-
-(defun powerline-revert ()
- "Revert to the default Emacs mode-line."
- (interactive)
- (setq-default mode-line-format pl/default-mode-line))
-
-(defun pl/render (item)
- "Render a powerline ITEM."
- (cond
- ((and (listp item) (eq 'image (car item)))
- (propertize " " 'display item
- 'face (plist-get (cdr item) :face)))
- (item item)))
-
-(defun powerline-render (values)
- "Render a list of powerline VALUES."
- (mapconcat 'pl/render values ""))
-
-(defun powerline-width (values)
- "Get the length of VALUES."
- (if values
- (let ((val (car values)))
- (+ (cond
- ((stringp val) (string-width (format-mode-line val)))
- ((and (listp val) (eq 'image (car val)))
- (car (image-size val)))
- (t 0))
- (powerline-width (cdr values))))
- 0))
-
-
-(provide 'powerline)
-
-;;; powerline.el ends here
Copyright 2019--2024 Marius PETER