Web/common/Code/FancyCoder.js

(开头部分) 11KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/***********************************************
*      幻码JS版 - FancyCoder for JavaScript
*              version 1.0 beta
***********************************************/

//检查语法加亮规则定义,并做相应调整
//lang: 可为0个或多个语言ID,分别表示各个需要检查的语言,如果不写则表示检查所有
function FCCheckSyntaxDef(/*lang, ...*/) {
	//设定语言列表
	if (arguments.length > 0) {
		var langList = {};
		for (var i = arguments.length - 1; i >= 0; i--) {
			if (FCSyntaxDef[arguments[i]] != null) langList[arguments[i]] = true;
		}
	} else {
		var langList = FCSyntaxDef;
	}
	//依次检查各组语言
	for (var lang in langList) {
		var syntax = FCSyntaxDef[lang];
		//检查普通文本设置
		if (syntax.color == null) syntax.color = "#000000";
		if (syntax.style == null) syntax.style = "";
		else syntax.sytle = syntax.style.toLowerCase();
		//检查词定界符设置
		var delim = syntax.delimiters;
		if (delim == null) {
			syntax.delimiters = "~!@%^&*()-+=|\\/{}[]:;\"'<>,.? \t";
		} else if (delim.indexOf(" \t") < 0) {
			syntax.delimiters += " \t";
		}
		//检查注释设置
		if (syntax.comments != null) {
			if (typeof(syntax.comments) == "string") syntax.comments = syntax.comments.split(" ");
			if (syntax.cmtcolor == null) syntax.cmtcolor = "#00ff00";
			if (syntax.cmtstyle == null) syntax.cmtstyle = "";
			else syntax.cmtsytle = syntax.cmtstyle.toLowerCase();
		} else {
			syntax.comments = [];
		}
		//检查块设置
		var blocks = syntax.blocks;
		for (var classid in blocks) {
			var block = blocks[classid];
			if (block.color == null) block.color = "#00ffff";
			if (block.style == null) block.style = "";
			else block.style = block.style.toLowerCase();
			block.lines = block.lines == true;
		}
		//检查关键字设置
		var keywords = syntax.keywords;
		for (var classid in keywords) {
			var group = keywords[classid];
			if (group.color == null) group.color = "#0000ff";
			if (group.style == null) group.style = "";
			else group.style = group.style.toLowerCase();
			group.list = (" " + (group.list instanceof Array ? group.list.join(" ")
				: group.list) + " ").replace(/  +/g, " ");
		}
	}
后面还有 258 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读 AI

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。