我正在使用独立突出显示(不是编辑器),如下所示: http ://codemirror.net/demo/runmode.html
如何在运行荧光笔时自动检测要使用的语言?
这里有一个模式自动更改演示:http: //codemirror.net/demo/changemode.html
但我不知道如何调整它以与 Codemirror.runMode() 一起使用。我希望使用自动检测方案突出显示整个代码块。
我正在使用独立突出显示(不是编辑器),如下所示: http ://codemirror.net/demo/runmode.html
如何在运行荧光笔时自动检测要使用的语言?
这里有一个模式自动更改演示:http: //codemirror.net/demo/changemode.html
但我不知道如何调整它以与 Codemirror.runMode() 一起使用。我希望使用自动检测方案突出显示整个代码块。
“changemode”演示只能区分“Scheme”编程语言和“其他一切”,见实现
function looksLikeScheme(code) {
return !/^\s*\(\s*function\b/.test(code) && /^\s*[;\(]/.test(code);
}
因此,这对于自动检测其他编程语言不起作用,并且正如演示页面所说,即使对于检测 Scheme,它也非常粗糙。
不幸的是,从源代码片段中自动检测大量编程语言并不容易(对于小片段,不同的编程语言甚至可能使用完全相同的语法)。但是,在Detecting programming language from a snippet中建议了一种合理的方法。