execute method
Execute the command.
Implementation
@override
Future<CommandResult> execute(String args, ToolUseContext context) async {
final parts = args.trim().split(RegExp(r'\s+'));
final subcommand = parts.isNotEmpty && parts[0].isNotEmpty
? parts[0]
: 'list';
switch (subcommand) {
case 'list':
return _listConfig();
case 'get':
if (parts.length < 2) {
return const TextCommandResult('Usage: /config get <key>');
}
return _getConfig(parts[1]);
case 'set':
if (parts.length < 3) {
return const TextCommandResult('Usage: /config set <key> <value>');
}
return _setConfig(parts[1], parts.sublist(2).join(' '));
default:
return TextCommandResult(
'Unknown subcommand: $subcommand\n'
'Usage: /config [list|get <key>|set <key> <value>]',
);
}
}