summaryrefslogtreecommitdiff
path: root/src/input_handler.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-09-12 23:47:23 +0200
committerMaxime Coste <frrrwww@gmail.com>2013-09-12 23:47:23 +0200
commit823812fd1ae92def5b42fdb7a5468281ffc0b40f (patch)
tree97f26a6bdaa5307b02813a5c8f2839c26f1315f9 /src/input_handler.hh
parentac7e437730ecbe32f9e4e168a3ee4a7b7f3cd761 (diff)
rename InputHandler to Client
Diffstat (limited to 'src/input_handler.hh')
-rw-r--r--src/input_handler.hh99
1 files changed, 0 insertions, 99 deletions
diff --git a/src/input_handler.hh b/src/input_handler.hh
deleted file mode 100644
index b4431a70..00000000
--- a/src/input_handler.hh
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef input_handler_hh_INCLUDED
-#define input_handler_hh_INCLUDED
-
-#include "color.hh"
-#include "completion.hh"
-#include "context.hh"
-#include "editor.hh"
-#include "keys.hh"
-#include "string.hh"
-#include "utils.hh"
-
-namespace Kakoune
-{
-
-class Editor;
-
-enum class MenuEvent
-{
- Select,
- Abort,
- Validate
-};
-using MenuCallback = std::function<void (int, MenuEvent, Context&)>;
-
-enum class PromptEvent
-{
- Change,
- Abort,
- Validate
-};
-using PromptCallback = std::function<void (const String&, PromptEvent, Context&)>;
-using KeyCallback = std::function<void (Key, Context&)>;
-
-class InputMode;
-enum class InsertMode : unsigned;
-
-class InputHandler : public SafeCountable
-{
-public:
- InputHandler(std::unique_ptr<UserInterface>&& ui, Editor& editor, String name);
- ~InputHandler();
-
- // switch to insert mode
- void insert(InsertMode mode);
- // repeat last insert mode key sequence
- void repeat_last_insert();
-
- // enter prompt mode, callback is called on each change,
- // abort or validation with corresponding PromptEvent value
- // returns to normal mode after validation if callback does
- // not change the mode itself
- void prompt(const String& prompt, ColorPair prompt_colors,
- Completer completer, PromptCallback callback);
- void set_prompt_colors(ColorPair prompt_colors);
-
- // enter menu mode, callback is called on each selection change,
- // abort or validation with corresponding MenuEvent value
- // returns to normal mode after validation if callback does
- // not change the mode itself
- void menu(memoryview<String> choices,
- MenuCallback callback);
-
- // execute callback on next keypress and returns to normal mode
- // if callback does not change the mode itself
- void on_next_key(KeyCallback callback);
-
- // process the given key
- void handle_key(Key key);
-
- void start_recording(char reg);
- bool is_recording() const;
- void stop_recording();
-
- Context& context() { return m_context; }
- const String& name() const { return m_name; }
-
- UserInterface& ui() const { return *m_ui; }
-private:
- Context m_context;
- friend class InputMode;
- friend class ClientManager;
- std::unique_ptr<UserInterface> m_ui;
- std::unique_ptr<InputMode> m_mode;
- std::vector<std::unique_ptr<InputMode>> m_mode_trash;
-
- String m_name;
-
- using Insertion = std::pair<InsertMode, std::vector<Key>>;
- Insertion m_last_insert = {InsertMode::Insert, {}};
-
- char m_recording_reg = 0;
- String m_recorded_keys;
-};
-
-struct prompt_aborted {};
-
-}
-
-#endif // input_handler_hh_INCLUDED