【问题标题】:CodeMirror - language auto-detectionCodeMirror - 语言自动检测
【发布时间】:2012-01-20 15:32:53
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript jquery syntax-highlighting codemirror


    【解决方案1】:

    “changemode”demo只能区分“Scheme”编程语言和“everything else”,看实现

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

    所以这不能自动检测其他编程语言,正如演示页面所说,即使检测 Scheme 也很粗糙。

    不幸的是,从源代码 sn-p 中自动检测大量编程语言并不容易(对于小型 sn-ps,不同的编程语言甚至可能使用完全相同的语法)。但是,Detecting programming language from a snippet 中建议了一种合理的方法。

    【讨论】:

      猜你喜欢
      • 2020-07-25
      • 2012-08-27
      • 1970-01-01
      • 2018-07-13
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多