]> code.delx.au - gnu-emacs-elpa/blobdiff - scopifier.js
Add tty faces.
[gnu-emacs-elpa] / scopifier.js
index 4b54091200990430a5ff9ae199edc0870f33e31b..814550106e9087caec60fed2797d7e86fef00051 100644 (file)
@@ -1,7 +1,7 @@
 'use strict';
 
-var escope = require('escope'),
-    esprima = require('esprima'),
+var escope = require('./lib/escope'),
+    esprima = require('./lib/esprima'),
 
     normal = 0,
     bold = 1,
@@ -20,6 +20,7 @@ module.exports = function (code) {
         isDefined,
         j,
         k,
+        pointer,
         range,
         reference,
         scope,
@@ -61,12 +62,12 @@ module.exports = function (code) {
             // 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) {
@@ -75,12 +76,12 @@ module.exports = function (code) {
                     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) {
@@ -92,21 +93,21 @@ module.exports = function (code) {
                     // 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
-                        ]);
+                        );
                     }
                 }
             }
@@ -116,12 +117,12 @@ module.exports = function (code) {
     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);