1#ifndef YAZE_APP_EDITOR_SYSTEM_COMMAND_PALETTE_H_
2#define YAZE_APP_EDITOR_SYSTEM_COMMAND_PALETTE_H_
6#include <unordered_map>
19 static constexpr const char*
kPanel =
"Panels";
20 static constexpr const char*
kEditor =
"Editor";
21 static constexpr const char*
kLayout =
"Layout";
22 static constexpr const char*
kFile =
"File";
23 static constexpr const char*
kEdit =
"Edit";
24 static constexpr const char*
kView =
"View";
26 static constexpr const char*
kTools =
"Tools";
27 static constexpr const char*
kHelp =
"Help";
42 void AddCommand(
const std::string& name,
const std::string& category,
43 const std::string& description,
const std::string& shortcut,
44 std::function<
void()> callback);
48 std::vector<CommandEntry>
SearchCommands(
const std::string& query);
86 std::function<
void(
const std::string&)> switch_callback);
93 std::function<
void(
const std::string&)> apply_callback);
103 std::function<
void(
const std::string&)> open_callback);
125 static int FuzzyScore(
const std::string& text,
const std::string& query);
128 std::unordered_map<std::string, CommandEntry>
commands_;
std::vector< CommandEntry > SearchCommands(const std::string &query)
void RegisterDungeonRoomCommands(size_t session_id)
Register dungeon room navigation commands.
void RegisterPanelCommands(PanelManager *panel_manager, size_t session_id)
Register all panel toggle commands from PanelManager.
void SaveHistory(const std::string &filepath)
Save command usage history to disk.
void Clear()
Clear all commands.
void RegisterLayoutCommands(std::function< void(const std::string &)> apply_callback)
Register layout preset commands.
void AddCommand(const std::string &name, const std::string &category, const std::string &description, const std::string &shortcut, std::function< void()> callback)
size_t GetCommandCount() const
Get command count.
void LoadHistory(const std::string &filepath)
Load command usage history from disk.
std::vector< CommandEntry > GetAllCommands() const
Get all registered commands.
void RecordUsage(const std::string &name)
std::unordered_map< std::string, CommandEntry > commands_
void RegisterEditorCommands(std::function< void(const std::string &)> switch_callback)
Register all editor switch commands.
std::vector< CommandEntry > GetRecentCommands(int limit=10)
void RegisterRecentFilesCommands(std::function< void(const std::string &)> open_callback)
Register commands to open recent files.
std::vector< CommandEntry > GetFrequentCommands(int limit=10)
static int FuzzyScore(const std::string &text, const std::string &query)
Central registry for all editor cards with session awareness and dependency injection.
Categories for command palette entries.
static constexpr const char * kTools
static constexpr const char * kLayout
static constexpr const char * kFile
static constexpr const char * kView
static constexpr const char * kEditor
static constexpr const char * kHelp
static constexpr const char * kEdit
static constexpr const char * kPanel
static constexpr const char * kNavigation
std::function< void()> callback