confi-emacs-actual/configs/base-treemacs.el

88 lines
2.7 KiB
EmacsLisp

;;; base-treemacs.el --- Extensiones/paquetes instalados y su configuración -*- lexical-binding: t -*-
;; Author: kj <webmaster@outcontrol.net>
;; URL: https://git.kj2.me/kj/confi-emacs-actual
;;; Commentary:
;;; Code:
(use-package treemacs
:defer t
:straight t
:commands (treemacs-follow-mode
treemacs-filewatch-mode
treemacs-fringe-indicator-mode
treemacs-git-mode)
:custom-face
(cfrs-border-color ((t (:background ,(face-foreground 'font-lock-comment-face nil t)))))
:bind (([f9] . treemacs)
([f8] . treemacs-display-current-project-exclusively)
([f7] . treemacs-add-and-display-current-project)
("C-x t 1" . treemacs-delete-other-windows)
("C-x t b" . treemacs-bookmark)
("C-x t C-f" . treemacs-find-file)
("C-x t C-t" . treemacs-find-tag)
:map treemacs-mode-map
([mouse-1] . treemacs-single-click-expand-action))
:config
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
treemacs-missing-project-action 'remove
treemacs-sorting 'alphabetic-asc
treemacs-follow-after-init t
treemacs-width 30)
:config
(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 'deferred))
(`(t . _)
(treemacs-git-mode 'simple))))
(use-package treemacs-projectile
:defer t
:straight t
:after projectile
:bind (:map projectile-command-map
("h" . treemacs-projectile)))
(use-package treemacs-magit
:defer t
:straight t
:after magit
:commands treemacs-magit--schedule-update
:hook ((magit-post-commit
git-commit-post-finish
magit-post-stage
magit-post-unstage)
. treemacs-magit--schedule-update))
(use-package treemacs-persp
:defer t
:straight t
:after persp-mode
:demand t
:functions treemacs-set-scope-type
:config (treemacs-set-scope-type 'Perspectives))
;; `lsp-mode' and `treemacs' integration
(use-package lsp-treemacs
:defer t
:straight t
:after lsp-mode
:bind (:map lsp-mode-map
("C-<f8>" . lsp-treemacs-errors-list)
("M-<f8>" . lsp-treemacs-symbols)
("s-<f8>" . lsp-treemacs-java-deps-list))
:init (lsp-treemacs-sync-mode 1)
:config
(with-eval-after-load 'ace-window
(when (boundp 'aw-ignored-buffers)
(push 'lsp-treemacs-symbols-mode aw-ignored-buffers)
(push 'lsp-treemacs-java-deps-mode aw-ignored-buffers))))
(provide 'base-treemacs)
;;; base-treemacs.el ends here