markdown_exec 2.0.4 → 2.0.6
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 +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
|