'use strict';
-var escope = require('escope'),
- esprima = require('esprima'),
+var escope = require('./lib/escope'),
+ esprima = require('./lib/esprima'),
normal = 0,
bold = 1,
isDefined,
j,
k,
+ pointer,
range,
reference,
scope,
// done now.
if (!scope.functionExpressionScope) {
range = scope.block.range;
- scopes.push([
+ scopes.push(
range[0] + 1,
range[1] + 1,
scope.level,
normal
- ]);
+ );
definitionsIndex = tokens.length;
definitionsCount = 0;
for (j = 0; j < scope.variables.length; j += 1) {
for (k = 0; k < variable.defs.length; k += 1) {
definition = variable.defs[k];
range = definition.name.range;
- tokens.push([
+ tokens.push(
range[0] + 1,
range[1] + 1,
scope.level,
bold
- ]);
+ );
}
}
for (j = 0; j < scope.references.length; j += 1) {
// declared and initialized simultaneously; this filters
// them.)
for (k = 0; k < definitionsCount; k += 1) {
- definition = tokens[definitionsIndex + k];
- if (definition[0] === range[0] + 1 &&
- definition[1] === range[1] + 1) {
+ pointer = definitionsIndex + (k * 4);
+ if (tokens[pointer] === range[0] + 1 &&
+ tokens[pointer + 1] === range[1] + 1) {
isDefined = true;
break;
}
}
if (!isDefined) {
- tokens.push([
+ tokens.push(
// Handle global references too.
range[0] + 1,
range[1] + 1,
reference.resolved ? reference.resolved.scope.level : 0,
reference.__maybeImplicitGlobal ? bold : normal
- ]);
+ );
}
}
}
for (i = 0; i < ast.comments.length; i += 1) {
comment = ast.comments[i];
range = comment.range;
- tokens.push([
+ tokens.push(
range[0] + 1,
range[1] + 1,
-1,
italic
- ]);
+ );
}
return scopes.concat(tokens);