From: Juri Linkov Date: Wed, 25 Dec 2024 17:52:10 +0000 (+0200) Subject: * lisp/treesit.el: Improvements for treesit-explore-mode (bug#75079) X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=82e66d9e44942b307c6182fb3f1759a268b6cde6;p=emacs.git * lisp/treesit.el: Improvements for treesit-explore-mode (bug#75079) (treesit-explorer-switch-parser): Don't use completing-read on the single parser. (treesit-explore-mode): Don't save treesit-explore-mode to the desktop. (cherry picked from commit c09e056c43e344c5adda08ef819252824cff0ef0) --- diff --git a/lisp/treesit.el b/lisp/treesit.el index 7040f59d01e..b18e8e281ce 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -3903,8 +3903,10 @@ covers point. PARSER-NAME are unique." (interactive (list (let* ((parser-alist (treesit--explorer-generate-parser-alist)) - (parser-name (completing-read - "Parser: " (mapcar #'car parser-alist)))) + (parser-name (if (= (length parser-alist) 1) + (car parser-alist) + (completing-read + "Parser: " (mapcar #'car parser-alist))))) (alist-get parser-name parser-alist nil nil #'equal)))) (unless treesit-explore-mode @@ -3944,7 +3946,15 @@ window." (unless (memq 'treesit--explorer-tree-mode desktop-modes-not-to-save) (push 'treesit--explorer-tree-mode - desktop-modes-not-to-save)))) + desktop-modes-not-to-save))) + ;; Tell `desktop-save' to not save this minor mode + ;; that might disrupt loading the desktop + ;; with the prompt to select a parser. + (when (boundp 'desktop-minor-mode-table) + (unless (member '(treesit-explore-mode nil) + desktop-minor-mode-table) + (push '(treesit-explore-mode nil) + desktop-minor-mode-table)))) ;; Turn off explore mode. (remove-hook 'post-command-hook #'treesit--explorer-post-command t)