SyCODE Syntax Highlighter は、有名な db.SyntaxHighlighter を利用してキーワードのマッチングを行う構文強調表示プログラムであり、処理速度は db.SyntaxHighlighter よりも 5 ~ 10 倍高速です。高速な JavaScript 構文強調表示プログラム。
SyCODE Syntax Highlighter は、高速かつ強力な拡張性を備えており、現在の主流の PC で 32KB のコードの強調表示処理を簡単に完了でき、スクリプトに遅いプロンプトを追加することなく一度に 64KB のコードの強調表示処理を実行できます。あらゆるプログラミング言語での構文の強調表示。
SyCODE Syntax Highlighter 1.0 には、次のような 20 以上の言語の構文ハイライトが内部的に実装されています。
1.C/C++
2.C#
3.CSS
4. デルフィ/キリックス
5. パスカル
6.ジャワ
7.Vb/Vb.net
8.J(ava)スクリプト
9. アクションスクリプト
10. ペソ
11.パイソン
12. ルビー/レール
13.パール
14. 組み立て
15.バットバッチ処理
16.UNIXシェル
18.AWK
19.SQL
20. XML/xhtml の
例: Highlighter.Execute(cleanCode, language);
効果:
var ハイライター = {
ブラシ: {}、
RegexLib: {
MultiLineCComments : new RegExp('/\*[\s\S]*?\*/', 'gm'),
SingleLineCComments: 新しい RegExp('//.*$', 'gm')、
SingleLinePerlComments: 新しい RegExp('#.*$', 'gm')、
DoubleQuotedString : new RegExp('"(?:\.|( \\\")|[^\""\n])*"','g' ),
SingleQuotedString : new RegExp("'(?:\.|( \\\')|[^\''\n])*' ", 'g')
}、
一致: function(value,index,css) {
this.value = 値;
this.index = インデックス;
この長さ = 値の長さ;
this.css = css;
}、
実行: function(str,lang) {
var registered = 新しいオブジェクト();
for(Highlighter.Brushes の var ブラシ)
{
var aliases = Highlighter.Brushes[ブラシ].Aliases;
if(aliases == null) 続行;
for(var i=0;i<aliases.length;i++) registered[aliases[i].toLowerCase()] = ブラシ;
};
if(!!registered[lang.toLowerCase()]) {
var ht = 新しい Highlighter.Brushes[registered[lang.toLowerCase()]]();
ht.Highlight(str)を返します;
}
それ以外 {
str = str.replace(/&/g, '&');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
str = str.replace(/t/g, ' ');
str = str.replace(/[ ]{2}/g, ' ');
return str.replace(/n/g, '<br/>');
}
}
};