degesch: show help for program options
This commit is contained in:
parent
bef6b42d9e
commit
f308b3fb5d
31
degesch.c
31
degesch.c
|
@ -3886,9 +3886,9 @@ static struct command_handler
|
||||||
g_command_handlers[] =
|
g_command_handlers[] =
|
||||||
{
|
{
|
||||||
{ "help", handle_command_help, "Show help",
|
{ "help", handle_command_help, "Show help",
|
||||||
"[command]" },
|
"[<command> | <option>]" },
|
||||||
{ "quit", handle_command_quit, "Quit the program",
|
{ "quit", handle_command_quit, "Quit the program",
|
||||||
"[message]" },
|
"[<message>]" },
|
||||||
{ "buffer", handle_command_buffer, "Manage buffers",
|
{ "buffer", handle_command_buffer, "Manage buffers",
|
||||||
"list | clear | move | { close [<number> | <name>] } | <number>" },
|
"list | clear | move | { close [<number> | <name>] } | <number>" },
|
||||||
|
|
||||||
|
@ -3964,8 +3964,33 @@ handle_command_help (struct app_context *ctx, char *arguments)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct config_item_ *item =
|
||||||
|
config_item_get (ctx->config.root, command, NULL);
|
||||||
|
if (item)
|
||||||
|
{
|
||||||
|
struct config_schema *schema = item->schema;
|
||||||
|
buffer_send_status (ctx, ctx->global_buffer, "%s", "");
|
||||||
|
buffer_send_status (ctx, ctx->global_buffer,
|
||||||
|
"Option \"%s\":", command);
|
||||||
|
buffer_send_status (ctx, ctx->global_buffer,
|
||||||
|
" Description: %s", schema->comment);
|
||||||
|
buffer_send_status (ctx, ctx->global_buffer,
|
||||||
|
" Type: %s", config_item_type_name (schema->type));
|
||||||
|
buffer_send_status (ctx, ctx->global_buffer,
|
||||||
|
" Default: %s", schema->default_ ? schema->default_ : "null");
|
||||||
|
|
||||||
|
struct str tmp;
|
||||||
|
str_init (&tmp);
|
||||||
|
config_item_write (item, false, &tmp);
|
||||||
|
buffer_send_status (ctx, ctx->global_buffer,
|
||||||
|
" Current value: %s", tmp.str);
|
||||||
|
str_free (&tmp);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
buffer_send_error (ctx, ctx->global_buffer,
|
buffer_send_error (ctx, ctx->global_buffer,
|
||||||
"%s: %s", "No such command", command);
|
"%s: %s", "No such command or option", command);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue