move text document for file path convenience function

Move it from language client utils to a static function inside
the text document.

Change-Id: I91bc72d0e978c1d843082e12bb8a0fa60a1bbc5e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
David Schulz
2019-02-14 11:07:33 +01:00
parent fa4f925fda
commit b41b5a0714
6 changed files with 19 additions and 21 deletions

View File

@@ -554,7 +554,7 @@ void Client::cursorPositionChanged(TextEditor::TextEditorWidget *widget)
void Client::requestCodeActions(const DocumentUri &uri, const QList<Diagnostic> &diagnostics)
{
const Utils::FileName fileName = uri.toFileName();
TextEditor::TextDocument *doc = textDocumentForFileName(fileName);
TextEditor::TextDocument *doc = TextEditor::TextDocument::textDocumentForFileName(fileName);
if (!doc)
return;
@@ -811,7 +811,8 @@ void Client::showMessageBox(const ShowMessageRequestParams &message, const Messa
void Client::showDiagnostics(const DocumentUri &uri)
{
if (TextEditor::TextDocument *doc = textDocumentForFileName(uri.toFileName())) {
if (TextEditor::TextDocument *doc
= TextEditor::TextDocument::textDocumentForFileName(uri.toFileName())) {
for (TextMark *mark : m_diagnostics.value(uri))
doc->addMark(mark);
}
@@ -819,7 +820,8 @@ void Client::showDiagnostics(const DocumentUri &uri)
void Client::removeDiagnostics(const DocumentUri &uri)
{
TextEditor::TextDocument *doc = textDocumentForFileName(uri.toFileName());
TextEditor::TextDocument *doc
= TextEditor::TextDocument::textDocumentForFileName(uri.toFileName());
for (TextMark *mark : m_diagnostics.take(uri)) {
if (doc)

View File

@@ -40,6 +40,7 @@
using namespace LanguageServerProtocol;
using namespace Utils;
using namespace TextEditor;
namespace LanguageClient {
@@ -72,7 +73,7 @@ bool applyTextDocumentEdit(const TextDocumentEdit &edit)
if (edits.isEmpty())
return true;
const DocumentUri &uri = edit.id().uri();
if (TextEditor::TextDocument* doc = textDocumentForFileName(uri.toFileName())) {
if (TextDocument* doc = TextDocument::textDocumentForFileName(uri.toFileName())) {
LanguageClientValue<int> version = edit.id().version();
if (!version.isNull() && version.value(0) < doc->document()->revision())
return false;
@@ -84,14 +85,14 @@ bool applyTextEdits(const DocumentUri &uri, const QList<TextEdit> &edits)
{
if (edits.isEmpty())
return true;
TextEditor::RefactoringChanges changes;
TextEditor::RefactoringFilePtr file;
RefactoringChanges changes;
RefactoringFilePtr file;
file = changes.file(uri.toFileName().toString());
file->setChangeSet(editsToChangeSet(edits, file->document()));
return file->apply();
}
void applyTextEdit(TextEditor::TextDocumentManipulatorInterface &manipulator, const TextEdit &edit)
void applyTextEdit(TextDocumentManipulatorInterface &manipulator, const TextEdit &edit)
{
using namespace Utils::Text;
const Range range = edit.range();
@@ -118,12 +119,6 @@ bool applyWorkspaceEdit(const WorkspaceEdit &edit)
return result;
}
TextEditor::TextDocument *textDocumentForFileName(const FileName &fileName)
{
return qobject_cast<TextEditor::TextDocument *>(
Core::DocumentModel::documentForFilePath(fileName.toString()));
}
QTextCursor endOfLineCursor(const QTextCursor &cursor)
{
QTextCursor ret = cursor;
@@ -135,8 +130,7 @@ void updateCodeActionRefactoringMarker(Client *client,
const CodeAction &action,
const DocumentUri &uri)
{
using namespace TextEditor;
TextDocument* doc = textDocumentForFileName(uri.toFileName());
TextDocument* doc = TextDocument::textDocumentForFileName(uri.toFileName());
if (!doc)
return;
BaseTextEditor *editor = BaseTextEditor::textEditorForDocument(doc);

View File

@@ -45,7 +45,6 @@ bool applyTextEdits(const LanguageServerProtocol::DocumentUri &uri,
const QList<LanguageServerProtocol::TextEdit> &edits);
void applyTextEdit(TextEditor::TextDocumentManipulatorInterface &manipulator,
const LanguageServerProtocol::TextEdit &edit);
TextEditor::TextDocument *textDocumentForFileName(const Utils::FileName &fileName);
void updateCodeActionRefactoringMarker(Client *client,
const LanguageServerProtocol::CodeAction &action,
const LanguageServerProtocol::DocumentUri &uri);

View File

@@ -299,6 +299,11 @@ TextDocument *TextDocument::currentTextDocument()
return qobject_cast<TextDocument *>(EditorManager::currentDocument());
}
TextDocument *TextDocument::textDocumentForFileName(const Utils::FileName &fileName)
{
return qobject_cast<TextDocument *>(DocumentModel::documentForFilePath(fileName.toString()));
}
QString TextDocument::plainText() const
{
return document()->toPlainText();

View File

@@ -70,6 +70,7 @@ public:
static QMap<QString, QString> openedTextDocumentContents();
static QMap<QString, QTextCodec *> openedTextDocumentEncodings();
static TextDocument *currentTextDocument();
static TextDocument *textDocumentForFileName(const Utils::FileName &fileName);
virtual QString plainText() const;
virtual QString textAt(int pos, int length) const;

View File

@@ -361,11 +361,8 @@ TextMarkRegistry::TextMarkRegistry(QObject *parent)
void TextMarkRegistry::add(TextMark *mark)
{
instance()->m_marks[mark->fileName()].insert(mark);
auto document = qobject_cast<TextDocument *>(
DocumentModel::documentForFilePath(mark->fileName().toString()));
if (!document)
return;
document->addMark(mark);
if (TextDocument *document = TextDocument::textDocumentForFileName(mark->fileName()))
document->addMark(mark);
}
bool TextMarkRegistry::remove(TextMark *mark)