[ruby-core:118772] [Ruby master Feature#20525] Percent string literal with indentation support or String#dedent
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2024-08-01 10:42:35 UTC
List:
ruby-core #118772
Issue #20525 has been updated by mame (Yusuke Endoh).
Status changed from Open to Rejected
This was briefly discussed at the dev meeting, but ended with "why not use a shorter delimiter like `<<~END` or `<<~MD`?"
----------------------------------------
Feature #20525: Percent string literal with indentation support or String#dedent
https://bugs.ruby-lang.org/issues/20525#change-109324
* Author: bradgessler (Brad Gessler)
* Status: Rejected
----------------------------------------
I have code that looks like this in an application:
```ruby
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:
```ruby
ContentSlide(title: "Why Phlex?"){
Markdown %{
# Why do you like markdown?
* Because its fun
* Because its super-de-dooper
}.dedent
},
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/