我正在尝试编写一个Yasnippet,以将代码块插入R Markdown文件中。我使用多模式在单个文件中具有多个主要模式(markdown,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>)
该代码段确实出现,并且我的光标位于正确的位置(紧接在第二个花括号之前):
```{r }
```
当我点击选项卡时,我得到以下信息:
yas-next-field: Wrong type argument: overlayp, nil
我猜想我正在与polymode进行交互:插入代码段时,我处于markdown模式,但是polymode将代码块的内容转换为ESS [S]模式。看起来最终会有一条命令在多模式下插入新的块,但是与此同时有什么办法可以使此代码段正常工作?