File indexing completed on 2024-05-05 16:17:47

0001 /*
0002     SPDX-FileCopyrightText: KDE Developers
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KATE_VI_INPUT_MODE_FACTORY_H
0008 #define KATE_VI_INPUT_MODE_FACTORY_H
0009 
0010 #include <memory>
0011 
0012 #include "kateabstractinputmodefactory.h"
0013 
0014 namespace KateVi
0015 {
0016 class GlobalState;
0017 }
0018 class KateViInputMode;
0019 
0020 class KateViInputModeFactory : public KateAbstractInputModeFactory
0021 {
0022     friend KateViInputMode;
0023 
0024 public:
0025     KateViInputModeFactory();
0026 
0027     KateAbstractInputMode *createInputMode(KateViewInternal *viewInternal) override;
0028 
0029     QString name() override;
0030     KTextEditor::View::InputMode inputMode() override;
0031 
0032     KateConfigPage *createConfigPage(QWidget *) override;
0033 
0034 private:
0035     std::unique_ptr<KateVi::GlobalState> m_viGlobal;
0036 };
0037 
0038 #endif