मैं एक आर मार्केड फ़ाइल में कोड विखंडू डालने के लिए एक यस्नीपेट लिखने की कोशिश कर रहा हूं। मैं एक ही फाइल में कई प्रमुख मोड (मार्कडाउन, ESS [S]) करने के लिए पॉलीमोड का उपयोग करता हूं। यह मेरा स्निपेट है:
# -*- mode: snippet -*-
# name: chunk
# key: chunk
# --
\`\`\`{r $1}
$0
\`\`\`
जब मैं स्निपेट को एक .Rd फ़ाइल में मार्कडाउन मोड में सम्मिलित करने का प्रयास करता हूं, तो मुझे यह त्रुटि मिलती है:
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
मैं अनुमान लगा रहा हूं कि मैं पॉलीमोड के साथ बातचीत में भाग रहा हूं: जब मैं स्निपेट सम्मिलित करता हूं, तो मैं मार्कडाउन मोड में हूं, लेकिन फिर पॉलीमोड कोड चंक की सामग्री को ईएसएस [एस] मोड में परिवर्तित कर देता है। ऐसा लगता है कि अंततः पॉलीमोड में एक नया हिस्सा डालने की आज्ञा होगी, लेकिन इस बीच इस स्निपेट को प्राप्त करने का कोई तरीका है?