markdown_exec 1.6 → 1.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|