markdown_exec 3.2.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/Gemfile.lock +1 -1
  4. data/Rakefile +5 -4
  5. data/bats/block-type-ux-echo-hash-transform.bats +1 -1
  6. data/bats/block-type-ux-exec-hash-transform.bats +8 -0
  7. data/bats/block-type-ux-exec-hash.bats +15 -0
  8. data/bats/block-type-ux-force.bats +9 -0
  9. data/bats/block-type-ux-formats.bats +8 -0
  10. data/bats/block-type-ux-no-name.bats +8 -0
  11. data/bats/block-type-ux-readonly.bats +1 -1
  12. data/bats/block-type-ux-row-format.bats +1 -1
  13. data/bats/command-substitution-options.bats +2 -2
  14. data/bats/import-directive-line-continuation.bats +9 -0
  15. data/bats/import-directive-parameter-symbols.bats +9 -0
  16. data/bats/import-duplicates.bats +4 -2
  17. data/bats/import-parameter-symbols.bats +8 -0
  18. data/bats/markup.bats +1 -1
  19. data/bats/option-expansion.bats +1 -1
  20. data/bats/options.bats +1 -1
  21. data/bats/table-column-truncate.bats +1 -1
  22. data/bats/table.bats +1 -1
  23. data/bats/test_helper.bash +4 -3
  24. data/bin/tab_completion.sh +5 -1
  25. data/docs/dev/block-type-ux-echo-hash-transform.md +14 -12
  26. data/docs/dev/block-type-ux-exec-hash-transform.md +37 -0
  27. data/docs/dev/block-type-ux-exec-hash.md +93 -0
  28. data/docs/dev/block-type-ux-force.md +20 -0
  29. data/docs/dev/block-type-ux-formats.md +58 -0
  30. data/docs/dev/block-type-ux-no-name.md +17 -0
  31. data/docs/dev/block-type-ux-row-format.md +1 -1
  32. data/docs/dev/hexdump_format.md +267 -0
  33. data/docs/dev/import/parameter-symbols.md +6 -0
  34. data/docs/dev/import-directive-line-continuation.md +6 -0
  35. data/docs/dev/import-directive-parameter-symbols.md +9 -0
  36. data/docs/dev/import-parameter-symbols-template.md +24 -0
  37. data/docs/dev/import-parameter-symbols.md +6 -0
  38. data/docs/dev/load-vars-state-demo.md +35 -0
  39. data/docs/dev/table-column-truncate.md +1 -1
  40. data/docs/ux-blocks-examples.md +2 -3
  41. data/examples/import_with_substitution_demo.md +130 -26
  42. data/examples/imports/organism_template.md +86 -29
  43. data/lib/cached_nested_file_reader.rb +279 -29
  44. data/lib/constants.rb +8 -1
  45. data/lib/env_interface.rb +13 -7
  46. data/lib/evaluate_shell_expressions.rb +1 -0
  47. data/lib/fcb.rb +133 -33
  48. data/lib/format_table.rb +77 -29
  49. data/lib/fout.rb +5 -0
  50. data/lib/hash_delegator.rb +1159 -348
  51. data/lib/markdown_exec/version.rb +1 -1
  52. data/lib/markdown_exec.rb +2 -0
  53. data/lib/mdoc.rb +13 -11
  54. data/lib/menu.src.yml +166 -62
  55. data/lib/menu.yml +143 -59
  56. data/lib/string_util.rb +80 -0
  57. data/lib/table_extractor.rb +170 -64
  58. data/lib/ww.rb +810 -36
  59. metadata +22 -2
@@ -8,5 +8,5 @@ module MarkdownExec
8
8
  BIN_NAME = 'mde'
9
9
  GEM_NAME = 'markdown_exec'
10
10
  TAP_DEBUG = 'MDE_DEBUG'
11
- VERSION = '3.2.0'
11
+ VERSION = '3.4.0'
12
12
  end
data/lib/markdown_exec.rb CHANGED
@@ -1045,6 +1045,8 @@ module MarkdownExec
1045
1045
  def simple_commands(options)
