Domanda

I'm using Emacs with sass-mode and yasnippet to edit .sass files. This is all working great and the snippets are expanding. But since sass-mode requires haml-mode the haml snippets are also loaded when editing sass files. This is rather annoying since the haml snippets are useless in sass.

I've checked my snippets directory for a .yas-parents file and didn't find one. And I've searched through the documentation and elisp code but a setting or function didn't jump out at me. When I run M-x yas-describe-table within a sass buffer I'm showon the expantion tables for both sass and haml.

Ideally I'd like to prevent the haml snippets from loading when opening when working on a sass buffer. But if I could setup some sort of hook to remove the haml table of snippets when sass buffers are loaded that would be good too.

Thanks!

È stato utile?

Soluzione

There does not seem to be a way in yasnippets to do what you want. So you should open issue on yasnippet github repo requesting this feature.

As a temporary solution you can disable loading of haml-mode snippets in sass-mode by advising yas--modes-to-activate as follows. Remember this is NOT recommended

(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)))

The above advises yas--modes-to-activate so that haml-mode is not returned as a mode to load when in sass-mode.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top