Skip to content

Commit 6079de8

Browse files
authored
Merge pull request #2348 from ahoppen/ahoppen/509/space-between-string-and-dot
[509] Don't add a space between literals and period in BasicFormat
2 parents 6ad4ea2 + 9ad1e77 commit 6079de8

File tree

2 files changed

+30
-5
lines changed

2 files changed

+30
-5
lines changed

Sources/SwiftBasicFormat/BasicFormat.swift

+4
Original file line numberDiff line numberDiff line change
@@ -307,8 +307,11 @@ open class BasicFormat: SyntaxRewriter {
307307
(.rawStringPoundDelimiter, .multilineStringQuote), // opening raw string delimiter should never be separate by a space
308308
(.rawStringPoundDelimiter, .singleQuote), // opening raw string delimiter should never be separate by a space
309309
(.rawStringPoundDelimiter, .stringQuote), // opening raw string delimiter should never be separate by a space
310+
(.rawStringPoundDelimiter, .period), // opening raw string delimiter should never be separate by a space
310311
(.regexLiteralPattern, _),
312+
(.regexPoundDelimiter, .period), // #/myRegex/#.someMember
311313
(.regexSlash, .regexPoundDelimiter), // closing extended regex delimiter should never be separate by a space
314+
(.regexSlash, .period), // /myRegex/.someMember
312315
(.rightAngle, .leftParen), // func foo<T>(x: T)
313316
(.rightAngle, .period), // Foo<T>.bar
314317
(.rightBrace, .leftParen), // { return 1 }()
@@ -317,6 +320,7 @@ open class BasicFormat: SyntaxRewriter {
317320
(.rightSquare, .period), // myArray[1].someProperty
318321
(.singleQuote, .rawStringPoundDelimiter), // closing raw string delimiter should never be separate by a space
319322
(.stringQuote, .rawStringPoundDelimiter), // closing raw string delimiter should never be separate by a space
323+
(.stringQuote, .period), // "test".lowercased
320324
(.stringSegment, _),
321325
(_, .comma),
322326
(_, .ellipsis),

Tests/SwiftBasicFormatTest/BasicFormatTests.swift

+26-5
Original file line numberDiff line numberDiff line change
@@ -505,10 +505,31 @@ final class BasicFormatTest: XCTestCase {
505505
}
506506
}
507507

508-
func testRightAnglePeriodNotFormatted() {
509-
assertFormatted(
510-
tree: ExprSyntax("Foo<T>.bar"),
511-
expected: "Foo<T>.bar"
512-
)
508+
func testPeriodAfterStringLiteral() {
509+
let source = """
510+
"test".lowercased()
511+
"""
512+
assertFormatted(source: source, expected: source)
513+
}
514+
515+
func testPeriodAfterRawStringLiteral() {
516+
let source = """
517+
#"test"#.lowercased()
518+
"""
519+
assertFormatted(source: source, expected: source)
520+
}
521+
522+
func testPeriodAfterRegexLiteral() {
523+
let source = """
524+
/test/.something
525+
"""
526+
assertFormatted(source: source, expected: source)
527+
}
528+
529+
func testPeriodAfterRawRegexLiteral() {
530+
let source = """
531+
/test/.something
532+
"""
533+
assertFormatted(source: source, expected: source)
513534
}
514535
}

0 commit comments

Comments
 (0)