#+TITLE: UI - Filetree #+AUTHOR: Juan Placencia * Package Define UI filetree package. #+BEGIN_SRC emacs-lisp (use-package emacs :after uno-ui :config (provide 'uno-ui-filetree)) #+END_SRC * Treemacs #+BEGIN_SRC emacs-lisp (use-package treemacs :after uno-ui-filetree :commands (treemacs--window-number-ten treemacs-current-visibility treemacs-current-workspace treemacs-select-scope-type treemacs-select-window) :custom (treemacs-persist-file (uno-cache-path "treemacs/persist")) (treemacs-project-follow-cleanup t) (treemacs-show-hidden-files nil) :general (uno-leader-define "ft" '(treemacs :which-key "File tree") "fB" '(treemacs-bookmark :which-key "Find bookmark in file tree") "fT" '(treemacs-find-file :which-key "Focus current file in file tree")) :init (require 'treemacs)) (use-package treemacs-evil :after (uno-ui-filetree treemacs evil)) (use-package treemacs-icons-dired :after (uno-ui-filetree treemacs dired) :config (treemacs-icons-dired-mode 1)) (use-package treemacs-magit :after (uno-ui-filetree treemacs magit)) #+END_SRC ** Projectile Integration #+BEGIN_SRC emacs-lisp (use-package treemacs-projectile :after (uno-ui-filetree treemacs projectile) :general (uno-leader-define "pt" '(uno/ui/filetree/project-toggle :which-key "Open project file tree")) :init (defun uno/ui/filetree/project-toggle () "Toggle and add the current project to treemacs if not already added." (interactive) (if (eq (treemacs-current-visibility) 'visible) (delete-window (treemacs-get-local-window)) (let ((path (projectile-ensure-project (projectile-project-root))) (name (projectile-project-name))) (unless (treemacs-current-workspace) (treemacs--find-workspace)) (treemacs-do-add-project-to-workspace path name) (treemacs-select-window))))) #+END_SRC * Winum Integration Borrowed from Spacemacs. #+BEGIN_SRC emacs-lisp (use-package treemacs :after (uno-ui-filetree winum) :general (winum-keymap [remap winum-select-window-0-or-10] 'treemacs-select-window) :config (push '((nil . "winum-select-window-0-or-10") . (nil . "treemacs-select-window")) which-key-replacement-alist) (dolist (n (number-sequence 1 5)) (push (format "%sFramebuffer-%s*" treemacs--buffer-name-prefix n) winum-ignored-buffers))) #+END_SRC