Um trecho de yasnippet para vários modos


13

Eu tenho o seguinte trecho:

# -*- mode: snippet -*-
# contributor: Song Qiang <tsiangsung@gmail.com>
# key: m
# group: Math
# name: Inline math \( ... \)
# --
\\($1\\)$0

e eu quero que ele esteja disponível para ambos latex-modee org-mode. Como isso pode ser alcançado? Eu poderia ligar novamente, mas estou tentando encontrar uma maneira mais inteligente.


1
modo c e modo c ++ - ambos compartilham trechos do modo cc, você pode verificar como eles fazem isso. Deve haver um arquivo ".yas-parents".
BMAG

Respostas:


18

A documentação do Yasnippet explica que você precisará incluir um .yas-parentsarquivo com os modos pai:

É muito útil ter certos modos de compartilhar trechos entre si. Para fazer isso, escolha um subdiretório de modo e coloque um .yas-parentscontendo uma lista separada por espaços em branco de outros nomes de modo. Quando você recarrega esses modos, tornam-se pais do modo original.

.
|-- c-mode
|   |-- .yas-parents    # contains "cc-mode text-mode"
|   `-- printf
|-- cc-mode
|   |-- for
|   `-- while
|-- java-mode
|   |-- .yas-parents    # contains "cc-mode text-mode"
|   `-- println
`-- text-mode
    |-- email
    `-- time

Portanto, você pode, por exemplo, colocar seu trecho em um text-modediretório e, nos diretórios latex-modee org-mode, incluir um .yas-parentsarquivo que inclua o texto text-mode.


1
No entanto, se eu entendi bem, você só pode compartilhar modos inteiros , mas não trechos individuais em vários modos?
Picaud Vincent
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.