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)
|
||||
{
|
||||
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)
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user