SyCODE Syntax Highlighter — это программа подсветки синтаксиса, основанная на JavaScript. Метод реализации основан на использовании регулярных выражений для сопоставления ключевых слов. Скорость обработки в 5–10 раз выше, чем у db.SyntaxHighlighter. На данный момент это самая быстрая обработка. Быстрая программа подсветки синтаксиса JavaScript.
SyCODE Syntax Highlighter обладает высокой скоростью и высокой масштабируемостью. Он может легко выполнять обработку выделения кода размером 32 КБ на современном обычном ПК и может выполнять обработку выделения кода размером 64 КБ за один раз без медленного запроса сценария. Путем добавления различных регулярных выражений можно реализовать. подсветка синтаксиса на любом языке программирования.
В SyCODE Syntax Highlighter 1.0 реализована внутренняя подсветка синтаксиса для более чем 20 языков, в том числе:
1.С/С++
2.С#
3. CSS
4. Делфи/Киликс
5. Паскаль
6.Ява
7. Вб/Vb.net
8.J(ава)Скрипт
9. ЭкшнСкрипт
10. PHP
11.Питон
12. Рубин/Рейлы
13.Перл
14. Сборка
15. Пакетная обработка летучих мышей
16. UNIX-оболочка
18.АВК
19.SQL
20.
Пример xml/xhtml: Highlighter.Execute(cleanCode, Language)
;
вар Маркер = {
Кисти: {},
Регулярная библиотека: {
MultiLineCComments : новый RegExp('/\*[\s\S]*?\*/', 'gm'),
SingleLineCComments: новый RegExp('//.*$', 'gm'),
SingleLinePerlComments: новый RegExp('#.*$', 'gm'),
DoubleQuotedString : new RegExp('"(?:\.|( \\\")|[^\""\n])*"','g' ),
SingleQuotedString : new RegExp("'(?:\.|( \\\')|[^\''\n])*' ", 'g')
},
Соответствие: функция (значение, индекс, CSS) {
это.значение = значение;
this.index = индекс;
this.длина = значение.длина;
this.css = CSS;
},
Выполнить: function(str,lang) {
зарегистрированный вар = новый объект();
for (кисть var в Highlighter.Brushes)
{
var aliases = Highlighter.Brushes[кисть].Aliases;
если (псевдонимы == null) продолжить;
for(var i=0;i<aliases.length;i++) зарегистрированный[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/>');
}
}
};