LSP: Fix TextDocumentEdit member name

The VersionedTextDocumentIdentifier can be acccessed under textDocument
not id.

Change-Id: I9b3531532ed92885147525fa580c62d4b52f9c4b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2020-06-11 15:22:57 +02:00
parent 0575e1bbc2
commit 4766ad2d18
3 changed files with 8 additions and 7 deletions

View File

@@ -162,7 +162,7 @@ bool SymbolInformation::isValid(ErrorHierarchy *error) const
bool TextDocumentEdit::isValid(ErrorHierarchy *error) const
{
return check<VersionedTextDocumentIdentifier>(error, idKey)
return check<VersionedTextDocumentIdentifier>(error, textDocumentKey)
&& checkArray<TextEdit>(error, editsKey);
}

View File

@@ -271,9 +271,10 @@ public:
using JsonObject::JsonObject;
// The text document to change.
VersionedTextDocumentIdentifier id() const
{ return typedValue<VersionedTextDocumentIdentifier>(idKey); }
void setId(const VersionedTextDocumentIdentifier &id) { insert(idKey, id); }
VersionedTextDocumentIdentifier textDocument() const
{ return typedValue<VersionedTextDocumentIdentifier>(textDocumentKey); }
void setTextDocument(const VersionedTextDocumentIdentifier &textDocument)
{ insert(textDocumentKey, textDocument); }
// The edits to be applied.
QList<TextEdit> edits() const { return array<TextEdit>(editsKey); }

View File

@@ -81,9 +81,9 @@ bool applyTextDocumentEdit(const TextDocumentEdit &edit)
const QList<TextEdit> &edits = edit.edits();
if (edits.isEmpty())
return true;
const DocumentUri &uri = edit.id().uri();
const DocumentUri &uri = edit.textDocument().uri();
if (TextDocument* doc = TextDocument::textDocumentForFilePath(uri.toFilePath())) {
LanguageClientValue<int> version = edit.id().version();
LanguageClientValue<int> version = edit.textDocument().version();
if (!version.isNull() && version.value(0) < doc->document()->revision())
return false;
}
@@ -163,7 +163,7 @@ void updateCodeActionRefactoringMarker(Client *client,
if (optional<QList<TextDocumentEdit>> documentChanges = edit.documentChanges()) {
QList<TextDocumentEdit> changesForUri = Utils::filtered(
documentChanges.value(), [uri](const TextDocumentEdit &edit) {
return edit.id().uri() == uri;
return edit.textDocument().uri() == uri;
});
for (const TextDocumentEdit &edit : changesForUri)
edits << edit.edits();