@@ -128,35 +128,39 @@ def list(app: Application, paths: List[Path], show_hidden: bool = False, sort_by
128128 lines = v [k ].splitlines ()
129129 v [k ] = " " .join (lines [:1 ]) + (" ..." if len (lines ) > 1 else "" )
130130
131- header = ""
132- max_name = max (
133- 0 ,
134- len ("Name" ),
135- * (len (profile ["name" ]) for profile in result ["profiles" ]),
136- )
137- max_description = max (
138- 0 ,
139- len ("Description" ),
140- * (len (profile ["description" ]) for profile in result ["profiles" ]),
141- )
142- header += (
143- f'| Active | Selected | Enabled | Precedence | Name{ (max_name - len ("Name" )) * " " } '
144- f'| Description{ (max_description - len ("Description" )) * " " } |\n '
145- )
146- header += f"|:------:|:------:|:--------:|:-------:|:{ max_name * '-' } -|:{ max_description * '-' } -|\n "
147- for selected_profiles , enabled , name , description , precedence in (
148- (v ["selected" ], v ["enabled" ], v ["name" ], v ["description" ], v ["precedence" ]) for v in result ["profiles" ]
149- ):
150- header += (
151- f'| { "*" if selected_profiles and enabled else " " } '
152- f'| { "*" if selected_profiles else " " } '
153- f'| { "*" if enabled else " " } '
154- f'| { precedence if precedence else " " } '
155- f'| { name } { (max_name - len (name )) * " " } '
156- f'| { description if description else "" } { (max_description - len (description )) * " " } |\n '
131+ output = ""
132+ if result ["profiles" ]:
133+ max_name = max (
134+ 0 ,
135+ len ("Name" ),
136+ * (len (profile ["name" ]) for profile in result ["profiles" ]),
157137 )
158-
159- app .echo_as_markdown (header )
138+ max_description = max (
139+ 0 ,
140+ len ("Description" ),
141+ * (len (profile ["description" ]) for profile in result ["profiles" ]),
142+ )
143+ output += (
144+ f'| Active | Selected | Enabled | Precedence | Name{ (max_name - len ("Name" )) * " " } '
145+ f'| Description{ (max_description - len ("Description" )) * " " } |\n '
146+ )
147+ output += f"|:------:|:------:|:--------:|:-------:|:{ max_name * '-' } -|:{ max_description * '-' } -|\n "
148+ for selected_profiles , enabled , name , description , precedence in (
149+ (v ["selected" ], v ["enabled" ], v ["name" ], v ["description" ], v ["precedence" ])
150+ for v in result ["profiles" ]
151+ ):
152+ output += (
153+ f'| { "*" if selected_profiles and enabled else " " } '
154+ f'| { "*" if selected_profiles else " " } '
155+ f'| { "*" if enabled else " " } '
156+ f'| { precedence if precedence else " " } '
157+ f'| { name } { (max_name - len (name )) * " " } '
158+ f'| { description if description else "" } { (max_description - len (description )) * " " } |\n '
159+ )
160+ else :
161+ output += "No profiles defined.\n "
162+
163+ app .echo_as_markdown (output )
160164 else :
161165 app .print_data (result )
162166
0 commit comments