emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 1039a74 073/271: Update microoptimized version.


From: Jackson Ray Hamilton
Subject: [elpa] master 1039a74 073/271: Update microoptimized version.
Date: Thu, 05 Feb 2015 18:29:52 +0000

branch: master
commit 1039a74caa3119b2e3853a90d86b38225cc4f167
Author: Jackson Ray Hamilton <address@hidden>
Commit: Jackson Ray Hamilton <address@hidden>

    Update microoptimized version.
---
 bin/cli.js                  |    2 +-
 scopifier-microoptimized.js |   30 +++++++++++++++++++-----------
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/bin/cli.js b/bin/cli.js
index 721dae0..9fdea5c 100644
--- a/bin/cli.js
+++ b/bin/cli.js
@@ -4,7 +4,7 @@
 
 'use strict';
 
-var scopifier = require('../scopifier'),
+var scopifier = require('../scopifier-microoptimized'),
     whole = '';
 
 process.stdin.setEncoding('utf8');
diff --git a/scopifier-microoptimized.js b/scopifier-microoptimized.js
index 6248b60..4834243 100644
--- a/scopifier-microoptimized.js
+++ b/scopifier-microoptimized.js
@@ -1,7 +1,11 @@
 'use strict';
 
 var escope = require('escope'),
-    esprima = require('esprima');
+    esprima = require('esprima'),
+
+    normal = 0,
+    bold = 1,
+    italic = 2;
 
 // Given code, returns an array of `[level, start, end]' tokens for
 // context-coloring.
@@ -55,9 +59,10 @@ module.exports = function (code) {
             if (!scope.functionExpressionScope) {
                 range = scope.block.range;
                 scopes.push([
-                    scope.level,
                     range[0] + 1,
-                    range[1] + 1
+                    range[1] + 1,
+                    scope.level,
+                    normal
                 ]);
                 definitionsIndex = tokens.length;
                 definitionsCount = 0;
@@ -68,9 +73,10 @@ module.exports = function (code) {
                         definition = variable.defs[k];
                         range = definition.name.range;
                         tokens.push([
-                            scope.level,
                             range[0] + 1,
-                            range[1] + 1
+                            range[1] + 1,
+                            scope.level,
+                            bold
                         ]);
                     }
                 }
@@ -84,8 +90,8 @@ module.exports = function (code) {
                     // them.)
                     for (k = 0; k < definitionsCount; k += 1) {
                         definition = tokens[definitionsIndex + k];
-                        if (definition[1] === range[0] + 1 &&
-                                definition[2] === range[1] + 1) {
+                        if (definition[0] === range[0] + 1 &&
+                                definition[1] === range[1] + 1) {
                             isDefined = true;
                             break;
                         }
@@ -93,9 +99,10 @@ module.exports = function (code) {
                     if (!isDefined) {
                         tokens.push([
                             // Handle global references too.
-                            reference.resolved ? 
reference.resolved.scope.level : 0,
                             range[0] + 1,
-                            range[1] + 1
+                            range[1] + 1,
+                            reference.resolved ? 
reference.resolved.scope.level : 0,
+                            reference.__maybeImplicitGlobal ? bold : normal
                         ]);
                     }
                 }
@@ -107,9 +114,10 @@ module.exports = function (code) {
         comment = ast.comments[i];
         range = comment.range;
         tokens.push([
-            -1,
             range[0] + 1,
-            range[1] + 1
+            range[1] + 1,
+            -1,
+            italic
         ]);
     }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]