satyr
db181e2a36
enabled remote scripts in browsers
2010-08-18 09:35:52 +09:00
Jeremy Ashkenas
a8c6a641d7
stop supressing left-hand whitespace in newline'd strings. Make 'em more literal.
2010-08-16 22:02:37 -04:00
Jeremy Ashkenas
474c372b17
Fixes Issue #618 . Close implicit arguments in the middle of param lists.
2010-08-16 21:19:34 -04:00
Jeremy Ashkenas
5b9b45814f
Fixing Issue #622 with a light refactor to start using a 'tags' property on all nodes.
2010-08-16 20:18:42 -04:00
Stan Angeloff
01cd5476a0
'-r' should work with $NODE_PATH as well (where previously it was an absolute/relative path)
2010-08-16 17:36:55 +03:00
Jeremy Ashkenas
027b9e9dc3
simplifying generated output for unless/is to (a isnt b) instead of not (a is b). Ticket #617
2010-08-15 15:13:33 -04:00
Jeremy Ashkenas
197f576cab
Merged in Stan's patch that allows -r scripts to modify input and output.
2010-08-15 08:32:09 -04:00
Jeremy Ashkenas
0b8facc66f
Merge branch 'master' of git://github.com/StanAngeloff/coffee-script
2010-08-15 08:20:50 -04:00
Jeremy Ashkenas
7a0d95c612
Issue #575 . Allowing implicit objects to force implicit calls.
2010-08-14 19:56:00 -04:00
Jeremy Ashkenas
975b82f09b
Issue #609 . Slightly faster implementation of ||= and &&=
2010-08-14 18:02:07 -04:00
Jeremy Ashkenas
f496cc229b
Further reducing amount of redundant parentheses.
2010-08-14 17:52:37 -04:00
Jeremy Ashkenas
9894eeb8e9
Improving double-parentheses suppression. Issue #587
2010-08-14 17:43:58 -04:00
Jeremy Ashkenas
129e950c59
Fixing naked chained existential checks -- the associativity recently got reversed.
2010-08-14 16:33:20 -04:00
Jeremy Ashkenas
c90a75ebc5
Fixing first part of #614 -- improperly cached existential operator, when first operand is a function call.
2010-08-14 16:24:05 -04:00
Jeremy Ashkenas
1d6eca76f8
disabling javascriptlint's 'test for equality mistyped as assignment', because it's not relevant to coffeescript.
2010-08-14 16:05:14 -04:00
Jeremy Ashkenas
6555d86328
Adding a jsl.conf configuration file for JavaScript lint, and switching to == null for soaks, accordingly.
2010-08-14 16:02:01 -04:00
Jeremy Ashkenas
c71f2794eb
Fixing compound assignment as a right-hand sub expression of a larger operation. Invalid in JS, valid in Coffee.
2010-08-14 14:43:25 -04:00
Jeremy Ashkenas
ca18f1fad6
Core Compiler is JSLint-free again, after removing a couple extra semicolons that snuck in when if statements compiled at the top level.
2010-08-14 11:42:19 -04:00
Jeremy Ashkenas
ead9b1041c
tweaking existential compilation.
2010-08-14 11:29:10 -04:00
Jeremy Ashkenas
1eebbfe2bc
allowing more flexible whitespace-started regexes. You have to wrap 'em in parens or assign to 'em, but it's better than nothing.
2010-08-12 20:24:53 -04:00
Stan Angeloff
d30c8b321c
Allow required files to change the input and output of compiled files.
2010-08-13 01:28:38 +03:00
Jeremy Ashkenas
fd6e9a1e66
Adding support for compound assignment to indented implicit objects.
2010-08-11 23:14:50 -04:00
Jeremy Ashkenas
8c45aa480b
Reduced the time it takes to build the grammar from 80 seconds to 15, by consolidating Operation terminals by precedence level.
2010-08-11 23:04:33 -04:00
Jeremy Ashkenas
d704afa0e9
Fixes Issue #574 ... number keys in implicit object literals.
2010-08-11 21:49:18 -04:00
Jeremy Ashkenas
2ec857ef8d
Fixing implicit object literals with leading string keys.
2010-08-11 21:41:29 -04:00
Jeremy Ashkenas
ba02ebc3dc
Fixes Issue #603 -- a longstanding precedence issue involving prefix vs postfix if and unless, involving using the entire single-line if statment as an expression.
2010-08-11 21:28:22 -04:00
Jeremy Ashkenas
ac752a46bc
removing bound functions from the Rewriter.
2010-08-11 21:07:47 -04:00
Jeremy Ashkenas
398ec3be5a
Issue #602 . Adding JS's Bitwise Assignment operators.
2010-08-11 19:24:59 -04:00
Jeremy Ashkenas
6c997978bc
CoffeeScript 0.9.1 is on the books.
2010-08-11 00:40:15 -04:00
Jeremy Ashkenas
12493779b9
fixing Issue #545 ... whitespace-only heredocs.
2010-08-11 00:02:49 -04:00
Jeremy Ashkenas
5bdf78d5ec
Fixes Issue #573 . Herecomments inside of class literals.
2010-08-10 23:02:24 -04:00
Jeremy Ashkenas
60a4138d50
refactor to simplify scanTokens method in Rewriter.
2010-08-10 22:56:21 -04:00
Jeremy Ashkenas
c2ec40e6ce
Fixes Issue #542 . Ensure that top-level objects are parenthesized. It's not valid code, but we might as well not SyntaxError out.
2010-08-10 22:16:51 -04:00
Jeremy Ashkenas
87fd05afb0
New implementation of Rewriter#addImplicitIndentation, using Rewriter#detectEnd
2010-08-10 22:05:01 -04:00
Jeremy Ashkenas
45b5bae7d7
New implementation of Rewriter#addImplicitParentheses, using Rewriter#detectEnd
2010-08-10 21:46:46 -04:00
Jeremy Ashkenas
d0b918e083
New implementation of Rewriter#addImplicitBraces -- uses detectEnd..
2010-08-10 21:13:30 -04:00
Jeremy Ashkenas
3eda5a2e85
prefer the include() helper to 'in', except for array literals.
2010-08-08 17:41:10 -04:00
Jeremy Ashkenas
18d6fd72de
First step of the general rewriter refactor. Added a generic 'detectEnd' function which is expression-pair sensitive. Use it to reimplement closeOpenCallsAndIndexes
2010-08-08 17:37:28 -04:00
Jeremy Ashkenas
d286b33601
Fixing closures-generated-within-comprehensions to preserve block local scope for range comprehensions
2010-08-08 10:52:59 -04:00
Jeremy Ashkenas
a749d43897
Use fs.realpathSync instead of something hacky.
2010-08-08 10:05:44 -04:00
Jeremy Ashkenas
08506f160d
Adding CoffeeScript as a globally-available object, when invoked from the coffee command-line, only.
2010-08-08 09:54:45 -04:00
Jeremy Ashkenas
b902377304
Fixing Issue #589 . Compound assignment to an operation should have lower precedence.
2010-08-08 00:07:00 -04:00
Jeremy Ashkenas
1c903450c8
Merging in Stan's patch for a --require flag that allows you to hook into CoffeeScript compiler events for on 'compile', 'success', and 'failure' ... a better way to extend the language or do growlnotify stuff. Issue #590
2010-08-07 23:33:35 -04:00
Stan Angeloff
b1b78dca47
Add command-line compiler hooks. To invoke, pass a file after -r and listen for any of these events: 'compile', 'success' and 'exception'. Example:
...
coffee -e -r ./snarl 'Hello!'
Contents of 'snarl.coffee' in the working directory:
http = require 'http'
CoffeeScript.on 'exception', (err) ->
client = http.createClient 9889, 'localhost'
request = client.request 'GET', '/?d={"action":1,"applicationName":"CoffeeScript","title":' + JSON.stringify(err.message) + ',"description":' + JSON.stringify(err.stack) + ',"priority":3}'
request.end()
err.handled = yes
To examine arguments available for each event (for debugging and getting started), use `puts JSON.stringify arguments`.
See http://nodejs.org/api.html#modules-309 and NODE_PATH for more details on how -r looks for files.
2010-08-07 20:24:37 +03:00
Jeremy Ashkenas
0ada5a7734
Issue #587 ... Removing the Attempted Removal of Erroneous Double Parens.
2010-08-07 08:13:36 -04:00
Jeremy Ashkenas
cc10641f38
Forbidding #interp-style interpolation ... Issue #581
2010-08-07 08:07:44 -04:00
Jeremy Ashkenas
9df3e6a538
first step towards requiring #{ ... } interpolation -- removing naked interps from the compiler.
2010-08-07 08:02:16 -04:00
Jeremy Ashkenas
b1f7d5e33b
compile empty coffee files to js anyway.
2010-08-04 23:42:46 -04:00
Jeremy Ashkenas
17bf3b7115
be more flexible about trailing commas in implicit object literals.
2010-08-04 23:25:30 -04:00
Jeremy Ashkenas
ff9af83358
CoffeeScript 0.9.0
2010-08-04 23:14:34 -04:00