X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc.c;h=f68221ff121f39639baedfc0214c4333fb5352ef;hb=dd11b53113b073ef7879fffc5d28b58152dd50bf;hp=bdfd019a3fd1227c3d2d741336d1a53221cd77ae;hpb=9ff3595f09441ac057cf6b4f22f382e02059470b;p=vlc diff --git a/src/libvlc.c b/src/libvlc.c index bdfd019a3f..f68221ff12 100644 --- a/src/libvlc.c +++ b/src/libvlc.c @@ -1272,16 +1272,10 @@ static int GetFilenames( libvlc_int_t *p_vlc, int i_argc, const char *ppsz_argv[ ***************************************************************************** * Print a short inline help. Message interface is initialized at this stage. *****************************************************************************/ -static inline void print_help_on_module_help( void ) -{ - utf8_fprintf( stdout, "\n" ); - utf8_fprintf( stdout, "To get the VLC module list, use '--list'.\n" ); - utf8_fprintf( stdout, "To get help on a particular module, use '-p '.\n" ); -} static inline void print_help_on_full_help( void ) { utf8_fprintf( stdout, "\n" ); - utf8_fprintf( stdout, "To get a exhaustive help, use '-H'.\n" ); + utf8_fprintf( stdout, "%s\n", _("To get exhaustive help, use '-H'.") ); } static void Help( libvlc_int_t *p_this, char const *psz_help_name ) @@ -1295,21 +1289,18 @@ static void Help( libvlc_int_t *p_this, char const *psz_help_name ) utf8_fprintf( stdout, vlc_usage, p_this->psz_object_name ); Usage( p_this, "help" ); Usage( p_this, "main" ); - print_help_on_module_help(); print_help_on_full_help(); } else if( psz_help_name && !strcmp( psz_help_name, "longhelp" ) ) { utf8_fprintf( stdout, vlc_usage, p_this->psz_object_name ); Usage( p_this, NULL ); - print_help_on_module_help(); print_help_on_full_help(); } else if( psz_help_name && !strcmp( psz_help_name, "full-help" ) ) { utf8_fprintf( stdout, vlc_usage, p_this->psz_object_name ); Usage( p_this, NULL ); - print_help_on_module_help(); } else if( psz_help_name ) { @@ -1326,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. *****************************************************************************/ +# 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 ) { #define FORMAT_STRING " %s --%s%s%s%s%s%s%s " @@ -1341,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. */ -# 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_BOOL (WHITE" %s --%s%s%s%s%s%s%s "GRAY) @@ -1410,6 +1420,7 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) bool b_help_module; module_t *p_parser = (module_t *)p_list->p_values[i_index].p_object; module_config_t *p_item = NULL; + module_config_t *p_section = NULL; module_config_t *p_end = p_parser->p_config + p_parser->confsize; if( psz_module_name && strcmp( psz_module_name, @@ -1514,22 +1525,9 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) case CONFIG_HINT_SUBCATEGORY: if( strcmp( "main", p_parser->psz_object_name ) ) - break; + break; case CONFIG_SECTION: - 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 ); - } + p_section = p_item; break; case CONFIG_ITEM_STRING: @@ -1541,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_FONT: case CONFIG_ITEM_PASSWORD: + print_help_section( p_section, b_color, b_description ); + p_section = NULL; psz_bra = OPTION_VALUE_SEP "<"; psz_type = _("string"); psz_ket = ">"; @@ -1560,6 +1560,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) break; case CONFIG_ITEM_INTEGER: 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_type = _("integer"); psz_ket = ">"; @@ -1587,6 +1589,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) } break; case CONFIG_ITEM_FLOAT: + print_help_section( p_section, b_color, b_description ); + p_section = NULL; psz_bra = OPTION_VALUE_SEP "<"; psz_type = _("float"); psz_ket = ">"; @@ -1598,6 +1602,8 @@ static void Usage( libvlc_int_t *p_this, char const *psz_module_name ) } break; case CONFIG_ITEM_BOOL: + print_help_section( p_section, b_color, b_description ); + p_section = NULL; psz_bra = ""; psz_type = ""; psz_ket = ""; if( !b_help_module ) {