Project

General

Profile

Actions

Feature #20525

closed

Percent string literal with indentation support or String#dedent

Added by bradgessler (Brad Gessler) 5 months ago. Updated 2 months ago.

Status:
Rejected
Assignee:
-
Target version:
-
[ruby-core:118180]

Description

I have code that looks like this in an application:

ContentSlide(title: "Why Phlex?"){
  Markdown <<~MARKDOWN

  * Because its fun
  * Because its super-de-dooper
  MARKDOWN
},

The "squiggle" HEREDOCs strips the indentation, but the name of the HEREDOC doesn't look that great since "Markdown" appears twice.

What I'd prefer is a string literal that deals with indentation, maybe it looks something like this:

ContentSlide(title: "Why Phlex?"){
  Markdown %~{
    # Why do you like markdown?

    * Because its fun
    * Because its super-de-dooper
  }
},

If Ruby doesn't want to go down the path of adding another type of literal, I'd propose adding a method to String that does the same thing as the ~ HEREDOC so something like this is possible:

ContentSlide(title: "Why Phlex?"){
  Markdown %{
    # Why do you like markdown?

    * Because its fun
    * Because its super-de-dooper
  }.dedent
},
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0