object: Make option help nicer to read
Just like in qemu_opts_print_help(), print the object name as a caption instead of on every single line, indent all options, add angle brackets around types, and align the descriptions after 24 characters. Also, indent every object name in the list of available objects. Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
9c2762b406
commit
da3273adcd
13
vl.c
13
vl.c
@ -2743,7 +2743,7 @@ static bool object_create_initial(const char *type, QemuOpts *opts)
|
|||||||
list = object_class_get_list_sorted(TYPE_USER_CREATABLE, false);
|
list = object_class_get_list_sorted(TYPE_USER_CREATABLE, false);
|
||||||
for (l = list; l != NULL; l = l->next) {
|
for (l = list; l != NULL; l = l->next) {
|
||||||
ObjectClass *oc = OBJECT_CLASS(l->data);
|
ObjectClass *oc = OBJECT_CLASS(l->data);
|
||||||
printf("%s\n", object_class_get_name(oc));
|
printf(" %s\n", object_class_get_name(oc));
|
||||||
}
|
}
|
||||||
g_slist_free(list);
|
g_slist_free(list);
|
||||||
exit(0);
|
exit(0);
|
||||||
@ -2765,14 +2765,21 @@ static bool object_create_initial(const char *type, QemuOpts *opts)
|
|||||||
}
|
}
|
||||||
|
|
||||||
str = g_string_new(NULL);
|
str = g_string_new(NULL);
|
||||||
g_string_append_printf(str, "%s.%s=%s", type,
|
g_string_append_printf(str, " %s=<%s>", prop->name, prop->type);
|
||||||
prop->name, prop->type);
|
|
||||||
if (prop->description) {
|
if (prop->description) {
|
||||||
|
if (str->len < 24) {
|
||||||
|
g_string_append_printf(str, "%*s", 24 - (int)str->len, "");
|
||||||
|
}
|
||||||
g_string_append_printf(str, " - %s", prop->description);
|
g_string_append_printf(str, " - %s", prop->description);
|
||||||
}
|
}
|
||||||
g_ptr_array_add(array, g_string_free(str, false));
|
g_ptr_array_add(array, g_string_free(str, false));
|
||||||
}
|
}
|
||||||
g_ptr_array_sort(array, (GCompareFunc)qemu_pstrcmp0);
|
g_ptr_array_sort(array, (GCompareFunc)qemu_pstrcmp0);
|
||||||
|
if (array->len > 0) {
|
||||||
|
printf("%s options:\n", type);
|
||||||
|
} else {
|
||||||
|
printf("There are no options for %s.\n", type);
|
||||||
|
}
|
||||||
for (i = 0; i < array->len; i++) {
|
for (i = 0; i < array->len; i++) {
|
||||||
printf("%s\n", (char *)array->pdata[i]);
|
printf("%s\n", (char *)array->pdata[i]);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user