Un extrait de yasnippet pour plusieurs modes


13

J'ai l'extrait de code suivant:

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


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.