mirror of
https://github.com/joaotavora/yasnippet.git
synced 2025-10-13 13:13:03 +00:00
Simplify some code
* yasnippet.el (yas-define-snippets): Modify the list instead of reconstructing it. (yas-load-snippet-buffer-and-close): Replace listp and second with cdr-safe. Use string-prefix-p rather than string-match-p.
This commit is contained in:
parent
e8934ce816
commit
c91a58840b
42
yasnippet.el
42
yasnippet.el
@ -1665,33 +1665,16 @@ file with the same uuid would replace the previous snippet.
|
||||
You can use `yas--parse-template' to return such lists based on
|
||||
the current buffers contents."
|
||||
(if yas--creating-compiled-snippets
|
||||
(progn
|
||||
(let ((print-length nil))
|
||||
(insert ";;; Snippet definitions:\n;;;\n")
|
||||
(let ((literal-snippets (list))
|
||||
(print-length nil))
|
||||
(dolist (snippet snippets)
|
||||
(let ((key (nth 0 snippet))
|
||||
(template-content (nth 1 snippet))
|
||||
(name (nth 2 snippet))
|
||||
(condition (nth 3 snippet))
|
||||
(group (nth 4 snippet))
|
||||
(expand-env (nth 5 snippet))
|
||||
(file nil) ;; omit on purpose
|
||||
(binding (nth 7 snippet))
|
||||
(uuid (nth 8 snippet)))
|
||||
(push `(,key
|
||||
,template-content
|
||||
,name
|
||||
,condition
|
||||
,group
|
||||
,expand-env
|
||||
,file
|
||||
,binding
|
||||
,uuid)
|
||||
literal-snippets)))
|
||||
(insert (pp-to-string
|
||||
`(yas-define-snippets ',mode ',literal-snippets)))
|
||||
(insert "\n\n")))
|
||||
(dolist (snippet snippets)
|
||||
;; We omit file because the snippet will be loaded from
|
||||
;; the compiled file instead, so deleting or changing
|
||||
;; the original won't have any effect.
|
||||
(setcar (nthcdr 6 snippet) nil))
|
||||
(insert (pp-to-string
|
||||
`(yas-define-snippets ',mode ',snippets)))
|
||||
(insert "\n\n"))
|
||||
;; Normal case.
|
||||
(let ((snippet-table (yas--table-get-create mode))
|
||||
(template nil))
|
||||
@ -2584,10 +2567,9 @@ and `kill-buffer' instead."
|
||||
;;
|
||||
(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)))))
|
||||
(and (cdr-safe yas-snippet-dirs)
|
||||
(not (string-prefix-p (expand-file-name (car 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user