Commit 983add63 authored by Antoine Cellerier's avatar Antoine Cellerier

Don't print empty sections in the help.

parent 71930a98
...@@ -1317,6 +1317,34 @@ static void Help( libvlc_int_t *p_this, char const *psz_help_name ) ...@@ -1317,6 +1317,34 @@ static void Help( libvlc_int_t *p_this, char const *psz_help_name )
***************************************************************************** *****************************************************************************
* Print a short inline help. Message interface is initialized at this stage. * Print a short inline help. Message interface is initialized at this stage.
*****************************************************************************/ *****************************************************************************/
# define COL(x) "\033[" #x ";1m"
# define RED COL(31)
# define GREEN COL(32)
# define YELLOW COL(33)
# define BLUE COL(34)
# define MAGENTA COL(35)
# define CYAN COL(36)
# define WHITE COL(0)
# define GRAY "\033[0m"
static void print_help_section( module_config_t *p_item, bool b_color, bool b_description )
{
if( !p_item ) return;
if( b_color )
{
utf8_fprintf( stdout, RED" %s:\n"GRAY,
p_item->psz_text );
if( b_description && p_item->psz_longtext )
utf8_fprintf( stdout, MAGENTA" %s\n"GRAY,
p_item->psz_longtext );
}
else
{
utf8_fprintf( stdout, " %s:\n", p_item->psz_text );
if( b_description && p_item->psz_longtext )
utf8_fprintf( stdout, " %s\n", p_item->psz_longtext );
}
}
static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) static void Usage( libvlc_int_t *p_this, char const *psz_module_name )
{ {
#define FORMAT_STRING " %s --%s%s%s%s%s%s%s " #define FORMAT_STRING " %s --%s%s%s%s%s%s%s "
...@@ -1332,15 +1360,6 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) ...@@ -1332,15 +1360,6 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name )
* The purpose of having bra and ket is that we might i18n them as well. * The purpose of having bra and ket is that we might i18n them as well.
*/ */
# define COL(x) "\033[" #x ";1m"
# define RED COL(31)
# define GREEN COL(32)
# define YELLOW COL(33)
# define BLUE COL(34)
# define MAGENTA COL(35)
# define CYAN COL(36)
# define WHITE COL(0)
# define GRAY "\033[0m"
#define COLOR_FORMAT_STRING (WHITE" %s --%s"YELLOW"%s%s%s%s%s%s "GRAY) #define COLOR_FORMAT_STRING (WHITE" %s --%s"YELLOW"%s%s%s%s%s%s "GRAY)
#define COLOR_FORMAT_STRING_BOOL (WHITE" %s --%s%s%s%s%s%s%s "GRAY) #define COLOR_FORMAT_STRING_BOOL (WHITE" %s --%s%s%s%s%s%s%s "GRAY)
...@@ -1401,6 +1420,7 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) ...@@ -1401,6 +1420,7 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name )
bool b_help_module; bool b_help_module;
module_t *p_parser = (module_t *)p_list->p_values[i_index].p_object; module_t *p_parser = (module_t *)p_list->p_values[i_index].p_object;
module_config_t *p_item = NULL; module_config_t *p_item = NULL;
module_config_t *p_section = NULL;
module_config_t *p_end = p_parser->p_config + p_parser->confsize; module_config_t *p_end = p_parser->p_config + p_parser->confsize;
if( psz_module_name && strcmp( psz_module_name, if( psz_module_name && strcmp( psz_module_name,
...@@ -1505,22 +1525,9 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) ...@@ -1505,22 +1525,9 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name )
case CONFIG_HINT_SUBCATEGORY: case CONFIG_HINT_SUBCATEGORY:
if( strcmp( "main", p_parser->psz_object_name ) ) if( strcmp( "main", p_parser->psz_object_name ) )
break; break;
case CONFIG_SECTION: case CONFIG_SECTION:
if( b_color ) p_section = p_item;
{
utf8_fprintf( stdout, RED" %s:\n"GRAY,
p_item->psz_text );
if( b_description && p_item->psz_longtext )
utf8_fprintf( stdout, MAGENTA" %s\n"GRAY,
p_item->psz_longtext );
}
else
{
utf8_fprintf( stdout, " %s:\n", p_item->psz_text );
if( b_description && p_item->psz_longtext )
utf8_fprintf( stdout, " %s\n", p_item->psz_longtext );
}
break; break;
case CONFIG_ITEM_STRING: case CONFIG_ITEM_STRING:
...@@ -1532,6 +1539,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) ...@@ -1532,6 +1539,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name )
case CONFIG_ITEM_MODULE_LIST_CAT: case CONFIG_ITEM_MODULE_LIST_CAT:
case CONFIG_ITEM_FONT: case CONFIG_ITEM_FONT:
case CONFIG_ITEM_PASSWORD: case CONFIG_ITEM_PASSWORD:
print_help_section( p_section, b_color, b_description );
p_section = NULL;
psz_bra = OPTION_VALUE_SEP "<"; psz_bra = OPTION_VALUE_SEP "<";
psz_type = _("string"); psz_type = _("string");
psz_ket = ">"; psz_ket = ">";
...@@ -1551,6 +1560,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) ...@@ -1551,6 +1560,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name )
break; break;
case CONFIG_ITEM_INTEGER: case CONFIG_ITEM_INTEGER:
case CONFIG_ITEM_KEY: /* FIXME: do something a bit more clever */ case CONFIG_ITEM_KEY: /* FIXME: do something a bit more clever */
print_help_section( p_section, b_color, b_description );
p_section = NULL;
psz_bra = OPTION_VALUE_SEP "<"; psz_bra = OPTION_VALUE_SEP "<";
psz_type = _("integer"); psz_type = _("integer");
psz_ket = ">"; psz_ket = ">";
...@@ -1578,6 +1589,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) ...@@ -1578,6 +1589,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name )
} }
break; break;
case CONFIG_ITEM_FLOAT: case CONFIG_ITEM_FLOAT:
print_help_section( p_section, b_color, b_description );
p_section = NULL;
psz_bra = OPTION_VALUE_SEP "<"; psz_bra = OPTION_VALUE_SEP "<";
psz_type = _("float"); psz_type = _("float");
psz_ket = ">"; psz_ket = ">";
...@@ -1589,6 +1602,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) ...@@ -1589,6 +1602,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name )
} }
break; break;
case CONFIG_ITEM_BOOL: case CONFIG_ITEM_BOOL:
print_help_section( p_section, b_color, b_description );
p_section = NULL;
psz_bra = ""; psz_type = ""; psz_ket = ""; psz_bra = ""; psz_type = ""; psz_ket = "";
if( !b_help_module ) if( !b_help_module )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment