mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
feat(projects): Get treemacs working nicely with helm
And also better configured treemacs in general.
This commit is contained in:
@@ -65,8 +65,9 @@
|
||||
;; Project management
|
||||
(require 'siren-editorconfig)
|
||||
(require 'siren-helm-projectile)
|
||||
(require 'siren-neotree)
|
||||
(require 'siren-projectile)
|
||||
(require 'siren-treemacs)
|
||||
;; (require 'siren-neotree)
|
||||
|
||||
;; Language Servers
|
||||
(require 'siren-lsp)
|
||||
@@ -126,6 +127,7 @@
|
||||
(require 'siren-writeroom)
|
||||
|
||||
;; Languages
|
||||
(require 'siren-prog-mode)
|
||||
(require 'siren-coffee)
|
||||
(require 'siren-conf)
|
||||
(require 'siren-css)
|
||||
@@ -147,7 +149,6 @@
|
||||
(require 'siren-markdown)
|
||||
(require 'siren-php)
|
||||
(require 'siren-plantuml)
|
||||
(require 'siren-prog-mode)
|
||||
(require 'siren-ruby)
|
||||
(require 'siren-rust)
|
||||
(require 'siren-sass)
|
||||
|
||||
@@ -8,11 +8,13 @@
|
||||
|
||||
(use-package helm
|
||||
:defer t
|
||||
:hook ((helm-minibuffer-set-up . siren-helm--hide-minibuffer-maybe)
|
||||
(helm-after-initialize . siren-helm--toggle-source-header-line)
|
||||
(helm-minibuffer-set-up . siren-helm--popwin-help-mode-off)
|
||||
(helm-cleanup . siren-helm--popwin-help-mode-on)
|
||||
(helm-cleanup . siren-helm--show-neotree-maybe))
|
||||
:hook
|
||||
(helm-minibuffer-set-up . siren-helm--hide-minibuffer-maybe)
|
||||
(helm-after-initialize . siren-helm--toggle-source-header-line)
|
||||
(helm-minibuffer-set-up . siren-helm--popwin-help-mode-off)
|
||||
(helm-cleanup . siren-helm--popwin-help-mode-on)
|
||||
(helm-cleanup . siren-helm--show-neotree-maybe)
|
||||
(helm-cleanup . siren-helm--show-treemacs-maybe)
|
||||
|
||||
:custom
|
||||
(helm-autoresize-max-height 30)
|
||||
@@ -24,6 +26,7 @@
|
||||
(helm-file-name-case-fold-search 'smart)
|
||||
(helm-split-window-default-side 'below)
|
||||
(siren-helm--did-hide-neotree nil)
|
||||
(siren-helm--did-hide-treemacs nil)
|
||||
|
||||
:init
|
||||
;; From: https://www.reddit.com/r/emacs/comments/3asbyn/new_and_very_useful_helm_feature_enter_search/
|
||||
@@ -68,8 +71,27 @@
|
||||
(setq siren-helm--did-hide-neotree nil)
|
||||
(run-with-timer 0.01 nil #'neotree-show)))
|
||||
|
||||
(defun siren-helm--hide-treemacs (&rest plist)
|
||||
(when (fboundp 'treemacs-get-local-window)
|
||||
(let ((win (treemacs-get-local-window)))
|
||||
(when win
|
||||
(setq siren-helm--did-hide-treemacs t)
|
||||
(delete-window win)))))
|
||||
|
||||
(defun siren-helm--show-treemacs-maybe ()
|
||||
(when siren-helm--did-hide-treemacs
|
||||
(setq siren-helm--did-hide-treemacs nil)
|
||||
(run-with-timer 0.01 nil #'siren-helm--show-treemacs)))
|
||||
|
||||
(defun siren-helm--show-treemacs ()
|
||||
(when (fboundp 'treemacs-select-window)
|
||||
(let ((win (selected-window)))
|
||||
(treemacs-select-window)
|
||||
(select-window win))))
|
||||
|
||||
:config
|
||||
(advice-add 'helm :before 'siren-helm--hide-neotree))
|
||||
(advice-add 'helm :before 'siren-helm--hide-neotree)
|
||||
(advice-add 'helm :before 'siren-helm--hide-treemacs))
|
||||
|
||||
(use-package helm-config
|
||||
:ensure helm
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
;;; Code:
|
||||
|
||||
(use-package projectile
|
||||
:demand
|
||||
:bind
|
||||
("C-c p p" . projectile-switch-project)
|
||||
("C-c p k" . projectile-kill-buffers)
|
||||
@@ -52,8 +53,8 @@
|
||||
(projectile-sort-order 'recently-active)
|
||||
|
||||
:config
|
||||
;; Treat separate directories with Gemfiles within a single git repo as separate
|
||||
;; projects.
|
||||
;; Treat separate directories with Gemfiles within a single git repo as
|
||||
;; separate projects.
|
||||
(push "Gemfile" projectile-project-root-files-bottom-up)
|
||||
|
||||
(projectile-mode t))
|
||||
|
||||
@@ -6,48 +6,64 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-dired)
|
||||
(require 'siren-lsp)
|
||||
(require 'siren-magit)
|
||||
(require 'siren-persp-mode)
|
||||
(require 'siren-projectile)
|
||||
|
||||
(use-package treemacs
|
||||
:defer t
|
||||
:demand
|
||||
|
||||
:bind
|
||||
([f8] . treemacs-toggle)
|
||||
("M-0" . treemacs-select-window)
|
||||
("C-c 1" . treemacs-delete-other-windows)
|
||||
;; ("M-m ft" . treemacs-toggle)
|
||||
;; ("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)
|
||||
("C-x C-p" . treemacs)
|
||||
("C-x p" . treemacs-select-window)
|
||||
|
||||
:custom
|
||||
(treemacs-change-root-without-asking t)
|
||||
(treemacs-collapse-dirs 3)
|
||||
(treemacs-follow-after-init t)
|
||||
(treemacs-git-integration t)
|
||||
(treemacs-goto-tag-strategy 'refetch-index)
|
||||
(treemacs-indentation 2)
|
||||
(treemacs-is-never-other-window nil)
|
||||
(treemacs-never-persist nil)
|
||||
(treemacs-show-hidden-files t)
|
||||
(treemacs-silent-refresh nil)
|
||||
(treemacs-sorting 'alphabetic-asc)
|
||||
(treemacs-width 40)
|
||||
|
||||
:config
|
||||
(progn
|
||||
(use-package treemacs-evil
|
||||
:ensure t
|
||||
:demand t)
|
||||
(setq treemacs-follow-after-init t
|
||||
treemacs-width 35
|
||||
treemacs-indentation 2
|
||||
treemacs-git-integration t
|
||||
treemacs-collapse-dirs 3
|
||||
treemacs-silent-refresh nil
|
||||
treemacs-change-root-without-asking t
|
||||
treemacs-sorting 'alphabetic-desc
|
||||
treemacs-show-hidden-files t
|
||||
treemacs-never-persist nil
|
||||
treemacs-is-never-other-window nil
|
||||
treemacs-goto-tag-strategy 'refetch-index)
|
||||
(treemacs-follow-mode t)
|
||||
(treemacs-filewatch-mode t)
|
||||
|
||||
(treemacs-follow-mode t)
|
||||
(treemacs-filewatch-mode t)))
|
||||
(treemacs-define-doubleclick-action
|
||||
'file-node-open #'treemacs-visit-node-in-most-recently-used-window)
|
||||
(treemacs-define-doubleclick-action
|
||||
'file-node-closed #'treemacs-visit-node-in-most-recently-used-window)
|
||||
(treemacs-define-RET-action
|
||||
'file-node-open #'treemacs-visit-node-in-most-recently-used-window)
|
||||
(treemacs-define-RET-action
|
||||
'file-node-closed #'treemacs-visit-node-in-most-recently-used-window))
|
||||
|
||||
(use-package treemacs-projectile
|
||||
:defer t
|
||||
:bind
|
||||
("C-x C-p" . treemacs-projectile)
|
||||
("C-x C-p" . treemacs-projectile-toggle)
|
||||
|
||||
:demand
|
||||
:requires (treemacs projectile)
|
||||
:custom
|
||||
(treemacs-header-function #'treemacs-projectile-create-header))
|
||||
|
||||
(use-package treemacs-persp
|
||||
:demand
|
||||
:requires treemacs persp-mode)
|
||||
|
||||
(use-package treemacs-magit
|
||||
:demand
|
||||
:requires treemacs magit)
|
||||
|
||||
(use-package lsp-treemacs
|
||||
:config
|
||||
(lsp-treemacs-sync-mode 1)
|
||||
(setq lsp-metals-treeview-show-when-views-received t))
|
||||
|
||||
(provide 'siren-treemacs)
|
||||
;;; siren-treemacs.el ends here
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
(require 'siren-flyspell)
|
||||
|
||||
(use-package magit
|
||||
:demand
|
||||
:bind
|
||||
("C-x g". magit-status)
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
;;; Code:
|
||||
|
||||
(use-package persp-mode
|
||||
:demand
|
||||
:hook
|
||||
(after-init . persp-mode)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user