forked from qt-creator/qt-creator
LSP: add Command and CodeAction support to the language client
Change-Id: I9e86c17b87c6b6aef36bd0ca293d9db40c554aad Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -120,6 +120,19 @@ enum class TextDocumentSyncKind
|
||||
Incremental = 2
|
||||
};
|
||||
|
||||
class LANGUAGESERVERPROTOCOL_EXPORT CodeActionOptions : public JsonObject
|
||||
{
|
||||
public:
|
||||
using JsonObject::JsonObject;
|
||||
|
||||
QList<QString> codeActionKinds() const { return array<QString>(codeActionKindsKey); }
|
||||
void setCodeActionKinds(const QList<QString> &codeActionKinds)
|
||||
{ insertArray(codeActionKindsKey, codeActionKinds); }
|
||||
|
||||
bool isValid(QStringList *error) const override
|
||||
{ return checkArray<QString>(error, codeActionKindsKey); }
|
||||
};
|
||||
|
||||
class LANGUAGESERVERPROTOCOL_EXPORT ServerCapabilities : public JsonObject
|
||||
{
|
||||
public:
|
||||
@@ -305,10 +318,11 @@ public:
|
||||
void clearWorkspaceSymbolProvider() { remove(workspaceSymbolProviderKey); }
|
||||
|
||||
// The server provides code actions.
|
||||
Utils::optional<bool> codeActionProvider() const
|
||||
{ return optionalValue<bool>(codeActionProviderKey); }
|
||||
Utils::optional<Utils::variant<bool, CodeActionOptions>> codeActionProvider() const;
|
||||
void setCodeActionProvider(bool codeActionProvider)
|
||||
{ insert(codeActionProviderKey, codeActionProvider); }
|
||||
void setCodeActionProvider(CodeActionOptions options)
|
||||
{ insert(codeActionProviderKey, options); }
|
||||
void clearCodeActionProvider() { remove(codeActionProviderKey); }
|
||||
|
||||
// The server provides code lens.
|
||||
|
||||
Reference in New Issue
Block a user