首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于缓冲区/文件名的YASnippet条件激活

基于缓冲区/文件名的YASnippet条件激活
EN

Stack Overflow用户
提问于 2020-10-26 13:03:26
回答 1查看 138关注 0票数 0

我有一堆用于单一模式的YASnippet,有时很难在主列表中找到我要寻找的片段。

预期行为:

我的目标是在所有文件/缓冲区中激活像这样的代码片段,其名称为"model“(例如app/model/ My _model. in )

代码语言:javascript
复制
# that's ruby-mode/model-foo:

# -*- mode: snippet -*-
# name: model - foo activation name
# condition: (string-match-p (regexp-quote "models") (buffer-file-name (window-buffer (minibuffer-selected-window))))
# --
model_foo

和这个文件/缓冲区中的“控制器”的名称(例如,app/控制器/另一个_model.rb. in或测试/控制器/另一个_model.rb. in等)

代码语言:javascript
复制
# that's ruby-mode/controller-foo:

# -*- mode: snippet -*-
# name: controller - foo activation name
# condition: (string-match-p (regexp-quote "controllers") (buffer-file-name (window-buffer (minibuffer-selected-window))))
# --
controller_foo

实际行为:

这两个片段被激活(可供选择)在所有文件在红宝石模式.看起来condition:被完全忽略了。我甚至尝试将其设置为"#条件: false“,并且代码段仍然在工作/可见。

是什么引起了这个问题?

代码语言:javascript
复制
pkg-info-package-version  yasnippet
20191222.2206
EN

回答 1

Stack Overflow用户

发布于 2020-10-31 18:50:48

我还没有解决这个问题的办法,但我只是不小心发现是什么原因造成了这一问题。

这个问题只出现在Spacemacs SPC i s中的默认快捷方式中,它使用的是spacemacs/helm-yas,它似乎完全忽略了YASnippet的# condition:系统。作为(临时的?)解决办法是,您可以只使用yas-insert-snippet,它的工作原理与spacemacs/helm-yas非常相似,但条件系统运行正常。

Github问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64537675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档