emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master c146bd893df 3/3: Prompt target dir in treesit-install-language-gr


From: Yuan Fu
Subject: master c146bd893df 3/3: Prompt target dir in treesit-install-language-grammar (bug#62704)
Date: Wed, 12 Apr 2023 03:02:45 -0400 (EDT)

branch: master
commit c146bd893dfbc8a4c92f9d1f33def8f29e7ece1f
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>

    Prompt target dir in treesit-install-language-grammar (bug#62704)
    
    * lisp/treesit.el (treesit--check-repo-url): New variable.
    (treesit-install-language-grammar): Prompt for target directory.
---
 lisp/treesit.el | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/lisp/treesit.el b/lisp/treesit.el
index 9068a111489..3932920a962 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -3022,6 +3022,9 @@ See `treesit-language-source-alist' for details."
             (buffer-local-value 'url-http-response-status buffer)
             200)))))
 
+(defvar treesit--install-language-grammar-out-dir-history nil
+  "History for OUT-DIR for `treesit-install-language-grammar'.")
+
 ;;;###autoload
 (defun treesit-install-language-grammar (lang)
   "Build and install the tree-sitter language grammar library for LANG.
@@ -3043,11 +3046,20 @@ executable programs, such as the C/C++ compiler and 
linker."
   (when-let ((recipe
               (or (assoc lang treesit-language-source-alist)
                   (treesit--install-language-grammar-build-recipe
-                   lang))))
+                   lang)))
+             (default-out-dir
+              (or (car treesit--install-language-grammar-out-dir-history)
+                  (locate-user-emacs-file "tree-sitter")))
+             (out-dir
+              (read-string
+               (format "Install to (default: %s): "
+                       default-out-dir)
+               nil
+               'treesit--install-language-grammar-out-dir-history
+               default-out-dir)))
     (condition-case err
         (apply #'treesit--install-language-grammar-1
-               ;; The nil is OUT-DIR.
-               (cons nil recipe))
+               (cons out-dir recipe))
       (error
        (display-warning
         'treesit



reply via email to

[Prev in Thread] Current Thread [Next in Thread]