1- using Newtonsoft . Json ;
1+ using System . ComponentModel ;
2+ using Newtonsoft . Json ;
23using Newtonsoft . Json . Serialization ;
34
45namespace OmniSharp . Extensions . LanguageServer . Capabilities . Client
@@ -8,74 +9,119 @@ public class TextDocumentClientCapabilities
89 {
910 public Supports < SynchronizationCapability > Synchronization { get ; set ; }
1011
12+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
13+ public bool ShouldSerializeSynchronization ( ) => Synchronization . IsSupported ;
14+
1115 /// <summary>
1216 /// Capabilities specific to the `textDocument/completion`
1317 /// </summary>
1418 public Supports < CompletionCapability > Completion { get ; set ; }
1519
20+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
21+ public bool ShouldSerializeCompletion ( ) => Completion . IsSupported ;
22+
1623 /// <summary>
1724 /// Capabilities specific to the `textDocument/hover`
1825 /// </summary>
1926 public Supports < HoverCapability > Hover { get ; set ; }
2027
28+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
29+ public bool ShouldSerializeHover ( ) => Hover . IsSupported ;
30+
2131 /// <summary>
2232 /// Capabilities specific to the `textDocument/signatureHelp`
2333 /// </summary>
2434 public Supports < SignatureHelpCapability > SignatureHelp { get ; set ; }
2535
36+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
37+ public bool ShouldSerializeSignatureHelp ( ) => SignatureHelp . IsSupported ;
38+
2639 /// <summary>
2740 /// Capabilities specific to the `textDocument/references`
2841 /// </summary>
2942 public Supports < ReferencesCapability > References { get ; set ; }
3043
44+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
45+ public bool ShouldSerializeReferences ( ) => References . IsSupported ;
46+
3147 /// <summary>
3248 /// Capabilities specific to the `textDocument/documentHighlight`
3349 /// </summary>
3450 public Supports < DocumentHighlightCapability > DocumentHighlight { get ; set ; }
3551
52+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
53+ public bool ShouldSerializeDocumentHighlight ( ) => DocumentHighlight . IsSupported ;
54+
3655 /// <summary>
3756 /// Capabilities specific to the `textDocument/documentSymbol`
3857 /// </summary>
3958 public Supports < DocumentSymbolCapability > DocumentSymbol { get ; set ; }
4059
60+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
61+ public bool ShouldSerializeDocumentSymbol ( ) => DocumentSymbol . IsSupported ;
62+
4163 /// <summary>
4264 /// Capabilities specific to the `textDocument/formatting`
4365 /// </summary>
4466 public Supports < DocumentFormattingCapability > Formatting { get ; set ; }
4567
68+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
69+ public bool ShouldSerializeFormatting ( ) => Formatting . IsSupported ;
70+
4671 /// <summary>
4772 /// Capabilities specific to the `textDocument/rangeFormatting`
4873 /// </summary>
4974 public Supports < DocumentRangeFormattingCapability > RangeFormatting { get ; set ; }
5075
76+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
77+ public bool ShouldSerializeRangeFormatting ( ) => RangeFormatting . IsSupported ;
78+
5179 /// <summary>
5280 /// Capabilities specific to the `textDocument/onTypeFormatting`
5381 /// </summary>
5482 public Supports < DocumentOnTypeFormattingCapability > OnTypeFormatting { get ; set ; }
5583
84+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
85+ public bool ShouldSerializeOnTypeFormatting ( ) => OnTypeFormatting . IsSupported ;
86+
5687 /// <summary>
5788 /// Capabilities specific to the `textDocument/definition`
5889 /// </summary>
5990 public Supports < DefinitionCapability > Definition { get ; set ; }
6091
92+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
93+ public bool ShouldSerializeDefinition ( ) => Definition . IsSupported ;
94+
6195 /// <summary>
6296 /// Capabilities specific to the `textDocument/codeAction`
6397 /// </summary>
6498 public Supports < CodeActionCapability > CodeAction { get ; set ; }
6599
100+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
101+ public bool ShouldSerializeCodeAction ( ) => CodeAction . IsSupported ;
102+
66103 /// <summary>
67104 /// Capabilities specific to the `textDocument/codeLens`
68105 /// </summary>
69106 public Supports < CodeLensCapability > CodeLens { get ; set ; }
70107
108+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
109+ public bool ShouldSerializeCodeLens ( ) => CodeLens . IsSupported ;
110+
71111 /// <summary>
72112 /// Capabilities specific to the `textDocument/documentLink`
73113 /// </summary>
74114 public Supports < DocumentLinkCapability > DocumentLink { get ; set ; }
75115
116+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
117+ public bool ShouldSerializeDocumentLink ( ) => DocumentLink . IsSupported ;
118+
76119 /// <summary>
77120 /// Capabilities specific to the `textDocument/rename`
78121 /// </summary>
79122 public Supports < RenameCapability > Rename { get ; set ; }
123+
124+ [ EditorBrowsable ( EditorBrowsableState . Never ) ]
125+ public bool ShouldSerializeRename ( ) => Rename . IsSupported ;
80126 }
81127}
0 commit comments