0

我正在使用带有 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 表,那也很好。

谢谢!

4

1 回答 1

0

在 yasnippets 中似乎没有办法做你想做的事。yasnippet因此,您应该在请求此功能的 github 存储库上打开问题。

作为临时解决方案,您可以通过以下建议禁用haml-mode片段的加载。记住这是推荐的sass-modeyas--modes-to-activate

(eval-after-load "yasnippet"
  '(progn (defadvice yas--modes-to-activate (after my-simple-advise)
           (when (eq major-mode 'sass-mode)
             (setq ad-return-value (remove 'haml-mode ad-return-value))))

         (ad-activate 'yas--modes-to-activate)))

以上建议yas--modes-to-activate不要haml-modesass-mode.

于 2014-03-01T17:58:01.833 回答