zoukankan      html  css  js  c++  java
  • 修复 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简约设计の艺术 进行同步发布的
  • 相关阅读:
    git线上操作
    IDEA快捷方式
    Java 四种线程池
    java 获取当前天之后或之前7天日期
    如何理解AWS 网络,如何创建一个多层安全网络架构
    申请 Let's Encrypt 通配符 HTTPS 证书
    GCE 部署 ELK 7.1可视化分析 nginx
    使用 bash 脚本把 AWS EC2 数据备份到 S3
    使用 bash 脚本把 GCE 的数据备份到 GCS
    nginx 配置 https 并强制跳转(lnmp一键安装包)
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468538.html
Copyright © 2011-2022 走看看