xixixao
10293df1f9
Recompile source with 1.7.0 version
2014-01-28 03:34:00 +00:00
Michael Ficarra
08a57898a7
add CoffeeScript.register method for require.extensions registration
2013-12-08 14:21:18 -06:00
Michael Ficarra
ba4743cc83
fix auto and manual require.extensions registration; ref #3141
...
You can now `require('coffee-script/register')` to manually register,
and the compiler auto-registers when directly running a coffee file.
2013-12-08 14:19:10 -06:00
Jeremy Ashkenas
59cf19fd1c
Fixes #3072 -- tweak process.argv to match when running REPL
2013-10-20 16:53:08 -03:00
Jeremy Ashkenas
cfdb774da9
CoffeeScript REPL should be able to require coffeescript files.
2013-10-20 11:22:23 -03:00
Michael Klement
ae4535d639
Fix: support for consumers of the REPL *module* being able to opt into using the global context via option .useGlobal.
...
Note that, at least for now, CoffeeScript's own REPL *CLI* still uses a
non-global context, rendering modules such as `color`, which attempt to
modify the prototypes of JavaScript primitives, ineffective. By
contrast, node's own CLI does use the global context.
2013-09-03 16:41:27 -04:00
Demian Ferreiro
9e716b310d
Avoid using a getter for the compiler error's "stack" property
...
Instead, set the "stack" property manually when the error gets updated on re-throws.
2013-08-02 01:52:36 -03:00
Demian Ferreiro
3f9cdcf1fa
Change how error messages are shown
...
Instead of throwing the syntax errors with their source file location and needing to then catch them and call a `prettyErrorMessage` function in order to get the formatted error message, now syntax errors know how to pretty-print themselves (their `toString` method gets overridden).
An intermediate `catch` & re-`throw` is needed at the level of `CoffeeScript.compile` and friends. But the benefit of this approach is that now libraries that use the `CoffeeScript` object directly don't need to bother catching the possible compilation errors and calling a special function in order to get the nice error messages; they can just print the error itself (or let it bubble up) and the error will know how to pretty-print itself.
2013-07-31 08:27:49 -03:00
Jeremy Ashkenas
84b8b5ccee
CoffeeScript 1.6.3
2013-06-02 09:37:45 +04:00
Nami-Doc
5162472f16
Fix REPL when env.HOME isn't available - #2945
2013-04-21 16:03:30 +02:00
Robert Martin
71aea4b862
Fix bug in REPL where history file was closed late.
...
The history file was set to close on process exit, when it
should close on REPL exit. Listening to the process exit
event causes a warning when more than 10 CoffeeScript REPL
instances are opened in the same program, which happens in
the test.
2013-04-20 14:49:54 -04:00
Daniel G. Taylor
0e2d2ea637
Move lastLine setter into conditional block to prevent .commands and blank lines from setting lastLine
2013-04-07 11:28:59 -07:00
Daniel G. Taylor
feaea49eac
Replace large comprehension with much simpler code; fix comment to reference maxSize instead of previous 10KB limit; only pop a history entry if the file size is actually bigger than maxSize; only add items to the history if they are different from the last item by storing the last line and loading it on startup.
2013-04-06 22:10:08 -07:00
Daniel G. Taylor
4dbd9dc264
Pop off partial line if input history file was truncated; make maximum input history file size configurable via repl start options
2013-03-25 20:50:56 -07:00
Daniel G. Taylor
2d0e45c46d
Use string interpolation for .history command; rename out variable to history an store the history in it as an array in the proper order so that printing it is just a join operation
2013-03-25 20:34:04 -07:00
Daniel G. Taylor
a1ff4ae7b8
Use separate variable for fd used to read history file; use string interpolation to print code lines; do not use unit test to remove temporary file and instead use a process exit event handler
2013-03-25 09:49:59 -07:00
Daniel G. Taylor
17a1cdb2cf
Make history file optional and configurable via the opts passed to repl.start
2013-03-25 08:46:40 -07:00
Daniel G. Taylor
1643f7df7a
Remove explicit catch that did nothing
2013-03-25 07:49:25 -07:00
Daniel G. Taylor
3c0344b954
Rebuild to remove debugging log statement
2013-03-25 07:28:55 -07:00
Daniel G. Taylor
9bfafb88cb
Add history to the coffee interactive interpreter that persists between sessions using a ~/.coffee_history file in a similar way to bash. Code based on repl.history and Node pull request 3178 with modifications.
2013-03-24 22:44:35 -07:00
Jeremy Ashkenas
566a7dabb2
Fixing erroneous whitespace fix in generated JS
2013-03-18 17:47:55 +08:00
Jeremy Ashkenas
a3e8de338a
CoffeeScript 1.6.2
2013-03-18 13:06:33 +08:00
Jeremy Ashkenas
56413ba3b4
Merge pull request #2817 from epidemian/keep-repl-running
...
Keep REPL running on runtime errors
2013-03-13 01:56:33 -07:00
Michael Ficarra
4ac223b684
minor cleanup of parent commit
2013-03-12 21:11:48 -05:00
Wil Chung
70e83030a7
added warning that we need node 0.8+ to run repl
...
remove unnecessary parens and else statement in repl
we do this by convention of the main coffee source
fix: exit should be process.exit
compiled and build full
2013-03-12 18:28:48 -07:00
Demian Ferreiro
45bcd9fa2f
Keep REPL running on runtime errors
2013-03-11 23:58:00 -03:00
Demian Ferreiro
5a004425ca
Fixes #1829 . Preserve variable scope in the REPL
2013-03-11 19:52:18 -03:00
Demian Ferreiro
f0fcf4aee0
Merge branch 'master' of git://github.com/jashkenas/coffee-script into improved-error-messages
...
Conflicts:
lib/coffee-script/coffee-script.js
lib/coffee-script/command.js
lib/coffee-script/helpers.js
lib/coffee-script/lexer.js
lib/coffee-script/nodes.js
lib/coffee-script/repl.js
src/coffee-script.coffee
src/command.coffee
src/helpers.coffee
src/lexer.coffee
src/nodes.coffee
test/helpers.coffee
2013-03-10 20:29:36 -03:00
Demian Ferreiro
5da7f6a488
Get rid of CompilationError and instead have a couple of functions on helpers.coffee
2013-03-05 01:13:46 -03:00
Jeremy Ashkenas
f8c6b494aa
Fixes #2422 -- Catch clause scoping plus old IE
2013-03-05 16:13:22 +13:00
Demian Ferreiro
b400047045
Merge branch 'master' of git://github.com/jashkenas/coffee-script into improved-error-messages
...
Conflicts:
Cakefile
lib/coffee-script/coffee-script.js
lib/coffee-script/command.js
lib/coffee-script/nodes.js
lib/coffee-script/repl.js
src/coffee-script.coffee
src/helpers.coffee
src/nodes.coffee
src/repl.coffee
2013-03-04 23:42:47 -03:00
Jeremy Ashkenas
eef83a9fcb
CoffeeScript 1.6.1
2013-03-05 11:07:16 +13:00
Jeremy Ashkenas
9f614fedec
CoffeeScript 1.6.0
2013-03-05 08:19:08 +13:00
Demian Ferreiro
0affb4f936
Integrate error messages on the REPL
2013-03-03 22:08:41 -03:00
Troels Nielsen
1666716c31
Improve the handling of implicit object and implicit call combinations
...
by handling them together.
2013-02-27 08:15:38 +01:00
Michael Smith
ff1ddd0284
Fix repl handling of blank line
...
Since the move to the nodeREPL package, input lines to be evaluated are
now wrapped in parentheses; that is:
'foo'
would become:
('foo'
)
The old way of detecting empty lines was to see if the input string was
either totally empty, or whitespace-only. The addition of these
parentheses breaks that.
In order to fix this, we simply tweak the regex a little to ignore these
added parentheses if they're present. As an added bonus, the regex
should match empty inputs even if they aren't.
This also makes the "empty command evaluates to undefined" test pass,
for the right reasons (i.e. not because of the broken error behavior
from before).
2013-02-25 22:09:50 -08:00
Michael Smith
deaa31dca5
Prevent repl from crashing on error [ Fixes #2716 ]
...
Move execution of the compiled code inside the try/catch block:
try
js = CoffeeScript.compile "_=(#{input}\n)", {filename, bare: yes}
catch err
cb err
> cb null, vm.runInContext(js, context, filename)
try
js = CoffeeScript.compile "_=(#{input}\n)", {filename, bare: yes}
> cb null, vm.runInContext(js, context, filename)
catch err
cb err
2013-02-25 22:08:01 -08:00
Jeremy Ashkenas
af53c230a1
CoffeeScript 1.5.0
2013-02-25 21:12:22 +13:00
Jeremy Ashkenas
14c2a16833
Reverted b31cc70 -- putting Generated comment back up top. Why? Why not?
2013-02-25 17:17:01 +13:00
Jeremy Ashkenas
b31cc70235
Moving the 'generated by coffeescript version X' comment to the bottom, to get it out of the way
2013-02-02 10:42:46 +11:00
Michael Ficarra
be9707f8d2
final tweaks to REPL rewrite
...
We can still use some more extensive tests, but it's already much better
tested than the current REPL.
2013-01-26 02:07:56 -06:00
Alon Salant
47bd05e9a0
REPL tests based on direct interaction with input and output stream. Includes multiline tests.
2013-01-21 21:56:34 -08:00
Michael Ficarra
537c5f4b70
fix some issues pointed out in 041033a51a
2013-01-21 10:27:52 -06:00
Michael Ficarra
041033a51a
finish multiline support for REPL rewrite
2013-01-21 00:43:08 -06:00
Alon Salant
4a52814a79
Multiline WIP
2013-01-18 11:33:04 -08:00
Alon Salant
d84cd9466e
empty command evaluates to undefined
2013-01-15 22:40:41 -08:00
Alon Salant
627b921bca
Initial commit of REPL based on node's REPLServer
2013-01-15 22:40:40 -08:00
Jeremy Ashkenas
ba08a21d21
bumping version to 1.5.0-pre
2013-01-04 09:35:20 -10:00
Jeremy Ashkenas
158d37215a
CoffeeScript 1.4.0
2012-10-23 16:45:31 -04:00
Lucas Stadler
01d4e87f57
fix repl completion and navigation
...
The readline interface of node has changed in [aad12d0][] and because of
that the autocompletion and key movement didn't work anymore. This
commit fixes this by checking whether stdin is in raw mode (i.e. invoked
as a script) or not (as a repl).
[aad12d0]: https://github.com/joyent/node/commit/aad12d0
2012-05-20 11:38:50 +02:00