forked from qt-creator/qt-creator
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:
@@ -554,7 +554,7 @@ void Client::cursorPositionChanged(TextEditor::TextEditorWidget *widget)
|
|||||||
void Client::requestCodeActions(const DocumentUri &uri, const QList<Diagnostic> &diagnostics)
|
void Client::requestCodeActions(const DocumentUri &uri, const QList<Diagnostic> &diagnostics)
|
||||||
{
|
{
|
||||||
const Utils::FileName fileName = uri.toFileName();
|
const Utils::FileName fileName = uri.toFileName();
|
||||||
TextEditor::TextDocument *doc = textDocumentForFileName(fileName);
|
TextEditor::TextDocument *doc = TextEditor::TextDocument::textDocumentForFileName(fileName);
|
||||||
if (!doc)
|
if (!doc)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -811,7 +811,8 @@ void Client::showMessageBox(const ShowMessageRequestParams &message, const Messa
|
|||||||
|
|
||||||
void Client::showDiagnostics(const DocumentUri &uri)
|
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))
|
for (TextMark *mark : m_diagnostics.value(uri))
|
||||||
doc->addMark(mark);
|
doc->addMark(mark);
|
||||||
}
|
}
|
||||||
@@ -819,7 +820,8 @@ void Client::showDiagnostics(const DocumentUri &uri)
|
|||||||
|
|
||||||
void Client::removeDiagnostics(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)) {
|
for (TextMark *mark : m_diagnostics.take(uri)) {
|
||||||
if (doc)
|
if (doc)
|
||||||
|
@@ -40,6 +40,7 @@
|
|||||||
|
|
||||||
using namespace LanguageServerProtocol;
|
using namespace LanguageServerProtocol;
|
||||||
using namespace Utils;
|
using namespace Utils;
|
||||||
|
using namespace TextEditor;
|
||||||
|
|
||||||
namespace LanguageClient {
|
namespace LanguageClient {
|
||||||
|
|
||||||
@@ -72,7 +73,7 @@ bool applyTextDocumentEdit(const TextDocumentEdit &edit)
|
|||||||
if (edits.isEmpty())
|
if (edits.isEmpty())
|
||||||
return true;
|
return true;
|
||||||
const DocumentUri &uri = edit.id().uri();
|
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();
|
LanguageClientValue<int> version = edit.id().version();
|
||||||
if (!version.isNull() && version.value(0) < doc->document()->revision())
|
if (!version.isNull() && version.value(0) < doc->document()->revision())
|
||||||
return false;
|
return false;
|
||||||
@@ -84,14 +85,14 @@ bool applyTextEdits(const DocumentUri &uri, const QList<TextEdit> &edits)
|
|||||||
{
|
{
|
||||||
if (edits.isEmpty())
|
if (edits.isEmpty())
|
||||||
return true;
|
return true;
|
||||||
TextEditor::RefactoringChanges changes;
|
RefactoringChanges changes;
|
||||||
TextEditor::RefactoringFilePtr file;
|
RefactoringFilePtr file;
|
||||||
file = changes.file(uri.toFileName().toString());
|
file = changes.file(uri.toFileName().toString());
|
||||||
file->setChangeSet(editsToChangeSet(edits, file->document()));
|
file->setChangeSet(editsToChangeSet(edits, file->document()));
|
||||||
return file->apply();
|
return file->apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
void applyTextEdit(TextEditor::TextDocumentManipulatorInterface &manipulator, const TextEdit &edit)
|
void applyTextEdit(TextDocumentManipulatorInterface &manipulator, const TextEdit &edit)
|
||||||
{
|
{
|
||||||
using namespace Utils::Text;
|
using namespace Utils::Text;
|
||||||
const Range range = edit.range();
|
const Range range = edit.range();
|
||||||
@@ -118,12 +119,6 @@ bool applyWorkspaceEdit(const WorkspaceEdit &edit)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
TextEditor::TextDocument *textDocumentForFileName(const FileName &fileName)
|
|
||||||
{
|
|
||||||
return qobject_cast<TextEditor::TextDocument *>(
|
|
||||||
Core::DocumentModel::documentForFilePath(fileName.toString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
QTextCursor endOfLineCursor(const QTextCursor &cursor)
|
QTextCursor endOfLineCursor(const QTextCursor &cursor)
|
||||||
{
|
{
|
||||||
QTextCursor ret = cursor;
|
QTextCursor ret = cursor;
|
||||||
@@ -135,8 +130,7 @@ void updateCodeActionRefactoringMarker(Client *client,
|
|||||||
const CodeAction &action,
|
const CodeAction &action,
|
||||||
const DocumentUri &uri)
|
const DocumentUri &uri)
|
||||||
{
|
{
|
||||||
using namespace TextEditor;
|
TextDocument* doc = TextDocument::textDocumentForFileName(uri.toFileName());
|
||||||
TextDocument* doc = textDocumentForFileName(uri.toFileName());
|
|
||||||
if (!doc)
|
if (!doc)
|
||||||
return;
|
return;
|
||||||
BaseTextEditor *editor = BaseTextEditor::textEditorForDocument(doc);
|
BaseTextEditor *editor = BaseTextEditor::textEditorForDocument(doc);
|
||||||
|
@@ -45,7 +45,6 @@ bool applyTextEdits(const LanguageServerProtocol::DocumentUri &uri,
|
|||||||
const QList<LanguageServerProtocol::TextEdit> &edits);
|
const QList<LanguageServerProtocol::TextEdit> &edits);
|
||||||
void applyTextEdit(TextEditor::TextDocumentManipulatorInterface &manipulator,
|
void applyTextEdit(TextEditor::TextDocumentManipulatorInterface &manipulator,
|
||||||
const LanguageServerProtocol::TextEdit &edit);
|
const LanguageServerProtocol::TextEdit &edit);
|
||||||
TextEditor::TextDocument *textDocumentForFileName(const Utils::FileName &fileName);
|
|
||||||
void updateCodeActionRefactoringMarker(Client *client,
|
void updateCodeActionRefactoringMarker(Client *client,
|
||||||
const LanguageServerProtocol::CodeAction &action,
|
const LanguageServerProtocol::CodeAction &action,
|
||||||
const LanguageServerProtocol::DocumentUri &uri);
|
const LanguageServerProtocol::DocumentUri &uri);
|
||||||
|
@@ -299,6 +299,11 @@ TextDocument *TextDocument::currentTextDocument()
|
|||||||
return qobject_cast<TextDocument *>(EditorManager::currentDocument());
|
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
|
QString TextDocument::plainText() const
|
||||||
{
|
{
|
||||||
return document()->toPlainText();
|
return document()->toPlainText();
|
||||||
|
@@ -70,6 +70,7 @@ public:
|
|||||||
static QMap<QString, QString> openedTextDocumentContents();
|
static QMap<QString, QString> openedTextDocumentContents();
|
||||||
static QMap<QString, QTextCodec *> openedTextDocumentEncodings();
|
static QMap<QString, QTextCodec *> openedTextDocumentEncodings();
|
||||||
static TextDocument *currentTextDocument();
|
static TextDocument *currentTextDocument();
|
||||||
|
static TextDocument *textDocumentForFileName(const Utils::FileName &fileName);
|
||||||
|
|
||||||
virtual QString plainText() const;
|
virtual QString plainText() const;
|
||||||
virtual QString textAt(int pos, int length) const;
|
virtual QString textAt(int pos, int length) const;
|
||||||
|
@@ -361,10 +361,7 @@ TextMarkRegistry::TextMarkRegistry(QObject *parent)
|
|||||||
void TextMarkRegistry::add(TextMark *mark)
|
void TextMarkRegistry::add(TextMark *mark)
|
||||||
{
|
{
|
||||||
instance()->m_marks[mark->fileName()].insert(mark);
|
instance()->m_marks[mark->fileName()].insert(mark);
|
||||||
auto document = qobject_cast<TextDocument *>(
|
if (TextDocument *document = TextDocument::textDocumentForFileName(mark->fileName()))
|
||||||
DocumentModel::documentForFilePath(mark->fileName().toString()));
|
|
||||||
if (!document)
|
|
||||||
return;
|
|
||||||
document->addMark(mark);
|
document->addMark(mark);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user