1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/*
SPDX-FileCopyrightText: 2009 Milian Wolff <mail@milianw.de>
Based on Cpp ImplementationHelperItem
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#ifndef KEYWORDITEM_H
#define KEYWORDITEM_H
#include "item.h"
using namespace KDevelop;
namespace Php
{
class KeywordItem : public NormalDeclarationCompletionItem
{
public:
/// Use @p customReplacement for additional power on how the keyword gets replaced.
/// Newlines will be indented to the indentation level of the line we execute the item on.
/// To increase an indentation level, use %INDENT%. To place the cursor, use %CURSOR%.
/// Alternatively you can select a word with %SELECT%word%SELECT%
///
/// NOTE: By default (i.e. when this function never gets called) @p keyword will be used as replacement.
explicit KeywordItem(const QString &keyword,
QExplicitlySharedDataPointer<Php::CodeCompletionContext> context = {},
const QString &customReplacement = QString())
: NormalDeclarationCompletionItem(KDevelop::DeclarationPointer(), context, 0),
m_keyword(keyword), m_replacement(customReplacement) {}
void execute(KTextEditor::View* view,
const KTextEditor::Range& word) override;
QVariant data(const QModelIndex& index,
int role,
const KDevelop::CodeCompletionModel* model) const override;
private:
const QString m_keyword;
QString m_replacement;
};
}
#endif // KEYWORDITEM_H
|