J'essaie d'écrire un yasnippet pour insérer des morceaux de code dans un fichier R Markdown. J'utilise le polymode pour avoir plusieurs modes majeurs (markdown, ESS [S]) dans un seul fichier. Voici mon extrait:
# -*- mode: snippet -*-
# name: chunk
# key: chunk
# --
\`\`\`{r $1}
$0
\`\`\`
Lorsque j'essaie d'insérer l'extrait de code dans un fichier .Rmd en mode démarque, j'obtiens cette erreur:
Error in post-command-hook (yas--post-command-handler): (error "Marker points into wrong buffer" #<marker at 7 in test.Rmd>)
L'extrait apparaît et mon curseur est au bon endroit (juste avant la deuxième accolade):
```{r }
```
Lorsque j'appuie sur l'onglet, j'obtiens ce qui suit:
yas-next-field: Wrong type argument: overlayp, nil
Je suppose que je rencontre une interaction avec le polymode: je suis en mode démarque lorsque j'insère l'extrait de code, mais le polymode convertit ensuite le contenu du bloc de code en mode ESS [S]. Il semble qu'il y aura éventuellement une commande pour insérer un nouveau morceau en polymode, mais en attendant, y a-t-il un moyen de faire fonctionner cet extrait?
M-x tws-insert-r-chunk
. Vous voudrez probablement lier cette commande à un raccourci clavier - il y a beaucoup de questions ici sur la configuration des raccourcis clavier.