Emacs personal configuration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
3.7KB

  1. ;;; package -- Treemacs
  2. ;;; Commentary:
  3. ;;; Code:
  4. (use-package treemacs
  5. :ensure t
  6. :defer t
  7. :init
  8. (with-eval-after-load 'winum
  9. (define-key winum-keymap (kbd "M-0") #'treemacs-select-window))
  10. :config
  11. (progn
  12. (setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
  13. treemacs-deferred-git-apply-delay 0.5
  14. treemacs-directory-name-transformer #'identity
  15. treemacs-display-in-side-window t
  16. treemacs-eldoc-display t
  17. treemacs-file-event-delay 5000
  18. treemacs-file-extension-regex treemacs-last-period-regex-value
  19. treemacs-file-follow-delay 0.2
  20. treemacs-file-name-transformer #'identity
  21. treemacs-follow-after-init t
  22. treemacs-git-command-pipe ""
  23. treemacs-goto-tag-strategy 'refetch-index
  24. treemacs-indentation 2
  25. treemacs-indentation-string " "
  26. treemacs-is-never-other-window nil
  27. treemacs-max-git-entries 5000
  28. treemacs-missing-project-action 'ask
  29. treemacs-move-forward-on-expand nil
  30. treemacs-no-png-images nil
  31. treemacs-no-delete-other-windows t
  32. treemacs-project-follow-cleanup nil
  33. treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
  34. treemacs-position 'left
  35. treemacs-recenter-distance 0.1
  36. treemacs-recenter-after-file-follow nil
  37. treemacs-recenter-after-tag-follow nil
  38. treemacs-recenter-after-project-jump 'always
  39. treemacs-recenter-after-project-expand 'on-distance
  40. treemacs-show-cursor nil
  41. treemacs-show-hidden-files t
  42. treemacs-silent-filewatch nil
  43. treemacs-silent-refresh nil
  44. treemacs-sorting 'alphabetic-asc
  45. treemacs-space-between-root-nodes t
  46. treemacs-tag-follow-cleanup t
  47. treemacs-tag-follow-delay 1.5
  48. treemacs-user-mode-line-format nil
  49. treemacs-user-header-line-format nil
  50. treemacs-width 35)
  51. ;; The default width and height of the icons is 22 pixels. If you are
  52. ;; using a Hi-DPI display, uncomment this to double the icon size.
  53. ;;(treemacs-resize-icons 44)
  54. (treemacs-follow-mode t)
  55. (treemacs-filewatch-mode t)
  56. (treemacs-fringe-indicator-mode t)
  57. (pcase (cons (not (null (executable-find "git")))
  58. (not (null treemacs-python-executable)))
  59. (`(t . t)
  60. (treemacs-git-mode 'deferred))
  61. (`(t . _)
  62. (treemacs-git-mode 'simple))))
  63. :bind
  64. (:map global-map
  65. ("M-0" . treemacs-select-window)
  66. ("C-x t 1" . treemacs-delete-other-windows)
  67. ("C-x t t" . treemacs)
  68. ("C-x t B" . treemacs-bookmark)
  69. ("C-x t C-t" . treemacs-find-file)
  70. ("C-x t M-t" . treemacs-find-tag)))
  71. ;;(use-package treemacs-evil
  72. ;; :after treemacs evil
  73. ;; :ensure t)
  74. (use-package treemacs-projectile
  75. :after treemacs projectile
  76. :ensure t)
  77. (use-package treemacs-icons-dired
  78. :after treemacs dired
  79. :ensure t
  80. :config (treemacs-icons-dired-mode))
  81. (use-package treemacs-magit
  82. :after treemacs magit
  83. :ensure t)
  84. (use-package treemacs-persp
  85. :after treemacs persp-mode
  86. :ensure t
  87. :config (treemacs-set-scope-type 'Perspectives))
  88. (provide 'init-treemacs)
  89. ;;; init-treemacs.el ends here