Commit Graph

194 Commits

Author SHA1 Message Date
Jeff Avallone e362a54551 Converting methods into properties where possible/reasonable 2014-12-17 14:44:48 -05:00
Jeff Avallone 4af524112e Moving properties out of the way 2014-12-17 12:07:25 -05:00
Jeff Avallone 57ccd4b0c5 Refactoring to enhance the SyntaxNode extending 2014-12-17 11:53:04 -05:00
Jeff Avallone 6322b48f31 Removing debugging code 2014-12-17 10:06:03 -05:00
Jeff Avallone b934423d11 Finishing tests for Regexper module 2014-12-16 19:00:27 -05:00
Jeff Avallone 8cc2f29aec Adding regexp flag indications 2014-12-16 10:14:37 -05:00
Jeff Avallone 3d42894ac2 Replacing some calls to _.each with new for loops 2014-12-15 22:11:12 -05:00
Jeff Avallone 26bf0fcd52 Converting some string generation to templates 2014-12-15 22:01:55 -05:00
Jeff Avallone 84d3fe797d Removing unnecessary binds 2014-12-15 22:00:24 -05:00
Jeff Avallone d22ab35b68 Converting uses of Snap.format to use template literals 2014-12-15 21:51:17 -05:00
Jeff Avallone db62743d54 Fixing various IE-related issues 2014-12-15 18:06:16 -05:00
Jeff Avallone dea4011530 Adding progress indicator 2014-12-15 15:19:37 -05:00
Jeff Avallone f4ea4d6da6 Adding greedy indication 2014-12-15 12:43:13 -05:00
Jeff Avallone c0eed07d9b Adding repetition labels 2014-12-15 12:29:47 -05:00
Jeff Avallone b4b999d7a6 Removing support for "{,n}" syntax
Don't know I missed that this isn't supported in JS
2014-12-15 11:11:17 -05:00
Jeff Avallone deb95ef123 Removing duplicate elements from charset 2014-12-15 10:19:18 -05:00
Jeff Avallone f8ce2d8f40 Putting all labels in a tspan.
This will get all of them aligning the same way
2014-12-15 07:54:55 -05:00
Jeff Avallone 66d9b97a6f Making quotes around literals lighter 2014-12-14 22:17:59 -05:00
Jeff Avallone 10d5e7f534 Reverting change to repeat node that adjusted the vertical position 2014-12-14 21:53:54 -05:00
Jeff Avallone 95af49e385 Adding horizontal connecting lines 2014-12-14 21:37:56 -05:00
Jeff Avallone a30c16a940 Fixing root node positioning 2014-12-14 19:29:45 -05:00
Jeff Avallone 40ac83ab91 Revert "Simplifying positioning code for root nodes"
This reverts commit 46ab0662f5.
2014-12-14 19:28:50 -05:00
Jeff Avallone c2d8473425 Adding node-type-specific anchor code 2014-12-14 19:13:08 -05:00
Jeff Avallone 9ba2b8579e Updating major positioning code to use anchor position 2014-12-14 19:13:03 -05:00
Jeff Avallone 56927dd7fa Adding anchors 2014-12-14 19:13:00 -05:00
Jeff Avallone 46ab0662f5 Simplifying positioning code for root nodes 2014-12-14 17:48:48 -05:00
Jeff Avallone 97b816ffc9 Extracting a method to ease readability 2014-12-14 17:03:40 -05:00
Jeff Avallone d216c0fe5f Simplifying more code 2014-12-13 13:42:55 -05:00
Jeff Avallone 407167a4ae Folding labeled box positioning into rendering 2014-12-13 13:26:43 -05:00
Jeff Avallone b9f1cfae55 Cleaning up some messy code 2014-12-13 13:00:46 -05:00
Jeff Avallone cb9785de91 Folding _position methods into render method promises 2014-12-13 12:55:03 -05:00
Jeff Avallone 29316bb2aa Updating renderLabel to be promise based 2014-12-13 12:28:16 -05:00
Jeff Avallone 773fd5c1a6 Refactoring how _position is called to be promise-based
The render method now returns a promise. Once this promise is resolved,
the _position method for that node will be called (if applicable). This
promise must be resolved only after all subordinate nodes have completed
their render phase (the promise returned by subordinate node's render
method has resolved). Node that do not have subordinates can return the
result of calling terminalRender, and proxied renders only need to
return the result of calling proxy.

