【发布时间】:2022-12-03 02:16:39
【问题描述】:
我正在尝试为我的编辑器添加美人鱼图的自动完成功能:
const mermaids = Object.entries({
"mermaid graph": `graph LR\n x --> y`,
}).map(([name, autocompletion]) => ({
caption: name,
meta: name,
value: "``mermaid\n" + autocompletion + "\n```"
}));
aceeditor.setOptions({
enableBasicAutocompletion: [{
getCompletions: (editor, session, pos, prefix, callback) => {
callback(null, [
...mermaids
])
}
}],
enableSnippets: false,
enableLiveAutocompletion: true
});
在生成的编辑器中,如果用户键入“graph”或“mermaid”并按回车键自动完成,它会按预期工作。 (完成后光标位置不理想除外。)如果用户键入“```”并按回车键,则会发生自动完成后最初键入的“```”。例如。,
``````mermaid
graph LR
x --> y
\``` <-- just escaped here for SO's sake
有没有有效的方法来纠正这个问题?如果没有,我可以使用什么事件来确定自动完成实际发生的时间并搜索重复标记?
通常有更好的方法来做到这一点吗?
【问题讨论】:
标签: ace-editor