2012-01-20 19 views
6

私はスタンドアローン(エディタではない)の強調表示使用しています、このような何か: http://codemirror.net/demo/runmode.htmlCodeMirror - 言語の自動検出

どのように蛍光ペンを実行するときに使用する言語を自動検出することができますか?ここでは、モードオートチェンジのデモがあります

http://codemirror.net/demo/changemode.html

しかし、私は、私はCodemirror.runModeで動作するようにこれを適応させることができるかわかりません()。自動検出方式を使用してコードブロック全体を強調表示したいと思います。

答えて

3

「changemode」デモは、だけなので、これは自動検出、他のプログラミング言語には動作しません

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

の実装を参照して、「スキーム」プログラミング言語と「他のすべて」を区別することができ、デモページには、Schemeを検出する場合でも、それは非常に粗末なものであると言われています。ソースコードスニペット(小さなスニペットのために、異なるプログラミング言語でもまったく同じ構文を使用する場合があります)からプログラミング言語の大規模な範囲を自動検出に

残念ながら、それは簡単ではありません。しかし、合理的なアプローチがDetecting programming language from a snippetに提案されています。