diff options
Diffstat (limited to 'src/libs/languageserverprotocol/servercapabilities.h')
-rw-r--r-- | src/libs/languageserverprotocol/servercapabilities.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libs/languageserverprotocol/servercapabilities.h b/src/libs/languageserverprotocol/servercapabilities.h index 4c8011378f..7365449b0f 100644 --- a/src/libs/languageserverprotocol/servercapabilities.h +++ b/src/libs/languageserverprotocol/servercapabilities.h @@ -223,6 +223,17 @@ public: void clearId() { remove(idKey); } }; + class LANGUAGESERVERPROTOCOL_EXPORT SemanticHighlightingServerCapabilities : public JsonObject + { + public: + using JsonObject::JsonObject; + + Utils::optional<QList<QList<QString>>> scopes() const; + void setScopes(const QList<QList<QString>> &scopes); + + bool isValid(QStringList *) const override; + }; + // Defines how text documents are synced. Is either a detailed structure defining each // notification or for backwards compatibility the TextDocumentSyncKind number. using TextDocumentSync = Utils::variant<TextDocumentSyncOptions, int>; @@ -423,6 +434,12 @@ public: void setExperimental(const JsonObject &experimental) { insert(experimentalKey, experimental); } void clearExperimental() { remove(experimentalKey); } + Utils::optional<SemanticHighlightingServerCapabilities> semanticHighlighting() const + { return optionalValue<SemanticHighlightingServerCapabilities>(semanticHighlightingKey); } + void setSemanticHighlighting(const SemanticHighlightingServerCapabilities &semanticHighlighting) + { insert(semanticHighlightingKey, semanticHighlighting); } + void clearSemanticHighlighting() { remove(semanticHighlightingKey); } + bool isValid(QStringList *error) const override; }; |