#pragma once #include "definitions.h" #include "internal/buffer/buffer.h" #include "internal/commands/commands.h" #include "internal/commands/suffixes.h" #include "internal/marks/marks.h" #include "pch.h" namespace bed { struct BEd { internal::trie::Trie commands; internal::commands::Command no_op; internal::commands::Command eof_op; std::array, 26> suffixes; bool help_mode = false; std::string last_help = ""; bool prompt_mode = true; std::function prompt = nullptr; bool suppress_mode = false; std::string last_regex = ""; std::unordered_map buffers; internal::buffer::Buffer *active; BEd(std::vector args); ~BEd(); void handle(std::string_view cmd, bool eof); void run(); }; } // namespace bed