File indexing completed on 2024-04-21 03:57:50

0001 /*
0002     SPDX-FileCopyrightText: 2019 Dominik Haumann <dhaumann@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "variable.h"
0008 
0009 namespace KTextEditor
0010 {
0011 Variable::Variable(const QString &name, const QString &description, Variable::ExpandFunction func, bool isPrefixMatch)
0012     : m_name(name)
0013     , m_description(description)
0014     , m_function(std::move(func))
0015     , m_isPrefixMatch(isPrefixMatch)
0016 {
0017 }
0018 
0019 bool Variable::isValid() const
0020 {
0021     return (!m_name.isEmpty()) && (m_function != nullptr);
0022 }
0023 
0024 bool Variable::isPrefixMatch() const
0025 {
0026     return m_isPrefixMatch;
0027 }
0028 
0029 QString Variable::name() const
0030 {
0031     return m_name;
0032 }
0033 
0034 QString Variable::description() const
0035 {
0036     return m_description;
0037 }
0038 
0039 QString Variable::evaluate(const QStringView &prefix, KTextEditor::View *view) const
0040 {
0041     return isValid() ? m_function(prefix, view) : QString();
0042 }
0043 
0044 }