[ruby-core:118757] [Ruby master Feature#20525] Percent string literal with indentation support or String#dedent
From:
"bradgessler (Brad Gessler) via ruby-core" <ruby-core@...>
Date:
2024-07-31 05:14:31 UTC
List:
ruby-core #118757
Issue #20525 has been updated by bradgessler (Brad Gessler).
Actually this looks decent:
```rb
Markdown ~{
# Hi!
This is markdown
}
```
----------------------------------------
Feature #20525: Percent string literal with indentation support or String#dedent
https://bugs.ruby-lang.org/issues/20525#change-109303
* Author: bradgessler (Brad Gessler)
* Status: Open
----------------------------------------
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/