`

修复 SyntaxHighlighter 3.0.83 Java 代码多行注释 Bug

 
阅读更多

使用 SyntaxHighlighter 3.0.83 对包含多行注释(/* .... */) 的 Java 代码进行语法着色时会将其后的所有代码当成多行注释进行着色。
修改 shBrushJava.js 可以解决这个问题。


找到:

this.regexList = [
	{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },		// one line comments
	{ regex: ////*([^/*][/s/S]*)?/*///gm,				css: 'comments' },	 	// multiline comments
	{ regex: ////*(?!/*//)/*[/s/S]*?/*///gm,			css: 'preprocessor' },	 	// documentation comments
	{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,	css: 'string' },		 	// strings
	{ regex: SyntaxHighlighter.regexLib.singleQuotedString,	css: 'string' },		 	// strings
	{ regex: //b([/d]+(/.[/d]+)?|0x[a-f0-9]+)/b/gi,			css: 'value' },			// numbers
	{ regex: /(?!/@interface/b)/@[/$/w]+/b/g,			css: 'color1' },		// annotation @anno
	{ regex: //@interface/b/g,					css: 'color2' },		// @interface keyword
	{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' }		// java keyword
];

修改为:

this.regexList = [
	{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },	// one line comments
	{ regex: ////*(?!/*//)/*[/s/S]*?/*///gm,			css: 'preprocessor' },  // documentation comments
        { regex: SyntaxHighlighter.regexLib.multiLineCComments,	css: 'comments' },		// multiline comments
	{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,	css: 'string' },		// strings
	{ regex: SyntaxHighlighter.regexLib.singleQuotedString,	css: 'string' },		// strings
	{ regex: //b([/d]+(/.[/d]+)?|0x[a-f0-9]+)/b/gi,			css: 'value' },		// numbers
	{ regex: /(?!/@interface/b)/@[/$/w]+/b/g,			css: 'color1' },	// annotation @anno
	{ regex: //@interface/b/g,					css: 'color2' },	// @interface keyword
	{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' }	// java keyword
];
注意把处理文档注释的正则式放到处理多行注释的正则式前。
本文是使用 B3log Solo简约设计の艺术 进行同步发布的
分享到:
评论

相关推荐

    syntaxhighlighter_3.0.83

    **SyntaxHighlighter 3.0.83 概述** SyntaxHighlighter 是一款基于 JavaScript 的开源库,由 dp 创建,用于在网页上实现代码的语法高亮显示。它旨在为各种编程语言提供美观且功能丰富的代码展示效果,使得源代码在...

    SyntaxHighlighter 3.0.83

    SyntaxHighlighter 3.0.83 是一个广泛使用的开源代码语法高亮插件,尤其在网站和博客中,用于展示编程代码时提供美观的视觉效果。它通过自动识别不同的编程语言并应用相应的颜色和样式,使代码更易读、更吸引人。这...

    syntaxhighlighter-3.0.83.zip

    6. **刷子(Brushes)**:每个"shBrush*/*.js"文件对应一种编程语言,例如"shBrushJava.js"用于处理Java代码,"shBrushXml.js"处理XML。这些刷子定义了每种语言的语法规则,以便正确高亮关键字、注释和字符串等。 ...

    SyntaxHighlighter 3.0.83使用笔记

     SyntaxHighlighter 3.0.83 : http://alexgorbatchev.com/SyntaxHighlighter 2、配置  (1) SyntaxHighlighter解析的默认标签,默认为pre 代码如下: SyntaxHighlighter.config.tagName=”div”;  (2) 去除HTML...

    z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)

    根据提供的文件信息,以下详细阐述了Z-Blog平台中SyntaxHighlighter插件处理长代码无法自动换行问题的解决办法。 **知识点一:CSS修改** 在Z-Blog博客系统中,SyntaxHighlighter插件默认可能不支持长代码的自动换行...

    syntaxhighlighter 代码高亮

    1. **引入资源**:首先,你需要在网页中引入SyntaxHighlighter的核心JavaScript文件,通常为`scripts/shCore.js`,以及对应的语言刷子文件,例如`scripts/shBrushJava.js`用于Java代码高亮。 2. **设置样式**:为了...

    wps代码块插件wps-syntaxhighlighter

    wps代码块插件

    syntaxhighlighter

    **SyntaxHighlighter:让代码在浏览器中闪耀** SyntaxHighlighter是一款功能强大的JavaScript库,专为在网页上展示具有语法高亮的源代码而设计。它不仅适用于HTML页面,还可以处理多种编程语言的代码,包括但不限于...

    SyntaxHighlighter代码格式化高亮插件

    - **版本更新**:定期检查并更新SyntaxHighlighter以获取最新的功能和修复的bug。 总之,SyntaxHighlighter是一款强大的代码高亮插件,通过其丰富的功能和广泛的语言支持,为网页上的代码展示提供了极大的便利。...

    代码自动高亮SyntaxHighlighter_1.5.0

    "代码自动高亮SyntaxHighlighter_1.5.0"是一个专门用于文本编辑器和网页中显示源代码的工具,其主要功能是将代码片段进行美化,通过不同的颜色和样式来区分不同类型的语法元素,使得代码更易于阅读和理解。...

    代码高亮插件SyntaxHighlighter

    2. 格式化代码:在HTML中,将代码包裹在`<pre>`和`<code>`标签中,并指定编程语言类型,例如`class="brush: java"`表示Java代码。 3. 初始化插件:在页面加载完成后,调用SyntaxHighlighter的初始化函数,如`...

    JS代码高亮插件SyntaxHighlighter

    【JS代码高亮插件SyntaxHighlighter】是一个用于在网页中展示编程代码的工具,它能够将源代码美化,使其更易于阅读和理解。SyntaxHighlighter由Alex Gorbatchev开发,支持多种编程语言,包括JavaScript、HTML、CSS、...

    syntaxhighlighter代码着色工具,代码高亮,代码修饰框架

    SyntaxHighlighter是一款用于web页面的代码着色工具,可以用来着色多种语言,可以是HTML,CSS,Javascript,还可以是C,JAVA等编程语言。它可以在网页中对各种程序源代码语法进行加亮显示。支持当前流行的各种编程语言:...

    syntaxhighlighter代码高亮插件.rar

    SyntaxHighlighter是由Alex Gorbatchev开发的一款开源代码高亮插件,它支持多种编程语言,包括但不限于C、C++、Java、Python、JavaScript等。通过自定义CSS样式和丰富的配置选项,可以轻松定制符合自己风格的代码...

    android 代码高亮 syntaxHighlighter

    4. **JavaScript与Java交互**:虽然JavaScript运行在WebView中,但有时我们需要从Java代码中触发高亮操作或获取高亮后的结果。这可以通过WebView提供的`addJavascriptInterface`方法实现,创建一个Java对象并暴露给...

    SyntaxHighlighter高亮代码显示实例源码

    高亮您的代码,加速您的技术站点开发【有源码,支持大部分常用语言的高亮显示,如C#,JAVA等】 在没有高亮方法时,我们常常自己写样式,当然也有直接使用微软的Word转换成HTML来实现,可是转换出来的HTML冗余非常大...

    SyntaxHighlighter 高亮代码插件JS

    SyntaxHighlighter是一款流行的JavaScript代码高亮插件,用于在网页上展示源代码时提供美观的语法高亮效果。它能够使代码更易于阅读,提升用户体验,尤其对于技术博客、在线教程和开发者社区来说,是非常实用的工具...

Global site tag (gtag.js) - Google Analytics