LanguageClient: export LanguageClientCompletionItem

Change-Id: Idc1a222d18e2fc64bd33c9bc89e60178c83ee856
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
David Schulz
2021-09-15 15:30:50 +02:00
parent be6ea67bfd
commit bd39697ca4
2 changed files with 36 additions and 33 deletions

View File

@@ -31,7 +31,6 @@
#include <languageserverprotocol/completion.h> #include <languageserverprotocol/completion.h>
#include <texteditor/codeassist/assistinterface.h> #include <texteditor/codeassist/assistinterface.h>
#include <texteditor/codeassist/assistproposalitem.h>
#include <texteditor/codeassist/genericproposal.h> #include <texteditor/codeassist/genericproposal.h>
#include <texteditor/codeassist/genericproposalmodel.h> #include <texteditor/codeassist/genericproposalmodel.h>
#include <texteditor/snippets/snippet.h> #include <texteditor/snippets/snippet.h>
@@ -55,38 +54,6 @@ using namespace TextEditor;
namespace LanguageClient { namespace LanguageClient {
class LanguageClientCompletionItem : public AssistProposalItemInterface
{
public:
LanguageClientCompletionItem(CompletionItem item, const CompletionApplyHelper &applyHelper);
// AssistProposalItemInterface interface
QString text() const override;
QString filterText() const override;
bool implicitlyApplies() const override;
bool prematurelyApplies(const QChar &typedCharacter) const override;
void apply(TextDocumentManipulatorInterface &manipulator, int basePosition) const override;
QIcon icon() const override;
QString detail() const override;
bool isSnippet() const override;
bool isValid() const override;
quint64 hash() const override;
const QString &sortText() const;
bool hasSortText() const;
bool operator <(const LanguageClientCompletionItem &other) const;
bool isPerfectMatch(int pos, QTextDocument *doc) const;
private:
CompletionItem m_item;
const CompletionApplyHelper m_applyHelper;
mutable QChar m_triggeredCommitCharacter;
mutable QString m_sortText;
mutable QString m_filterText;
};
LanguageClientCompletionItem::LanguageClientCompletionItem(CompletionItem item, LanguageClientCompletionItem::LanguageClientCompletionItem(CompletionItem item,
const CompletionApplyHelper &applyHelper) const CompletionApplyHelper &applyHelper)
: m_item(std::move(item)), m_applyHelper(applyHelper) : m_item(std::move(item)), m_applyHelper(applyHelper)

View File

@@ -28,6 +28,7 @@
#include "languageclient_global.h" #include "languageclient_global.h"
#include <languageserverprotocol/completion.h> #include <languageserverprotocol/completion.h>
#include <texteditor/codeassist/assistproposaliteminterface.h>
#include <texteditor/codeassist/completionassistprovider.h> #include <texteditor/codeassist/completionassistprovider.h>
#include <texteditor/codeassist/iassistprocessor.h> #include <texteditor/codeassist/iassistprocessor.h>
@@ -121,4 +122,39 @@ private:
int m_basePos = -1; int m_basePos = -1;
}; };
class LANGUAGECLIENT_EXPORT LanguageClientCompletionItem
: public TextEditor::AssistProposalItemInterface
{
public:
LanguageClientCompletionItem(LanguageServerProtocol::CompletionItem item,
const CompletionApplyHelper &applyHelper);
// AssistProposalItemInterface interface
QString text() const override;
QString filterText() const override;
bool implicitlyApplies() const override;
bool prematurelyApplies(const QChar &typedCharacter) const override;
void apply(TextEditor::TextDocumentManipulatorInterface &manipulator,
int basePosition) const override;
QIcon icon() const override;
QString detail() const override;
bool isSnippet() const override;
bool isValid() const override;
quint64 hash() const override;
const QString &sortText() const;
bool hasSortText() const;
bool operator <(const LanguageClientCompletionItem &other) const;
bool isPerfectMatch(int pos, QTextDocument *doc) const;
private:
LanguageServerProtocol::CompletionItem m_item;
const CompletionApplyHelper m_applyHelper;
mutable QChar m_triggeredCommitCharacter;
mutable QString m_sortText;
mutable QString m_filterText;
};
} // namespace LanguageClient } // namespace LanguageClient