With this change, it is no longer necessary to explicitly position
subordinate nodes. They will already be positioned once their render
promise is resolved.
2014-12-13 09:09:58 -05:00
Jeff Avallone f81ba6535f Adding transform method to Base node 2014-12-10 20:28:02 -05:00
Jeff Avallone 340d6b4859 Simplifying literal normalization code 2014-12-10 20:11:51 -05:00
Jeff Avallone 2e60561be6 Cleaning up code for match node 2014-12-10 19:58:36 -05:00
Jeff Avallone dbcdd583ed Removing need for separate setContainer calls 2014-12-10 19:31:07 -05:00
Jeff Avallone 9ac25b9a50 No need to save most label objects 2014-12-10 19:23:14 -05:00
Jeff Avallone 15655900f1 Updating to automatically size labels when positioning 2014-12-10 19:16:21 -05:00
Jeff Avallone d953dcaab4 renderLabel method doesn't really need a container argument 2014-12-10 19:12:17 -05:00
Jeff Avallone 521ab74723 Cleanup of path code 2014-12-10 19:09:31 -05:00
Jeff Avallone f0c25dfc41 Simplifying code related to passing rendering through to nested node 2014-12-10 19:01:57 -05:00
Jeff Avallone ff7525a6e4 De-duplicating code to render subexp and charset containers 2014-12-10 18:27:07 -05:00
Jeff Avallone fc7032241f Short-circuiting the render of nodes.
This will reduce the depth of nesting of elements (and hopefully make
final positioning easier)
2014-12-10 17:16:21 -05:00
Jeff Avallone 6dcc5f48c4 Adjusting positioning of loop and skip lines 2014-12-10 17:14:14 -05:00
Jeff Avallone b13ee3add2 Removing some connecting lines
This is in preparation for properly aligning nodes and simplifying the
connecting lines to reduce the number of path elements required.
2014-12-10 17:13:23 -05:00
Jeff Avallone 6ab5b2993b Removing references to "self" 2014-12-10 17:01:21 -05:00
Jeff Avallone 035984a61c Adding class to labels 2014-12-10 17:00:04 -05:00
Jeff Avallone 0b85f552c3 Setting class names of nodes automatically 2014-12-10 16:57:42 -05:00
Jeff Avallone 60d7cab504 Adding code to indicate subexpression numbers 2014-12-10 06:18:55 -05:00
Jeff Avallone 4a8103f404 Still working on the connecting lines 2014-12-09 21:32:13 -05:00
Jeff Avallone 629faf7086 Adjusting connecting line positioning 2014-12-09 21:10:42 -05:00
Jeff Avallone e6e8a1ed54 Tweaking connector lines 2014-12-09 21:04:14 -05:00
Jeff Avallone 975780609d Fixing label positioning in charset nodes 2014-12-09 21:00:36 -05:00
Jeff Avallone e26d91bae5 Fixing label positioning in subexp nodes 2014-12-09 20:22:44 -05:00
Jeff Avallone 27a23162b4 Removing some dead code 2014-12-09 20:09:27 -05:00
Jeff Avallone 7082a670d6 Extracting code to layout elements vertically 2014-12-09 20:08:34 -05:00
Jeff Avallone 0f97afd880 Fixing font size of charset label 2014-12-09 19:03:50 -05:00
Jeff Avallone cd11b7e6e5 Centralizing some of the layout code 2014-12-09 19:02:31 -05:00
Jeff Avallone 7ed865ecdb Normalizing function names 2014-12-09 18:08:40 -05:00
Jeff Avallone 7ab386e7a4 Cleanup of match fragment rendering 2014-12-09 17:56:22 -05:00
Jeff Avallone 5a4c62c2c0 Cleanup of charset range rendering 2014-12-09 17:51:04 -05:00
Jeff Avallone 0cb090bc10 Cleanup of charset rendering code 2014-12-09 17:48:44 -05:00
Jeff Avallone 3bbd55c36a Refactoring code for escape display 2014-12-09 17:43:05 -05:00
Jeff Avallone ae064b2b8e Adding rendering for Subexp 2014-12-07 21:16:23 -05:00
Jeff Avallone e99c284216 Rendering CharsetRange 2014-12-07 17:51:13 -05:00
Jeff Avallone fadfaee440 Adding code to render charsets 2014-12-07 17:38:24 -05:00
Jeff Avallone 9cc23183be Adding rendering code for escape, literal, and "." 2014-12-07 15:26:45 -05:00
Jeff Avallone f5d1e734f1 Removing Terminal type and replacing with Literal, Escape, and AnyChar
This is to eventually simplify the combining of Literals together (and
to actually make it work correctly, since terminals should not have been
merged)
2014-12-06 16:03:58 -05:00
Jeff Avallone 41c11ad5d4 Fixing bug with concatenation of literals 2014-12-06 15:46:46 -05:00
Jeff Avallone d2b96c7833 Adding code to render loop and skip paths for repetitions
This currently breaks the rendering and will need more work. Also need
to add labels for {a,b} syntax
2014-12-06 12:34:00 -05:00
Jeff Avallone d9abd5f139 Removing an extraneous connecting line 2014-12-04 21:23:18 -05:00
Jeff Avallone e1c299453c Reducing the number of path elements that are generated 2014-12-03 20:35:26 -05:00
Jeff Avallone 5a000ec302 Adding spacing between MatchFragments 2014-12-03 20:26:09 -05:00
Jeff Avallone 502e4494d9 Some cleanup 2014-12-03 20:20:08 -05:00
Jeff Avallone e7e97b0008 Adding lines before and after main Regexp body 2014-12-03 20:14:56 -05:00
Jeff Avallone d1a058768e Adding some styling to start and end anchors 2014-12-03 20:02:56 -05:00
Jeff Avallone a88c4821b7 Refactoring to remove the container argument to render methods
A reference was being kept generally, so it was more useful to keep it
connected to the node
2014-12-03 18:59:59 -05:00
Jeff Avallone 6a9d498bf6 Refactoring to not render connectors for a Regexp with one Match 2014-12-03 18:46:48 -05:00
Jeff Avallone fe6727b79a Removing some debugging code 2014-12-03 18:46:40 -05:00
Jeff Avallone b364198030 Adding a MatchFragment rule
Also reducing the amount of object cloning that is being done
2014-12-02 21:09:20 -05:00
Jeff Avallone 7d84669536 First cut of rendering match elements
This is currently broken, but a starting point for further work.
2014-12-02 21:02:48 -05:00
Jeff Avallone b9dd80a142 Adding type values to node extensions
These will be useful later
2014-12-02 20:10:56 -05:00
Jeff Avallone 1ffcd785f8 Changing names of grammar elements.
Starting with an "_" will prevent collisions with extensions
2014-12-02 19:59:10 -05:00
Jeff Avallone 9609b1d5b7 Refactoring bounding box rendering method 2014-12-02 19:15:19 -05:00
Jeff Avallone 5afb4fa717 First pass for getting flow lines in place
This could use some refactoring
2014-11-30 21:20:03 -05:00
Jeff Avallone f8cded8eac Adding first cut of code to render alternations
Still need to implement lines to the individual parts
2014-11-30 17:54:12 -05:00
Jeff Avallone ed2c26c39e Adding basic code to render stand and end indicators 2014-11-30 15:36:53 -05:00
Jeff Avallone 30d88810d0 Creating Base module and extracting placeholder rendering 2014-11-30 14:10:27 -05:00
Jeff Avallone 4decff56e7 Cleanup of initial SVG rendering 2014-11-30 13:14:31 -05:00
Jeff Avallone b1a615daf0 Adding line that somehow got deleted 2014-11-30 10:51:22 -05:00
Jeff Avallone 301dce5873 Integrated snap.svg and starting to render content 2014-11-30 10:48:33 -05:00
Jeff Avallone facb99e8bc Beginning to add some functionality to the parser 2014-11-26 18:24:40 -05:00
Jeff Avallone abd8a52f6b Adding initial cut of JS regexp parser 2014-11-25 19:37:54 -05:00