ฉันพยายามเขียน yasnippet เพื่อแทรกโค้ด chunks ลงในไฟล์ R Markdown ฉันใช้ polymode เพื่อให้มีโหมดที่สำคัญหลายอย่าง (markdown, ESS [S]) ในไฟล์เดียว นี่คือตัวอย่างของฉัน:
# -*- mode: snippet -*-
# name: chunk
# key: chunk
# --
\`\`\`{r $1}
$0
\`\`\`
เมื่อฉันพยายามแทรกตัวอย่างลงในไฟล์. RMd ในโหมด markdown ฉันได้รับข้อผิดพลาดนี้:
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 เมื่อฉันแทรก snippet แต่จากนั้น polymode จะแปลงเนื้อหาของ code chunk เป็นโหมด ESS [S] ดูเหมือนว่าในที่สุดจะมีคำสั่งให้แทรกอันใหม่ในโพลีโมด แต่ในระหว่างนี้มีวิธีใดที่จะทำให้ตัวอย่างข้อมูลนี้ทำงานได้หรือไม่