markdown_exec 2.0.4 → 2.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +12 -5
- data/CHANGELOG.md +27 -0
- data/Gemfile.lock +1 -1
- data/bin/tab_completion.sh +15 -31
- data/examples/block_names.md +23 -0
- data/examples/linked.md +8 -0
- data/examples/linked_show.md +7 -0
- data/examples/load_code.md +10 -0
- data/examples/search.md +21 -0
- data/lib/color_scheme.rb +65 -0
- data/lib/constants.rb +18 -19
- data/lib/directory_searcher.rb +4 -2
- data/lib/find_files.rb +36 -42
- data/lib/hash_delegator.rb +842 -571
- data/lib/input_sequencer.rb +16 -9
- data/lib/markdown_exec/version.rb +1 -1
- data/lib/markdown_exec.rb +146 -31
- data/lib/menu.src.yml +76 -19
- data/lib/menu.yml +68 -12
- data/lib/std_out_err_logger.rb +12 -14
- metadata +7 -2
data/lib/menu.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# MDE - Markdown Executor (2.0.
|
1
|
+
# MDE - Markdown Executor (2.0.6)
|
2
2
|
---
|
3
3
|
- :description: Show current configuration values
|
4
4
|
:procname: show_config
|
@@ -94,45 +94,64 @@
|
|
94
94
|
:env_var: MDE_DOCUMENT_LOAD_OPTS_BLOCK_NAME
|
95
95
|
:opt_name: document_load_opts_block_name
|
96
96
|
:procname: val_as_str
|
97
|
+
- :arg_name: GLOB
|
98
|
+
:default: document_configurations/%{document_filename}_*.sh
|
99
|
+
:description: Glob for saved lines for a document
|
100
|
+
:env_var: MDE_DOCUMENT_SAVED_LINES_GLOB
|
101
|
+
:opt_name: document_saved_lines_glob
|
102
|
+
:procname: val_as_str
|
103
|
+
- :arg_name: BOOL
|
104
|
+
:default: true
|
105
|
+
:description: Add menu options for saved lines
|
106
|
+
:env_var: MDE_MENU_FOR_SAVED_LINES
|
107
|
+
:opt_name: menu_for_saved_lines
|
108
|
+
:procname: val_as_bool
|
97
109
|
- :arg_name: BOOL
|
98
110
|
:default: false
|
99
111
|
:description: Dump @delegate_object
|
100
|
-
:
|
112
|
+
:env_var: MDE_DUMP_DELEGATE_OBJECT
|
113
|
+
:long_name: dump-delegate-object
|
101
114
|
:opt_name: dump_delegate_object
|
102
115
|
:procname: val_as_bool
|
103
116
|
- :arg_name: BOOL
|
104
117
|
:default: false
|
105
118
|
:description: Dump BlocksInFile (stage 1)
|
119
|
+
:env_var: MDE_DUMP_BLOCKS_IN_FILE
|
106
120
|
:long_name: dump-blocks-in-file
|
107
121
|
:opt_name: dump_blocks_in_file
|
108
122
|
:procname: val_as_bool
|
109
123
|
- :arg_name: BOOL
|
110
124
|
:default: false
|
111
125
|
:description: Dump inherited block_names
|
112
|
-
:
|
126
|
+
:env_var: MDE_DUMP_INHERITED_BLOCK_NAMES
|
127
|
+
:long_name: dump-inherited-block_names
|
113
128
|
:opt_name: dump_inherited_block_names
|
114
129
|
:procname: val_as_bool
|
115
130
|
- :arg_name: BOOL
|
116
131
|
:default: false
|
117
132
|
:description: Dump inherited dependencies
|
118
|
-
:
|
133
|
+
:env_var: MDE_DUMP_INHERITED_DEPENDENCIES
|
134
|
+
:long_name: dump-inherited-dependencies
|
119
135
|
:opt_name: dump_inherited_dependencies
|
120
136
|
:procname: val_as_bool
|
121
137
|
- :arg_name: BOOL
|
122
138
|
:default: false
|
123
139
|
:description: Dump inherited lines
|
124
|
-
:
|
140
|
+
:env_var: MDE_DUMP_INHERITED_LINES
|
141
|
+
:long_name: dump-inherited-lines
|
125
142
|
:opt_name: dump_inherited_lines
|
126
143
|
:procname: val_as_bool
|
127
144
|
- :arg_name: BOOL
|
128
145
|
:default: false
|
129
146
|
:description: Dump MenuBlocks (stage 2)
|
147
|
+
:env_var: MDE_DUMP_MENU_BLOCKS
|
130
148
|
:long_name: dump-menu-blocks
|
131
149
|
:opt_name: dump_menu_blocks
|
132
150
|
:procname: val_as_bool
|
133
151
|
- :arg_name: BOOL
|
134
152
|
:default: false
|
135
153
|
:description: Dump selected block
|
154
|
+
:env_var: MDE_DUMP_SELECTED_BLOCK
|
136
155
|
:long_name: dump-selected-block
|
137
156
|
:opt_name: dump_selected_block
|
138
157
|
:procname: val_as_bool
|
@@ -239,7 +258,7 @@
|
|
239
258
|
:env_var: MDE_FENCED_START_AND_END_REGEX
|
240
259
|
:opt_name: fenced_start_and_end_regex
|
241
260
|
:procname: val_as_str
|
242
|
-
- :default: "^(?<indent> *)`{3,}(?<shell>[^`\\s]*)
|
261
|
+
- :default: "^(?<indent> *)`{3,}(?<shell>[^`\\s]*) *(:(?<name>[^\\s]*))? *(?<rest>.*)
|
243
262
|
*$"
|
244
263
|
:description: Match the start of a fenced block
|
245
264
|
:env_var: MDE_FENCED_START_EXTENDED_REGEX
|
@@ -341,6 +360,13 @@
|
|
341
360
|
:long_name: list-recent-scripts
|
342
361
|
:opt_name: list_recent_scripts
|
343
362
|
:procname: val_as_bool
|
363
|
+
- :arg_name: PATH
|
364
|
+
:default: ''
|
365
|
+
:description: Load code
|
366
|
+
:env_var: MDE_LOAD_CODE
|
367
|
+
:long_name: load-code
|
368
|
+
:opt_name: load_code
|
369
|
+
:procname: val_as_str
|
344
370
|
- :arg_name: PREFIX
|
345
371
|
:default: mde
|
346
372
|
:description: Name prefix for stdout files
|
@@ -415,6 +441,12 @@
|
|
415
441
|
:env_var: MDE_MENU_EXIT_AT_TOP
|
416
442
|
:opt_name: menu_exit_at_top
|
417
443
|
:procname: val_as_bool
|
444
|
+
- :arg_name: BOOL
|
445
|
+
:default: false
|
446
|
+
:description: Display Load option at top of menu (vs bottom)
|
447
|
+
:env_var: MDE_MENU_LOAD_AT_TOP
|
448
|
+
:opt_name: menu_load_at_top
|
449
|
+
:procname: val_as_bool
|
418
450
|
- :default:
|
419
451
|
:line: "~~~"
|
420
452
|
:description: closing demarcations for menu
|
@@ -521,12 +553,36 @@
|
|
521
553
|
:env_var: MDE_MENU_OPTION_BACK_NAME
|
522
554
|
:opt_name: menu_option_back_name
|
523
555
|
:procname: val_as_str
|
556
|
+
- :default:
|
557
|
+
:line: "* Edit"
|
558
|
+
:description: Text for Edit option
|
559
|
+
:env_var: MDE_MENU_OPTION_EDIT_NAME
|
560
|
+
:opt_name: menu_option_edit_name
|
561
|
+
:procname: val_as_str
|
524
562
|
- :default:
|
525
563
|
:line: "* Exit"
|
526
564
|
:description: Text for Exit option
|
527
565
|
:env_var: MDE_MENU_OPTION_EXIT_NAME
|
528
566
|
:opt_name: menu_option_exit_name
|
529
567
|
:procname: val_as_str
|
568
|
+
- :default:
|
569
|
+
:line: "* Load"
|
570
|
+
:description: Text for Load option
|
571
|
+
:env_var: MDE_MENU_OPTION_LOAD_NAME
|
572
|
+
:opt_name: menu_option_load_name
|
573
|
+
:procname: val_as_str
|
574
|
+
- :default:
|
575
|
+
:line: "* Save"
|
576
|
+
:description: Text for Save option
|
577
|
+
:env_var: MDE_MENU_OPTION_SAVE_NAME
|
578
|
+
:opt_name: menu_option_save_name
|
579
|
+
:procname: val_as_str
|
580
|
+
- :default:
|
581
|
+
:line: "* View"
|
582
|
+
:description: Text for View option
|
583
|
+
:env_var: MDE_MENU_OPTION_VIEW_NAME
|
584
|
+
:opt_name: menu_option_view_name
|
585
|
+
:procname: val_as_str
|
530
586
|
- :default: fg_rgbh_ff_00_ff
|
531
587
|
:description: Color of menu opts
|
532
588
|
:env_var: MDE_MENU_OPTS_COLOR
|
@@ -595,7 +651,7 @@
|
|
595
651
|
:opt_name: menu_with_exit
|
596
652
|
:procname: val_as_bool
|
597
653
|
- :arg_name: BOOL
|
598
|
-
:default:
|
654
|
+
:default: false
|
599
655
|
:description: Display inherited lines in menu
|
600
656
|
:env_var: MDE_MENU_WITH_INHERITED_LINES
|
601
657
|
:opt_name: menu_with_inherited_lines
|
@@ -636,7 +692,6 @@
|
|
636
692
|
:default: false
|
637
693
|
:description: Display summary for execution
|
638
694
|
:env_var: MDE_OUTPUT_EXECUTION_SUMMARY
|
639
|
-
:long_name: output-execution-summary
|
640
695
|
:opt_name: output_execution_summary
|
641
696
|
:procname: val_as_bool
|
642
697
|
- :default: "%{name}: %{value}"
|
@@ -728,6 +783,11 @@
|
|
728
783
|
:env_var: MDE_PROMPT_EXIT
|
729
784
|
:opt_name: prompt_exit
|
730
785
|
:procname: val_as_str
|
786
|
+
- :default: Back
|
787
|
+
:description: Quit prompt
|
788
|
+
:env_var: MDE_PROMPT_FILESPEC_OTHER
|
789
|
+
:opt_name: prompt_filespec_back
|
790
|
+
:procname: val_as_str
|
731
791
|
- :default: Other
|
732
792
|
:description: Prompt for a custom file name
|
733
793
|
:env_var: MDE_PROMPT_FILESPEC_OTHER
|
@@ -809,14 +869,12 @@
|
|
809
869
|
:default: false
|
810
870
|
:description: Wheter to save an executed script`
|
811
871
|
:env_var: MDE_SAVE_EXECUTED_SCRIPT
|
812
|
-
:long_name: save-executed-script
|
813
872
|
:opt_name: save_executed_script
|
814
873
|
:procname: val_as_bool
|
815
874
|
- :arg_name: BOOL
|
816
875
|
:default: false
|
817
876
|
:description: Save standard output of the executed script
|
818
877
|
:env_var: MDE_SAVE_EXECUTION_OUTPUT
|
819
|
-
:long_name: save-execution-output
|
820
878
|
:opt_name: save_execution_output
|
821
879
|
:procname: val_as_bool
|
822
880
|
- :default: "/"
|
@@ -845,7 +903,6 @@
|
|
845
903
|
:default: logs
|
846
904
|
:description: Folder where saved scripts are stored
|
847
905
|
:env_var: MDE_SAVED_SCRIPT_FOLDER
|
848
|
-
:long_name: saved-script-folder
|
849
906
|
:opt_name: saved_script_folder
|
850
907
|
:procname: val_as_str
|
851
908
|
- :arg_name: GLOB
|
@@ -858,7 +915,6 @@
|
|
858
915
|
:default: logs
|
859
916
|
:description: Saved stdout folder
|
860
917
|
:env_var: MDE_SAVED_STDOUT_FOLDER
|
861
|
-
:long_name: saved-stdout-folder
|
862
918
|
:opt_name: saved_stdout_folder
|
863
919
|
:procname: val_as_str
|
864
920
|
- :arg_name: GLOB
|
data/lib/std_out_err_logger.rb
CHANGED
@@ -18,8 +18,8 @@ class StdOutErrLogger < Logger
|
|
18
18
|
# def initialize(file = nil)
|
19
19
|
def initialize(file = "#{__dir__}/../tmp/hash_delegator_next_link_state.yaml")
|
20
20
|
@file = file
|
21
|
-
super(file ||
|
22
|
-
self.formatter = proc do |
|
21
|
+
super(file || $stdout)
|
22
|
+
self.formatter = proc do |_severity, _datetime, _progname, msg|
|
23
23
|
"#{msg}\n"
|
24
24
|
end
|
25
25
|
end
|
@@ -36,14 +36,12 @@ class StdOutErrLogger < Logger
|
|
36
36
|
if @file
|
37
37
|
super
|
38
38
|
else
|
39
|
-
|
39
|
+
warn(out)
|
40
40
|
end
|
41
|
+
elsif @file
|
42
|
+
super
|
41
43
|
else
|
42
|
-
|
43
|
-
super
|
44
|
-
else
|
45
|
-
$stdout.puts(out)
|
46
|
-
end
|
44
|
+
$stdout.puts(out)
|
47
45
|
end
|
48
46
|
end
|
49
47
|
end
|
@@ -81,40 +79,40 @@ class StdOutErrLoggerTest < Minitest::Test
|
|
81
79
|
|
82
80
|
def test_logging_info
|
83
81
|
logger = StdOutErrLogger.new
|
84
|
-
logger.info(
|
82
|
+
logger.info('Info message')
|
85
83
|
assert_equal "Info message\n", $stdout.string
|
86
84
|
assert_empty $stderr.string
|
87
85
|
end
|
88
86
|
|
89
87
|
def test_logging_warning
|
90
88
|
logger = StdOutErrLogger.new
|
91
|
-
logger.warn(
|
89
|
+
logger.warn('Warning message')
|
92
90
|
assert_empty $stdout.string
|
93
91
|
assert_equal "Warning message\n", $stderr.string
|
94
92
|
end
|
95
93
|
|
96
94
|
def test_logging_error
|
97
95
|
logger = StdOutErrLogger.new
|
98
|
-
logger.error(
|
96
|
+
logger.error('Error message')
|
99
97
|
assert_empty $stdout.string
|
100
98
|
assert_equal "Error message\n", $stderr.string
|
101
99
|
end
|
102
100
|
|
103
101
|
def test_logging_with_array
|
104
102
|
logger = StdOutErrLogger.new
|
105
|
-
logger.info([
|
103
|
+
logger.info(['Message line 1', 'Message line 2'])
|
106
104
|
assert_equal "Message line 1\nMessage line 2\n", $stdout.string
|
107
105
|
end
|
108
106
|
|
109
107
|
def test_logging_with_block
|
110
108
|
logger = StdOutErrLogger.new
|
111
|
-
logger.info {
|
109
|
+
logger.info { 'Block message' }
|
112
110
|
assert_equal "Block message\n", $stdout.string
|
113
111
|
end
|
114
112
|
|
115
113
|
def test_logging_unknown_severity
|
116
114
|
logger = StdOutErrLogger.new
|
117
|
-
logger.add(Logger::UNKNOWN,
|
115
|
+
logger.add(Logger::UNKNOWN, 'Unknown severity message')
|
118
116
|
assert_empty $stdout.string
|
119
117
|
assert_equal "Unknown severity message\n", $stderr.string
|
120
118
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: markdown_exec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fareed Stevenson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clipboard
|
@@ -113,6 +113,7 @@ files:
|
|
113
113
|
- bin/setup
|
114
114
|
- bin/tab_completion.sh
|
115
115
|
- bin/tab_completion.sh.erb
|
116
|
+
- examples/block_names.md
|
116
117
|
- examples/colors.md
|
117
118
|
- examples/document_options.md
|
118
119
|
- examples/duplicate_block.md
|
@@ -125,14 +126,17 @@ files:
|
|
125
126
|
- examples/linked1.md
|
126
127
|
- examples/linked2.md
|
127
128
|
- examples/linked3.md
|
129
|
+
- examples/linked_show.md
|
128
130
|
- examples/llm.md
|
129
131
|
- examples/load1.sh
|
130
132
|
- examples/load2.sh
|
133
|
+
- examples/load_code.md
|
131
134
|
- examples/nickname.md
|
132
135
|
- examples/opts.md
|
133
136
|
- examples/pass-through.md
|
134
137
|
- examples/plant.md
|
135
138
|
- examples/port.md
|
139
|
+
- examples/search.md
|
136
140
|
- examples/vars.md
|
137
141
|
- examples/wrap.md
|
138
142
|
- lib/ansi_formatter.rb
|
@@ -143,6 +147,7 @@ files:
|
|
143
147
|
- lib/cached_nested_file_reader.rb
|
144
148
|
- lib/ce_get_cost_and_usage.rb
|
145
149
|
- lib/cli.rb
|
150
|
+
- lib/color_scheme.rb
|
146
151
|
- lib/colorize.rb
|
147
152
|
- lib/constants.rb
|
148
153
|
- lib/directory_searcher.rb
|