File indexing completed on 2024-04-21 15:24:07
0001 /* 0002 SPDX-FileCopyrightText: 2006-2008 Hamish Rodda <rodda@kde.org> 0003 SPDX-FileCopyrightText: 2007-2008 David Nolden <david.nolden.kdevelop@art-master.de> 0004 SPDX-FileCopyrightText: 2008 Niko Sams <niko.sams@gmail.com> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #ifndef PHPCODECOMPLETIONMODEL_H 0010 #define PHPCODECOMPLETIONMODEL_H 0011 0012 #include <QPair> 0013 #include <QMap> 0014 #include <QPointer> 0015 0016 #include <KTextEditor/CodeCompletionModelControllerInterface> 0017 0018 #include <language/codecompletion/codecompletionmodel.h> 0019 #include <language/duchain/duchainpointer.h> 0020 0021 #include "context.h" 0022 0023 namespace Php 0024 { 0025 0026 class KDEVPHPCOMPLETION_EXPORT CodeCompletionModel : public KDevelop::CodeCompletionModel 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 CodeCompletionModel(QObject* parent = nullptr); 0032 ~CodeCompletionModel() override; 0033 0034 bool shouldAbortCompletion(KTextEditor::View* view, 0035 const KTextEditor::Range &range, 0036 const QString ¤tCompletion) override; 0037 0038 KTextEditor::Range completionRange(KTextEditor::View* view, 0039 const KTextEditor::Cursor &position) override; 0040 0041 protected: 0042 KDevelop::CodeCompletionWorker* createCompletionWorker() override; 0043 }; 0044 0045 } 0046 0047 #endif 0048