Edit File by line
/home/barbar84/www/wp-inclu.../js/codemirr...
File: csslint.js
[4500] Fix | Delete
for (i=0, len=part.modifiers.length; i < len; i++) {
[4501] Fix | Delete
modifier = part.modifiers[i];
[4502] Fix | Delete
switch (modifier.type) {
[4503] Fix | Delete
case "class":
[4504] Fix | Delete
case "attribute":
[4505] Fix | Delete
c++;
[4506] Fix | Delete
break;
[4507] Fix | Delete
[4508] Fix | Delete
case "id":
[4509] Fix | Delete
b++;
[4510] Fix | Delete
break;
[4511] Fix | Delete
[4512] Fix | Delete
case "pseudo":
[4513] Fix | Delete
if (Pseudos.isElement(modifier.text)) {
[4514] Fix | Delete
d++;
[4515] Fix | Delete
} else {
[4516] Fix | Delete
c++;
[4517] Fix | Delete
}
[4518] Fix | Delete
break;
[4519] Fix | Delete
[4520] Fix | Delete
case "not":
[4521] Fix | Delete
for (j=0, num=modifier.args.length; j < num; j++) {
[4522] Fix | Delete
updateValues(modifier.args[j]);
[4523] Fix | Delete
}
[4524] Fix | Delete
}
[4525] Fix | Delete
}
[4526] Fix | Delete
}
[4527] Fix | Delete
[4528] Fix | Delete
for (i=0, len=selector.parts.length; i < len; i++) {
[4529] Fix | Delete
part = selector.parts[i];
[4530] Fix | Delete
[4531] Fix | Delete
if (part instanceof SelectorPart) {
[4532] Fix | Delete
updateValues(part);
[4533] Fix | Delete
}
[4534] Fix | Delete
}
[4535] Fix | Delete
[4536] Fix | Delete
return new Specificity(0, b, c, d);
[4537] Fix | Delete
};
[4538] Fix | Delete
[4539] Fix | Delete
},{"./Pseudos":12,"./SelectorPart":14}],17:[function(require,module,exports){
[4540] Fix | Delete
"use strict";
[4541] Fix | Delete
[4542] Fix | Delete
module.exports = TokenStream;
[4543] Fix | Delete
[4544] Fix | Delete
var TokenStreamBase = require("../util/TokenStreamBase");
[4545] Fix | Delete
[4546] Fix | Delete
var PropertyValuePart = require("./PropertyValuePart");
[4547] Fix | Delete
var Tokens = require("./Tokens");
[4548] Fix | Delete
[4549] Fix | Delete
var h = /^[0-9a-fA-F]$/,
[4550] Fix | Delete
nonascii = /^[\u00A0-\uFFFF]$/,
[4551] Fix | Delete
nl = /\n|\r\n|\r|\f/,
[4552] Fix | Delete
whitespace = /\u0009|\u000a|\u000c|\u000d|\u0020/;
[4553] Fix | Delete
[4554] Fix | Delete
//-----------------------------------------------------------------------------
[4555] Fix | Delete
// Helper functions
[4556] Fix | Delete
//-----------------------------------------------------------------------------
[4557] Fix | Delete
[4558] Fix | Delete
[4559] Fix | Delete
function isHexDigit(c) {
[4560] Fix | Delete
return c !== null && h.test(c);
[4561] Fix | Delete
}
[4562] Fix | Delete
[4563] Fix | Delete
function isDigit(c) {
[4564] Fix | Delete
return c !== null && /\d/.test(c);
[4565] Fix | Delete
}
[4566] Fix | Delete
[4567] Fix | Delete
function isWhitespace(c) {
[4568] Fix | Delete
return c !== null && whitespace.test(c);
[4569] Fix | Delete
}
[4570] Fix | Delete
[4571] Fix | Delete
function isNewLine(c) {
[4572] Fix | Delete
return c !== null && nl.test(c);
[4573] Fix | Delete
}
[4574] Fix | Delete
[4575] Fix | Delete
function isNameStart(c) {
[4576] Fix | Delete
return c !== null && /[a-z_\u00A0-\uFFFF\\]/i.test(c);
[4577] Fix | Delete
}
[4578] Fix | Delete
[4579] Fix | Delete
function isNameChar(c) {
[4580] Fix | Delete
return c !== null && (isNameStart(c) || /[0-9\-\\]/.test(c));
[4581] Fix | Delete
}
[4582] Fix | Delete
[4583] Fix | Delete
function isIdentStart(c) {
[4584] Fix | Delete
return c !== null && (isNameStart(c) || /\-\\/.test(c));
[4585] Fix | Delete
}
[4586] Fix | Delete
[4587] Fix | Delete
function mix(receiver, supplier) {
[4588] Fix | Delete
for (var prop in supplier) {
[4589] Fix | Delete
if (Object.prototype.hasOwnProperty.call(supplier, prop)) {
[4590] Fix | Delete
receiver[prop] = supplier[prop];
[4591] Fix | Delete
}
[4592] Fix | Delete
}
[4593] Fix | Delete
return receiver;
[4594] Fix | Delete
}
[4595] Fix | Delete
[4596] Fix | Delete
//-----------------------------------------------------------------------------
[4597] Fix | Delete
// CSS Token Stream
[4598] Fix | Delete
//-----------------------------------------------------------------------------
[4599] Fix | Delete
[4600] Fix | Delete
[4601] Fix | Delete
/**
[4602] Fix | Delete
* A token stream that produces CSS tokens.
[4603] Fix | Delete
* @param {String|Reader} input The source of text to tokenize.
[4604] Fix | Delete
* @constructor
[4605] Fix | Delete
* @class TokenStream
[4606] Fix | Delete
* @namespace parserlib.css
[4607] Fix | Delete
*/
[4608] Fix | Delete
function TokenStream(input) {
[4609] Fix | Delete
TokenStreamBase.call(this, input, Tokens);
[4610] Fix | Delete
}
[4611] Fix | Delete
[4612] Fix | Delete
TokenStream.prototype = mix(new TokenStreamBase(), {
[4613] Fix | Delete
[4614] Fix | Delete
/**
[4615] Fix | Delete
* Overrides the TokenStreamBase method of the same name
[4616] Fix | Delete
* to produce CSS tokens.
[4617] Fix | Delete
* @return {Object} A token object representing the next token.
[4618] Fix | Delete
* @method _getToken
[4619] Fix | Delete
* @private
[4620] Fix | Delete
*/
[4621] Fix | Delete
_getToken: function() {
[4622] Fix | Delete
[4623] Fix | Delete
var c,
[4624] Fix | Delete
reader = this._reader,
[4625] Fix | Delete
token = null,
[4626] Fix | Delete
startLine = reader.getLine(),
[4627] Fix | Delete
startCol = reader.getCol();
[4628] Fix | Delete
[4629] Fix | Delete
c = reader.read();
[4630] Fix | Delete
[4631] Fix | Delete
[4632] Fix | Delete
while (c) {
[4633] Fix | Delete
switch (c) {
[4634] Fix | Delete
[4635] Fix | Delete
/*
[4636] Fix | Delete
* Potential tokens:
[4637] Fix | Delete
* - COMMENT
[4638] Fix | Delete
* - SLASH
[4639] Fix | Delete
* - CHAR
[4640] Fix | Delete
*/
[4641] Fix | Delete
case "/":
[4642] Fix | Delete
[4643] Fix | Delete
if (reader.peek() === "*") {
[4644] Fix | Delete
token = this.commentToken(c, startLine, startCol);
[4645] Fix | Delete
} else {
[4646] Fix | Delete
token = this.charToken(c, startLine, startCol);
[4647] Fix | Delete
}
[4648] Fix | Delete
break;
[4649] Fix | Delete
[4650] Fix | Delete
/*
[4651] Fix | Delete
* Potential tokens:
[4652] Fix | Delete
* - DASHMATCH
[4653] Fix | Delete
* - INCLUDES
[4654] Fix | Delete
* - PREFIXMATCH
[4655] Fix | Delete
* - SUFFIXMATCH
[4656] Fix | Delete
* - SUBSTRINGMATCH
[4657] Fix | Delete
* - CHAR
[4658] Fix | Delete
*/
[4659] Fix | Delete
case "|":
[4660] Fix | Delete
case "~":
[4661] Fix | Delete
case "^":
[4662] Fix | Delete
case "$":
[4663] Fix | Delete
case "*":
[4664] Fix | Delete
if (reader.peek() === "=") {
[4665] Fix | Delete
token = this.comparisonToken(c, startLine, startCol);
[4666] Fix | Delete
} else {
[4667] Fix | Delete
token = this.charToken(c, startLine, startCol);
[4668] Fix | Delete
}
[4669] Fix | Delete
break;
[4670] Fix | Delete
[4671] Fix | Delete
/*
[4672] Fix | Delete
* Potential tokens:
[4673] Fix | Delete
* - STRING
[4674] Fix | Delete
* - INVALID
[4675] Fix | Delete
*/
[4676] Fix | Delete
case "\"":
[4677] Fix | Delete
case "'":
[4678] Fix | Delete
token = this.stringToken(c, startLine, startCol);
[4679] Fix | Delete
break;
[4680] Fix | Delete
[4681] Fix | Delete
/*
[4682] Fix | Delete
* Potential tokens:
[4683] Fix | Delete
* - HASH
[4684] Fix | Delete
* - CHAR
[4685] Fix | Delete
*/
[4686] Fix | Delete
case "#":
[4687] Fix | Delete
if (isNameChar(reader.peek())) {
[4688] Fix | Delete
token = this.hashToken(c, startLine, startCol);
[4689] Fix | Delete
} else {
[4690] Fix | Delete
token = this.charToken(c, startLine, startCol);
[4691] Fix | Delete
}
[4692] Fix | Delete
break;
[4693] Fix | Delete
[4694] Fix | Delete
/*
[4695] Fix | Delete
* Potential tokens:
[4696] Fix | Delete
* - DOT
[4697] Fix | Delete
* - NUMBER
[4698] Fix | Delete
* - DIMENSION
[4699] Fix | Delete
* - PERCENTAGE
[4700] Fix | Delete
*/
[4701] Fix | Delete
case ".":
[4702] Fix | Delete
if (isDigit(reader.peek())) {
[4703] Fix | Delete
token = this.numberToken(c, startLine, startCol);
[4704] Fix | Delete
} else {
[4705] Fix | Delete
token = this.charToken(c, startLine, startCol);
[4706] Fix | Delete
}
[4707] Fix | Delete
break;
[4708] Fix | Delete
[4709] Fix | Delete
/*
[4710] Fix | Delete
* Potential tokens:
[4711] Fix | Delete
* - CDC
[4712] Fix | Delete
* - MINUS
[4713] Fix | Delete
* - NUMBER
[4714] Fix | Delete
* - DIMENSION
[4715] Fix | Delete
* - PERCENTAGE
[4716] Fix | Delete
*/
[4717] Fix | Delete
case "-":
[4718] Fix | Delete
if (reader.peek() === "-") { //could be closing HTML-style comment
[4719] Fix | Delete
token = this.htmlCommentEndToken(c, startLine, startCol);
[4720] Fix | Delete
} else if (isNameStart(reader.peek())) {
[4721] Fix | Delete
token = this.identOrFunctionToken(c, startLine, startCol);
[4722] Fix | Delete
} else {
[4723] Fix | Delete
token = this.charToken(c, startLine, startCol);
[4724] Fix | Delete
}
[4725] Fix | Delete
break;
[4726] Fix | Delete
[4727] Fix | Delete
/*
[4728] Fix | Delete
* Potential tokens:
[4729] Fix | Delete
* - IMPORTANT_SYM
[4730] Fix | Delete
* - CHAR
[4731] Fix | Delete
*/
[4732] Fix | Delete
case "!":
[4733] Fix | Delete
token = this.importantToken(c, startLine, startCol);
[4734] Fix | Delete
break;
[4735] Fix | Delete
[4736] Fix | Delete
/*
[4737] Fix | Delete
* Any at-keyword or CHAR
[4738] Fix | Delete
*/
[4739] Fix | Delete
case "@":
[4740] Fix | Delete
token = this.atRuleToken(c, startLine, startCol);
[4741] Fix | Delete
break;
[4742] Fix | Delete
[4743] Fix | Delete
/*
[4744] Fix | Delete
* Potential tokens:
[4745] Fix | Delete
* - NOT
[4746] Fix | Delete
* - CHAR
[4747] Fix | Delete
*/
[4748] Fix | Delete
case ":":
[4749] Fix | Delete
token = this.notToken(c, startLine, startCol);
[4750] Fix | Delete
break;
[4751] Fix | Delete
[4752] Fix | Delete
/*
[4753] Fix | Delete
* Potential tokens:
[4754] Fix | Delete
* - CDO
[4755] Fix | Delete
* - CHAR
[4756] Fix | Delete
*/
[4757] Fix | Delete
case "<":
[4758] Fix | Delete
token = this.htmlCommentStartToken(c, startLine, startCol);
[4759] Fix | Delete
break;
[4760] Fix | Delete
[4761] Fix | Delete
/*
[4762] Fix | Delete
* Potential tokens:
[4763] Fix | Delete
* - IDENT
[4764] Fix | Delete
* - CHAR
[4765] Fix | Delete
*/
[4766] Fix | Delete
case "\\":
[4767] Fix | Delete
if (/[^\r\n\f]/.test(reader.peek())) {
[4768] Fix | Delete
token = this.identOrFunctionToken(this.readEscape(c, true), startLine, startCol);
[4769] Fix | Delete
} else {
[4770] Fix | Delete
token = this.charToken(c, startLine, startCol);
[4771] Fix | Delete
}
[4772] Fix | Delete
break;
[4773] Fix | Delete
[4774] Fix | Delete
/*
[4775] Fix | Delete
* Potential tokens:
[4776] Fix | Delete
* - UNICODE_RANGE
[4777] Fix | Delete
* - URL
[4778] Fix | Delete
* - CHAR
[4779] Fix | Delete
*/
[4780] Fix | Delete
case "U":
[4781] Fix | Delete
case "u":
[4782] Fix | Delete
if (reader.peek() === "+") {
[4783] Fix | Delete
token = this.unicodeRangeToken(c, startLine, startCol);
[4784] Fix | Delete
break;
[4785] Fix | Delete
}
[4786] Fix | Delete
/* falls through */
[4787] Fix | Delete
default:
[4788] Fix | Delete
[4789] Fix | Delete
/*
[4790] Fix | Delete
* Potential tokens:
[4791] Fix | Delete
* - NUMBER
[4792] Fix | Delete
* - DIMENSION
[4793] Fix | Delete
* - LENGTH
[4794] Fix | Delete
* - FREQ
[4795] Fix | Delete
* - TIME
[4796] Fix | Delete
* - EMS
[4797] Fix | Delete
* - EXS
[4798] Fix | Delete
* - ANGLE
[4799] Fix | Delete
*/
[4800] Fix | Delete
if (isDigit(c)) {
[4801] Fix | Delete
token = this.numberToken(c, startLine, startCol);
[4802] Fix | Delete
} else
[4803] Fix | Delete
[4804] Fix | Delete
/*
[4805] Fix | Delete
* Potential tokens:
[4806] Fix | Delete
* - S
[4807] Fix | Delete
*/
[4808] Fix | Delete
if (isWhitespace(c)) {
[4809] Fix | Delete
token = this.whitespaceToken(c, startLine, startCol);
[4810] Fix | Delete
} else
[4811] Fix | Delete
[4812] Fix | Delete
/*
[4813] Fix | Delete
* Potential tokens:
[4814] Fix | Delete
* - IDENT
[4815] Fix | Delete
*/
[4816] Fix | Delete
if (isIdentStart(c)) {
[4817] Fix | Delete
token = this.identOrFunctionToken(c, startLine, startCol);
[4818] Fix | Delete
} else {
[4819] Fix | Delete
/*
[4820] Fix | Delete
* Potential tokens:
[4821] Fix | Delete
* - CHAR
[4822] Fix | Delete
* - PLUS
[4823] Fix | Delete
*/
[4824] Fix | Delete
token = this.charToken(c, startLine, startCol);
[4825] Fix | Delete
}
[4826] Fix | Delete
[4827] Fix | Delete
}
[4828] Fix | Delete
[4829] Fix | Delete
//make sure this token is wanted
[4830] Fix | Delete
//TODO: check channel
[4831] Fix | Delete
break;
[4832] Fix | Delete
}
[4833] Fix | Delete
[4834] Fix | Delete
if (!token && c === null) {
[4835] Fix | Delete
token = this.createToken(Tokens.EOF, null, startLine, startCol);
[4836] Fix | Delete
}
[4837] Fix | Delete
[4838] Fix | Delete
return token;
[4839] Fix | Delete
},
[4840] Fix | Delete
[4841] Fix | Delete
//-------------------------------------------------------------------------
[4842] Fix | Delete
// Methods to create tokens
[4843] Fix | Delete
//-------------------------------------------------------------------------
[4844] Fix | Delete
[4845] Fix | Delete
/**
[4846] Fix | Delete
* Produces a token based on available data and the current
[4847] Fix | Delete
* reader position information. This method is called by other
[4848] Fix | Delete
* private methods to create tokens and is never called directly.
[4849] Fix | Delete
* @param {int} tt The token type.
[4850] Fix | Delete
* @param {String} value The text value of the token.
[4851] Fix | Delete
* @param {int} startLine The beginning line for the character.
[4852] Fix | Delete
* @param {int} startCol The beginning column for the character.
[4853] Fix | Delete
* @param {Object} options (Optional) Specifies a channel property
[4854] Fix | Delete
* to indicate that a different channel should be scanned
[4855] Fix | Delete
* and/or a hide property indicating that the token should
[4856] Fix | Delete
* be hidden.
[4857] Fix | Delete
* @return {Object} A token object.
[4858] Fix | Delete
* @method createToken
[4859] Fix | Delete
*/
[4860] Fix | Delete
createToken: function(tt, value, startLine, startCol, options) {
[4861] Fix | Delete
var reader = this._reader;
[4862] Fix | Delete
options = options || {};
[4863] Fix | Delete
[4864] Fix | Delete
return {
[4865] Fix | Delete
value: value,
[4866] Fix | Delete
type: tt,
[4867] Fix | Delete
channel: options.channel,
[4868] Fix | Delete
endChar: options.endChar,
[4869] Fix | Delete
hide: options.hide || false,
[4870] Fix | Delete
startLine: startLine,
[4871] Fix | Delete
startCol: startCol,
[4872] Fix | Delete
endLine: reader.getLine(),
[4873] Fix | Delete
endCol: reader.getCol()
[4874] Fix | Delete
};
[4875] Fix | Delete
},
[4876] Fix | Delete
[4877] Fix | Delete
//-------------------------------------------------------------------------
[4878] Fix | Delete
// Methods to create specific tokens
[4879] Fix | Delete
//-------------------------------------------------------------------------
[4880] Fix | Delete
[4881] Fix | Delete
/**
[4882] Fix | Delete
* Produces a token for any at-rule. If the at-rule is unknown, then
[4883] Fix | Delete
* the token is for a single "@" character.
[4884] Fix | Delete
* @param {String} first The first character for the token.
[4885] Fix | Delete
* @param {int} startLine The beginning line for the character.
[4886] Fix | Delete
* @param {int} startCol The beginning column for the character.
[4887] Fix | Delete
* @return {Object} A token object.
[4888] Fix | Delete
* @method atRuleToken
[4889] Fix | Delete
*/
[4890] Fix | Delete
atRuleToken: function(first, startLine, startCol) {
[4891] Fix | Delete
var rule = first,
[4892] Fix | Delete
reader = this._reader,
[4893] Fix | Delete
tt = Tokens.CHAR,
[4894] Fix | Delete
ident;
[4895] Fix | Delete
[4896] Fix | Delete
/*
[4897] Fix | Delete
* First, mark where we are. There are only four @ rules,
[4898] Fix | Delete
* so anything else is really just an invalid token.
[4899] Fix | Delete
* Basically, if this doesn't match one of the known @
[4900] Fix | Delete
* rules, just return '@' as an unknown token and allow
[4901] Fix | Delete
* parsing to continue after that point.
[4902] Fix | Delete
*/
[4903] Fix | Delete
reader.mark();
[4904] Fix | Delete
[4905] Fix | Delete
//try to find the at-keyword
[4906] Fix | Delete
ident = this.readName();
[4907] Fix | Delete
rule = first + ident;
[4908] Fix | Delete
tt = Tokens.type(rule.toLowerCase());
[4909] Fix | Delete
[4910] Fix | Delete
//if it's not valid, use the first character only and reset the reader
[4911] Fix | Delete
if (tt === Tokens.CHAR || tt === Tokens.UNKNOWN) {
[4912] Fix | Delete
if (rule.length > 1) {
[4913] Fix | Delete
tt = Tokens.UNKNOWN_SYM;
[4914] Fix | Delete
} else {
[4915] Fix | Delete
tt = Tokens.CHAR;
[4916] Fix | Delete
rule = first;
[4917] Fix | Delete
reader.reset();
[4918] Fix | Delete
}
[4919] Fix | Delete
}
[4920] Fix | Delete
[4921] Fix | Delete
return this.createToken(tt, rule, startLine, startCol);
[4922] Fix | Delete
},
[4923] Fix | Delete
[4924] Fix | Delete
/**
[4925] Fix | Delete
* Produces a character token based on the given character
[4926] Fix | Delete
* and location in the stream. If there's a special (non-standard)
[4927] Fix | Delete
* token name, this is used; otherwise CHAR is used.
[4928] Fix | Delete
* @param {String} c The character for the token.
[4929] Fix | Delete
* @param {int} startLine The beginning line for the character.
[4930] Fix | Delete
* @param {int} startCol The beginning column for the character.
[4931] Fix | Delete
* @return {Object} A token object.
[4932] Fix | Delete
* @method charToken
[4933] Fix | Delete
*/
[4934] Fix | Delete
charToken: function(c, startLine, startCol) {
[4935] Fix | Delete
var tt = Tokens.type(c);
[4936] Fix | Delete
var opts = {};
[4937] Fix | Delete
[4938] Fix | Delete
if (tt === -1) {
[4939] Fix | Delete
tt = Tokens.CHAR;
[4940] Fix | Delete
} else {
[4941] Fix | Delete
opts.endChar = Tokens[tt].endChar;
[4942] Fix | Delete
}
[4943] Fix | Delete
[4944] Fix | Delete
return this.createToken(tt, c, startLine, startCol, opts);
[4945] Fix | Delete
},
[4946] Fix | Delete
[4947] Fix | Delete
/**
[4948] Fix | Delete
* Produces a character token based on the given character
[4949] Fix | Delete
* and location in the stream. If there's a special (non-standard)
[4950] Fix | Delete
* token name, this is used; otherwise CHAR is used.
[4951] Fix | Delete
* @param {String} first The first character for the token.
[4952] Fix | Delete
* @param {int} startLine The beginning line for the character.
[4953] Fix | Delete
* @param {int} startCol The beginning column for the character.
[4954] Fix | Delete
* @return {Object} A token object.
[4955] Fix | Delete
* @method commentToken
[4956] Fix | Delete
*/
[4957] Fix | Delete
commentToken: function(first, startLine, startCol) {
[4958] Fix | Delete
var comment = this.readComment(first);
[4959] Fix | Delete
[4960] Fix | Delete
return this.createToken(Tokens.COMMENT, comment, startLine, startCol);
[4961] Fix | Delete
},
[4962] Fix | Delete
[4963] Fix | Delete
/**
[4964] Fix | Delete
* Produces a comparison token based on the given character
[4965] Fix | Delete
* and location in the stream. The next character must be
[4966] Fix | Delete
* read and is already known to be an equals sign.
[4967] Fix | Delete
* @param {String} c The character for the token.
[4968] Fix | Delete
* @param {int} startLine The beginning line for the character.
[4969] Fix | Delete
* @param {int} startCol The beginning column for the character.
[4970] Fix | Delete
* @return {Object} A token object.
[4971] Fix | Delete
* @method comparisonToken
[4972] Fix | Delete
*/
[4973] Fix | Delete
comparisonToken: function(c, startLine, startCol) {
[4974] Fix | Delete
var reader = this._reader,
[4975] Fix | Delete
comparison = c + reader.read(),
[4976] Fix | Delete
tt = Tokens.type(comparison) || Tokens.CHAR;
[4977] Fix | Delete
[4978] Fix | Delete
return this.createToken(tt, comparison, startLine, startCol);
[4979] Fix | Delete
},
[4980] Fix | Delete
[4981] Fix | Delete
/**
[4982] Fix | Delete
* Produces a hash token based on the specified information. The
[4983] Fix | Delete
* first character provided is the pound sign (#) and then this
[4984] Fix | Delete
* method reads a name afterward.
[4985] Fix | Delete
* @param {String} first The first character (#) in the hash name.
[4986] Fix | Delete
* @param {int} startLine The beginning line for the character.
[4987] Fix | Delete
* @param {int} startCol The beginning column for the character.
[4988] Fix | Delete
* @return {Object} A token object.
[4989] Fix | Delete
* @method hashToken
[4990] Fix | Delete
*/
[4991] Fix | Delete
hashToken: function(first, startLine, startCol) {
[4992] Fix | Delete
var name = this.readName(first);
[4993] Fix | Delete
[4994] Fix | Delete
return this.createToken(Tokens.HASH, name, startLine, startCol);
[4995] Fix | Delete
},
[4996] Fix | Delete
[4997] Fix | Delete
/**
[4998] Fix | Delete
* Produces a CDO or CHAR token based on the specified information. The
[4999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function