jashkenas--coffeescript/test
Danny McClanahan 4e57ca6833 [CS2] Add #! support for executable scripts on Linux. (#3946)
* Add #! support for executable scripts on Linux.

Pass arguments to executable script unchanged if using "#!/usr/bin/env
coffee". (Previously, "./test.coffee -abck" would be turned into "-a -b -c -k",
for example.)

Fixes #1752.

* refactor option parsing

clean up parsing code and in the process fix oustanding bug where coffeescript
modified arguments meant for an executable script

* address comments

* intermediate save

* add note saying where OptionParser is used in coffee command

* add some more work

* fix flatten functions

* refactor tests

* make argument processing less confusing

* add basic test

* remove unused file

* compilation now hangs

* remove unnecessary changes

* add tests!!!

* add/fix some tests

* clarify a test

* fix helpers

* fix opt parsing

* fix infinite loop

* make rule building easier to read

* add tests for flag overlap

* revamp argument parsing again and add more thorough testing

* add tests, comment, clean unused method

* address review comments

* add test for direct invocation of shebang scripts

* move shebang parsing test to separate file and check for browser

* remove TODO

* example backwards compatible warnings

* add correct tests for warning 1

* add tests for warnings

* commit output js libs and update docs

* respond to review comments

also add tests for help text

* respond to review comments

* fix example output

* Rewrite argument parsing documentation to be more concise; add it to sidebar and body; add new output

* Don’t mention deprecated syntax; clean up variable names
2017-07-19 16:25:06 -07:00
..
importing [CS2] Add #! support for executable scripts on Linux. (#3946) 2017-07-19 16:25:06 -07:00
support [CS2] Add #! support for executable scripts on Linux. (#3946) 2017-07-19 16:25:06 -07:00
argument_parsing.coffee [CS2] Add #! support for executable scripts on Linux. (#3946) 2017-07-19 16:25:06 -07:00
arrays.coffee Merge branch 'master' into 2 2016-11-10 22:51:39 -08:00
assignment.coffee [CS2] Destructuring object spreads (#4493) 2017-06-29 22:57:42 -07:00
async.coffee Update async test to use new `super` syntax 2017-02-04 17:05:18 -08:00
booleans.coffee renaming wordy test titles. 2011-04-23 13:35:15 -04:00
classes.coffee [CS2]: Fix #4591: multiple accesses after super (#4592) 2017-07-13 13:15:18 -07:00
cluster.coffee Fixes #2737, fix fork() for both .js and .coffee, revised. 2013-03-18 11:46:54 +08:00
comments.coffee [CS2] Support for CSX - equivalent of JSX (#4551) 2017-06-06 23:33:46 -07:00
compilation.coffee Merge branch 'master' into 2 2016-11-10 22:51:39 -08:00
comprehensions.coffee Allow `@` values as indices in `for` expressions 2016-12-29 19:00:00 +00:00
control_flow.coffee Fix parenthesized conditions in if-else assignment (#4519) 2017-04-19 00:10:20 -07:00
csx.coffee [CS2] Support for CSX - equivalent of JSX (#4551) 2017-06-06 23:33:46 -07:00
error_messages.coffee [CS2] Fix #3199: throw multiline implicit object (#4599) 2017-07-09 10:28:50 -07:00
eval.coffee Fix issue #3498 2015-01-05 15:40:04 -05:00
exception_handling.coffee #2900 -- parameter-less catch clause. 2013-04-12 17:50:45 +02:00
formatting.coffee [CS2] Fix #3199: throw multiline implicit object (#4599) 2017-07-09 10:28:50 -07:00
function_invocation.coffee [CS2] Fix non-bare `get` `set` when called with `@` argument (#4525) 2017-04-23 11:23:36 -07:00
functions.coffee fix #4577; renamed destructured parameters with same default value (#4596) 2017-07-05 19:04:52 -07:00
generators.coffee [CS2] Compile all super calls to ES2015 super (#4424) 2017-02-04 12:03:17 -08:00
helpers.coffee Replace `last array` helper with `[..., last] = array` 2015-02-07 21:50:41 +01:00
importing.coffee renaming import test files to avoid risking the disfavor of .gitignore 2013-06-02 10:57:18 +04:00
interpolation.coffee Fix #3795: Never generate invalid strings and regexes 2015-02-05 17:23:03 +01:00
invocation_argument_parsing.coffee [CS2] Add #! support for executable scripts on Linux. (#3946) 2017-07-19 16:25:06 -07:00
javascript_literals.coffee Triple backticks to allow creation of JavaScript blocks (#4357) 2016-11-19 11:13:30 -08:00
literate.litcoffee [CS2] Literate CoffeeScript without dependencies (#4509) 2017-04-17 23:30:40 -07:00
literate_tabbed.litcoffee [CS2] Literate CoffeeScript without dependencies (#4509) 2017-04-17 23:30:40 -07:00
location.coffee [CS2] Fix #4467: tagged template literal call (#4601) 2017-07-05 13:58:36 -07:00
modules.coffee [CS2] Support for CSX - equivalent of JSX (#4551) 2017-06-06 23:33:46 -07:00
numbers.coffee Treat Infinity and NaN as reserved words 2016-03-06 11:41:48 +01:00
objects.coffee Fix #4579: postfix for in object literals (#4581) 2017-06-20 21:50:50 -07:00
operators.coffee [CS2] Compile class constructors to ES2015 classes (#4354) 2017-01-12 21:55:30 -08:00
option_parser.coffee [CS2] Add #! support for executable scripts on Linux. (#3946) 2017-07-19 16:25:06 -07:00
parser.coffee Properly update location data when setting a call to use `new` 2017-02-16 20:43:19 -08:00
ranges.coffee Add a `for .. from ..` loop for generators, see #4306, #3832 (#4355) 2016-11-07 23:40:01 -08:00
regexps.coffee [CS2] Support for CSX - equivalent of JSX (#4551) 2017-06-06 23:33:46 -07:00
repl.coffee Merge branch 'master' into 2 2017-04-17 19:52:34 -07:00
scope.coffee [CS2] Restore bound class methods via runtime check to avoid premature calling of bound method before binding (#4561) 2017-06-14 15:11:53 -07:00
slicing_and_splicing.coffee Fix #2953. Method calls on splice endpoints 2013-04-23 05:42:37 +02:00
soaks.coffee added descriptions to tests which only had Issue numbers 2015-02-23 16:39:05 -07:00
sourcemap.coffee Fix failing source map tests 2016-06-02 09:04:58 +02:00
strict.coffee merge master 2017-04-20 14:41:28 -05:00
strings.coffee [CS2] Support for CSX - equivalent of JSX (#4551) 2017-06-06 23:33:46 -07:00
tagged_template_literals.coffee [CS2] Fix #4467: tagged template literal call (#4601) 2017-07-05 13:58:36 -07:00