在CodeMirror中使普通字符插入多个字符?

时间:2013-06-26 15:13:21

标签: codemirror

我正在尝试为CodeMirror编写Prolog模式,而我主要是JavaScript和CodeMirror新手。我现在正在研究一些特定的布局任务。 if-then-else的Prolog布局样式之一是

head(Arg) :-
    (   if
    ->  then
    ;   else
    ).

我使用的编辑器(SWI-Prolog的PceEmacs)通过制作(,>和;活跃字符)来实现这一点 看看我们是否在if-then-else。键入“(”将插入“(”,键入> with 前面的“ - ”将对齐并插入“ - >”,类似于“;”。我能看到的最接近的是使用 electricChars“&gt ;;”,它让我缩进确定,但不要让我在标点符号后添加空格。怎么做的?

1 个答案:

答案 0 :(得分:2)

将一个键绑定到,例如"'('",然后在您的处理函数中查看您的上下文是否适用,如果适用,请调用.replaceSelection("( ", "end"),如果没有,则返回CodeMirror.Pass让默认行为发生。