Commit Graph

111 Commits

Author SHA1 Message Date
Jeremy Ashkenas
13fc8aea04 removing object comprehensions from CoffeeScript, they were necessitating the generation of too much ugly JS 2010-01-10 14:45:44 -05:00
Jeremy Ashkenas
8ea75290b5 better indentation for compile_closure 2010-01-10 13:18:44 -05:00
Jeremy Ashkenas
8e3922b6c6 allowing comments in the middle of switch statements 2010-01-09 13:25:44 -05:00
Jeremy Ashkenas
7befbddae2 adding test for body-less while, using null as the body so JSLint doesn't get in a tizzy 2010-01-09 11:58:50 -05:00
Jeremy Ashkenas
ae58e2ec6c adding body-less while expressions 2010-01-09 11:51:32 -05:00
Jeremy Ashkenas
4c3f00cf77 fixing calling super from constructors 2010-01-08 10:54:44 -05:00
Jeremy Ashkenas
8b3926fb0c making extends equivalent to the Google Closure version 2010-01-08 09:35:02 -05:00
Jeremy Ashkenas
d416c184db separating out the --no-wrap and the --globals arguments, which shouldn't be jammed together 2010-01-07 21:10:25 -05:00
Jeremy Ashkenas
30dca132bd more node cleaning, using idt() instead of TAB 2010-01-07 20:57:23 -05:00
Jeremy Ashkenas
69908be85c cleaned up nodes.rb indentation code with an idt method 2010-01-07 20:55:30 -05:00
Jeremy Ashkenas
c70b6f39b1 weepy's new speedy comprehensions 2010-01-07 20:27:26 -05:00
Jeremy Ashkenas
18c3e79a50 adding automatic 'return this' for constructors: functions that start with a Capital Letter 2010-01-06 23:47:36 -05:00
Jeremy Ashkenas
9ed8020b84 added the constructor fix for capitalized functions 2010-01-06 23:34:56 -05:00
Jeremy Ashkenas
001e42b85c fixing range literals by making them values, not expressions, and adding tests 2010-01-05 22:49:51 -05:00
Jeremy Ashkenas
46f1977ea1 adding ranges as expressions, they get expanded into the equivalent array 2010-01-05 22:17:09 -05:00
Jeremy Ashkenas
5fe419b1ce automatic conversion of arguments into arrays 2010-01-05 09:10:45 -05:00
Jeremy Ashkenas
6658250c8e more docs 2010-01-05 00:34:18 -05:00
Jeremy Ashkenas
2c1033f5da removed the whole messy notions of looking downwards for returns or children -- ForNodes now peek at top-level status, and if they're being asked to return a value from the outside 2010-01-04 18:57:10 -05:00
Jeremy Ashkenas
94bc7c1f92 putting in a special check for returns within array comprehensions -- not very nice 2010-01-04 01:06:31 -05:00
Jeremy Ashkenas
cb1815885c adding a statement-as-expression test, and returning null from while loops, if asked 2010-01-03 18:58:34 -05:00
Jeremy Ashkenas
8e6486a1d7 logic error in Expressions was causing over-compilation by a factor of the depth of the tree 2010-01-03 18:47:23 -05:00
Jeremy Ashkenas
97f16c0e9c fixing comment-within-objecta-and-array-literal printing for the new expression regime. 2010-01-03 18:35:03 -05:00
Jeremy Ashkenas
56015bd23f subtle call order bug was preventing variable declarations 2010-01-03 18:22:10 -05:00
Jeremy Ashkenas
bb0dfa5cd4 removing the silly newlines from comments 2010-01-03 18:07:03 -05:00
Jeremy Ashkenas
6160fe3c17 beautiful -- all examples, tests, and docs are now compiling without JSLint warnings 2010-01-03 16:32:59 -05:00
Jeremy Ashkenas
099944e0aa All execution tests are now passing with statements everywhere 2010-01-03 15:59:33 -05:00
Jeremy Ashkenas
4814d5baa5 more progress -- you can wrap parentheses around statements now 2010-01-03 15:13:59 -05:00
Jeremy Ashkenas
78c4957ba8 first rough rough rough draft of kamatsu's closure suggestion -- test.coffee runs, but probably nothing else 2010-01-03 13:59:17 -05:00
Jeremy Ashkenas
21a0cc83ae Adding kamatsu's proposed block literal syntax 2010-01-03 10:19:39 -05:00
Jeremy Ashkenas
7ee5be674d adding splice literals, with tests 2010-01-02 00:20:24 -05:00
Jeremy Ashkenas
38520bfece rebuilding narwhal uncovered a bug with named functions 2010-01-01 22:00:34 -05:00
Jeremy Ashkenas
75d9e23df4 better existence test, with tests 2010-01-01 12:41:55 -05:00
Jeremy Ashkenas
ff80f8d423 adding the notion of existence -- postfixing an expression with a question mark will check if to see if it's not null or undefined 2010-01-01 12:31:05 -05:00
Jeremy Ashkenas
0f81dbe913 adding steps to range comprehensions 2010-01-01 11:54:59 -05:00
Jeremy Ashkenas
e30a267c9d fixing precedence order, so that you can nest range comprehensions 2010-01-01 11:19:57 -05:00
Jeremy Ashkenas
305f883eab making range comprehensions compile safely, even when you assign to the same variable as your endposts. 2010-01-01 10:55:43 -05:00
Jeremy Ashkenas
41056ca2bd fix for multiple splats in a function call 2009-12-31 20:02:15 -05:00
Jeremy Ashkenas
409283a30f adding splats as arguments to function calls 2009-12-31 19:52:13 -05:00
Jeremy Ashkenas
26c89cef06 reserving variables for splats the regular way, not through a custom 'var' declaration 2009-12-31 18:03:39 -05:00
Jeremy Ashkenas
1d2bb3b2be adding splats to function definitions 2009-12-31 17:50:12 -05:00
Jeremy Ashkenas
f299972713 expressions nested in expressions made for some indentation issues -- statements are now responsible for their own leading indentation 2009-12-31 16:50:46 -05:00
Jeremy Ashkenas
7ec91a1ee5 enabling multi-line array and object comprehensions 2009-12-31 16:09:27 -05:00
Jeremy Ashkenas
07d0044718 using push for comprehension results so that it works with object keys, and adding a test for object comprehensions 2009-12-31 15:03:32 -05:00
Jeremy Ashkenas
00538bd62c adding weepy's suggestion to use (for .. in) for array comprehensions, which means that they're now object comprehensions as well 2009-12-31 14:52:14 -05:00
Jeremy Ashkenas
e481a39a0d making all functions named functions, if children of an immediate assignment 2009-12-30 23:13:22 -05:00
Jeremy Ashkenas
dba8439425 the underscore example parses now -- added line number information to parenthetical nodes 2009-12-30 21:44:51 -05:00
Jeremy Ashkenas
c8711b419e fixed up the comment/assignment interleaving in nodes.rb 2009-12-30 20:24:24 -05:00
Jeremy Ashkenas
dc821f2e4c be more vigorous about removing mid-expression newlines, 'when' closes implicit blocks, a better comment-detecting regex lexer that doesn't eat outdents 2009-12-30 19:26:37 -05:00
Jeremy Ashkenas
cd68f02981 big milestone. examples/code.coffee now compiles correctly under the new whitespace regime 2009-12-30 18:59:33 -05:00
Jeremy Ashkenas
f93e552cb3 fixin up narwhal factory and adding more implicit blocks to the lexer 2009-12-30 14:32:59 -05:00