spacemacs/layers/+filetree/treemacs/funcs.el
Boris Buliga 53f5121a03
allow dynamic width lock setup for treemacs
Following #11384

Right now treemacs-lock-width variable affects width lock only during treemacs
initialisation. Any later modifications have no effect on treemacs behaviour.
This commit changes it by moving evaluation of treemacs-lock-width to the
treemacs-mode-hook.
2018-10-16 20:25:07 +03:00

30 lines
1,000 B
EmacsLisp

;;; packages.el --- Treemacs Layer functions File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; 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))))
(defun spacemacs/treemacs-setup-width-lock ()
"Setup the width lock of treemacs buffer based on
`treemacs-lock-width'."
(interactive)
(when (xor treemacs--width-is-locked treemacs-lock-width)
(treemacs-toggle-fixed-width)))