-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathSemanticTokensFullOrDeltaPartialResult.cs
41 lines (35 loc) · 1.42 KB
/
SemanticTokensFullOrDeltaPartialResult.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using Newtonsoft.Json;
using OmniSharp.Extensions.LanguageServer.Protocol.Serialization.Converters;
namespace OmniSharp.Extensions.LanguageServer.Protocol.Models.Proposals
{
[Obsolete(Constants.Proposal)]
[JsonConverter(typeof(SemanticTokensFullOrDeltaPartialResultConverter))]
public struct SemanticTokensFullOrDeltaPartialResult
{
public SemanticTokensFullOrDeltaPartialResult(
SemanticTokensPartialResult full)
{
Full = full;
Delta = null;
}
public SemanticTokensFullOrDeltaPartialResult(
SemanticTokensDeltaPartialResult delta)
{
Full = null;
Delta = delta;
}
public bool IsDelta => Delta != null;
public SemanticTokensDeltaPartialResult Delta { get; }
public bool IsFull => Full != null;
public SemanticTokensPartialResult Full { get; }
public static implicit operator SemanticTokensFullOrDeltaPartialResult(SemanticTokensPartialResult semanticTokensPartialResult)
{
return new SemanticTokensFullOrDeltaPartialResult(semanticTokensPartialResult);
}
public static implicit operator SemanticTokensFullOrDeltaPartialResult(SemanticTokensDeltaPartialResult semanticTokensDeltaPartialResult)
{
return new SemanticTokensFullOrDeltaPartialResult(semanticTokensDeltaPartialResult);
}
}
}