问题标签 [yasnippet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
277 浏览

emacs - 将现有的 YAsnippet 模式指向新的文件类型

我正在学习 Bottle 教程,而 HTML 的 YAsnippet 模式可以让我在制作 Bottle 模板文件 ( .tpl) 时获得很大一部分生产力奖励。

有没有办法告诉 YAsnippet 在html-mode打开扩展的文件类型时查看现有条目.tpl

0 投票
2 回答
4369 浏览

emacs - 安装 YASnippet

我已经安装了 YASnippet 并使用它进行了配置:

但是,当我启动 Emacs 时,它给了我一个错误:

我究竟做错了什么?我试图找到答案,但没有成功。(我也尝试过另一个版本的 yasnippet yasnippet-0.6.1b 但它是一样的。)

0 投票
2 回答
2853 浏览

emacs - 如何使 yasnippet 作为自动完成后端?

我想yasnippetauto-complete. 但是,它不起作用。我在网上搜索后的操作如下:获取auto-complete-yasnippet.el,添加一些 elisp.emacs如下:

我用 . 查看ac-sources*scratch* 中的内容C-h v,它确实有ac-source-yasnippet. 有人可能是auto-completeas的版本和升级有问题yasnippet。如何修复?我的emacs版本是 23.3.1 我的auto-complete版本是 1.3.1 我的yasnippet版本是 0.8.0(beta) 是刚刚从github下载的。有什么帮助吗?

0 投票
1 回答
371 浏览

emacs - Yasnippet 中的 ido 保存新片段

我想保存一个新的片段。Emacs24 向我询问文件名,但 ido 在 minibuffer 中不起作用。这是一个已知的错误,还是我的配置中的错误。

如何重现:

菜单:YSSnippet/新片段

我创建了一个小片段

现在我想保存它并按C-x C-s minibuffer 说 File to save in: /tmp/ 我希望ido这个 minibuffer 中的功能应该看起来像

但它不起作用。我的配置在github上

0 投票
1 回答
173 浏览

emacs - yasnippet 和反斜杠

我已经在 emacs 24 上安装了 elpa 的 yasnippet 0.8,我想编写一个片段,将此文本插入 LaTeX 文档(使用 AUCTeX):

所以我有这个片段:

但是当我键入时para<TAB>,所发生的只是文本para被删除。我究竟做错了什么?

0 投票
1 回答
1174 浏览

emacs - 如何以编程方式在片段中包含 yasnippet 片段

我正在寻找一种方法来编写一个片段,让我包含另一个片段。以下是 Python 函数的片段示例:

在示例中,我想先在字段#1 中将一些内容写入python 函数,然后按TAB。点击 TAB 应该把我带到 lisp 位,我可以选择扩展名为“not_implemented_exception”的片段。

我尝试阅读源代码,但对 lisp 很陌生,所以我没有发现任何用处。

0 投票
1 回答
818 浏览

ruby-on-rails - 带有 yasnippets 的 emacs 智能标签

我正在尝试在所有打开的缓冲区和 yasnippet 中完成制表符以使用制表符键。目前我可以有一个或另一个。以下代码是我处理 yasnippet 扩展的方式,但由于我不是 lisp 程序员,我在这里看不到错误。

如果它无法扩展片段,我希望它尝试从缓冲区扩展。

0 投票
2 回答
94 浏览

emacs - 正确处理失败的片段完成

我使用 TAB 从 yasnippet 扩展片段,当它不扩展片段时,它通常会退回到缩进(绑定到 TAB 的默认命令),这由 yasnippets 自定义变量引用,yas-fallback-behavior它只能是call-other-commandor return-nil

我想要的功能是在点击 TAB 时:

  1. 尝试完成片段、成功或静默失败。
  2. 检查我们是否处于 PHP 模式,并php-complete-function静默调用、成功或失败。
  3. 默认为其当前的缩进命令 ( indent-for-tab-command)。

它目前完美地执行 1,然后是 3。yas--fallback但是,通过使用这段代码提供建议,我能够使其大部分工作:

剩下的唯一主要问题是,当尝试使用 TAB 缩进任何内容时,php-complete-function不会静默失败,而是会向 minibuffer 发送垃圾邮件,其中包含来自 PHP 完成的多次检查的消息。

那么有没有办法在这种情况下禁止来自该函数的消息传递,而无需进行所有相同的检查,它实际上是在我的建议中重新编程该函数?或者,有没有更好的方法来使用 yasnippet 来开始我所缺少的?

0 投票
4 回答
2962 浏览

emacs - 取消设置 yasnippet 的“Tab”绑定?

Tabyasnippet 的键绑定通常会覆盖其他有用的键。

有没有办法禁用TabYasnippet 的绑定以启用其他Tab用途?

0 投票
3 回答
573 浏览

regex - 正则表达式作为触发器

工作中的代码约定之一是在方括号和圆括号内包含一个空格的填充。所以list[ index ],不是list[index]。添加这些空格可能很烦人,所以我尝试编写一个片段:

这适用于左方括号前面有空格或行首的情况,但不适用于前面有标识符的情况。我认为这样做的一种方法是让触发器成为正则表达式:

或类似的东西。这甚至可能吗?还是有其他聪明的方法来完成这项工作?我正在为 python 写这个,但我认为这不重要。

谢谢!