Javascript实现的超强语法高亮引擎

开发 后端
SyCODE Syntax Highlighter是一个基于Javascript实现的语法高亮程序,实现方式借鉴了著名的db.SyntaxHighlighter采用正则表达式进行关键字匹配,处理速度比db.SyntaxHighlighter高出 5~10倍,是目前处理速度最快的javascript语法高亮程序。

SyCODE Syntax Highlighter具有速度高可扩展性强的特点,在一台当前主流PC机上可以轻松完成32KB的代码高亮处理,能够一次性完成64KB的代码高亮处理而不出现脚本缓慢提示,通过添加不同的正则表达式可以实现任何一种编程语言的语法高亮处理。

SyCODE Syntax Highlighter 1.0 内部已经实现二十于种语系的语法高亮,包括:
1. C/C++
2. C#
3. CSS
4. Delphi/Kylix
5. Pascal
6. Java
7. Vb/Vb.net
8. J(ava)Script
9. ActionScript
10. Php
11. Python
12. Ruby/Rails
13. Perl
14. Assembly
15. Bat 批处理
16. UNIX Shell
18. AWK
19. Sql
20. xml/xhtml

example: Highlighter.Execute(cleanCode, language);

Effect:
var Highlighter = {
    Brushes: {},
    RegexLib: {
        MultiLineCComments : new RegExp('/\\*[\\s\\S]*?\\*/', 'gm'),
        SingleLineCComments : new RegExp('//.*$', 'gm'),
        SingleLinePerlComments : new RegExp('#.*$', 'gm'),
        DoubleQuotedString : new RegExp('"(?:\\.|(\\\\\\")|[^\\""\\n])*"','g'),
        SingleQuotedString : new RegExp("'(?:\\.|(\\\\\\')|[^\\''\\n])*'", 'g')
    },
    Match: function(value, index, css) {
        this.value = value;
        this.index = index;
        this.length = value.length;
        this.css = css;
    },
    Execute: function(str,lang) {
        var registered = new Object();
        for(var brush in Highlighter.Brushes)
        {
            var aliases = Highlighter.Brushes[brush].Aliases;
            if(aliases == null) continue;
            for(var i=0;i        };
        if(!!registered[lang.toLowerCase()]) {
            var ht = new Highlighter.Brushes[registered[lang.toLowerCase()]]();
            return ht.Highlight(str);
        }
        else {
            str = str.replace(/&/g, '&');
            str = str.replace(/            str = str.replace(/>/g, '>');
            str = str.replace(/\t/g, '    ');
            str = str.replace(/[ ]{2}/g, '  ');
            return str.replace(/\n/g, '
');
        }
    }
};

【编辑推荐】

  1. JavaOne 2009第三天:微软与Sun/Oracle携手并进
  2. 开发高可移植性J2ME的软件
  3. Java虚拟机(JVM)中的内存设置详解
责任编辑:王观 来源: 动态网站制作指南
相关推荐

2012-05-22 01:49:22

Highlight.jJavaWEB

2019-11-18 08:41:09

JavaScript编程语言浏览器

2012-05-22 01:45:58

JavaScriptCSSXML

2009-07-27 10:35:24

高亮Javascrip

2009-09-03 15:11:18

RHEL5vi高亮

2013-09-09 09:50:27

代码语法工具

2022-11-30 15:15:48

2014-03-14 10:56:59

语法高亮代码高亮

2024-03-14 11:06:37

JavaScript引擎探索

2012-05-22 01:56:01

Google CodeJava代码工具

2010-02-23 17:42:29

Ubuntu vim

2019-10-12 10:50:00

JavaScript编程语言代码

2022-09-20 08:49:26

Java8Lambda

2021-04-01 17:04:34

Javascript语法数组

2011-02-25 11:13:22

JavaScriptWebStorm

2017-03-15 08:43:29

JavaScript模板引擎

2017-03-20 17:59:19

JavaScript模板引擎

2020-08-06 10:50:06

开源BAT命令

2014-02-20 10:35:14

JavaScript游戏引擎

2012-05-22 01:20:14

SyntaxHighlJavaScriptJava
点赞
收藏

51CTO技术栈公众号