1046
1046
  # !!b
1047
1047
  {
1048
+ # [stage, function]
1049
+ blocks: [2, -> { list_blocks }],
1048
1050
  doc_glob: [1, -> { @fout.fout options[:md_filename_glob] }],
1049
1051
  history: [1, -> { history }],
1050
1052
  list_blocks: [2, -> { list_blocks }],
data/lib/mdoc.rb CHANGED
@@ -119,22 +119,22 @@ module MarkdownExec
119
119
  raise "Named code block `#{anyname}` not found. (@#{__LINE__})"
120
120
  end
121
121
 
122
- # nickname = name_block.pub_name
123
- ####
124
- nickname = name_block.id
122
+ nickname = name_block.pub_name
123
+ ref = name_block.id
124
+ dependencies = collect_dependencies(pubname: ref)
125
+ wwt :dependencies, 'dependencies.count:', dependencies.count
125
126
 
126
- dependencies = collect_dependencies(pubname: nickname)
127
- # !!t dependencies.count
128
127
  all_dependency_names =
129
- collect_unique_names(dependencies).push(nickname).uniq
130
- # !!t all_dependency_names.count
128
+ collect_unique_names(dependencies).push(ref).uniq
129
+ wwt :dependencies, 'all_dependency_names.count:',
130
+ all_dependency_names.count
131
131
 
132
132
  # select blocks in order of appearance in source documents
133
133
  #
134
134
  blocks = table_not_split.select do |fcb|
135
135
  fcb.is_dependency_of?(all_dependency_names)
136
136
  end
137
- # !!t blocks.count
137
+ wwt :blocks, 'blocks.count:', blocks.count
138
138
 
139
139
  ## add cann key to blocks, calc unmet_dependencies
140
140
  #
@@ -149,12 +149,16 @@ module MarkdownExec
149
149
  []
150
150
  end + [fcb]
151
151
  end.flatten(1)
152
- # !!t unmet_dependencies.count
152
+ wwt :unmet_dependencies, 'unmet_dependencies.count:',
153
+ unmet_dependencies.count
154
+ wwt :dependencies, 'dependencies.keys:', dependencies.keys
153
155
 
154
156
  { all_dependency_names: all_dependency_names,
155
157
  blocks: blocks,
156
158
  dependencies: dependencies,
157
159
  unmet_dependencies: unmet_dependencies }
160
+ rescue StandardError
161
+ wwe $!
158
162
  end
159
163
 
160
164
  # Collects recursively required code blocks and returns them as an array of strings.
@@ -166,8 +170,6 @@ module MarkdownExec
166
170
  anyname:, block_source:,
167
171
  label_body: true, label_format_above: nil, label_format_below: nil
168
172
  )
169
- ww 'anyname:', anyname
170
- ww 'block_source:', block_source
171
173
  block_search = collect_block_dependencies(anyname: anyname)
172
174
  if block_search[:blocks]
173
175
  blocks = collect_wrapped_blocks(block_search[:blocks])
data/lib/menu.src.yml CHANGED
@@ -115,6 +115,14 @@
115
115
  :default: ": ${%{key}:=%{value}}"
116
116
  :procname: val_as_str
117
117
 
118
+ - :opt_name: blocks
119
+ :arg_name: MESSAGE
120
+ :default:
121
+ :description: List the blocks displayed
122
+ :env_var: MDE_BLOCKS_LIST_MESSAGE
123
+ :long_name: blocks
124
+ :procname: val_as_str
125
+
118
126
  - :opt_name: clear_screen_for_select_block
119
127
  :env_var: MDE_CLEAR_SCREEN_FOR_SELECT_BLOCK
120
128
  :description: clear_screen_for_select_block
@@ -147,13 +155,6 @@
147
155
  :default: true
148
156
  :procname: val_as_bool
149
157
 
150
- - :opt_name: tables_into_columns
151
- :env_var: MDE_TABLES_INTO_COLUMNS
152
- :description: Format tables as columns
153
- :arg_name: BOOL
154
- :default: true
155
- :procname: val_as_bool
156
-
157
158
  - :long_name: debug
158
159
  :short_name: d
159
160
  :env_var: MDE_DEBUG
@@ -250,16 +251,9 @@
250
251
  :default: document_configurations/%{document_filename}_*.sh
251
252
  :procname: val_as_str
252
253
 
253
- - :opt_name: menu_for_saved_lines
254
- :env_var: MDE_MENU_FOR_SAVED_LINES
255
- :description: Add menu options for saved lines
256
- :arg_name: BOOL
257
- :default: true
258
- :procname: val_as_bool
259
-
260
- - :opt_name: menu_for_history
261
- :env_var: MDE_MENU_FOR_HISTORY
262
- :description: Add menu options for history
254
+ - :opt_name: document_save_make_directory
255
+ :env_var: MDE_DOCUMENT_SAVE_MAKE_DIRECTORY
256
+ :description: Make the directory if it does not exist when saving
263
257
  :arg_name: BOOL
264
258
  :default: true
265
259
  :procname: val_as_bool
@@ -331,7 +325,7 @@
331
325
  - :opt_name: exception_color_detail
332
326
  :env_var: MDE_EXCEPTION_COLOR_DETAIL
333
327
  :description: Color of exception detail
334
- :default: fg_rgbh_ff_00_7f
328
+ :default: fg_rgbh_ff_99_cc # Light pink - softer error detail color, less harsh than bright magenta
335
329
  :procname: val_as_str
336
330
 
337
331
  - :opt_name: exception_format_detail
@@ -343,7 +337,7 @@
343
337
  - :opt_name: exception_color_name
344
338
  :env_var: MDE_EXCEPTION_COLOR_NAME
345
339
  :description: Color of exception name
346
- :default: fg_rgbh_ff_00_00
340
+ :default: fg_rgbh_ff_6b_6b # Light red - matches exec color for serious attention
347
341
  :procname: val_as_str
348
342
 
349
343
  - :opt_name: exception_format_name
@@ -421,7 +415,7 @@
421
415
  - :opt_name: execution_report_preview_frame_color
422
416
  :env_var: MDE_EXECUTION_REPORT_PREVIEW_FRAME_COLOR
423
417
  :description: execution_report_preview_frame_color
424
- :default: fg_rgbh_7f_ff_00
418
+ :default: fg_rgbh_90_e0_90 # Light green - consistent with allow/success colors
425
419
  :procname: val_as_str
426
420
 
427
421
  - :opt_name: execution_report_preview_head
@@ -578,10 +572,46 @@
578
572
  :default:
579
573
  :procname: val_as_str
580
574
 
581
- - :opt_name: import_pattern
575
+ - :opt_name: import_directive_line_pattern
582
576
  :env_var: MDE_IMPORT_PATTERN
583
577
  :default: >-
584
- ^(?<indention> *)@import +(?<name>\S+)(?<params>(?: +[A-Za-z_]\w*=(?:"[^"]*"|'[^']*'|\S+))*) *$
578
+ ^(?<indention> *)@import +(?<name>\S+)(?<params>(?: +\w+(?::c=|:e=|:q=|:v=|=)(?:"[^"]*"|'[^']*'|\S+))*) *\\?$
579
+ :procname: val_as_str
580
+
581
+ - :opt_name: import_directive_parameter_scan
582
+ :env_var: MDE_IMPORT_PATTERN_SCAN
583
+ :default: >-
584
+ (\w+)(:c=|:e=|:q=|:v=|=)(?:"([^"]*)"|'([^']*)'|(\S+))
585
+ :procname: val_as_str
586
+
587
+ - :opt_name: import_parameter_variable_assignment
588
+ :env_var: MDE_IMPORT_PARAMETER_VARIABLE_ASSIGNMENT
589
+ :default: "%{key}=%{value}"
590
+ :procname: val_as_str
591
+
592
+ - :opt_name: import_symbol_command_substitution
593
+ :env_var: MDE_IMPORT_SYMBOL_COMMAND_SUBSTITUTION
594
+ :default: ':c='
595
+ :procname: val_as_str
596
+
597
+ - :opt_name: import_symbol_evaluated_expression
598
+ :env_var: MDE_IMPORT_SYMBOL_EVALUATED_EXPRESSION
599
+ :default: ':e='
600
+ :procname: val_as_str
601
+
602
+ - :opt_name: import_symbol_raw_literal
603
+ :env_var: MDE_IMPORT_SYMBOL_RAW_LITERAL
604
+ :default: '='
605
+ :procname: val_as_str
606
+
607
+ - :opt_name: import_symbol_force_quoted_literal
608
+ :env_var: MDE_IMPORT_SYMBOL_FORCE_QUOTED_LITERAL
609
+ :default: ':q='
610
+ :procname: val_as_str
611
+
612
+ - :opt_name: import_symbol_variable_reference
613
+ :env_var: MDE_IMPORT_SYMBOL_VARIABLE_REFERENCE
614
+ :default: ':v='
585
615
  :procname: val_as_str
586
616
 
587
617
  - :opt_name: line_decor_main
@@ -691,7 +721,7 @@
691
721
  - :opt_name: local_name_pattern
692
722
  :env_var: MDE_LOCAL_NAME_PATTERN
693
723
  :description: Pattern for variables not exported in a series of evaluations
694
- :default: '^.{1,3}$'
724
+ :default: '^_\S{0,12}$'
695
725
  :procname: val_as_str
696
726
 
697
727
  - :opt_name: logged_stdout_filename_prefix
@@ -727,7 +757,7 @@
727
757
  - :opt_name: menu_bash_color
728
758
  :env_var: MDE_MENU_BASH_COLOR
729
759
  :description: Color of menu bash
730
- :default: fg_rgbh_00_c0_c0
760
+ :default: fg_rgbh_87_ce_eb # Sky blue - matches echo color for informational bash blocks
731
761
  :procname: val_as_str
732
762
 
733
763
  - :opt_name: menu_blocks_with_docname
@@ -747,7 +777,7 @@
747
777
  - :opt_name: menu_chrome_color
748
778
  :env_var: MDE_MENU_CHROME_COLOR
749
779
  :description: Color of menu chrome
750
- :default: fg_rgbh_40_c0_c0
780
+ :default: fg_rgbh_b0_b0_b0 # Medium gray - neutral, non-distracting UI chrome
751
781
  :procname: val_as_str
752
782
 
753
783
  - :opt_name: menu_chrome_format
@@ -771,7 +801,7 @@
771
801
  - :opt_name: menu_divider_color
772
802
  :env_var: MDE_MENU_DIVIDER_COLOR
773
803
  :description: Color of menu divider
774
- :default: fg_rgbh_80_d0_c0
804
+ :default: fg_rgbh_d0_d0_d0 # Light gray - subtle, neutral separators
775
805
  :procname: val_as_str
776
806
 
777
807
  - :opt_name: menu_divider_format
@@ -789,7 +819,7 @@
789
819
  - :opt_name: menu_edit_color
790
820
  :env_var: MDE_MENU_EDIT_COLOR
791
821
  :description: Color of Edit link
792
- :default: fg_rgbh_e0_e0_20
822
+ :default: fg_rgbh_ff_b3_66 # Light orange - matches edit UX color for consistency
793
823
  :procname: val_as_str
794
824
 
795
825
  - :opt_name: menu_exit_at_top
@@ -805,10 +835,24 @@
805
835
  :default:
806
836
  :line: "~~~"
807
837
 
838
+ - :opt_name: menu_for_history
839
+ :env_var: MDE_MENU_FOR_HISTORY
840
+ :description: Add menu options for history
841
+ :arg_name: BOOL
842
+ :default: true
843
+ :procname: val_as_bool
844
+
845
+ - :opt_name: menu_for_saved_lines
846
+ :env_var: MDE_MENU_FOR_SAVED_LINES
847
+ :description: Add menu options for saved lines
848
+ :arg_name: BOOL
849
+ :default: true
850
+ :procname: val_as_bool
851
+
808
852
  - :opt_name: menu_heading1_color
809
853
  :env_var: MDE_MENU_HEADING1_COLOR
810
854
  :description: Color for heading 1 in menu
811
- :default: fg_bg_rgbh_80_80_c0_10_10_20
855
+ :default: fg_bg_rgbh_70_70_b0_f8_f8_fa # Medium blue on light background for better readability
812
856
  :procname: val_as_str
813
857
 
814
858
  - :opt_name: menu_heading1_format
@@ -820,7 +864,7 @@
820
864
  - :opt_name: menu_heading2_color
821
865
  :env_var: MDE_MENU_HEADING2_COLOR
822
866
  :description: Color for heading 2 in menu
823
- :default: fg_bg_rgbh_60_60_c0_10_10_20
867
+ :default: fg_bg_rgbh_60_60_a0_f5_f5_f8 # Lighter blue on light background for hierarchy
824
868
  :procname: val_as_str
825
869
 
826
870
  - :opt_name: menu_heading2_format
@@ -832,7 +876,7 @@
832
876
  - :opt_name: menu_heading3_color
833
877
  :env_var: MDE_MENU_HEADING3_COLOR
834
878
  :description: Color for heading 3 in menu
835
- :default: fg_bg_rgbh_40_40_c0_10_10_20
879
+ :default: fg_bg_rgbh_50_50_90_f2_f2_f5 # Lightest blue on light background for sub-hierarchy
836
880
  :procname: val_as_str
837
881
 
838
882
  - :opt_name: menu_heading3_format
@@ -844,7 +888,7 @@
844
888
  - :opt_name: menu_history_color
845
889
  :env_var: MDE_MENU_HISTORY_COLOR
846
890
  :description: Color of History link
847
- :default: fg_rgbh_e0_e0_20
891
+ :default: fg_rgbh_87_ce_eb # Sky blue - informational like echo, for browsing history
848
892
  :procname: val_as_str
849
893
 
850
894
  - :opt_name: menu_import_level_match
@@ -864,7 +908,7 @@
864
908
  :env_var: MDE_MENU_INCLUDE_IMPORTED_NOTES
865
909
  :description: Whether imported blocks should be included in the menu
866
910
  :arg_name: BOOL
867
- :default: false
911
+ :default: true
868
912
  :procname: val_as_bool
869
913
 
870
914
  - :opt_name: menu_inherited_lines_at_top
@@ -877,7 +921,7 @@
877
921
  - :opt_name: menu_inherited_lines_color
878
922
  :env_var: MDE_MENU_INHERITED_LINES_COLOR
879
923
  :description: Color of inherited lines in menu
880
- :default: fg_rgbh_94_00_D3
924
+ :default: fg_rgbh_b3_9a_d8 # Light purple - softer than bright purple for inherited content
881
925
  :procname: val_as_str
882
926
 
883
927
  - :opt_name: menu_inherited_lines_edit_always
@@ -902,7 +946,7 @@
902
946
  - :opt_name: menu_link_color
903
947
  :env_var: MDE_MENU_LINK_COLOR
904
948
  :description: Color of menu link
905
- :default: fg_rgbh_e0_e0_20
949
+ :default: fg_rgbh_90_e0_90 # Light green - indicates safe/allowed navigation
906
950
  :procname: val_as_str
907
951
 
908
952
  - :opt_name: menu_link_format
@@ -921,7 +965,7 @@
921
965
  - :opt_name: menu_load_color
922
966
  :env_var: MDE_MENU_LOAD_COLOR
923
967
  :description: Color of Load link
924
- :default: fg_rgbh_e0_e0_20
968
+ :default: fg_rgbh_87_ce_eb # Sky blue - informational action for loading content
925
969
  :procname: val_as_str
926
970
 
927
971
  - :opt_name: menu_note_color
@@ -996,13 +1040,13 @@
996
1040
  - :opt_name: menu_opts_color
997
1041
  :env_var: MDE_MENU_OPTS_COLOR
998
1042
  :description: Color of menu opts
999
- :default: fg_rgbh_ff_00_ff
1043
+ :default: fg_rgbh_d8_b3_ff # Light lavender - matches vars color family for options
1000
1044
  :procname: val_as_str
1001
1045
 
1002
1046
  - :opt_name: menu_opts_set_color
1003
1047
  :env_var: MDE_MENU_OPTS_SET_COLOR
1004
1048
  :description: Color of menu opts
1005
- :default: fg_rgbh_7f_00_ff
1049
+ :default: fg_rgbh_c0_9a_ff # Medium lavender - darker than opts color for set values
1006
1050
  :procname: val_as_str
1007
1051
 
1008
1052
  - :opt_name: menu_opts_set_format
@@ -1027,20 +1071,13 @@
1027
1071
  - :opt_name: menu_save_color
1028
1072
  :env_var: MDE_MENU_SAVE_COLOR
1029
1073
  :description: Color of Save link
1030
- :default: fg_rgbh_ff_ff_20
1031
- # :default: fg_rgbh_e0_e0_20
1032
- :procname: val_as_str
1033
-
1034
- - :opt_name: menu_table_rows_match
1035
- :env_var: MDE_MENU_TABLE_ROWS_MATCH
1036
- :description: Pattern for table rows
1037
- :default: '^(?<indent>[ \t]*)(?<line>(?<text>\|.*?)(?<trailing>[ \t]*))$'
1074
+ :default: fg_rgbh_90_e0_90 # Light green - indicates safe/allowed save operation
1038
1075
  :procname: val_as_str
1039
1076
 
1040
1077
  - :opt_name: menu_task_color
1041
1078
  :env_var: MDE_MENU_TASK_COLOR
1042
1079
  :description: Color of menu task
1043
- :default: fg_rgbh_ff_ff_ff
1080
+ :default: fg_rgbh_40_40_40 # Dark gray - better contrast than white for readability
1044
1081
  :procname: val_as_str
1045
1082
 
1046
1083
  - :opt_name: menu_task_format
@@ -1063,8 +1100,38 @@
1063
1100
 
1064
1101
  - :opt_name: menu_ux_color
1065
1102
  :env_var: MDE_MENU_UX_COLOR
1066
- :description: Color of menu ux
1067
- :default: fg_rgbh_df_c0_df
1103
+ :description: Default color of menu ux
1104
+ :default: fg_rgbh_df_c0_df # light purple/lavender
1105
+ :procname: val_as_str
1106
+
1107
+ - :opt_name: menu_ux_color_allow
1108
+ :env_var: MDE_MENU_UX_COLOR_ALLOW
1109
+ :description: Color of menu ux when it is allow
1110
+ :default: fg_rgbh_90_e0_90 # Light green - universally indicates safe/permitted actions
1111
+ :procname: val_as_str
1112
+
1113
+ - :opt_name: menu_ux_color_echo
1114
+ :env_var: MDE_MENU_UX_COLOR_ECHO
1115
+ :description: Color of menu ux when it is echo
1116
+ :default: fg_rgbh_87_ce_eb # Sky blue - calm, informational, non-destructive display
1117
+ :procname: val_as_str
1118
+
1119
+ - :opt_name: menu_ux_color_edit
1120
+ :env_var: MDE_MENU_UX_COLOR_EDIT
1121
+ :description: Color of menu ux when it is edit
1122
+ :default: fg_rgbh_ff_b3_66 # Light orange - caution color for modification operations
1123
+ :procname: val_as_str
1124
+
1125
+ - :opt_name: menu_ux_color_exec
1126
+ :env_var: MDE_MENU_UX_COLOR_EXEC
1127
+ :description: Color of menu ux when it is exec
1128
+ :default: fg_rgbh_ff_6b_6b # Light red - attention-demanding color for execution commands
1129
+ :procname: val_as_str
1130
+
1131
+ - :opt_name: menu_ux_color_readonly
1132
+ :env_var: MDE_MENU_UX_COLOR_READONLY
1133
+ :description: Color of menu ux when it is read-only
1134
+ :default: fg_rgbh_c0_c0_c0 # Light gray - standard disabled/inactive UI element color
1068
1135
  :procname: val_as_str
1069
1136
 
1070
1137
  - :opt_name: menu_ux_row_format
@@ -1076,13 +1143,13 @@
1076
1143
  - :opt_name: menu_vars_color
1077
1144
  :env_var: MDE_MENU_VARS_COLOR
1078
1145
  :description: Color of menu vars
1079
- :default: fg_rgbh_ff_a0_ff
1146
+ :default: fg_rgbh_d8_b3_ff # Light lavender - complements default purple, softer than bright magenta
1080
1147
  :procname: val_as_str
1081
1148
 
1082
1149
  - :opt_name: menu_vars_set_color
1083
1150
  :env_var: MDE_MENU_VARS_SET_COLOR
1084
1151
  :description: Color of menu vars
1085
- :default: fg_rgbh_00_ff_ff
1152
+ :default: fg_rgbh_a0_e6_e6 # Light teal - calmer than bright cyan, distinct from sky blue
1086
1153
  :procname: val_as_str
1087
1154
 
1088
1155
  - :opt_name: menu_vars_set_format
@@ -1189,13 +1256,13 @@
1189
1256
  - :opt_name: output_execution_label_name_color
1190
1257
  :env_var: MDE_OUTPUT_EXECUTION_LABEL_NAME_COLOR
1191
1258
  :description: Color of output_execution_label_name
1192
- :default: fg_rgbh_00_ff_00
1259
+ :default: fg_rgbh_70_c0_70 # Medium green - softer than bright green for labels
1193
1260
  :procname: val_as_str
1194
1261
 
1195
1262
  - :opt_name: output_execution_label_value_color
1196
1263
  :env_var: MDE_OUTPUT_EXECUTION_LABEL_VALUE_COLOR
1197
1264
  :description: Color of output_execution_label_value
1198
- :default: fg_rgbh_00_ff_00
1265
+ :default: fg_rgbh_90_e0_90 # Light green - consistent with success/allow colors
1199
1266
  :procname: val_as_str
1200
1267
 
1201
1268
  - :opt_name: output_execution_report
@@ -1281,7 +1348,7 @@
1281
1348
  - :opt_name: prompt_color_after_script_execution
1282
1349
  :env_var: MDE_PROMPT_COLOR_AFTER_SCRIPT_EXECUTION
1283
1350
  :description: Color of prompt after script execution
1284
- :default: fg_rgbh_00_ff_00
1351
+ :default: fg_rgbh_70_c0_70 # Medium green - indicates successful completion
1285
1352
  :procname: val_as_str
1286
1353
 
1287
1354
  - :opt_name: prompt_debounce
@@ -1368,12 +1435,6 @@
1368
1435
  :default: "\nChoose a file:"
1369
1436
  :procname: val_as_str
1370
1437
 
1371
- - :opt_name: prompt_select_output
1372
- :env_var: MDE_PROMPT_SELECT_OUTPUT
1373
- :default: "\nChoose a file:"
1374
- :description: Prompt to select a saved file
1375
- :procname: val_as_str
1376
-
1377
1438
  - :opt_name: prompt_ux_enter_a_value
1378
1439
  :env_var: MDE_PROMPT_UX_ENTER_A_VALUE
1379
1440
  :description: Prompt to enter a value for UX blocks
@@ -1434,6 +1495,12 @@
1434
1495
  :long_name: pwd
1435
1496
  :description: Print the gem's home directory
1436
1497
 
1498
+ - :opt_name: required_lines_with_source_comments
1499
+ :env_var: MDE_REQUIRED_LINES_WITH_SOURCE_COMMENTS
1500
+ :description: Add comments about source to blocks of required lines
1501
+ :default: false
1502
+ :procname: val_as_bool
1503
+
1437
1504
  - :opt_name: run_last_script
1438
1505
  :long_name: run-last-script
1439
1506
  :description: Run most recently saved script
@@ -1537,10 +1604,16 @@
1537
1604
  :default: 0
1538
1605
  :procname: val_as_int
1539
1606
 
1607
+ - :opt_name: script_comment_block_name_format
1608
+ :env_var: MDE_SCRIPT_COMMENT_BLOCK_NAME_FORMAT
1609
+ :description: format for block name in script comments
1610
+ :default: "%{block} %{time}"
1611
+ :procname: val_as_str
1612
+
1540
1613
  - :opt_name: script_execution_frame_color
1541
1614
  :env_var: MDE_SCRIPT_EXECUTION_FRAME_COLOR
1542
1615
  :description: script_execution_frame_color
1543
- :default: fg_rgbh_00_ff_7f
1616
+ :default: fg_rgbh_80_d0_a0 # Sage green - calmer frame color for execution context
1544
1617
  :procname: val_as_str
1545
1618
 
1546
1619
  - :opt_name: script_execution_head
@@ -1559,7 +1632,7 @@
1559
1632
  - :opt_name: script_preview_frame_color
1560
1633
  :env_var: MDE_OUTPUT_DIVIDER_COLOR
1561
1634
  :description: Color of output divider
1562
- :default: fg_rgbh_7f_ff_00
1635
+ :default: fg_rgbh_a0_d0_80 # Light sage - preview frame for non-executed content
1563
1636
  :procname: val_as_str
1564
1637
 
1565
1638
  - :opt_name: script_preview_head
@@ -1687,11 +1760,42 @@
1687
1760
  - fg_bg_rgbh_cf_cf_cf_14_18_1c
1688
1761
  - fg_bg_rgbh_df_df_df_24_24_24
1689
1762
 
1763
+ - :opt_name: table_row_multi_line_delimiter
1764
+ :env_var: MDE_TABLE_ROW_MULTI_LINE_DELIMITER
1765
+ :description: Multi-line-table delimiter
1766
+ :default: '|'
1767
+ :procname: val_as_str
1768
+
1769
+ - :opt_name: table_row_multi_line_match
1770
+ :env_var: MDE_TABLE_ROW_MULTI_LINE_MATCH
1771
+ :description: Pattern for multi-line-table rows
1772
+ :default: '^(?<indent>[ \t]*)(?<line>(?<text>\|.*?)(?<trailing>[ \t]*))$'
1773
+ :procname: val_as_str
1774
+
1775
+ - :opt_name: table_row_single_line_delimiter
1776
+ :env_var: MDE_TABLE_ROW_SINGLE_LINE_DELIMITER
1777
+ :description: Single-line-table delimiter
1778
+ :default: '!'
1779
+ :procname: val_as_str
1780
+
1781
+ - :opt_name: table_row_single_line_match
1782
+ :env_var: MDE_TABLE_ROW_SINGLE_LINE_MATCH
1783
+ :description: Pattern for single-line-table rows
1784
+ :default: '^(?<indent>[ \t]*)(?<line>(?<text>!.*?)(?<trailing>[ \t]*))$'
1785
+ :procname: val_as_str
1786
+
1690
1787
  - :opt_name: table_separator_line_color
1691
1788
  :env_var: MDE_TABLE_SEPARATOR_LINE_COLOR
1692
1789
  :description: Color for table separator line
1693
1790
  :default: fg_bg_rgbh_df_df_00_14_18_1c
1694
1791
 
1792
+ - :opt_name: tables_into_columns
1793
+ :env_var: MDE_TABLES_INTO_COLUMNS
1794
+ :description: Format tables as columns
1795
+ :arg_name: BOOL
1796
+ :default: true
1797
+ :procname: val_as_bool
1798
+
1695
1799
  - :opt_name: user_must_approve
1696
1800
  :long_name: user-must-approve
1697
1801
  :short_name: q
@@ -1741,7 +1845,7 @@
1741
1845
  - :opt_name: warning_color
1742
1846
  :env_var: MDE_WARNING_COLOR
1743
1847
  :description: Color of warning message
1744
- :default: fg_rgbh_ff_7f_00
1848
+ :default: fg_rgbh_ff_b3_66 # Light orange - matches edit/caution color for warnings
1745
1849
  :procname: val_as_str
1746
1850
 
1747
1851
  - :opt_name: warning_format