我有一堆用于单一模式的YASnippet,有时很难在主列表中找到我要寻找的片段。
预期行为:
我的目标是在所有文件/缓冲区中激活像这样的代码片段,其名称为"model“(例如app/model/ My _model. in )
# 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等)
# 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“,并且代码段仍然在工作/可见。
是什么引起了这个问题?
pkg-info-package-version yasnippet
20191222.2206发布于 2020-10-31 18:50:48
我还没有解决这个问题的办法,但我只是不小心发现是什么原因造成了这一问题。
这个问题只出现在Spacemacs SPC i s中的默认快捷方式中,它使用的是spacemacs/helm-yas,它似乎完全忽略了YASnippet的# condition:系统。作为(临时的?)解决办法是,您可以只使用yas-insert-snippet,它的工作原理与spacemacs/helm-yas非常相似,但条件系统运行正常。
https://stackoverflow.com/questions/64537675
复制相似问题