Skip to content

Commit 67cf14c

Browse files
committed
Add opening delimiter to sigil metadata/opts
1 parent fe43e23 commit 67cf14c

File tree

2 files changed

+23
-15
lines changed

2 files changed

+23
-15
lines changed

lib/elixir/lib/code/formatter.ex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1326,7 +1326,8 @@ defmodule Code.Formatter do
13261326
file: state.file,
13271327
line: meta[:line],
13281328
sigil: List.to_atom([name]),
1329-
modifiers: modifiers
1329+
modifiers: modifiers,
1330+
opening_delimiter: opening_delimiter
13301331
]
13311332

13321333
case callback.(hd(entries), metadata) do

lib/elixir/test/elixir/code_formatter/general_test.exs

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -126,22 +126,22 @@ defmodule Code.Formatter.GeneralTest do
126126
"""
127127

128128
formatter = fn content, opts ->
129-
assert opts == [file: nil, line: 1, sigil: :W, modifiers: []]
129+
assert opts == [file: nil, line: 1, sigil: :W, modifiers: [], opening_delimiter: "/"]
130130
content |> String.split(~r/ +/) |> Enum.join(" ")
131131
end
132132

133133
assert_format bad, good, sigils: [W: formatter]
134134

135135
bad = """
136-
var = ~W/foo bar baz/abc
136+
var = ~W<foo bar baz>abc
137137
"""
138138

139139
good = """
140-
var = ~W/foo bar baz/abc
140+
var = ~W<foo bar baz>abc
141141
"""
142142

143143
formatter = fn content, opts ->
144-
assert opts == [file: nil, line: 1, sigil: :W, modifiers: 'abc']
144+
assert opts == [file: nil, line: 1, sigil: :W, modifiers: 'abc', opening_delimiter: "<"]
145145
content |> String.split(~r/ +/) |> Enum.intersperse(" ")
146146
end
147147

@@ -162,34 +162,41 @@ defmodule Code.Formatter.GeneralTest do
162162
"""
163163

164164
formatter = fn content, opts ->
165-
assert opts == [file: nil, line: 1, sigil: :W, modifiers: []]
165+
assert opts == [file: nil, line: 1, sigil: :W, modifiers: [], opening_delimiter: "'''"]
166166
content |> String.split(~r/ +/) |> Enum.join(" ")
167167
end
168168

169169
assert_format bad, good, sigils: [W: formatter]
170170

171-
bad = """
171+
bad = ~S'''
172172
if true do
173-
~W'''
173+
~W"""
174174
foo
175175
bar
176176
baz
177-
'''abc
177+
"""abc
178178
end
179-
"""
179+
'''
180180

181-
good = """
181+
good = ~S'''
182182
if true do
183-
~W'''
183+
~W"""
184184
foo
185185
bar
186186
baz
187-
'''abc
187+
"""abc
188188
end
189-
"""
189+
'''
190190

191191
formatter = fn content, opts ->
192-
assert opts == [file: nil, line: 2, sigil: :W, modifiers: 'abc']
192+
assert opts == [
193+
file: nil,
194+
line: 2,
195+
sigil: :W,
196+
modifiers: 'abc',
197+
opening_delimiter: ~S/"""/
198+
]
199+
193200
content |> String.split(~r/ +/) |> Enum.join("\n")
194201
end
195202

0 commit comments

Comments
 (0)