emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] master 205b0e6 023/177: move snippet saving from loading to closi


From: João Távora
Subject: [elpa] master 205b0e6 023/177: move snippet saving from loading to closing
Date: Sat, 28 Mar 2015 15:40:33 +0000

branch: master
commit 205b0e697055d8dd92366da8ba0963e350ad7817
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    move snippet saving from loading to closing
    
    yas-load-snippet-buffer now just loads the snippet,
    yas-load-snippet-buffer-and-close also saves it.
---
 yasnippet.el |   81 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 40 insertions(+), 41 deletions(-)

diff --git a/yasnippet.el b/yasnippet.el
index 5d0d90a..19c6a5a 100644
--- a/yasnippet.el
+++ b/yasnippet.el
@@ -2527,10 +2527,7 @@ neither do the elements of PARENTS."
 
 TABLE is a symbol naming a passed to `yas--table-get-create'.
 
-When called interactively, prompt for the table name and
-whether (and where) to save the snippet.
-
-Returns the name of the file saved (if any)."
+When called interactively, prompt for the table name."
   (interactive (list (yas--read-table) t))
   (cond
    ;;  We have `yas--editing-template', this buffer's content comes from a
@@ -2549,43 +2546,45 @@ Returns the name of the file saved (if any)."
       (set (make-local-variable 'yas--editing-template)
            (yas--define-snippets-1 (yas--parse-template buffer-file-name)
                                   table)))))
-
-  (prog1
-      (when (and interactive
-                 (or
-                  ;; Only offer to save this if it looks like a library or new
-                  ;; snippet (loaded from elisp, from a dir in 
`yas-snippet-dirs'
-                  ;; which is not the first, or from an unwritable file)
-                  ;;
-                  (not (yas--template-file yas--editing-template))
-                  (not (file-writable-p (yas--template-file 
yas--editing-template)))
-                  (and (listp yas-snippet-dirs)
-                       (second yas-snippet-dirs)
-                       (not (string-match (expand-file-name (first 
yas-snippet-dirs))
-                                          (yas--template-file 
yas--editing-template)))))
-                 (y-or-n-p (yas--format "Looks like a library or new snippet. 
Save to new file? ")))
-        (let* ((option (first (yas--guess-snippet-directories 
(yas--template-table yas--editing-template))))
-               (chosen (and option
-                            (yas--make-directory-maybe option))))
-          (when chosen
-            (let ((default-file-name (or (and (yas--template-file 
yas--editing-template)
-                                              (file-name-nondirectory 
(yas--template-file yas--editing-template)))
-                                         (yas--template-name 
yas--editing-template))))
-              (write-file (concat chosen "/"
-                                  (read-from-minibuffer (format "File name to 
create in %s? " chosen)
-                                                        default-file-name)))
-              (setf (yas--template-file yas--editing-template) 
buffer-file-name)))))
-    (when interactive
-      (yas--message 3 "Snippet \"%s\" loaded for %s."
-                    (yas--template-name yas--editing-template)
-                    (yas--table-name (yas--template-table 
yas--editing-template))))))
-
-(defun yas-load-snippet-buffer-and-close (table &optional kill interactive)
-  "Call `yas-load-snippet-buffer' and then `quit-window', prefix
-  argument KILL passed to `quit-window'."
-  (interactive (list (yas--read-table) current-prefix-arg t))
-  (and (yas-load-snippet-buffer table interactive)
-       (quit-window kill)))
+  (when interactive
+    (yas--message 3 "Snippet \"%s\" loaded for %s."
+                  (yas--template-name yas--editing-template)
+                  (yas--table-name (yas--template-table 
yas--editing-template)))))
+
+(defun yas-load-snippet-buffer-and-close (table &optional kill)
+  "Load the snippet with `yas-load-snippet-buffer', offer to
+  save, then `quit-window' if saved.
+
+The prefix argument KILL is passed to `quit-window'.
+
+Don't use this from a Lisp program, call `yas-load-snippet-buffer'
+and `kill-buffer' instead."
+  (interactive (list (yas--read-table) current-prefix-arg))
+  (yas-load-snippet-buffer table t)
+  (when (and (or
+              ;; Only offer to save this if it looks like a library or new
+              ;; snippet (loaded from elisp, from a dir in `yas-snippet-dirs'
+              ;; which is not the first, or from an unwritable file)
+              ;;
+              (not (yas--template-file yas--editing-template))
+              (not (file-writable-p (yas--template-file 
yas--editing-template)))
+              (and (listp yas-snippet-dirs)
+                   (second yas-snippet-dirs)
+                   (not (string-match (expand-file-name (first 
yas-snippet-dirs))
+                                      (yas--template-file 
yas--editing-template)))))
+             (y-or-n-p (yas--format "Looks like a library or new snippet. Save 
to new file? ")))
+    (let* ((option (first (yas--guess-snippet-directories (yas--template-table 
yas--editing-template))))
+           (chosen (and option
+                        (yas--make-directory-maybe option))))
+      (when chosen
+        (let ((default-file-name (or (and (yas--template-file 
yas--editing-template)
+                                          (file-name-nondirectory 
(yas--template-file yas--editing-template)))
+                                     (yas--template-name 
yas--editing-template))))
+          (write-file (concat chosen "/"
+                              (read-from-minibuffer (format "File name to 
create in %s? " chosen)
+                                                    default-file-name)))
+          (setf (yas--template-file yas--editing-template) buffer-file-name)
+          (quit-window kill))))))
 
 (defun yas-tryout-snippet (&optional debug)
   "Test current buffer's snippet template in other buffer."



reply via email to

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