File indexing completed on 2024-05-05 04:36:49
0001 /* This file is part of KDevelop 0002 * 0003 * Copyright (C) 2012-2015 Miquel Sabaté Solà <mikisabate@gmail.com> 0004 * 0005 * This program is free software: you can redistribute it and/or modify 0006 * it under the terms of the GNU General Public License as published by 0007 * the Free Software Foundation, either version 3 of the License, or 0008 * (at your option) any later version. 0009 * 0010 * This program is distributed in the hope that it will be useful, 0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0013 * GNU General Public License for more details. 0014 * 0015 * You should have received a copy of the GNU General Public License 0016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0017 */ 0018 0019 0020 #ifndef RUBY_REQUIREFILEITEM_H 0021 #define RUBY_REQUIREFILEITEM_H 0022 0023 #include <language/codecompletion/abstractincludefilecompletionitem.h> 0024 #include <duchain/navigation/navigationwidget.h> 0025 0026 namespace ruby { 0027 0028 using BaseIncludeFileItem = 0029 KDevelop::AbstractIncludeFileCompletionItem<ruby::NavigationWidget>; 0030 0031 /** 0032 * @class RequireFileItem 0033 * This class is the completion item for completing required files. 0034 */ 0035 class RequireFileItem : public BaseIncludeFileItem 0036 { 0037 public: 0038 /// Constructor 0039 RequireFileItem(const KDevelop::IncludeItem &include, const char closing); 0040 0041 /// Re-implemented from KDevelop::AbstractIncludeFileCompletionItem 0042 void execute(KTextEditor::View *View, 0043 const KTextEditor::Range &word) override; 0044 0045 private: 0046 /// The character that may enclose this item. 0047 char m_closing; 0048 }; 0049 0050 } 0051 0052 #endif /* RUBY_REQUIREFILEITEM_H */