问题标签 [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 投票
1 回答
141 浏览

r - 使用 r-autoyas 的参数名称

我最近在使用 R 脚本(emacs 24.3.1、ESS 13.09-1、Windows 8.1)时一直在使用 r-autoyas (0.28),并且发现它非常有用。在设置(setq r-autoyas-expand-package-functions-only nil).

但是,我想调整它的一个小方面:我想在显式输入参数名称时保留参数名称。例如,如果我输入 'rnorm' 然后 TAB 来展开片段,我会得到:

并键入 10 TAB 100 TAB 然后再次 TAB 保留sd=1为默认值。我的结尾是:

我想要的是:

这使得我更喜欢代码。我知道旧版本r-autoyas曾经这样做过,因为它出现在 youtube 上的教程视频中,他C-d用来跳过参数,并使用 TAB 循环抛出它们。此外,如果一个参数被跳过(比如mean),那么所有后续参数都会被命名。因此,例如,如果我输入 10 TAB TAB 50C-g我会得到:

基本上我想知道是否可以打开所有参数的参数名称,而不仅仅是跳过参数之后的参数名称。我似乎在 github 网站上找不到任何显示如何执行此操作的内容。

谢谢

0 投票
1 回答
315 浏览

emacs - yasnippet如何调试?

我正在使用从互联网上找到的一些片段。

而且我在使用它们时遇到了很多错误。

例如,

这是 c 模式的 printf 片段。但它总是给我[yas] elisp error! Symbol's value as variable is void: text

那么这段代码中是否有任何错误或其他地方的错误?如果是这样,我该如何调试它?

0 投票
1 回答
95 浏览

emacs - 使用 sass-mode 和 yasnippet 时防止加载 HAML 片段

我正在使用带有 sass-mode 和 yasnippet 的 Emacs 来编辑 .sass 文件。这一切都很好,并且片段正在扩展。但是由于 sass-mode 需要 haml-mode,所以在编辑 sass 文件时也会加载 haml 片段。这很烦人,因为 haml 片段在 sass 中毫无用处。

我检查了我的片段目录中的 .yas-parents 文件,但没有找到。而且我已经搜索了文档和 elisp 代码,但设置或功能并没有跳出来。当我在 sass 缓冲区中运行 Mx yas-describe-table 时,我会在 sass 和 haml 的扩展表上显示。

理想情况下,我希望在处理 sass 缓冲区时打开时阻止加载 haml 片段。但是,如果我可以设置某种钩子来在加载 sass 缓冲区时删除代码片段的 haml 表,那也很好。

谢谢!

0 投票
1 回答
958 浏览

emacs - 停用 Emacs 中的特定 yasnippets

xxx随着最近从 MELPA 更新的 Yasnippet ,我希望能够只停用todo带有文本模式的片段。第一个用 展开,x另一个用展开t,这让我很困扰,因为我在 org 模式下写数学课本,我需要自己写几个x' 和t',然后按TAB退出括号。

yas-buffer-local-condition看来,如果片段中有#condition:指令,我可能会做一些事情,但提到的片段没有。

如果我只是删除文件,我会按自己的方式行事,但不幸的是,它们会在 Yasnippet 的每次更新时重新出现。

0 投票
1 回答
967 浏览

python - 使用 yasnippet、Emacs 的 python 模式下的错误缩进

即使我emacs -Q在其中打开 pure 和 python 文件:

|- 光标

因此TAB会循环更改缩进级别。我绝对不想这样做。
如果使用smart-tab问题可以解决。但又yasnippet (yas-global-mode 1)带来了。
这就是我找不到原因的地方。

如果你有这个问题(python+yasnippet+正确的缩进)——请给我一个小费。或者只是一个工作配置的链接。

最新的 Emacs (24.3.50.1)

0 投票
0 回答
896 浏览

javascript - Symbol 的函数定义为 void:yas/initialize (emacs yasnippet)

我正在尝试yasnippet根据教程配置 Emacs 和一些 JavaScript 模板。

我是 Emacs 的新手,我无法弄清楚为什么该yas函数不存在。我得到的错误是:

Symbol 的函数定义为 void:yas/initialize

这些是我的初始化文件的内容:

0 投票
3 回答
1465 浏览

emacs - 为两种情况配置 Yasnippet - (1) 区域处于活动状态;(2) 区域不活跃

结合用户配置(delete-selection-mode 1),有没有一种方法可以将以下两个 Yasnippet 合并到一个片段中,以便根据区域是否处于活动状态,它的工作方式会有所不同。例如: (if (region-active-p) (yas/selected-text) "$1")

活动区域——用代码段包围活动区域:

非活动区域 - 插入代码段并将光标放在 的位置$1

0 投票
2 回答
378 浏览

emacs - 如何添加两个 yasnippet 字段的值

我正在尝试编写一个片段,其输入(制表位字段)是两个数字,并返回它们的总和。但我不知道如何同时引用两个字段的值,而且似乎我无法在嵌入式 elisp 代码中引用制表位的值。

这是我尝试过的:

但是当我展开片段时,文本[yas] elisp error!会出现在总和应该去的地方。我究竟做错了什么?

0 投票
1 回答
74 浏览

emacs - 如何编写内容取决于某个扩展字段的片段?

我尝试编写一个片段来实现这一点:

可扩展领域:

预期结果:

如果 $1 为空:

如果 $1 不为空:

谁能给我一个关于我该怎么做的线索?

谢谢

0 投票
1 回答
226 浏览

emacs - Emacs:如何在 sql-interactive-mode 中为不同的 RDBM 创建 yasnippets

我正在使用 sql-interactive-mode 连接到 2 个数据库:MySQL 和 SQLite。我在文件夹中为 mysql 创建了 yasnippets yasnippets/sql-interactive-mode。例如,要在 MySQL 中添加一列,我使用以下代码段:

但是 SQLite 使用不同的语法。如何为不同的数据库创建不同的 yasnippets?