Warning, file /utilities/kate/addons/latexunicodecompletion/completionmodel.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     SPDX-FileCopyrightText: 2021 Ilia Kats <ilia-kats@gmx.net>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QModelIndex>
0010 
0011 #include <KTextEditor/CodeCompletionModel>
0012 #include <KTextEditor/CodeCompletionModelControllerInterface>
0013 #include <KTextEditor/Cursor>
0014 #include <KTextEditor/Range>
0015 
0016 namespace KTextEditor
0017 {
0018 class View;
0019 }
0020 
0021 struct Completion;
0022 class LatexCompletionModel : public KTextEditor::CodeCompletionModel, public KTextEditor::CodeCompletionModelControllerInterface
0023 {
0024     Q_OBJECT
0025     Q_INTERFACES(KTextEditor::CodeCompletionModelControllerInterface)
0026 public:
0027     explicit LatexCompletionModel(QObject *parent);
0028     KTextEditor::Range completionRange(KTextEditor::View *view, const KTextEditor::Cursor &position) override;
0029     bool shouldStartCompletion(KTextEditor::View *view, const QString &insertedText, bool userInsertion, const KTextEditor::Cursor &position) override;
0030     bool shouldAbortCompletion(KTextEditor::View *view, const KTextEditor::Range &range, const QString &currentCompletion) override;
0031     void completionInvoked(KTextEditor::View *view, const KTextEditor::Range &range, InvocationType invocationType) override;
0032     void executeCompletionItem(KTextEditor::View *view, const KTextEditor::Range &word, const QModelIndex &index) const override;
0033     inline KTextEditor::CodeCompletionModelControllerInterface::MatchReaction matchingItem(const QModelIndex &) override
0034     {
0035         return None;
0036     };
0037     QVariant data(const QModelIndex &index, int role) const override;
0038 
0039 private:
0040     QPair<int, int> m_matches = {0, 0};
0041 };