mirror of
https://github.com/joaotavora/yasnippet.git
synced 2025-10-13 21:13:04 +00:00
* all prompt fuctions working (tried a bit in text emacs)
* compile-bundle now includes dropdown-list.el and works (in text mode at least)
This commit is contained in:
parent
4849ac6546
commit
408413a811
44
yasnippet.el
44
yasnippet.el
@ -804,11 +804,12 @@ TEMPLATES is a list of `yas/template'."
|
|||||||
keymap))))))
|
keymap))))))
|
||||||
|
|
||||||
(defun yas/ido-prompt (prompt choices &optional display-fn)
|
(defun yas/ido-prompt (prompt choices &optional display-fn)
|
||||||
(when (featurep 'ido)
|
(when (and (featurep 'ido)
|
||||||
|
ido-mode)
|
||||||
(let* ((formatted-choices (or (and display-fn
|
(let* ((formatted-choices (or (and display-fn
|
||||||
(mapcar display-fn choices))
|
(mapcar display-fn choices))
|
||||||
choices))
|
choices))
|
||||||
(chosen (and choices
|
(chosen (and formatted-choices
|
||||||
(ido-completing-read prompt
|
(ido-completing-read prompt
|
||||||
formatted-choices
|
formatted-choices
|
||||||
nil
|
nil
|
||||||
@ -820,13 +821,30 @@ TEMPLATES is a list of `yas/template'."
|
|||||||
|
|
||||||
(defun yas/dropdown-prompt (prompt choices &optional display-fn)
|
(defun yas/dropdown-prompt (prompt choices &optional display-fn)
|
||||||
(when (featurep 'dropdown-list)
|
(when (featurep 'dropdown-list)
|
||||||
))
|
(let* ((formatted-choices (or (and display-fn
|
||||||
|
(mapcar display-fn choices))
|
||||||
|
choices))
|
||||||
|
(chosen (and formatted-choices
|
||||||
|
(nth (dropdown-list formatted-choices)
|
||||||
|
choices))))
|
||||||
|
chosen)))
|
||||||
|
|
||||||
(defun yas/completing-prompt (prompt choices &optional display-fn)
|
(defun yas/completing-prompt (prompt choices &optional display-fn)
|
||||||
)
|
(let* ((formatted-choices (or (and display-fn
|
||||||
|
(mapcar display-fn choices))
|
||||||
|
choices))
|
||||||
|
(chosen (and formatted-choices
|
||||||
|
(completing-read prompt
|
||||||
|
formatted-choices
|
||||||
|
nil
|
||||||
|
'require-match
|
||||||
|
nil
|
||||||
|
nil))))
|
||||||
|
(when chosen
|
||||||
|
(nth (position chosen formatted-choices) choices))))
|
||||||
|
|
||||||
(defun yas/no-prompt (prompt choices &optional display-fn)
|
(defun yas/no-prompt (prompt choices &optional display-fn)
|
||||||
)
|
(first choices))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Loading snippets from files
|
;; Loading snippets from files
|
||||||
@ -892,7 +910,7 @@ foo\"bar\\! -> \"foo\\\"bar\\\\!\""
|
|||||||
"\""))
|
"\""))
|
||||||
|
|
||||||
(defun yas/compile-bundle
|
(defun yas/compile-bundle
|
||||||
(&optional yasnippet yasnippet-bundle snippet-roots code)
|
(&optional yasnippet yasnippet-bundle snippet-roots code dropdown)
|
||||||
"Compile snippets in SNIPPET-ROOTS to a single bundle file.
|
"Compile snippets in SNIPPET-ROOTS to a single bundle file.
|
||||||
SNIPPET-ROOTS is a list of root directories that contains the snippets
|
SNIPPET-ROOTS is a list of root directories that contains the snippets
|
||||||
definition. YASNIPPET is the yasnippet.el file path. YASNIPPET-BUNDLE
|
definition. YASNIPPET is the yasnippet.el file path. YASNIPPET-BUNDLE
|
||||||
@ -903,7 +921,12 @@ all the parameters:
|
|||||||
(yas/compile-bundle \"yasnippet.el\"
|
(yas/compile-bundle \"yasnippet.el\"
|
||||||
\"./yasnippet-bundle.el\"
|
\"./yasnippet-bundle.el\"
|
||||||
'(\"snippets\")
|
'(\"snippets\")
|
||||||
\"(yas/initialize)\")"
|
\"(yas/initialize)\")
|
||||||
|
|
||||||
|
Last optional argument DROPDOWN is the filename of the
|
||||||
|
dropdown-list.el library...
|
||||||
|
|
||||||
|
"
|
||||||
(when (null yasnippet)
|
(when (null yasnippet)
|
||||||
(setq yasnippet "yasnippet.el"))
|
(setq yasnippet "yasnippet.el"))
|
||||||
(when (null yasnippet-bundle)
|
(when (null yasnippet-bundle)
|
||||||
@ -923,6 +946,8 @@ all the parameters:
|
|||||||
(insert ";;; yasnippet-bundle.el --- "
|
(insert ";;; yasnippet-bundle.el --- "
|
||||||
"Yet another snippet extension (Auto compiled bundle)\n")
|
"Yet another snippet extension (Auto compiled bundle)\n")
|
||||||
(insert-file-contents yasnippet)
|
(insert-file-contents yasnippet)
|
||||||
|
(when dropdown
|
||||||
|
(insert-file-contents dropdown))
|
||||||
(goto-char (point-max))
|
(goto-char (point-max))
|
||||||
(insert ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n")
|
(insert ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n")
|
||||||
(insert ";;;; Auto-generated code ;;;;\n")
|
(insert ";;;; Auto-generated code ;;;;\n")
|
||||||
@ -2336,7 +2361,10 @@ When multiple expressions are found, only the last one counts."
|
|||||||
|
|
||||||
(defun yas/debug-test (&optional quiet)
|
(defun yas/debug-test (&optional quiet)
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(yas/load-directory "~/Source/yasnippet/snippets/")
|
(yas/load-directory (or (and (listp yas/root-directory)
|
||||||
|
(first yas/root-directory))
|
||||||
|
yas/root-directory
|
||||||
|
"~/Source/yasnippet/snippets/"))
|
||||||
;;(kill-buffer (get-buffer "*YAS TEST*"))
|
;;(kill-buffer (get-buffer "*YAS TEST*"))
|
||||||
(set-buffer (switch-to-buffer "*YAS TEST*"))
|
(set-buffer (switch-to-buffer "*YAS TEST*"))
|
||||||
(mapcar #'yas/commit-snippet (yas/snippets-at-point 'all-snippets))
|
(mapcar #'yas/commit-snippet (yas/snippets-at-point 'all-snippets))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user