forked from qt-creator/qt-creator
LanguageClient: set the capability for hierarchical symbols
Amends 696dedefa1
Change-Id: Id066ec6ea530b3bc50c4ca71dbfeb59d7520f7ac
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -149,6 +149,12 @@ public:
|
|||||||
{ return optionalValue<SymbolKindCapabilities>(symbolKindKey); }
|
{ return optionalValue<SymbolKindCapabilities>(symbolKindKey); }
|
||||||
void setSymbolKind(const SymbolKindCapabilities &symbolKind) { insert(symbolKindKey, symbolKind); }
|
void setSymbolKind(const SymbolKindCapabilities &symbolKind) { insert(symbolKindKey, symbolKind); }
|
||||||
void clearSymbolKind() { remove(symbolKindKey); }
|
void clearSymbolKind() { remove(symbolKindKey); }
|
||||||
|
|
||||||
|
Utils::optional<bool> hierarchicalDocumentSymbolSupport() const
|
||||||
|
{ return optionalValue<bool>(hierarchicalDocumentSymbolSupportKey); }
|
||||||
|
void setHierarchicalDocumentSymbolSupport(bool hierarchicalDocumentSymbolSupport)
|
||||||
|
{ insert(hierarchicalDocumentSymbolSupportKey, hierarchicalDocumentSymbolSupport); }
|
||||||
|
void clearHierachicalDocumentSymbolSupport() { remove(hierarchicalDocumentSymbolSupportKey); }
|
||||||
};
|
};
|
||||||
|
|
||||||
class LANGUAGESERVERPROTOCOL_EXPORT TextDocumentClientCapabilities : public JsonObject
|
class LANGUAGESERVERPROTOCOL_EXPORT TextDocumentClientCapabilities : public JsonObject
|
||||||
|
@@ -116,6 +116,7 @@ constexpr char fullKey[] = "full";
|
|||||||
constexpr char greenKey[] = "green";
|
constexpr char greenKey[] = "green";
|
||||||
constexpr char headerFieldSeparator[] = ": ";
|
constexpr char headerFieldSeparator[] = ": ";
|
||||||
constexpr char headerSeparator[] = "\r\n";
|
constexpr char headerSeparator[] = "\r\n";
|
||||||
|
constexpr char hierarchicalDocumentSymbolSupportKey[] = "hierarchicalDocumentSymbolSupport";
|
||||||
constexpr char hoverKey[] = "hover";
|
constexpr char hoverKey[] = "hover";
|
||||||
constexpr char hoverProviderKey[] = "hoverProvider";
|
constexpr char hoverProviderKey[] = "hoverProvider";
|
||||||
constexpr char idKey[] = "id";
|
constexpr char idKey[] = "id";
|
||||||
|
@@ -192,6 +192,7 @@ static ClientCapabilities generateClientCapabilities()
|
|||||||
SymbolKind::EnumMember, SymbolKind::Struct, SymbolKind::Event,
|
SymbolKind::EnumMember, SymbolKind::Struct, SymbolKind::Event,
|
||||||
SymbolKind::Operator, SymbolKind::TypeParameter});
|
SymbolKind::Operator, SymbolKind::TypeParameter});
|
||||||
symbolCapabilities.setSymbolKind(symbolKindCapabilities);
|
symbolCapabilities.setSymbolKind(symbolKindCapabilities);
|
||||||
|
symbolCapabilities.setHierarchicalDocumentSymbolSupport(true);
|
||||||
documentCapabilities.setDocumentSymbol(symbolCapabilities);
|
documentCapabilities.setDocumentSymbol(symbolCapabilities);
|
||||||
|
|
||||||
TextDocumentClientCapabilities::SemanticHighlightingCapabilities semanticHighlight;
|
TextDocumentClientCapabilities::SemanticHighlightingCapabilities semanticHighlight;
|
||||||
|
Reference in New Issue
Block a user