markdown_exec 1.6 → 1.8
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +5 -2
- data/Gemfile.lock +1 -1
- data/Rakefile +2 -0
- data/bin/tab_completion.sh +19 -3
- data/examples/colors.md +48 -0
- data/examples/import0.md +41 -5
- data/examples/import1.md +9 -8
- data/examples/include.md +11 -4
- data/examples/linked1.md +8 -4
- data/examples/opts.md +7 -0
- data/lib/ansi_formatter.rb +161 -0
- data/lib/array.rb +27 -0
- data/lib/array_util.rb +21 -0
- data/lib/cached_nested_file_reader.rb +51 -31
- data/lib/constants.rb +46 -0
- data/lib/directory_searcher.rb +239 -0
- data/lib/exceptions.rb +34 -0
- data/lib/fcb.rb +41 -1
- data/lib/filter.rb +32 -17
- data/lib/fout.rb +52 -0
- data/lib/hash.rb +21 -0
- data/lib/hash_delegator.rb +2796 -0
- data/lib/markdown_exec/version.rb +1 -1
- data/lib/markdown_exec.rb +190 -1474
- data/lib/mdoc.rb +148 -36
- data/lib/menu.src.yml +224 -37
- data/lib/menu.yml +209 -33
- data/lib/method_sorter.rb +19 -17
- data/lib/object_present.rb +1 -1
- data/lib/pty1.rb +16 -16
- data/lib/regexp.rb +2 -4
- data/lib/shared.rb +0 -5
- data/lib/string_util.rb +22 -0
- metadata +13 -3
- data/lib/environment_opt_parse.rb +0 -209
data/lib/menu.src.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
- :description: Show current configuration values
|
3
3
|
:procname: show_config
|
4
|
-
:short_name:
|
4
|
+
:short_name: "0"
|
5
5
|
|
6
6
|
- :arg_name: BOOL
|
7
7
|
:default: false
|
@@ -92,6 +92,51 @@
|
|
92
92
|
:opt_name: document_load_opts_block_name
|
93
93
|
:procname: val_as_str
|
94
94
|
|
95
|
+
- :arg_name: BOOL
|
96
|
+
:default: false
|
97
|
+
:description: Dump BlocksInFile (stage 1)
|
98
|
+
:env_var: MDE_DUMP_BLOCKS_IN_FILE
|
99
|
+
:opt_name: dump_blocks_in_file
|
100
|
+
:procname: val_as_bool
|
101
|
+
|
102
|
+
- :arg_name: BOOL
|
103
|
+
:default: false
|
104
|
+
:description: Dump MenuBlocks (stage 2)
|
105
|
+
:env_var: MDE_DUMP_MENU_BLOCKS
|
106
|
+
:opt_name: dump_menu_blocks
|
107
|
+
:procname: val_as_bool
|
108
|
+
|
109
|
+
- :arg_name: BOOL
|
110
|
+
:default: false
|
111
|
+
:description: Dump selected block
|
112
|
+
:env_var: MDE_DUMP_SELECTED_BLOCK
|
113
|
+
:opt_name: dump_selected_block
|
114
|
+
:procname: val_as_bool
|
115
|
+
|
116
|
+
- :default: fg_rgbh_E0_E0_20 # Y
|
117
|
+
:description: Color of exception detail
|
118
|
+
:env_var: MDE_EXCEPTION_COLOR_DETAIL
|
119
|
+
:opt_name: exception_color_detail
|
120
|
+
:procname: val_as_str
|
121
|
+
|
122
|
+
- :default: " - %{detail}\n"
|
123
|
+
:description: Format for exception detail
|
124
|
+
:env_var: MDE_EXCEPTION_FORMAT_DETAIL
|
125
|
+
:opt_name: exception_format_detail
|
126
|
+
:procname: val_as_str
|
127
|
+
|
128
|
+
- :default: fg_rgbh_E0_20_20 # R
|
129
|
+
:description: Color of exception name
|
130
|
+
:env_var: MDE_EXCEPTION_COLOR_NAME
|
131
|
+
:opt_name: exception_color_name
|
132
|
+
:procname: val_as_str
|
133
|
+
|
134
|
+
- :default: "\n%{name}"
|
135
|
+
:description: Format for exception name
|
136
|
+
:env_var: MDE_EXCEPTION_FORMAT_NAME
|
137
|
+
:opt_name: exception_format_name
|
138
|
+
:procname: val_as_str
|
139
|
+
|
95
140
|
- :arg_name: REGEX
|
96
141
|
:default:
|
97
142
|
:description: Exclude blocks with name matching
|
@@ -113,6 +158,24 @@
|
|
113
158
|
:opt_name: exclude_expect_blocks
|
114
159
|
:procname: val_as_bool
|
115
160
|
|
161
|
+
- :default: fg_rgbh_20_80_80
|
162
|
+
:description: execution_report_preview_frame_color
|
163
|
+
:env_var: MDE_EXECUTION_REPORT_PREVIEW_FRAME_COLOR
|
164
|
+
:opt_name: execution_report_preview_frame_color
|
165
|
+
:procname: val_as_str
|
166
|
+
|
167
|
+
- :default: "\n -^-"
|
168
|
+
:description: execution_report_preview_head
|
169
|
+
:env_var: MDE_EXECUTION_REPORT_PREVIEW_HEAD
|
170
|
+
:opt_name: execution_report_preview_head
|
171
|
+
:procname: val_as_str
|
172
|
+
|
173
|
+
- :default: " -v-"
|
174
|
+
:description: execution_report_preview_tail
|
175
|
+
:env_var: MDE_EXECUTION_REPORT_PREVIEW_TAIL
|
176
|
+
:opt_name: execution_report_preview_tail
|
177
|
+
:procname: val_as_str
|
178
|
+
|
116
179
|
- :description: Exit app
|
117
180
|
:long_name: exit
|
118
181
|
:procname: exit
|
@@ -139,6 +202,13 @@
|
|
139
202
|
:procname: val_as_str
|
140
203
|
:short_name: f
|
141
204
|
|
205
|
+
- :arg_name: FIND
|
206
|
+
:default: ""
|
207
|
+
:description: Find in documents
|
208
|
+
:long_name: find
|
209
|
+
:procname: find
|
210
|
+
:short_name: "?"
|
211
|
+
|
142
212
|
- :default: "^# *(?<name>[^#]*?) *$"
|
143
213
|
:env_var: MDE_HEADING1_MATCH
|
144
214
|
:opt_name: heading1_match
|
@@ -178,7 +248,14 @@
|
|
178
248
|
:opt_name: history_property_separator
|
179
249
|
:procname: val_as_str
|
180
250
|
|
181
|
-
- :
|
251
|
+
- :arg_name: HOW
|
252
|
+
:default: ""
|
253
|
+
:description: Find in YAML configuration options
|
254
|
+
:long_name: how
|
255
|
+
:procname: how
|
256
|
+
:short_name: "?"
|
257
|
+
|
258
|
+
- :default: "^ *@import +(?<name>.+?) *$"
|
182
259
|
:env_var: MDE_IMPORT_PATTERN
|
183
260
|
:opt_name: import_pattern
|
184
261
|
:procname: val_as_str
|
@@ -243,7 +320,7 @@
|
|
243
320
|
:opt_name: menu_back_at_top
|
244
321
|
:procname: val_as_bool
|
245
322
|
|
246
|
-
- :default:
|
323
|
+
- :default: fg_rgbh_40_c0_f0
|
247
324
|
:description: Color of menu bash
|
248
325
|
:env_var: MDE_MENU_BASH_COLOR
|
249
326
|
:opt_name: menu_bash_color
|
@@ -263,7 +340,7 @@
|
|
263
340
|
:opt_name: menu_blocks_with_headings
|
264
341
|
:procname: val_as_bool
|
265
342
|
|
266
|
-
- :default:
|
343
|
+
- :default: fg_rgbh_80_80_20
|
267
344
|
:description: Color of menu chrome
|
268
345
|
:env_var: MDE_MENU_CHROME_COLOR
|
269
346
|
:opt_name: menu_chrome_color
|
@@ -275,7 +352,7 @@
|
|
275
352
|
:opt_name: menu_chrome_format
|
276
353
|
:procname: val_as_str
|
277
354
|
|
278
|
-
- :default:
|
355
|
+
- :default: fg_rgbh_20_98_80
|
279
356
|
:description: Color of menu divider
|
280
357
|
:env_var: MDE_MENU_DIVIDER_COLOR
|
281
358
|
:opt_name: menu_divider_color
|
@@ -313,6 +390,26 @@
|
|
313
390
|
:opt_name: menu_final_divider
|
314
391
|
:procname: val_as_str
|
315
392
|
|
393
|
+
- :default: "0"
|
394
|
+
:description: Import levels for blocks to appear in menu. Empty is all.
|
395
|
+
:env_var: MDE_MENU_IMPORT_LEVEL_MATCH
|
396
|
+
:opt_name: menu_import_level_match
|
397
|
+
:procname: val_as_str
|
398
|
+
|
399
|
+
- :arg_name: BOOL
|
400
|
+
:default: true
|
401
|
+
:description: Include imported blocks in menu
|
402
|
+
:env_var: MDE_MENU_INCLUDE_IMPORTED_BLOCKS
|
403
|
+
:opt_name: menu_include_imported_blocks
|
404
|
+
:procname: val_as_bool
|
405
|
+
|
406
|
+
- :arg_name: BOOL
|
407
|
+
:default: false
|
408
|
+
:description: Include imported notes in menu
|
409
|
+
:env_var: MDE_MENU_INCLUDE_IMPORTED_NOTES
|
410
|
+
:opt_name: menu_include_imported_notes
|
411
|
+
:procname: val_as_bool
|
412
|
+
|
316
413
|
- :default:
|
317
414
|
:line: ""
|
318
415
|
:description: opening demarcation for menu
|
@@ -320,7 +417,7 @@
|
|
320
417
|
:opt_name: menu_initial_divider
|
321
418
|
:procname: val_as_str
|
322
419
|
|
323
|
-
- :default:
|
420
|
+
- :default: fg_rgbh_20_E0_20 # G
|
324
421
|
:description: Color of menu link
|
325
422
|
:env_var: MDE_MENU_LINK_COLOR
|
326
423
|
:opt_name: menu_link_color
|
@@ -332,7 +429,7 @@
|
|
332
429
|
:opt_name: menu_link_format
|
333
430
|
:procname: val_as_str
|
334
431
|
|
335
|
-
- :default:
|
432
|
+
- :default: fg_rgbh_40_a0_a0
|
336
433
|
:description: Color of menu note
|
337
434
|
:env_var: MDE_MENU_NOTE_COLOR
|
338
435
|
:opt_name: menu_note_color
|
@@ -366,13 +463,13 @@
|
|
366
463
|
:opt_name: menu_option_exit_name
|
367
464
|
:procname: val_as_str
|
368
465
|
|
369
|
-
- :default:
|
466
|
+
- :default: fg_rgbh_E0_60_E0 # R
|
370
467
|
:description: Color of menu opts
|
371
468
|
:env_var: MDE_MENU_OPTS_COLOR
|
372
469
|
:opt_name: menu_opts_color
|
373
470
|
:procname: val_as_str
|
374
471
|
|
375
|
-
- :default:
|
472
|
+
- :default: fg_rgbh_E0_20_20
|
376
473
|
:description: Color of menu opts
|
377
474
|
:env_var: MDE_MENU_OPTS_SET_COLOR
|
378
475
|
:opt_name: menu_opts_set_color
|
@@ -384,7 +481,7 @@
|
|
384
481
|
:opt_name: menu_opts_set_format
|
385
482
|
:procname: val_as_str
|
386
483
|
|
387
|
-
- :default:
|
484
|
+
- :default: fg_rgbh_A0_20_D0 # V
|
388
485
|
:description: Color of menu task
|
389
486
|
:env_var: MDE_MENU_TASK_COLOR
|
390
487
|
:opt_name: menu_task_color
|
@@ -408,13 +505,13 @@
|
|
408
505
|
:opt_name: menu_task_symbol
|
409
506
|
:procname: val_as_str
|
410
507
|
|
411
|
-
- :default:
|
508
|
+
- :default: fg_rgbh_E0_80_20
|
412
509
|
:description: Color of menu vars
|
413
510
|
:env_var: MDE_MENU_VARS_COLOR
|
414
511
|
:opt_name: menu_vars_color
|
415
512
|
:procname: val_as_str
|
416
513
|
|
417
|
-
- :default:
|
514
|
+
- :default: fg_rgbh_E0_80_20
|
418
515
|
:description: Color of menu vars
|
419
516
|
:env_var: MDE_MENU_VARS_SET_COLOR
|
420
517
|
:opt_name: menu_vars_set_color
|
@@ -447,18 +544,6 @@
|
|
447
544
|
:opt_name: no_chrome
|
448
545
|
:procname: val_as_bool
|
449
546
|
|
450
|
-
- :default: " #=#=#"
|
451
|
-
:description: Output divider
|
452
|
-
:env_var: MDE_OUTPUT_DIVIDER
|
453
|
-
:opt_name: output_divider
|
454
|
-
:procname: val_as_str
|
455
|
-
|
456
|
-
- :default: yellow
|
457
|
-
:description: Color of output divider
|
458
|
-
:env_var: MDE_OUTPUT_DIVIDER_COLOR
|
459
|
-
:opt_name: output_divider_color
|
460
|
-
:procname: val_as_str
|
461
|
-
|
462
547
|
- :arg_name: BOOL
|
463
548
|
:default: false
|
464
549
|
:description: Display summary for execution
|
@@ -467,6 +552,24 @@
|
|
467
552
|
:opt_name: output_execution_summary
|
468
553
|
:procname: val_as_bool
|
469
554
|
|
555
|
+
- :default: "%{name}: %{value}"
|
556
|
+
:description: format for menu dividers and demarcations
|
557
|
+
:env_var: MDE_OUTPUT_EXECUTION_LABEL_FORMAT
|
558
|
+
:opt_name: output_execution_label_format
|
559
|
+
:procname: val_as_str
|
560
|
+
|
561
|
+
- :default: fg_rgbh_20_D8_80
|
562
|
+
:description: Color of output_execution_label_name
|
563
|
+
:env_var: MDE_OUTPUT_EXECUTION_LABEL_NAME_COLOR
|
564
|
+
:opt_name: output_execution_label_name_color
|
565
|
+
:procname: val_as_str
|
566
|
+
|
567
|
+
- :default: fg_rgbh_20_E0_80
|
568
|
+
:description: Color of output_execution_label_value
|
569
|
+
:env_var: MDE_OUTPUT_EXECUTION_LABEL_VALUE_COLOR
|
570
|
+
:opt_name: output_execution_label_value_color
|
571
|
+
:procname: val_as_str
|
572
|
+
|
470
573
|
- :arg_name: BOOL
|
471
574
|
:default: false
|
472
575
|
:description: Output saved script filename at end of execution
|
@@ -507,29 +610,35 @@
|
|
507
610
|
- :arg_name: BOOL
|
508
611
|
:default: true
|
509
612
|
:description: Pause afte executing a BASH block
|
510
|
-
:env_var:
|
511
|
-
:opt_name:
|
613
|
+
:env_var: MDE_PAUSE_after_script_execution
|
614
|
+
:opt_name: pause_after_script_execution
|
512
615
|
:procname: val_as_bool
|
513
616
|
|
514
|
-
- :default:
|
515
|
-
:description: Prompt
|
516
|
-
:env_var:
|
517
|
-
:opt_name:
|
617
|
+
- :default: "\nContinue?"
|
618
|
+
:description: Prompt after script execution
|
619
|
+
:env_var: MDE_PROMPT_after_script_execution
|
620
|
+
:opt_name: prompt_after_script_execution
|
518
621
|
:procname: val_as_str
|
519
622
|
|
520
|
-
- :default:
|
623
|
+
- :default: "\nProcess?"
|
521
624
|
:description: Prompt to approve a block
|
522
625
|
:env_var: MDE_PROMPT_APPROVE_BLOCK
|
523
626
|
:opt_name: prompt_approve_block
|
524
627
|
:procname: val_as_str
|
525
628
|
|
629
|
+
- :default: fg_rgbh_20_E8_80
|
630
|
+
:description: Color of prompt after script execution
|
631
|
+
:env_var: MDE_PROMPT_COLOR_AFTER_SCRIPT_EXECUTION
|
632
|
+
:opt_name: prompt_color_after_script_execution
|
633
|
+
:procname: val_as_str
|
634
|
+
|
526
635
|
- :default: Exit
|
527
636
|
:description: Prompt to exit app
|
528
637
|
:env_var: MDE_PROMPT_EXIT
|
529
638
|
:opt_name: prompt_exit
|
530
639
|
:procname: val_as_str
|
531
640
|
|
532
|
-
- :default:
|
641
|
+
- :default: "No"
|
533
642
|
:description: Prompt for no
|
534
643
|
:env_var: MDE_PROMPT_NO
|
535
644
|
:opt_name: prompt_no
|
@@ -547,25 +656,25 @@
|
|
547
656
|
:opt_name: prompt_script_to_clipboard
|
548
657
|
:procname: val_as_str
|
549
658
|
|
550
|
-
- :default:
|
659
|
+
- :default: "\nChoose a block:"
|
551
660
|
:description: Prompt to select a block
|
552
661
|
:env_var: MDE_PROMPT_SELECT_BLOCK
|
553
662
|
:opt_name: prompt_select_block
|
554
663
|
:procname: val_as_str
|
555
664
|
|
556
|
-
- :default:
|
665
|
+
- :default: "\nChoose a file:"
|
557
666
|
:description: Prompt to select a markdown document
|
558
667
|
:env_var: MDE_PROMPT_SELECT_MD
|
559
668
|
:opt_name: prompt_select_md
|
560
669
|
:procname: val_as_str
|
561
670
|
|
562
|
-
- :default:
|
671
|
+
- :default: "\nChoose a file:"
|
563
672
|
:description: Prompt to select a saved file
|
564
673
|
:env_var: MDE_PROMPT_SELECT_OUTPUT
|
565
674
|
:opt_name: prompt_select_output
|
566
675
|
:procname: val_as_str
|
567
676
|
|
568
|
-
- :default:
|
677
|
+
- :default: "Yes"
|
569
678
|
:description: Prompt for yes
|
570
679
|
:env_var: MDE_PROMPT_YES
|
571
680
|
:opt_name: prompt_yes
|
@@ -581,6 +690,12 @@
|
|
581
690
|
:opt_name: run_last_script
|
582
691
|
:procname: val_as_bool
|
583
692
|
|
693
|
+
- :default: 1
|
694
|
+
:description: "Runtime exception error level (warn if < 0, ignore if 0, abort if > 0)"
|
695
|
+
:env_var: MDE_RUNTIME_EXCEPTION_ERROR_LEVEL
|
696
|
+
:opt_name: runtime_exception_error_level
|
697
|
+
:procname: val_as_int
|
698
|
+
|
584
699
|
- :arg_name: BOOL
|
585
700
|
:default: false
|
586
701
|
:description: Save executed script
|
@@ -597,6 +712,18 @@
|
|
597
712
|
:opt_name: save_execution_output
|
598
713
|
:procname: val_as_bool
|
599
714
|
|
715
|
+
- :default: "/"
|
716
|
+
:description: Pattern to replace in file names
|
717
|
+
:env_var: MDE_SAVED_FILENAME_PATTERN
|
718
|
+
:opt_name: saved_filename_pattern
|
719
|
+
:procname: val_as_str
|
720
|
+
|
721
|
+
- :default: ",~"
|
722
|
+
:description: Replacement for pattern in file names
|
723
|
+
:env_var: MDE_SAVED_FILENAME_REPLACEMENT
|
724
|
+
:opt_name: saved_filename_replacement
|
725
|
+
:procname: val_as_str
|
726
|
+
|
600
727
|
- :arg_name: INT
|
601
728
|
:default: 493
|
602
729
|
:description: chmod for saved scripts
|
@@ -641,6 +768,42 @@
|
|
641
768
|
:opt_name: saved_stdout_glob
|
642
769
|
:procname: val_as_str
|
643
770
|
|
771
|
+
- :default: fg_rgbh_20_80_80
|
772
|
+
:description: script_execution_frame_color
|
773
|
+
:env_var: MDE_SCRIPT_EXECUTION_FRAME_COLOR
|
774
|
+
:opt_name: script_execution_frame_color
|
775
|
+
:procname: val_as_str
|
776
|
+
|
777
|
+
- :default: "\n -^-"
|
778
|
+
:description: script_execution_head
|
779
|
+
:env_var: MDE_SCRIPT_EXECUTION_HEAD
|
780
|
+
:opt_name: script_execution_head
|
781
|
+
:procname: val_as_str
|
782
|
+
|
783
|
+
- :default: " -v-\n"
|
784
|
+
:description: script_execution_tail
|
785
|
+
:env_var: MDE_SCRIPT_EXECUTION_TAIL
|
786
|
+
:opt_name: script_execution_tail
|
787
|
+
:procname: val_as_str
|
788
|
+
|
789
|
+
- :default: fg_rgbh_20_80_80
|
790
|
+
:description: Color of output divider
|
791
|
+
:env_var: MDE_OUTPUT_DIVIDER_COLOR
|
792
|
+
:opt_name: script_preview_frame_color
|
793
|
+
:procname: val_as_str
|
794
|
+
|
795
|
+
- :default: "\n -^-"
|
796
|
+
:description: script_preview_head
|
797
|
+
:env_var: MDE_SCRIPT_PREVIEW_HEAD
|
798
|
+
:opt_name: script_preview_head
|
799
|
+
:procname: val_as_str
|
800
|
+
|
801
|
+
- :default: " -v-\n"
|
802
|
+
:description: script_preview_tail
|
803
|
+
:env_var: MDE_SCRIPT_PREVIEW_TAIL
|
804
|
+
:opt_name: script_preview_tail
|
805
|
+
:procname: val_as_str
|
806
|
+
|
644
807
|
- :arg_name: REGEX
|
645
808
|
:default:
|
646
809
|
:description: Select blocks with name matching
|
@@ -656,7 +819,7 @@
|
|
656
819
|
:procname: val_as_str
|
657
820
|
|
658
821
|
- :default: 36
|
659
|
-
:description:
|
822
|
+
:description: "Maximum # of rows in select list"
|
660
823
|
:env_var: MDE_SELECT_PAGE_HEIGHT
|
661
824
|
:opt_name: select_page_height
|
662
825
|
:procname: val_as_int
|
@@ -683,6 +846,18 @@
|
|
683
846
|
:opt_name: shell
|
684
847
|
:procname: val_as_str
|
685
848
|
|
849
|
+
- :default: "# -^- +%{name} -^-"
|
850
|
+
:description: shell_code_label_format_above
|
851
|
+
:env_var: MDE_SHELL_CODE_LABEL_FORMAT_ABOVE
|
852
|
+
:opt_name: shell_code_label_format_above
|
853
|
+
:procname: val_as_str
|
854
|
+
|
855
|
+
- :default: "# -v- +%{name} -v-"
|
856
|
+
:description: shell_code_label_format_below
|
857
|
+
:env_var: MDE_SHELL_CODE_LABEL_FORMAT_BELOW
|
858
|
+
:opt_name: shell_code_label_format_below
|
859
|
+
:procname: val_as_str
|
860
|
+
|
686
861
|
- :description: List tab completions
|
687
862
|
:long_name: tab-completions
|
688
863
|
:opt_name: tab_completions
|
@@ -701,3 +876,15 @@
|
|
701
876
|
:long_name: version
|
702
877
|
:procname: version
|
703
878
|
:short_name: v
|
879
|
+
|
880
|
+
- :default: fg_rgbh_E0_E0_20 # Y
|
881
|
+
:description: Color of warning message
|
882
|
+
:env_var: MDE_WARNING_COLOR
|
883
|
+
:opt_name: warning_color
|
884
|
+
:procname: val_as_str
|
885
|
+
|
886
|
+
- :default: "Error: %{error}"
|
887
|
+
:description: Format of warning message
|
888
|
+
:env_var: MDE_WARNING_FORMAT
|
889
|
+
:opt_name: warning_format
|
890
|
+
:procname: val_as_str
|