0

sass-mode と yasnippet で Emacs を使用して .sass ファイルを編集しています。これはすべてうまく機能しており、スニペットは拡大しています。ただし、sass-mode には haml-mode が必要なため、sass ファイルを編集するときに haml スニペットも読み込まれます。Haml スニペットは sass では役に立たないので、これはかなり面倒です。

スニペット ディレクトリで .yas-parents ファイルを確認しましたが、見つかりませんでした。そして、ドキュメントと elisp コードを検索しましたが、設定や機能が思い浮かびませんでした。Mx yas-describe-table を sass バッファー内で実行すると、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-modeいますsass-mode

于 2014-03-01T17:58:01.833 に答える