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 }