Commit Graph

153 Commits

Author SHA1 Message Date
Jeff Avallone
3970224302 Removing use of notify to update progress bar 2015-03-14 14:01:25 -04:00
Jeff Avallone
7328825204 Changing when subexpression numbers are generated
Generating subexp numbers during setup was leading to nested expressions
being numbered in reverse order.

Fixes #7
2015-03-13 20:23:04 -04:00
Jeff Avallone
1170a1be76 Displaying the hex code of escaped characters
This is only done where appropriate (escapes like "word boundary" don't
have a hex value, and displaying it for hex or unicode escapes would be
a little redundant).
2015-01-25 17:44:07 -05:00
Jeff Avallone
cb359bf4dd Adding support for rendering empty subexpressions
Fixes #1
2014-12-30 17:06:29 -05:00
Jeff Avallone
fc6ffbd73a Merging some shared styles 2014-12-30 10:17:55 -05:00
Jeff Avallone
e271115d24 Merging the rendering code from main.js and regexper.js 2014-12-29 21:31:36 -05:00
Jeff Avallone
e890fe7d2c Updating progress using the promise notify feature 2014-12-29 17:35:18 -05:00
Jeff Avallone
66836e0552 Fixing issue with multiple SVG elements being rendered at once 2014-12-26 17:08:37 -05:00
Jeff Avallone
b292a764ff Embedding a template for SVG element instead of just styles 2014-12-26 15:38:22 -05:00
Jeff Avallone
aa6c792867 Adding tests for Match nodes 2014-12-26 12:48:02 -05:00
Jeff Avallone
cf159c28a5 Finishing tests for MatchFragment nodes 2014-12-26 10:57:46 -05:00
Jeff Avallone
d21846e872 Fixing how styles are added to SVG documents to please IE
This also allowed the SVG element to be created in a single place
2014-12-24 23:01:32 -05:00
Jeff Avallone
000809752e Removing some unnecessary extend calls 2014-12-23 23:27:09 -05:00
Jeff Avallone
6793b342ae Using fancy quotes for literals 2014-12-23 23:07:51 -05:00
Jeff Avallone
d909312b94 Starting tests for MatchFragment nodes 2014-12-23 22:23:03 -05:00
Jeff Avallone
e11058688f Some cleanup of Match and MatchFragment in prep for tests 2014-12-23 11:17:28 -05:00
Jeff Avallone
f264eee5f9 Adding tests for Regexp nodes 2014-12-23 11:02:15 -05:00
Jeff Avallone
e3eedb17af Adding tests for Root nodes 2014-12-22 20:35:49 -05:00
Jeff Avallone
f842b424cc Adding warnings for non-standard escape sequence usage 2014-12-22 16:57:30 -05:00
Jeff Avallone
a4f831bc60 Cleaning up some messy code in the grammar 2014-12-22 16:28:46 -05:00
Jeff Avallone
9e6f066763 Reducing duplication in grammar 2014-12-22 16:26:08 -05:00
Jeff Avallone
b35dece228 Fixing character set ranges
Certain escape sequences are not considered in ranges, and lead to the
hyphen to be part of the matched set of characters
2014-12-22 16:09:27 -05:00
Jeff Avallone
d882ee8e08 Adding check that charset range is in correct order 2014-12-22 15:18:49 -05:00
Jeff Avallone
9b8eef9c02 Setting ordinals for literals 2014-12-22 15:11:37 -05:00
Jeff Avallone
d4b648fa43 Setting ordinal for control code escapes 2014-12-22 15:11:20 -05:00
Jeff Avallone
580af045d6 Adjusting grammar to match \c escape "correctly"
\c followed by something other than a-z leads to inconsistent behavior
across browsers. Most will treat it as a series of literals (/\c#/ will
match the string "\\c#" for example)
2014-12-22 15:00:38 -05:00
Jeff Avallone
101b457260 Adding ordinal values to escapes
Work still needs to be done to get control characters correct, and
ordinals will need to be added for literals as well. This is in
preparation for reporting incorrectly ordered charset ranges
2014-12-22 12:44:19 -05:00
Jeff Avallone
33bbd11af6 Simplifying how parts of a charset are checked for uniqueness 2014-12-22 11:31:20 -05:00
Jeff Avallone
961d4812e9 Adding tests for Charset nodes 2014-12-22 10:57:16 -05:00
Jeff Avallone
e0825b7850 Fixing bug in charset code 2014-12-21 18:02:28 -05:00
Jeff Avallone
55ee380817 Adding ability to easily render demo images 2014-12-21 15:22:01 -05:00
Jeff Avallone
9bf5328da7 Adding specs for Subexp nodes 2014-12-21 12:05:55 -05:00
Jeff Avallone
82ca4f40f7 Adding initial tests for Repeat nodes 2014-12-20 13:03:57 -05:00
Jeff Avallone
55657a792b Adding check for out of order numbers 2014-12-20 10:53:01 -05:00
Jeff Avallone
ccdb29224a Rejecting promise when parsing fails 2014-12-20 10:47:41 -05:00
Jeff Avallone
6c5b36f334 Changing util.js to export an object
This allows the methods to be spied on in tests
2014-12-20 10:25:32 -05:00
Jeff Avallone
8a9a129856 Adding tests for CharsetRange nodes 2014-12-20 10:18:00 -05:00
Jeff Avallone
d27831a265 Adding tests for CharsetEscape nodes 2014-12-19 21:56:56 -05:00
Jeff Avallone
24e21834f6 Adding tests for Escape nodes 2014-12-19 21:49:11 -05:00
Jeff Avallone
32a28ede90 Adding tests for Literal nodes 2014-12-19 21:35:03 -05:00
Jeff Avallone
69ae3f0fe1 Moving parser setup code into a separate file 2014-12-19 20:41:02 -05:00
Jeff Avallone
43eaf493e6 Removing some cruft in the grammar 2014-12-19 20:35:20 -05:00
Jeff Avallone
70789258ab Removing CharsetLiteral
It was no different from just Literal (and most likely won't be any
different)
2014-12-19 20:23:32 -05:00
Jeff Avallone
2d4694f447 Simplifying some modules 2014-12-19 20:18:19 -05:00
Jeff Avallone
a50ba68a21 Moving spaceHorizontally and spaceVertically to util.js 2014-12-19 12:11:44 -05:00
Jeff Avallone
870b2e6ed4 Moving normalizeBBox to util.js 2014-12-19 12:06:21 -05:00
Jeff Avallone
be145e3fac Adding rest of tests for Node class 2014-12-19 11:48:09 -05:00
Jeff Avallone
91581afe2c Adding more Node tests 2014-12-19 11:00:47 -05:00
Jeff Avallone
78917d44e6 Extracting custom event creation into a util module 2014-12-19 10:24:45 -05:00
Jeff Avallone
80ec29cd6b Refactoring parser code to remove global state
This allows canceling an in-progress render and moves some of the
rendering code to a more appropriate location.
2014-12-18 11:13:15 -05:00