Skip to content

Commit 841c0cd

Browse files
committed
language: fix Hover.Range omitempty field to pointer
1 parent b704241 commit 841c0cd

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

language.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ type Hover struct {
328328

329329
// Range an optional range is a range inside a text document
330330
// that is used to visualize a hover, e.g. by changing the background color.
331-
Range Range `json:"range,omitempty"`
331+
Range *Range `json:"range,omitempty"`
332332
}
333333

334334
// SignatureHelp signature help represents the signature of something

language_gojay.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ var (
239239
// MarshalJSONObject implements gojay.MarshalerJSONObject.
240240
func (v *Hover) MarshalJSONObject(enc *gojay.Encoder) {
241241
enc.ObjectKey(keyContents, &v.Contents)
242-
enc.ObjectKey(keyRange, &v.Range)
242+
enc.ObjectKeyOmitEmpty(keyRange, v.Range)
243243
}
244244

245245
// IsNil returns wether the structure is nil value or not.
@@ -251,7 +251,10 @@ func (v *Hover) UnmarshalJSONObject(dec *gojay.Decoder, k string) error {
251251
case keyContents:
252252
return dec.Object(&v.Contents)
253253
case keyRange:
254-
return dec.Object(&v.Range)
254+
if v.Range == nil {
255+
v.Range = &Range{}
256+
}
257+
return dec.Object(v.Range)
255258
}
256259
return nil
257260
}

language_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -810,7 +810,7 @@ func testHover(t *testing.T, marshal marshalFunc, unmarshal unmarshalFunc) {
810810
Kind: Markdown,
811811
Value: "example value",
812812
},
813-
Range: Range{
813+
Range: &Range{
814814
Start: Position{
815815
Line: 255,
816816
Character: 4,

0 commit comments

Comments
 (0)