Un fragmento de yasnippet para múltiples modos

13

Tengo el siguiente fragmento:

# -*- mode: snippet -*-
# contributor: Song Qiang <[email protected]>
# key: m
# group: Math
# name: Inline math \( ... \)
# --
\\($1\\)$0

y quiero que esté disponible para ambos latex-modey org-mode. ¿Cómo se puede lograr esto? Podría hacer un enlace simbólico, pero estoy tratando de encontrar una forma más inteligente.

Dror Atariah
fuente
1
c-mode y c ++ - mode comparten fragmentos del modo cc, puede verificar cómo lo hacen. Debería haber un archivo ".yas-parents".
bmag
Puedes probar yankpad, ¡vale la pena intentarlo! github.com/Kungsgeten/yankpad youtube.com/watch?v=xkkyE7d0Bpc&feature=youtu.be
ragloo

Respuestas:

18

La documentación de Yasnippet explica que deberá incluir un .yas-parentsarchivo con los modos principales:

Es muy útil que ciertos modos compartan fragmentos entre ellos. Para hacer esto, elija un subdirectorio de modo y coloque un que .yas-parentscontenga una lista separada por espacios en blanco de otros nombres de modo. Cuando vuelve a cargar esos modos, se convierten en padres del 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

Por lo tanto, podría, por ejemplo, colocar su fragmento en un text-modedirectorio y luego, en los directorios latex-modey org-mode, incluir un .yas-parentsarchivo que incluya el texto text-mode.

Dan
fuente
1
Sin embargo, si he entendido bien, ¿solo puede compartir modos completos , pero no fragmentos individuales en varios modos?
Picaud Vincent