feat: Add Vim Mode and Autocomplete Features to Simple Chat
- Implemented vim-style line editing in the simple chat interface, allowing users to navigate and edit text using familiar vim commands. - Introduced an autocomplete system in the FTXUI chat, providing real-time command suggestions and fuzzy matching for improved user experience. - Updated documentation to reflect new features and usage instructions for vim mode and autocomplete functionality. - Enhanced the TUI with autocomplete UI components for better interaction and command input.
This commit is contained in:
33
src/cli/tui/autocomplete_ui.h
Normal file
33
src/cli/tui/autocomplete_ui.h
Normal file
@@ -0,0 +1,33 @@
|
||||
#ifndef YAZE_CLI_TUI_AUTOCOMPLETE_UI_H_
|
||||
#define YAZE_CLI_TUI_AUTOCOMPLETE_UI_H_
|
||||
|
||||
#include <ftxui/component/component.hpp>
|
||||
#include <ftxui/component/screen_interactive.hpp>
|
||||
#include "cli/util/autocomplete.h"
|
||||
|
||||
namespace yaze {
|
||||
namespace cli {
|
||||
|
||||
/**
|
||||
* @brief Create an input component with autocomplete suggestions
|
||||
*
|
||||
* @param input_str Pointer to the input string
|
||||
* @param engine Pointer to the autocomplete engine
|
||||
* @return ftxui::Component Input component with autocomplete dropdown
|
||||
*/
|
||||
ftxui::Component CreateAutocompleteInput(std::string* input_str,
|
||||
AutocompleteEngine* engine);
|
||||
|
||||
/**
|
||||
* @brief Create a quick action menu for common ROM operations
|
||||
*
|
||||
* @param screen The screen interactive reference
|
||||
* @return ftxui::Component Menu component with quick actions
|
||||
*/
|
||||
ftxui::Component CreateQuickActionMenu(ftxui::ScreenInteractive& screen);
|
||||
|
||||
} // namespace cli
|
||||
} // namespace yaze
|
||||
|
||||
#endif // YAZE_CLI_TUI_AUTOCOMPLETE_UI_H_
|
||||
|
||||
Reference in New Issue
Block a user