~edwargix/emacs.d

60feab106513e407035df9d3c213a107d5145e1c — David Florness 7 years ago e0f96b3
Setup treemacs and winum
2 files changed, 76 insertions(+), 0 deletions(-)

M init.el
A lisp/setup-treemacs.el
M init.el => init.el +8 -0
@@ 18,6 18,7 @@
(require 'setup-helm)
(require 'setup-defaults)
(require 'setup-lisp)
(require 'setup-treemacs)

;;; Winner mode: allows for undoing and redoing of windoow configurations
;;; C-c <left> : undo


@@ 196,6 197,13 @@
  :ensure t)


(use-package winum
  :ensure t
  :config
  (progn
    (winum-mode)))


;;; Install local user packages
(dolist (d (file-expand-wildcards "~/.local/share/emacs/site-lisp/*"))
  (add-to-list 'load-path d t))

A lisp/setup-treemacs.el => lisp/setup-treemacs.el +68 -0
@@ 0,0 1,68 @@
;;; setup-treemacs --- Setup treemacs & related packages

;;; Commentary:

;; This sets up treemacs and related packages

;;; Code:


(use-package treemacs
  :ensure t
  :defer t
  :init
  (progn
    (with-eval-after-load 'winum
      (define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
    (global-set-key (kbd "M-m") (make-sparse-keymap)))
  :config
  (progn
    (setq treemacs-collapse-dirs              (if (executable-find "python") 3 0)
          treemacs-file-event-delay           5000
          treemacs-follow-after-init          t
          treemacs-follow-recenter-distance   0.1
          treemacs-goto-tag-strategy          'refetch-index
          treemacs-indentation                2
          treemacs-indentation-string         " "
          treemacs-is-never-other-window      nil
          treemacs-no-png-images              nil
          treemacs-recenter-after-file-follow nil
          treemacs-recenter-after-tag-follow  nil
          treemacs-show-hidden-files          t
          treemacs-silent-filewatch           nil
          treemacs-silent-refresh             nil
          treemacs-sorting                    'alphabetic-desc
          treemacs-tag-follow-cleanup         t
          treemacs-tag-follow-delay           1.5
          treemacs-width                      35)

    (treemacs-follow-mode t)
    (treemacs-filewatch-mode t)
    (pcase (cons (not (null (executable-find "git")))
                 (not (null (executable-find "python3"))))
      (`(t . t)
       (treemacs-git-mode 'extended))
      (`(t . _)
       (treemacs-git-mode 'simple))))
  :bind
  (:map global-map
        ("M-0"        . treemacs-select-window)
        ("C-c 1"      . treemacs-delete-other-windows)
        ("M-m ft"     . treemacs)
        ("M-m fB"     . treemacs-bookmark)
        ("M-m f C-t"  . treemacs-find-file)
        ("M-m f M-t"  . treemacs-find-tag)))


(use-package treemacs-evil
  :after treemacs
  :ensure t)


(use-package treemacs-projectile
  :after treemacs
  :ensure t)


(provide 'setup-treemacs)
;;; setup-treemacs.el ends here