diff --git a/layers/+filetree/treemacs/funcs.el b/layers/+filetree/treemacs/funcs.el new file mode 100644 index 000000000..9470d968d --- /dev/null +++ b/layers/+filetree/treemacs/funcs.el @@ -0,0 +1,22 @@ +;;; packages.el --- Neotree Layer functions File +;; +;; Copyright (c) 2012-2018 Sylvain Benner & Contributors +;; +;; Author: Sylvain Benner +;; URL: https://github.com/syl20bnr/spacemacs +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 + +(defun spacemacs/treemacs-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-project-root)) + (name (projectile-project-name))) + (unless (treemacs-current-workspace) + (treemacs--find-workspace)) + (treemacs-do-add-project-to-workspace path name) + (treemacs-select-window)))) diff --git a/layers/+filetree/treemacs/packages.el b/layers/+filetree/treemacs/packages.el index cf1e11d59..440036fdf 100644 --- a/layers/+filetree/treemacs/packages.el +++ b/layers/+filetree/treemacs/packages.el @@ -24,7 +24,8 @@ (defun treemacs/init-treemacs () (use-package treemacs - :commands (treemacs-select-window treemacs--window-number-ten) + :commands (treemacs-select-window treemacs--window-number-ten + treemacs-current-visibility) :defer t :init (progn @@ -44,7 +45,8 @@ "ft" 'treemacs "fB" 'treemacs-bookmark "fT" 'treemacs-find-file - "f M-t" 'treemacs-find-tag) + "f M-t" 'treemacs-find-tag + "pt" 'spacemacs/treemacs-project-toggle) (which-key-add-major-mode-key-based-replacements 'treemacs-mode "c" "treemacs-create" "o" "treemacs-visit-node"