Satu cuplikan yasnippet untuk beberapa mode

13

Saya memiliki cuplikan berikut:

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

dan saya ingin itu tersedia untuk keduanya latex-modedan org-mode. Bagaimana ini bisa dicapai? Saya dapat terhubung, tetapi saya mencoba mencari cara yang lebih cerdas.

Dror Atariah
sumber
1
c-mode dan c ++ - mode yang keduanya berbagi potongan dari cc-mode, Anda dapat memeriksa bagaimana mereka melakukannya. Seharusnya ada file ".yas-parents".
bmag

Jawaban:

18

The dokumentasi Yasnippet menjelaskan bahwa Anda akan perlu untuk memasukkan sebuah .yas-parentsfile dengan mode orang tua:

Sangat berguna untuk memiliki mode tertentu berbagi cuplikan di antara mereka. Untuk melakukan ini, pilih subdirektori mode dan letakkan .yas-parentsdaftar nama mode lain yang dipisahkan spasi-putih. Ketika Anda memuat kembali mode-mode tersebut menjadi orang tua dari mode asli.

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

Karenanya, Anda dapat, misalnya, meletakkan cuplikan Anda di text-modedirektori, dan kemudian, di latex-modedan org-modedirektori, menyertakan .yas-parentsfile yang menyertakan teks text-mode.

Dan
sumber
1
Namun, jika saya mengerti dengan baik, Anda hanya dapat berbagi seluruh mode, tetapi bukan snipet individual di beberapa mode?
Picaud Vincent