Skip to content

Commit a7d86c0

Browse files
authored
[Optimus] Respect includePath param (#14)
1 parent 6c144ed commit a7d86c0

File tree

2 files changed

+32
-33
lines changed

2 files changed

+32
-33
lines changed

Sources/Markdown/Infrastructure/SourceLocation.swift

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,12 @@ extension SourceRange {
9191

9292
/// A textual description for use in diagnostics.
9393
public func diagnosticDescription(includePath: Bool = true) -> String {
94-
let path = lowerBound.source.map {
95-
$0.path.isEmpty
96-
? ""
97-
: "\($0.path):"
98-
} ?? ""
99-
100-
var result = "\(path)\(lowerBound)"
94+
let path = includePath ? lowerBound.source?.path ?? "" : ""
95+
var result = ""
96+
if !path.isEmpty {
97+
result += "\(path):"
98+
}
99+
result += "\(lowerBound)"
101100
if lowerBound != upperBound {
102101
result += "-\(upperBound)"
103102
}

Tests/MarkdownTests/Parsing/SourceURLTests.swift

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -45,33 +45,33 @@ class SourceURLTests: XCTestCase {
4545
checker.visit(document)
4646

4747
let expectedDump = """
48-
Document @/test.md:/test.md:1:1-/test.md:16:2
49-
├─ Paragraph @/test.md:/test.md:1:1-/test.md:1:21
50-
│ └─ Text @/test.md:/test.md:1:1-/test.md:1:21 "This is a paragraph."
51-
├─ UnorderedList @/test.md:/test.md:3:1-/test.md:6:1
52-
│ ├─ ListItem @/test.md:/test.md:3:1-/test.md:3:4
53-
│ │ └─ Paragraph @/test.md:/test.md:3:3-/test.md:3:4
54-
│ │ └─ Text @/test.md:/test.md:3:3-/test.md:3:4 "A"
55-
│ └─ ListItem @/test.md:/test.md:4:1-/test.md:6:1
56-
│ ├─ Paragraph @/test.md:/test.md:4:3-/test.md:4:4
57-
│ │ └─ Text @/test.md:/test.md:4:3-/test.md:4:4 "B"
58-
│ └─ UnorderedList @/test.md:/test.md:5:3-/test.md:6:1
59-
│ └─ ListItem @/test.md:/test.md:5:3-/test.md:6:1
60-
│ └─ Paragraph @/test.md:/test.md:5:5-/test.md:5:6
61-
│ └─ Text @/test.md:/test.md:5:5-/test.md:5:6 "C"
62-
├─ BlockQuote @/test.md:/test.md:7:1-/test.md:8:8
63-
│ └─ Paragraph @/test.md:/test.md:7:3-/test.md:8:8
64-
│ ├─ Text @/test.md:/test.md:7:3-/test.md:7:8 "Quote"
48+
Document @/test.md:1:1-/test.md:16:2
49+
├─ Paragraph @/test.md:1:1-/test.md:1:21
50+
│ └─ Text @/test.md:1:1-/test.md:1:21 "This is a paragraph."
51+
├─ UnorderedList @/test.md:3:1-/test.md:6:1
52+
│ ├─ ListItem @/test.md:3:1-/test.md:3:4
53+
│ │ └─ Paragraph @/test.md:3:3-/test.md:3:4
54+
│ │ └─ Text @/test.md:3:3-/test.md:3:4 "A"
55+
│ └─ ListItem @/test.md:4:1-/test.md:6:1
56+
│ ├─ Paragraph @/test.md:4:3-/test.md:4:4
57+
│ │ └─ Text @/test.md:4:3-/test.md:4:4 "B"
58+
│ └─ UnorderedList @/test.md:5:3-/test.md:6:1
59+
│ └─ ListItem @/test.md:5:3-/test.md:6:1
60+
│ └─ Paragraph @/test.md:5:5-/test.md:5:6
61+
│ └─ Text @/test.md:5:5-/test.md:5:6 "C"
62+
├─ BlockQuote @/test.md:7:1-/test.md:8:8
63+
│ └─ Paragraph @/test.md:7:3-/test.md:8:8
64+
│ ├─ Text @/test.md:7:3-/test.md:7:8 "Quote"
6565
│ ├─ SoftBreak
66-
│ └─ Text @/test.md:/test.md:8:3-/test.md:8:8 "Quote"
67-
├─ Paragraph @/test.md:/test.md:10:1-/test.md:10:10
68-
│ └─ SymbolLink @/test.md:/test.md:10:1-/test.md:10:10 destination: foo()
69-
└─ BlockDirective @/test.md:/test.md:12:1-/test.md:16:2 name: "Outer"
70-
├─ BlockDirective @/test.md:/test.md:13:3-/test.md:13:9 name: "Inner"
71-
└─ UnorderedList @/test.md:/test.md:15:3-/test.md:15:6
72-
└─ ListItem @/test.md:/test.md:15:3-/test.md:15:6
73-
└─ Paragraph @/test.md:/test.md:15:5-/test.md:15:6
74-
└─ Text @/test.md:/test.md:15:5-/test.md:15:6 "A"
66+
│ └─ Text @/test.md:8:3-/test.md:8:8 "Quote"
67+
├─ Paragraph @/test.md:10:1-/test.md:10:10
68+
│ └─ SymbolLink @/test.md:10:1-/test.md:10:10 destination: foo()
69+
└─ BlockDirective @/test.md:12:1-/test.md:16:2 name: "Outer"
70+
├─ BlockDirective @/test.md:13:3-/test.md:13:9 name: "Inner"
71+
└─ UnorderedList @/test.md:15:3-/test.md:15:6
72+
└─ ListItem @/test.md:15:3-/test.md:15:6
73+
└─ Paragraph @/test.md:15:5-/test.md:15:6
74+
└─ Text @/test.md:15:5-/test.md:15:6 "A"
7575
"""
7676
XCTAssertEqual(expectedDump, document.debugDescription(options: .printSourceLocations))
7777
}

0 commit comments

Comments
 (0)