about summary refs log tree commit diff
path: root/configs/shared/emacs/.emacs.d/elpa/doom-themes-20180909.1757/doom-themes-neotree.el
diff options
context:
space:
mode:
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/doom-themes-20180909.1757/doom-themes-neotree.el')
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/doom-themes-20180909.1757/doom-themes-neotree.el359
1 files changed, 0 insertions, 359 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/doom-themes-20180909.1757/doom-themes-neotree.el b/configs/shared/emacs/.emacs.d/elpa/doom-themes-20180909.1757/doom-themes-neotree.el
deleted file mode 100644
index 0b7a5134e7c3..000000000000
--- a/configs/shared/emacs/.emacs.d/elpa/doom-themes-20180909.1757/doom-themes-neotree.el
+++ /dev/null
@@ -1,359 +0,0 @@
-;;; doom-themes-neotree.el -*- lexical-binding: t; -*-
-
-(unless doom-themes--inhibit-warning
-  (message "doom-themes: loading `doom-themes-neotree' directly is obsolete, call `doom-themes-neotree-config' instead"))
-
-(defgroup doom-neotree nil
-  "Options for doom's neotree theme"
-  :group 'doom-themes)
-
-;;
-(defface doom-neotree-dir-face  '((t (:inherit neo-dir-link-face)))
-  "Face for directory labels."
-  :group 'doom-neotree)
-
-(defface doom-neotree-file-face '((t (:inherit neo-file-link-face)))
-  "Face for file name labels."
-  :group 'doom-neotree)
-
-;; file type faces
-(defface doom-neotree-hidden-file-face '((t (:inherit font-lock-comment-face)))
-  "Face for labels of hidden files. See `doom-neotree-file-face-re-alist'."
-  :group 'doom-neotree)
-
-(defface doom-neotree-text-file-face '((t (:inherit neo-file-link-face)))
-  "Face for labels of text/documentation files (readmes, org files, etc). See
-`doom-neotree-file-face-re-alist'."
-  :group 'doom-neotree)
-
-(defface doom-neotree-media-file-face '((t (:inherit neo-file-link-face)))
-  "Face for labels of media files. See `doom-neotree-file-face-re-alist'."
-  :group 'doom-neotree)
-
-(defface doom-neotree-data-file-face '((t (:inherit neo-file-link-face)))
-  "Face for labels of data files (json, yaml, xml, etc). See
-`doom-neotree-file-face-re-alist'."
-  :group 'doom-neotree)
-
-(defface doom-neotree-executable-file-face '((t (:inherit neo-file-link-face)))
-  "TODO"
-  :group 'doom-neotree)
-
-
-;;
-(defcustom doom-neotree-project-size 1.4
-  "What :height to display the project icon at the top at."
-  :type 'float
-  :group 'doom-neotree)
-
-(defcustom doom-neotree-folder-size 1.05
-  "What :height to display the folder icons at."
-  :type 'float
-  :group 'doom-neotree)
-
-(defcustom doom-neotree-chevron-size 0.8
-  "What :height to display the chevron icons at."
-  :type 'float
-  :group 'doom-neotree)
-
-(defcustom doom-neotree-line-spacing 2
-  "Line-spacing for neotree buffer."
-  :type 'symbol
-  :group 'doom-neotree)
-
-(define-obsolete-variable-alias 'doom-neotree-enable-file-icons 'doom-neotree-file-icons)
-(defcustom doom-neotree-file-icons 'simple
-  "The style to use for the file icons. Can be nil (disabled), non-nil (for a
-diverse iconset), or 'simple, which is closest's to Atom's style as it only
-distinguishes text, source, pdfs, images and binary files."
-  :type '(choice
-          (const :tag "A diverse array of file icons based on file type" t)
-          (const :tag "Minimalistic file icons (like Atom's)" 'simple)
-          (const :tag "Disable file icons" nil))
-  :group 'doom-neotree)
-
-(defcustom doom-neotree-enable-folder-icons t
-  "If non-nil, display folder icons next to each file. Different icons are used
-depending on whether the folder is a repo, symlink or regular folder."
-  :type 'boolean
-  :group 'doom-neotree)
-
-(defcustom doom-neotree-enable-open-chevron-icons t
-  "If non-nil, display the chevron-down icon next to each expanded folder."
-  :type 'boolean
-  :group 'doom-neotree)
-
-(defcustom doom-neotree-enable-closed-chevron-icons t
-  "If non-nil, display the chevron-right icon next to each collapsed folder."
-  :type 'boolean
-  :group 'doom-neotree)
-
-(defcustom doom-neotree-enable-variable-pitch nil
-  "If non-nil, labels will use the `doom-neotree-dir-face' and
-`doom-neotree-dir-face' faces, which inherit from the `variable-pitch' face."
-  :type 'boolean
-  :group 'doom-neotree)
-
-(defcustom doom-neotree-enable-type-colors t
-  "If non-nil, color each file/folder based on the categories determined by
-`doom-neotree-file-face-re-alist'."
-  :type 'boolean
-  :group 'doom-neotree)
-
-
-(defun doom--neo-is-repo-dir-p (path)
-  (or (file-exists-p (format "%s/.git" path))
-      (all-the-icons-dir-is-submodule path)))
-
-(defvar doom-neotree-dir-rules
-  (eval-when-compile
-    `(("/\\(?:node_modules\\|vendor\\)$"
-       :face doom-neotree-hidden-file-face)
-      ("/\\.[^$/#]+$"
-       :face doom-neotree-hidden-file-face)
-      (file-symlink-p
-       :icon (all-the-icons-octicon "file-symlink-directory"))
-      (doom--neo-is-repo-dir-p
-       :icon (all-the-icons-octicon "file-submodule"))
-      (t :icon (all-the-icons-octicon "file-directory"))))
-  "TODO")
-
-(defvar doom-neotree-file-rules
-  (eval-when-compile
-    `((file-symlink-p
-       :icon (all-the-icons-octicon "file-symlink-file"))
-      (file-executable-p
-       :face doom-neotree-executable-file-face
-       :icon (all-the-icons-octicon "file-binary"))
-      ("\\.\\(?:md\\|org\\|rst\\|log\\)\\|/[A-Z_-]+\\(?:\\.[a-z]+\\)?$"
-       :face doom-neotree-text-file-face
-       :icon (all-the-icons-octicon "file-text"))
-      (,(concat "\\." (regexp-opt '("htm" "html" "phtml" "tpl" "erb" "mustache"
-                                    "twig" "ejs" "erb" "jsx" "haml" "inky-haml"
-                                    "inky-slim" "slim" "pug" "jade"))
-                "$")
-       :icon (all-the-icons-octicon "file-code"))
-      (,(concat "\\(?:/\\(?:Gemfile\\|Vagrantfile\\|Makefile\\|Rakefile\\|Cask\\|\\.[^$]+rc\\|\\)\\|"
-                "\\." (regexp-opt '("json" "cson" "yaml" "yml" "xml" "toml"
-                                    "tpl" "ini" "erb" "mustache" "twig" "ejs"
-                                    "mk" "haml" "pug" "jade"))
-                "\\)$")
-       :icon (all-the-icons-octicon "file-code"))
-      (,(concat "\\."
-                (regexp-opt '("png" "jpg" "jpeg" "gif" "ico" "tif" "tiff"
-                              "svg" "bmp" "psd" "ai" "eps" "indd"         ; images
-                              "mov" "avi" "mp4" "webm" "mkv"              ; video
-                              "wav" "mp3" "ogg" "midi"))                  ; audio
-                "$")
-       :face doom-neotree-data-file-face
-       :icon (all-the-icons-octicon "file-media"))
-      (,(concat "\\.\\(?:[gl]?zip\\|bzip2\\|deb\\|dmg\\|iso\\|7z\\|rpm\\|pkg\\|dat\\|[rjt]ar\\(?:\\.gz\\)?\\)$")
-       :face doom-neotree-data-file-face
-       :icon (all-the-icons-octicon "file-zip"))
-      ("\\.pdf$"
-       :face doom-neotree-data-file-face
-       :icon (all-the-icons-octicon "file-pdf"))
-      ("\\.\\(?:lock\\|resolved\\|dll\\|so\\|pyc\\|elc\\|class\\|css\\.map\\)$"
-       :face doom-neotree-hidden-file-face
-       :icon (all-the-icons-octicon "file-binary"))
-      ("/\\.[^$/#]+$"
-       :face doom-neotree-hidden-file-face)
-      (t :icon (all-the-icons-octicon "file-text"))))
-  "TODO")
-
-
-;;
-(defun doom--neotree-no-fringes ()
-  "Remove fringes in neotree. They get reset each time you select the neotree
-pane and are highlighted incorrectly."
-  (set-window-fringes neo-global--window 0 0))
-
-(defun doom--neotree-setup (&rest _)
-  (setq line-spacing doom-neotree-line-spacing
-        tab-width 1)
-  (when (featurep 'hl-line)
-    (set (make-local-variable 'hl-line-sticky-flag) t)
-    (hl-line-mode +1)))
-
-(defun doom-neotree-spec (node rules)
-  (let (case-fold-search)
-    (cl-loop for spec in rules
-             for pred = (car spec)
-             for plist = (cdr spec)
-             when
-             (cond ((eq pred 't))
-                   ((symbolp pred) (funcall pred node))
-                   ((stringp pred) (string-match-p pred node)))
-             return plist)))
-
-(defun doom--neotree-insert-file-icon (node icon &optional faces)
-  (if node
-      (cond ((eq doom-neotree-file-icons 'simple)
-             (propertize
-              (if icon
-                  (apply (car icon) (cdr icon))
-                (all-the-icons-octicon "file-text"))
-              'face `(:inherit ,faces
-                               :family ,(all-the-icons-octicon-family)
-                               :height 1.3)
-              'display '(raise 0)))
-            (t (all-the-icons-icon-for-file node)))
-    (all-the-icons-fileicon "default")))
-
-(defun doom--neotree-insert-dir-icon (node type &optional faces)
-  (concat (if type
-              (all-the-icons-octicon
-               (format "chevron-%s" (if (eq type 'open) "down" "right"))
-               :v-adjust 0.1
-               :height doom-neotree-chevron-size
-               :face `(:inherit ,faces
-                                :family ,(all-the-icons-octicon-family)
-                                :height ,doom-neotree-chevron-size))
-            "\t")
-          "\t"
-          (when doom-neotree-enable-folder-icons
-            (all-the-icons-octicon
-             (cond ((file-symlink-p node) "file-symlink-directory")
-                   ((file-exists-p (format "%s/.git" node)) "file-submodule")
-                   ((all-the-icons-dir-is-submodule node) "file-submodule")
-                   ("file-directory"))
-             :v-adjust 0
-             :height doom-neotree-folder-size
-             :face `(:inherit ,faces
-                     :family ,(all-the-icons-octicon-family)
-                     :height ,doom-neotree-folder-size)))))
-
-(defun doom--neotree-insert-icon (type node &optional icon faces)
-  "Custom hybrid unicode theme with leading whitespace."
-  (let ((spc "\t")
-        (vspc (propertize "  " 'face 'variable-pitch)))
-    (cond ((eq type 'open)
-           (insert
-            (concat spc
-                    (doom--neotree-insert-dir-icon
-                     node (if doom-neotree-enable-open-chevron-icons type)
-                     faces)
-                    vspc)))
-          ((eq type 'close)
-           (insert
-            (concat spc
-                    (doom--neotree-insert-dir-icon
-                     node (if doom-neotree-enable-closed-chevron-icons type)
-                     faces)
-                    vspc)))
-          ((eq type 'leaf)
-           (insert
-            (concat (when (or doom-neotree-enable-open-chevron-icons
-                              doom-neotree-enable-closed-chevron-icons)
-                      spc)
-                    (when doom-neotree-enable-folder-icons spc)
-                    (when doom-neotree-file-icons
-                      (concat spc (doom--neotree-insert-file-icon node icon faces)))
-                    vspc))))))
-
-;;
-(defun doom-neotree-insert-root (node)
-  ;; insert icon
-  (when (display-graphic-p)
-    (insert
-     (concat (propertize "\t" 'face 'neo-root-dir-face)
-             (all-the-icons-octicon
-              "repo"
-              :height doom-neotree-project-size
-              :face 'neo-root-dir-face
-              :v-adjust -0.1)
-             (propertize " " 'face 'neo-root-dir-face))))
-  ;; insert project name
-  (insert
-   (propertize
-    (concat (or (neo-path--file-short-name node) "-")
-            "\n")
-    'face `(:inherit ,(append (if doom-neotree-enable-variable-pitch '(variable-pitch))
-                              '(neo-root-dir-face))))))
-
-(defun doom-neotree-insert-dir (node depth expanded)
-  (let ((short-name (neo-path--file-short-name node))
-        (faces '(doom-neotree-dir-face))
-        icon-text)
-    ;; insert indentation
-    (insert-char ?\s (* (- depth 1) 2))
-    ;; vcs integration
-    (let ((vc (if neo-vc-integration (neo-vc-for-node node))))
-      (when (memq 'char neo-vc-integration)
-        (insert-char (car vc))
-        (insert-char ?\s))
-      (unless (and (memq 'face neo-vc-integration)
-                   (not (eq (cdr vc) 'neo-vc-up-to-date-face))
-                   (setq faces (list (cdr vc))))
-        (cl-destructuring-bind (&key face icon)
-            (doom-neotree-spec node doom-neotree-dir-rules)
-          (if face (push face faces))
-          (if icon (setq icon-text icon)))))
-    ;; insert icon
-    (let ((type (if expanded 'open 'close)))
-      (if (display-graphic-p)
-          (doom--neotree-insert-icon type node icon-text faces)
-        (neo-buffer--insert-fold-symbol type node)))
-    ;; insert label button
-    (when doom-neotree-enable-variable-pitch
-      (push 'variable-pitch faces))
-    (insert-button short-name
-                   'follow-link t
-                   'face `(:inherit (,@faces))
-                   'neo-full-path node
-                   'keymap neotree-dir-button-keymap)
-    ;; metadata + newline
-    (neo-buffer--node-list-set nil node)
-    (neo-buffer--newline-and-begin)))
-
-(defun doom-neotree-insert-file (node depth)
-  (let ((short-name (neo-path--file-short-name node))
-        (vc (if neo-vc-integration (neo-vc-for-node node)))
-        (faces '(doom-neotree-file-face))
-        icon-text)
-    ;; insert indentation
-    (insert-char ?\s (* (- depth 1) 2))
-    ;; vcs integration
-    (unless (and (memq 'face neo-vc-integration)
-                 (not (eq (cdr vc) 'neo-vc-up-to-date-face))
-                 (setq faces (list (cdr vc))))
-      (cl-destructuring-bind (&key face icon)
-          (doom-neotree-spec node doom-neotree-file-rules)
-        (if face (push face faces))
-        (if icon (setq icon-text icon))))
-    ;; insert icon
-    (if (display-graphic-p)
-        (doom--neotree-insert-icon 'leaf node icon-text faces)
-      (neo-buffer--insert-fold-symbol 'leaf node))
-    ;; insert label button
-    (when doom-neotree-enable-variable-pitch
-      (push 'variable-pitch faces))
-    (insert-button short-name
-                   'follow-link t
-                   'face `(:inherit (,@faces))
-                   'neo-full-path node
-                   'keymap neotree-file-button-keymap)
-    ;; metadata + newline
-    (neo-buffer--node-list-set nil node)
-    (neo-buffer--newline-and-begin)))
-
-;;
-(eval-after-load 'neotree
-  (lambda ()
-    (unless (require 'all-the-icons nil t)
-      (error "all-the-icons isn't installed"))
-
-    ;; Enable buffer-local hl-line and adjust line-spacing
-    (add-hook 'neo-after-create-hook #'doom--neotree-setup)
-    ;; Incompatible
-    (setq neo-vc-integration nil)
-    ;; Remove fringes in Neotree pane
-    (advice-add #'neo-global--select-window :after #'doom--neotree-no-fringes)
-    ;; Patch neotree to use `doom--neotree-insert-icon'
-    (advice-add #'neo-buffer--insert-file-entry :override #'doom-neotree-insert-file)
-    (advice-add #'neo-buffer--insert-dir-entry  :override #'doom-neotree-insert-dir)
-    ;; Shorter pwd in neotree                    override
-    (advice-add #'neo-buffer--insert-root-entry :override #'doom-neotree-insert-root)))
-
-(provide 'doom-themes-neotree)
-;;; doom-themes-neotree.el ends here