CodeMirror - 语言自动检测

Ale*_*lex 7 javascript jquery syntax-highlighting codemirror

我正在使用独立突出显示(不是编辑器),如下所示:http: //codemirror.net/demo/runmode.html

如何在运行荧光笔时自动检测要使用的语言?

这里有一个模式自动转换演示:http: //codemirror.net/demo/changemode.html

但我不知道如何调整它以使用Codemirror.runMode().我希望使用自动检测方案突出显示整个代码块.

ssc*_*rth 4

“changemode”演示只能区分“Scheme”编程语言和“其他”,请参见实现

function looksLikeScheme(code) {
    return !/^\s*\(\s*function\b/.test(code) && /^\s*[;\(]/.test(code);
}
Run Code Online (Sandbox Code Playgroud)

因此,这无法自动检测其他编程语言,正如演示页面所说,即使对于检测Scheme来说,它也非常粗糙。

不幸的是,从源代码片段中自动检测大量编程语言并不容易(对于小片段,不同的编程语言甚至可能使用完全相同的语法)。但是,从片段中检测编程语言中建议了一种合理的方法。