Un extrait de yasnippet pour plusieurs modes

13

J'ai l'extrait de code suivant:

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

et je veux qu'il soit disponible pour latex-modeet org-mode. Comment cela peut il etre accompli? Je pourrais créer un lien symbolique, mais j'essaie de trouver un moyen plus intelligent.

Dror Atariah
la source
1
c-mode et c ++ - mode partagent tous deux des extraits du mode cc, vous pouvez vérifier comment ils le font. Il devrait y avoir un fichier ".yas-parents".
bmag
Vous pouvez essayer yankpad, ça vaut le coup d'essayer! github.com/Kungsgeten/yankpad youtube.com/watch?v=xkkyE7d0Bpc&feature=youtu.be
ragloo

Réponses:

18

La documentation de Yasnippet explique que vous devrez inclure un .yas-parentsfichier avec les modes parents:

Il est très utile que certains modes partagent des extraits entre eux. Pour ce faire, choisissez un sous-répertoire de mode et placez un .yas-parentscontenant une liste séparée par des espaces des autres noms de mode. Lorsque vous rechargez ces modes, devenez parents du mode d'origine.

.
|-- 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

Par conséquent, vous pouvez, par exemple, placer votre extrait de code dans un text-moderépertoire, puis, dans les répertoires latex-modeet org-mode, inclure un .yas-parentsfichier contenant le texte text-mode.

Dan
la source
1
Cependant, si j'ai bien compris, vous ne pouvez partager que des modes entiers , mais pas des extraits individuels sur plusieurs modes?
Picaud Vincent