Skip to content
This repository was archived by the owner on Feb 19, 2018. It is now read-only.
This repository was archived by the owner on Feb 19, 2018. It is now read-only.

CS2 Discussion: Output: ES6 template literals for CoffeeScript interpolated strings #41

Closed
@greghuc

Description

@greghuc

As discussed here, I'm splitting out a separate issue for compiling Coffeescript interpolated strings to ES6 template literals.

In short, Coffeescript single-line, multi-line and block interpolated strings can all be compiled to ES6 template literals. To note:

  • This change feels like 'Coffeescript 2.0', as it uses an ES6 feature for an existing Coffeescript feature. So if you use Coffeescript strings, you won't be able to opt out of ES6.
  • This feature should be implemented after tagged template literals. Implementation of that feature will do most of the heavy lifting on determining how template literals play with Coffeescript.

Examples:

Single-line string:

//CS input
"Hi #{name} Do you like #{food}?"

//ES6 output
`Hi ${name} Do you like ${food}?`;

Multiline string:

//CS input
"Hi #{name}. Do
 you like #{food}?"

//ES6 output
upperExpr`Hi ${name}. Do you like ${food}?`;

Block string:

//CS input
"""
         <strong>
           cup of #{language}
         </strong>
"""

//ES6 output
upperExpr`<strong>\n  cup of ${language}\n</strong>`;

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions