瀏覽代碼

Improve the `doc_status.py` console output

- Duplicate the header when the `-a` flag is enabled. Since lots of
  items are displayed in this case, this helps the user remember
  which column is which without having to scroll back to the top.
- Bolden the overall percentages for easier visual grepping.
Hugo Locurcio 5 年之前
父節點
當前提交
7c3f6b2870
共有 1 個文件被更改,包括 12 次插入3 次删除
  1. 12 3
      doc/tools/doc_status.py

+ 12 - 3
doc/tools/doc_status.py

@@ -81,6 +81,7 @@ colors = {
     'section': [1, 4],  # bold, underline
     'section': [1, 4],  # bold, underline
     'state_off': [36],  # cyan
     'state_off': [36],  # cyan
     'state_on': [1, 35],  # bold, magenta/plum
     'state_on': [1, 35],  # bold, magenta/plum
+    'bold': [1],  # bold
 }
 }
 overall_progress_description_weigth = 10
 overall_progress_description_weigth = 10
 
 
@@ -227,7 +228,7 @@ class ClassStatus:
 
 
         output['items'] = items_progress.to_configured_colored_string()
         output['items'] = items_progress.to_configured_colored_string()
 
 
-        output['overall'] = (description_progress + items_progress).to_colored_string('{percent}%', '{pad_percent}{s}')
+        output['overall'] = (description_progress + items_progress).to_colored_string(color('bold', '{percent}%'), '{pad_percent}{s}')
 
 
         if self.name.startswith('Total'):
         if self.name.startswith('Total'):
             output['url'] = color('url', 'https://docs.godotengine.org/en/latest/classes/')
             output['url'] = color('url', 'https://docs.godotengine.org/en/latest/classes/')
@@ -309,7 +310,7 @@ if flags['i']:
     table_columns.append('items')
     table_columns.append('items')
 
 
 if flags['o'] == (not flags['i']):
 if flags['o'] == (not flags['i']):
-    table_column_names.append('Overall')
+    table_column_names.append(color('bold', 'Overall'))
     table_columns.append('overall')
     table_columns.append('overall')
 
 
 if flags['u']:
 if flags['u']:
@@ -435,6 +436,11 @@ if len(table) > 2 or not flags['a']:
             row.append('')
             row.append('')
     table.append(row)
     table.append(row)
 
 
+if flags['a']:
+    # Duplicate the headers at the bottom of the table so they can be viewed
+    # without having to scroll back to the top.
+    table.append(table_column_names)
+
 table_column_sizes = []
 table_column_sizes = []
 for row in table:
 for row in table:
     for cell_i, cell in enumerate(row):
     for cell_i, cell in enumerate(row):
@@ -460,7 +466,10 @@ for row_i, row in enumerate(table):
 
 
     print(row_string)
     print(row_string)
 
 
-    if row_i == 0 or row_i == len(table) - 2:
+    # Account for the possible double header (if the `a` flag is enabled).
+    # No need to have a condition for the flag, as this will behave correctly
+    # if the flag is disabled.
+    if row_i == 0 or row_i == len(table) - 3 or row_i == len(table) - 2:
         print(divider_string)
         print(divider_string)
 
 
 print(divider_string)
 print(divider_string)