@@ -739,6 +739,10 @@ impl HelpTemplate<'_, '_> {
739739
740740 fn spec_vals ( & self , a : & Arg ) -> String {
741741 debug ! ( "HelpTemplate::spec_vals: a={a}" ) ;
742+ let ctx = & self . styles . get_context ( ) ;
743+ let ctx_val = & self . styles . get_context_value ( ) ;
744+ let val_sep = format ! ( "{ctx}, {ctx:#}" ) ; // context values styled separator
745+
742746 let mut spec_vals = Vec :: new ( ) ;
743747 #[ cfg( feature = "env" ) ]
744748 if let Some ( ref env) = a. env {
@@ -758,7 +762,11 @@ impl HelpTemplate<'_, '_> {
758762 } else {
759763 Default :: default ( )
760764 } ;
761- let env_info = format ! ( "[env: {}{}]" , env. 0 . to_string_lossy( ) , env_val) ;
765+ let env_info = format ! (
766+ "{ctx}[env: {ctx:#}{ctx_val}{}{}{ctx_val:#}{ctx}]{ctx:#}" ,
767+ env. 0 . to_string_lossy( ) ,
768+ env_val
769+ ) ;
762770 spec_vals. push ( env_info) ;
763771 }
764772 }
@@ -768,21 +776,23 @@ impl HelpTemplate<'_, '_> {
768776 a. default_vals
769777 ) ;
770778
771- let pvs = a
779+ let dvs = a
772780 . default_vals
773781 . iter ( )
774- . map ( |pvs| pvs . to_string_lossy ( ) )
775- . map ( |pvs | {
776- if pvs . contains ( char:: is_whitespace) {
777- Cow :: from ( format ! ( "{pvs :?}" ) )
782+ . map ( |dv| dv . to_string_lossy ( ) )
783+ . map ( |dv | {
784+ if dv . contains ( char:: is_whitespace) {
785+ Cow :: from ( format ! ( "{dv :?}" ) )
778786 } else {
779- pvs
787+ dv
780788 }
781789 } )
782790 . collect :: < Vec < _ > > ( )
783791 . join ( " " ) ;
784792
785- spec_vals. push ( format ! ( "[default: {pvs}]" ) ) ;
793+ spec_vals. push ( format ! (
794+ "{ctx}[default: {ctx:#}{ctx_val}{dvs}{ctx_val:#}{ctx}]{ctx:#}"
795+ ) ) ;
786796 }
787797
788798 let mut als = Vec :: new ( ) ;
@@ -791,7 +801,7 @@ impl HelpTemplate<'_, '_> {
791801 . short_aliases
792802 . iter ( )
793803 . filter ( |& als| als. 1 ) // visible
794- . map ( |als| format ! ( "-{ }" , als. 0 ) ) ; // name
804+ . map ( |als| format ! ( "{ctx_val}-{}{ctx_val:# }" , als. 0 ) ) ; // name
795805 debug ! (
796806 "HelpTemplate::spec_vals: Found short aliases...{:?}" ,
797807 a. short_aliases
@@ -802,12 +812,13 @@ impl HelpTemplate<'_, '_> {
802812 . aliases
803813 . iter ( )
804814 . filter ( |& als| als. 1 ) // visible
805- . map ( |als| format ! ( "--{}" , als. 0 ) ) ; // name
815+ . map ( |als| format ! ( "{ctx_val} --{}{ctx_val:# }" , als. 0 ) ) ; // name
806816 debug ! ( "HelpTemplate::spec_vals: Found aliases...{:?}" , a. aliases) ;
807817 als. extend ( long_als) ;
808818
809819 if !als. is_empty ( ) {
810- spec_vals. push ( format ! ( "[aliases: {}]" , als. join( ", " ) ) ) ;
820+ let als = als. join ( & val_sep) ;
821+ spec_vals. push ( format ! ( "{ctx}[aliases: {ctx:#}{als}{ctx}]{ctx:#}" ) ) ;
811822 }
812823
813824 if !a. is_hide_possible_values_set ( ) && !self . use_long_pv ( a) {
@@ -818,10 +829,11 @@ impl HelpTemplate<'_, '_> {
818829 let pvs = possible_vals
819830 . iter ( )
820831 . filter_map ( PossibleValue :: get_visible_quoted_name)
832+ . map ( |pv| format ! ( "{ctx_val}{pv}{ctx_val:#}" ) )
821833 . collect :: < Vec < _ > > ( )
822- . join ( ", " ) ;
834+ . join ( & val_sep ) ;
823835
824- spec_vals. push ( format ! ( "[possible values: {pvs}] " ) ) ;
836+ spec_vals. push ( format ! ( "{ctx} [possible values: {ctx:#}{ pvs}{ctx}]{ctx:#} " ) ) ;
825837 }
826838 }
827839 let connector = if self . use_long { "\n " } else { " " } ;
@@ -984,15 +996,20 @@ impl HelpTemplate<'_, '_> {
984996
985997 fn sc_spec_vals ( & self , a : & Command ) -> String {
986998 debug ! ( "HelpTemplate::sc_spec_vals: a={}" , a. get_name( ) ) ;
999+ let ctx = & self . styles . get_context ( ) ;
1000+ let ctx_val = & self . styles . get_context_value ( ) ;
1001+ let val_sep = format ! ( "{ctx}, {ctx:#}" ) ; // context values styled separator
9871002 let mut spec_vals = vec ! [ ] ;
9881003
9891004 let mut short_als = a
9901005 . get_visible_short_flag_aliases ( )
991- . map ( |a| format ! ( "-{a}" ) )
1006+ . map ( |a| format ! ( "{ctx_val} -{a}{ctx_val:# }" ) )
9921007 . collect :: < Vec < _ > > ( ) ;
993- let als = a. get_visible_aliases ( ) . map ( |s| s. to_string ( ) ) ;
1008+ let als = a
1009+ . get_visible_aliases ( )
1010+ . map ( |s| format ! ( "{ctx_val}{s}{ctx_val:#}" ) ) ;
9941011 short_als. extend ( als) ;
995- let all_als = short_als. join ( ", " ) ;
1012+ let all_als = short_als. join ( & val_sep ) ;
9961013 if !all_als. is_empty ( ) {
9971014 debug ! (
9981015 "HelpTemplate::spec_vals: Found aliases...{:?}" ,
@@ -1002,7 +1019,7 @@ impl HelpTemplate<'_, '_> {
10021019 "HelpTemplate::spec_vals: Found short flag aliases...{:?}" ,
10031020 a. get_all_short_flag_aliases( ) . collect:: <Vec <_>>( )
10041021 ) ;
1005- spec_vals. push ( format ! ( "[aliases: {all_als}] " ) ) ;
1022+ spec_vals. push ( format ! ( "{ctx} [aliases: {ctx:#}{ all_als}{ctx}]{ctx:#} " ) ) ;
10061023 }
10071024
10081025 spec_vals. join ( " " )
0 commit comments