[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master b1b7f9d 032/271: Optimize tokens by connecting tail ends.
From: |
Jackson Ray Hamilton |
Subject: |
[elpa] master b1b7f9d 032/271: Optimize tokens by connecting tail ends. |
Date: |
Thu, 05 Feb 2015 18:29:33 +0000 |
branch: master
commit b1b7f9d53d82e5fedf7dd8db5a416bc861c99f45
Author: Jackson Ray Hamilton <address@hidden>
Commit: Jackson Ray Hamilton <address@hidden>
Optimize tokens by connecting tail ends.
---
jslint.js | 2 +-
tokenizer.js | 33 +++++++++++++++++++++++++++------
2 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/jslint.js b/jslint.js
index 338ee0e..5f5828c 100644
--- a/jslint.js
+++ b/jslint.js
@@ -172,7 +172,7 @@
// For example:
/*jslint
- evil: true, nomen: true, regexp: true, todo: true
+ evil: true, node: true, nomen: true, regexp: true, todo: true
*/
// The current option set is
diff --git a/tokenizer.js b/tokenizer.js
index a684123..2f60dab 100644
--- a/tokenizer.js
+++ b/tokenizer.js
@@ -61,7 +61,20 @@ process.stdin.on('readable', function () {
});
process.stdin.on('end', function () {
- var data, globals, totals, out, i, tokens, length, cap, token, origin,
level, total;
+
+ var data,
+ globals,
+ totals,
+ out,
+ i,
+ tokens,
+ length,
+ cap,
+ token,
+ origin,
+ level,
+ total,
+ previous;
// Generate a syntax tree for the input.
JSLINT(whole, jslintOptions);
@@ -101,11 +114,19 @@ process.stdin.on('end', function () {
}
total = totals[token.line - 1];
- out.push({
- l: level,
- s: cap(total + token.from),
- e: cap(total + token.thru)
- });
+ previous = out[out.length - 1];
+
+ if (previous &&
+ previous.l === level &&
+ previous.e === (total + token.from)) {
+ previous.e = cap(total + token.thru);
+ } else {
+ out.push({
+ l: level,
+ s: cap(total + token.from),
+ e: cap(total + token.thru)
+ });
+ }
i += 1;
}
- [elpa] master cce215d 030/271: Add readme., (continued)
- [elpa] master cce215d 030/271: Add readme., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 169b1f4 028/271: Set JSLint options to not care., Jackson Ray Hamilton, 2015/02/05
- [elpa] master df36161 031/271: Fix screenshot link., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 16e984c 039/271: Update installation instructions., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 3e6f2cf 037/271: Cleanup., Jackson Ray Hamilton, 2015/02/05
- [elpa] master bd8fc87 034/271: Restore test files. Start on uglify tokenizer., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 099e8c1 003/271: Write basic tokenizer cli., Jackson Ray Hamilton, 2015/02/05
- [elpa] master fef44f5 038/271: Fix broken link., Jackson Ray Hamilton, 2015/02/05
- [elpa] master e4ee2ec 042/271: Catch parse errors., Jackson Ray Hamilton, 2015/02/05
- [elpa] master d372de1 029/271: Clean up cruft., Jackson Ray Hamilton, 2015/02/05
- [elpa] master b1b7f9d 032/271: Optimize tokens by connecting tail ends.,
Jackson Ray Hamilton <=
- [elpa] master 2cdd91e 043/271: Write new scopifier with comment detection., Jackson Ray Hamilton, 2015/02/05
- [elpa] master eb14005 041/271: Rename scopify to scopifier. Use vectors., Jackson Ray Hamilton, 2015/02/05
- [elpa] master f482c62 035/271: Use remove-text-properties as a temporary comment fix., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 615163a 045/271: Update screenshot., Jackson Ray Hamilton, 2015/02/05
- [elpa] master f4e075f 047/271: Readme updates., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 6cd2827 044/271: Cleanup old scopifier., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 2b8bc05 052/271: Remove buggy tail optimization. Move stdin cruft to cli., Jackson Ray Hamilton, 2015/02/05
- [elpa] master f75af43 036/271: Fix installation instructions., Jackson Ray Hamilton, 2015/02/05
- [elpa] master d881130 049/271: Rename test., Jackson Ray Hamilton, 2015/02/05
- [elpa] master 40c9d93 048/271: Readme updates., Jackson Ray Hamilton, 2015/02/05