Skip to content

Commit b8b544a

Browse files
committed
In HoverResponse Decode single MarkedString as [MarkedString] with one element
1 parent dbfcdf5 commit b8b544a

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

Sources/LanguageServerProtocol/Hover.swift

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ public struct HoverResponse: ResponseType, Hashable {
5656
}
5757

5858
public enum HoverResponseContents: Hashable {
59-
case markedString(MarkedString)
6059
case markedStrings([MarkedString])
6160
case markupContent(MarkupContent)
6261
}
@@ -96,13 +95,11 @@ extension MarkedString: Codable {
9695
extension HoverResponseContents: Codable {
9796
public init(from decoder: Decoder) throws {
9897
if let value = try? MarkupContent(from: decoder) {
99-
self = .markupContent(value)
100-
} else if let value = try? MarkedString(from: decoder) {
101-
self = .markedString(value)
98+
self = .markupContent(value)
10299
} else if let value = try? [MarkedString](from: decoder) {
103-
self = .markedStrings(value)
104-
} else if let value = try? MarkupContent(from: decoder) {
105-
self = .markupContent(value)
100+
self = .markedStrings(value)
101+
} else if let value = try? MarkedString(from: decoder) {
102+
self = .markedStrings([value])
106103
} else {
107104
let context = DecodingError.Context(codingPath: decoder.codingPath, debugDescription: "Expected MarkedString, [MarkedString], or MarkupContent")
108105
throw DecodingError.dataCorrupted(context)
@@ -111,8 +108,6 @@ extension HoverResponseContents: Codable {
111108

112109
public func encode(to encoder: Encoder) throws {
113110
switch self {
114-
case .markedString(let value):
115-
try value.encode(to: encoder)
116111
case .markedStrings(let value):
117112
try value.encode(to: encoder)
118113
case .markupContent(let value):

Tests/LanguageServerProtocolTests/CodingTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,11 +216,11 @@ final class CodingTests: XCTestCase {
216216
}
217217
""")
218218

219-
checkCoding(HoverResponse(contents: .markedString(.markdown(value: "test")), range: nil), json: """
220-
{
221-
"contents" : "test"
222-
}
223-
""")
219+
checkDecoding(json: """
220+
{
221+
"contents" : "test"
222+
}
223+
""", expected: HoverResponse(contents: .markedStrings([.markdown(value: "test")]), range: nil))
224224

225225
checkCoding(HoverResponse(contents: .markedStrings([.markdown(value: "test"), .codeBlock(language: "swift", value: "let foo = 2")]), range: nil), json: """
226226
{

0 commit comments

Comments
 (0)