我想在emacs-lisp中插入一个特定的yasnippet作为函数的一部分。有没有办法做到这一点?

似乎唯一相关的命令是yas/insert-snippet,但它只是打开一个包含所有选项的弹出窗口,文档中没有说明通过指定代码段名称绕过弹出窗口的内容。

最佳答案

yas/insert-snippet确实只是yas/expand-snippet的一个薄包装,用于交互使用。但是,内部结构却很有趣。从源代码来看,当我想以elisp模式扩展“defun”代码段时,以下内容对我有用:

(yas/expand-snippet
  (yas/template-content (cdar (mapcan #'(lambda (table)
                                          (yas/fetch table "defun"))
                                      (yas/get-snippet-tables)))))

关于emacs - 按名称插入yasnippet,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10211730/

10-10 11:12