1#ifndef YAZE_SRC_CLI_SERVICE_AGENT_ENHANCED_TUI_H_
2#define YAZE_SRC_CLI_SERVICE_AGENT_ENHANCED_TUI_H_
9#include "absl/status/status.h"
10#include "absl/status/statusor.h"
118 const std::string& sender =
"User",
119 bool is_error =
false);
123 const std::string& tool_name);
132 void ShowHelp(
const std::string& command);
136 std::function<absl::Status(
const std::vector<std::string>&)> handler,
137 const std::string& description =
"");
173 void ExecuteCommand(
const std::string& command,
const std::vector<std::string>& args);
182 std::string
TruncateText(
const std::string& text,
int max_width)
const;
183 std::vector<std::string>
WrapText(
const std::string& text,
int width)
const;
207 std::map<std::string, std::function<absl::Status(
const std::vector<std::string>&)>>
commands_;
212 std::map<TUITheme, std::map<TUIComponent, TUIStyle>>
themes_;
251 virtual absl::StatusOr<std::string>
PromptUser(
const std::string& ) {
253 return absl::UnimplementedError(
"Interactive prompting not yet implemented");
271 void AddCommand(
const std::string& command,
const std::string& description);
The Rom class is used to load, save, and modify Rom data.
Enhanced Terminal User Interface for z3ed CLI.
void UpdateStatusBar(const std::string &status)
struct yaze::cli::agent::EnhancedTUI::Layout layout_
std::vector< std::string > output_history_
void HandleNormalKey(int key)
std::vector< std::string > GetCommandSuggestions(const std::string &partial)
void SetRomContext(Rom *rom)
void HandleCommandPaletteKey(int key)
void DisplayToolOutput(const std::string &output, const std::string &tool_name)
void LoadTheme(TUITheme theme)
void RegisterCommand(const std::string &name, std::function< absl::Status(const std::vector< std::string > &)> handler, const std::string &description="")
absl::Status ProcessCommand(const std::string &input)
bool terminal_initialized_
std::map< TUIComponent, TUIStyle > styles_
void HandleKeyPress(int key)
std::string TruncateText(const std::string &text, int max_width) const
std::map< std::string, std::function< absl::Status(const std::vector< std::string > &)> > commands_
void DrawCommandPalette()
const TUIConfig & GetConfig() const
void DisplaySuggestions(const std::vector< std::string > &suggestions)
std::vector< std::string > palette_matches_
void DisplayMessage(const std::string &message, const std::string &sender="User", bool is_error=false)
void ShowHelp(const std::string &command)
std::string FormatTimestamp() const
std::string ApplyStyle(const std::string &text, const TUIStyle &style) const
std::vector< std::string > WrapText(const std::string &text, int width) const
absl::Status HandleInput()
void SetConfig(const TUIConfig &config)
void ExecuteCommand(const std::string &command, const std::vector< std::string > &args)
absl::Status Initialize()
std::string current_input_
std::string palette_filter_
TUIStyle GetStyle(TUIComponent component) const
std::map< std::string, std::string > command_descriptions_
std::vector< std::string > command_history_
void UpdatePaletteMatches()
void HandleMouseEvent(int x, int y, int button)
std::map< TUITheme, std::map< TUIComponent, TUIStyle > > themes_
Advanced autocomplete system for the TUI.
std::map< std::string, std::string > commands_
std::vector< std::string > recent_commands_
std::vector< std::string > GetFuzzyMatches(const std::string &query)
std::map< std::string, int > usage_count_
std::vector< std::string > GetCompletions(const std::string &partial)
void LearnFromInput(const std::string &input)
void AddCommand(const std::string &command, const std::string &description)
Base class for TUI-integrated command handlers.
TUICommandHandler(EnhancedTUI *tui)
virtual void DisplayProgress(const std::string &message)
virtual void DisplayRichOutput(const std::string &output)
virtual std::string GetCommandName() const =0
virtual absl::StatusOr< std::string > PromptUser(const std::string &)
Base class for CLI command handlers.
TUITheme
Visual themes for the enhanced TUI.
TUIComponent
Different UI components in the enhanced TUI.
std::string TUIThemeToString(TUITheme theme)
Main namespace for the application.
Configuration for the enhanced TUI.
bool enable_syntax_highlighting
bool enable_mouse_support
std::string continuation_prompt
Visual styling configuration for TUI components.
std::string background_color
std::string foreground_color