File indexing completed on 2024-11-24 04:52:44
0001 /* 0002 * Copyright (C) 2018 Christian Mollekopf <mollekopf@kolabsys.com> 0003 * 0004 * This program is free software; you can redistribute it and/or modify 0005 * it under the terms of the GNU General Public License as published by 0006 * the Free Software Foundation; either version 2 of the License, or 0007 * (at your option) any later version. 0008 * 0009 * This program is distributed in the hope that it will be useful, 0010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 * GNU General Public License for more details. 0013 * 0014 * You should have received a copy of the GNU General Public License 0015 * along with this program; if not, write to the 0016 * Free Software Foundation, Inc., 0017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 0018 */ 0019 #pragma once 0020 0021 #include <QString> 0022 #include <functional> 0023 #include <vector> 0024 0025 /* 0026 * Wrapper for linenoise. 0027 * 0028 * Because global variables in header files don't work when included from multiple places. 0029 */ 0030 namespace Commandline { 0031 void loadHistory(const QString &); 0032 void saveHistory(const QString &); 0033 void addHistory(const std::string &); 0034 void setCompletionCallback(std::function<void (const char*, std::vector<std::string>&)>); 0035 bool readline(const char *prompt, std::string &line); 0036 };