Un fragmento de yasnippet para múltiples modos


13

Tengo el siguiente fragmento:

# -*- mode: snippet -*-
# contributor: Song Qiang <tsiangsung@gmail.com>
# 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.


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

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.


1
Sin embargo, si he entendido bien, ¿solo puede compartir modos completos , pero no fragmentos individuales en varios modos?
Picaud Vincent
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.