コードチャンクをRマークダウンファイルに挿入するyasnippetを記述しようとしています。ポリモードを使用して、1つのファイルに複数のメジャーモード(マークダウン、ESS [S])を含めています。これは私のスニペットです:
# -*- mode: snippet -*-
# name: chunk
# key: chunk
# --
\`\`\`{r $1}
$0
\`\`\`
マークダウンモードで.Rmdファイルにスニペットを挿入しようとすると、次のエラーが発生します。
Error in post-command-hook (yas--post-command-handler): (error "Marker points into wrong buffer" #<marker at 7 in test.Rmd>)
スニペットが表示され、私のカーソルは正しい位置にあります(2番目の中括弧の直前):
```{r }
```
タブを押すと、次のようになります。
yas-next-field: Wrong type argument: overlayp, nil
私はポリモードとの相互作用に遭遇していると思います:スニペットを挿入するとマークダウンモードになりますが、ポリモードはコードチャンクの内容をESS [S]モードに変換します。最終的にポリモードで新しいチャンクを挿入するコマンドがあるようですが、それまでの間、このスニペットを機能させる方法はありますか?