1#ifndef YAZE_CLI_SERVICE_AGENT_VIM_MODE_H_
2#define YAZE_CLI_SERVICE_AGENT_VIM_MODE_H_
Vim-style line editing for z3ed CLI chat.
VimModeType GetMode() const
Get the current mode.
std::vector< std::string > redo_stack_
void HandleInsertMode(int ch)
void SwitchMode(VimModeType new_mode)
bool ProcessKey(int ch)
Process a key press.
void SetCommandSuggestionCallback(std::function< std::string(const std::string &)> callback)
Set command suggestion callback.
void HandleNormalMode(int ch)
void ShowSuggestion() const
void Reset()
Reset for new line.
std::string GetModeString() const
Get mode string for display.
std::vector< std::string > autocomplete_options_
std::vector< std::string > history_
void Render() const
Render the current line with syntax highlighting.
std::string current_line_
std::function< std::string(const std::string &)> command_suggestion_callback_
void SetAutoCompleteCallback(std::function< std::vector< std::string >(const std::string &)> callback)
Set autocomplete callback.
void AddToHistory(const std::string &line)
Add line to history.
std::function< std::vector< std::string >(const std::string &)> autocomplete_callback_
std::vector< std::string > undo_stack_
std::string GetLine() const
Get the current line being edited.
int GetCursorPos() const
Get cursor position.
VimModeType
Vim editing modes.
Main namespace for the application.