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