markdown_exec 1.3.0 → 1.3.2
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/.reek +3 -0
- data/.rubocop.yml +19 -1
- data/CHANGELOG.md +39 -9
- data/Gemfile +5 -0
- data/Gemfile.lock +33 -13
- data/README.md +60 -0
- data/Rakefile +189 -63
- data/bin/tab_completion.sh +21 -3
- data/bin/tab_completion.sh.erb +23 -0
- data/lib/cli.rb +19 -0
- data/lib/env.rb +7 -3
- data/lib/env_opts.rb +244 -0
- data/lib/environment_opt_parse.rb +204 -0
- data/lib/markdown_exec/version.rb +1 -1
- data/lib/markdown_exec.rb +211 -145
- data/lib/menu.yml +135 -64
- data/lib/object_present.rb +39 -0
- data/lib/shared.rb +3 -14
- data/lib/tap.rb +95 -20
- data/lib/yaml_env_opts.rb +60 -0
- metadata +7 -2
data/Rakefile
CHANGED
@@ -3,8 +3,17 @@
|
|
3
3
|
require 'bundler/gem_tasks'
|
4
4
|
require 'rake/testtask'
|
5
5
|
require 'erb'
|
6
|
+
# require 'rspec'
|
7
|
+
require 'rubocop'
|
6
8
|
require 'yaml'
|
7
9
|
|
10
|
+
# begin
|
11
|
+
# require 'rspec/core/rake_task'
|
12
|
+
# RSpec::Core::RakeTask.new(:spec)
|
13
|
+
# rescue LoadError
|
14
|
+
# puts 'RSpec is required to run some tests.'
|
15
|
+
# end
|
16
|
+
|
8
17
|
Rake::TestTask.new(:test) do |task|
|
9
18
|
task.libs << 'test'
|
10
19
|
task.libs << 'lib'
|
@@ -13,15 +22,19 @@ end
|
|
13
22
|
|
14
23
|
require 'rubocop/rake_task'
|
15
24
|
|
25
|
+
require_relative 'lib/cli'
|
16
26
|
require_relative 'lib/markdown_exec/version'
|
17
27
|
require_relative 'lib/shared'
|
18
28
|
require_relative 'lib/tap'
|
19
29
|
|
30
|
+
include CLI
|
31
|
+
|
20
32
|
include Tap
|
21
33
|
tap_config envvar: MarkdownExec::TAP_DEBUG
|
22
34
|
|
23
35
|
RuboCop::RakeTask.new do |task|
|
24
36
|
task.requires << 'rubocop-minitest'
|
37
|
+
task.requires << 'rubocop-rspec'
|
25
38
|
end
|
26
39
|
|
27
40
|
desc 'named task because minitest not included in rubocop tests'
|
@@ -29,7 +42,14 @@ task :rubocopminitest do
|
|
29
42
|
`rubocop --require rubocop-minitest`
|
30
43
|
end
|
31
44
|
|
45
|
+
# desc 'rspec'
|
46
|
+
# task :rspec do
|
47
|
+
# puts "in rspec"
|
48
|
+
# `pwd && rspec`
|
49
|
+
# end
|
50
|
+
|
32
51
|
task default: %i[test reek rubocop rubocopminitest]
|
52
|
+
# task default: %i[rspec test reek rubocop rubocopminitest]
|
33
53
|
|
34
54
|
# task :default => :build
|
35
55
|
|
@@ -83,14 +103,14 @@ task :update_menu_yml do
|
|
83
103
|
long_name: 'block-name',
|
84
104
|
opt_name: 'block_name',
|
85
105
|
short_name: 'b',
|
86
|
-
|
106
|
+
procname: 'val_as_str'
|
87
107
|
},
|
88
108
|
{
|
89
109
|
arg_name: 'PATH',
|
90
110
|
default: '.',
|
91
111
|
description: 'Read configuration file',
|
92
112
|
long_name: 'config',
|
93
|
-
|
113
|
+
procname: 'path'
|
94
114
|
},
|
95
115
|
{
|
96
116
|
arg_name: 'BOOL',
|
@@ -99,7 +119,7 @@ task :update_menu_yml do
|
|
99
119
|
env_var: MarkdownExec::TAP_DEBUG,
|
100
120
|
long_name: 'debug',
|
101
121
|
short_name: 'd',
|
102
|
-
|
122
|
+
procname: 'debug'
|
103
123
|
},
|
104
124
|
{
|
105
125
|
arg_name: 'RELATIVE_PATH',
|
@@ -109,13 +129,13 @@ task :update_menu_yml do
|
|
109
129
|
long_name: 'filename',
|
110
130
|
opt_name: 'filename',
|
111
131
|
short_name: 'f',
|
112
|
-
|
132
|
+
procname: 'val_as_str'
|
113
133
|
},
|
114
134
|
{
|
115
135
|
description: 'App help',
|
116
136
|
long_name: 'help',
|
117
137
|
short_name: 'h',
|
118
|
-
|
138
|
+
procname: 'help'
|
119
139
|
},
|
120
140
|
{
|
121
141
|
arg_name: 'RELATIVE_PATH',
|
@@ -125,7 +145,7 @@ task :update_menu_yml do
|
|
125
145
|
long_name: 'path',
|
126
146
|
opt_name: 'path',
|
127
147
|
short_name: 'p',
|
128
|
-
|
148
|
+
procname: 'val_as_str'
|
129
149
|
},
|
130
150
|
{
|
131
151
|
arg_name: 'BOOL',
|
@@ -135,24 +155,24 @@ task :update_menu_yml do
|
|
135
155
|
long_name: 'user-must-approve',
|
136
156
|
opt_name: 'user_must_approve',
|
137
157
|
short_name: 'q',
|
138
|
-
|
158
|
+
procname: 'val_as_bool'
|
139
159
|
},
|
140
160
|
{
|
141
161
|
description: "Print the gem's version",
|
142
162
|
long_name: 'version',
|
143
163
|
short_name: 'v',
|
144
|
-
|
164
|
+
procname: 'version'
|
145
165
|
},
|
146
166
|
{
|
147
167
|
description: 'Exit app',
|
148
168
|
long_name: 'exit',
|
149
169
|
short_name: 'x',
|
150
|
-
|
170
|
+
procname: 'exit' # ->(_) { exit }
|
151
171
|
},
|
152
172
|
{
|
153
173
|
description: 'Show current configuration values',
|
154
174
|
short_name: '0',
|
155
|
-
|
175
|
+
procname: 'show_config'
|
156
176
|
},
|
157
177
|
|
158
178
|
## commands
|
@@ -161,7 +181,7 @@ task :update_menu_yml do
|
|
161
181
|
description: 'List blocks',
|
162
182
|
long_name: 'list-blocks',
|
163
183
|
opt_name: 'list_blocks',
|
164
|
-
|
184
|
+
procname: 'val_as_bool'
|
165
185
|
},
|
166
186
|
{
|
167
187
|
description: 'List default configuration as environment variables',
|
@@ -177,49 +197,49 @@ task :update_menu_yml do
|
|
177
197
|
description: 'List docs in current folder',
|
178
198
|
long_name: 'list-docs',
|
179
199
|
opt_name: 'list_docs',
|
180
|
-
|
200
|
+
procname: 'val_as_bool'
|
181
201
|
},
|
182
202
|
{
|
183
203
|
description: 'List recent saved output',
|
184
204
|
long_name: 'list-recent-output',
|
185
205
|
opt_name: 'list_recent_output',
|
186
|
-
|
206
|
+
procname: 'val_as_bool'
|
187
207
|
},
|
188
208
|
{
|
189
209
|
description: 'List recent saved scripts',
|
190
210
|
long_name: 'list-recent-scripts',
|
191
211
|
opt_name: 'list_recent_scripts',
|
192
|
-
|
212
|
+
procname: 'val_as_bool'
|
193
213
|
},
|
194
214
|
{
|
195
215
|
description: 'Select and execute a recently saved output',
|
196
216
|
long_name: 'select-recent-output',
|
197
217
|
opt_name: 'select_recent_output',
|
198
|
-
|
218
|
+
procname: 'val_as_bool'
|
199
219
|
},
|
200
220
|
{
|
201
221
|
description: 'Select and execute a recently saved script',
|
202
222
|
long_name: 'select-recent-script',
|
203
223
|
opt_name: 'select_recent_script',
|
204
|
-
|
224
|
+
procname: 'val_as_bool'
|
205
225
|
},
|
206
226
|
{
|
207
227
|
description: 'List tab completions',
|
208
228
|
long_name: 'tab-completions',
|
209
229
|
opt_name: 'tab_completions',
|
210
|
-
|
230
|
+
procname: 'val_as_bool'
|
211
231
|
},
|
212
232
|
{
|
213
233
|
description: 'Run most recently saved script',
|
214
234
|
long_name: 'run-last-script',
|
215
235
|
opt_name: 'run_last_script',
|
216
|
-
|
236
|
+
procname: 'val_as_bool'
|
217
237
|
},
|
218
238
|
{
|
219
239
|
description: 'Gem home folder',
|
220
240
|
long_name: 'pwd',
|
221
241
|
opt_name: 'pwd',
|
222
|
-
|
242
|
+
procname: 'val_as_bool'
|
223
243
|
},
|
224
244
|
|
225
245
|
## secondary options
|
@@ -231,7 +251,7 @@ task :update_menu_yml do
|
|
231
251
|
env_var: 'MDE_DISPLAY_LEVEL',
|
232
252
|
long_name: 'display-level',
|
233
253
|
opt_name: 'display_level',
|
234
|
-
|
254
|
+
procname: 'val_as_int'
|
235
255
|
},
|
236
256
|
{
|
237
257
|
arg_name: 'INT.1-',
|
@@ -240,7 +260,7 @@ task :update_menu_yml do
|
|
240
260
|
env_var: 'MDE_LIST_COUNT',
|
241
261
|
long_name: 'list-count',
|
242
262
|
opt_name: 'list_count',
|
243
|
-
|
263
|
+
procname: 'val_as_int'
|
244
264
|
},
|
245
265
|
{
|
246
266
|
arg_name: 'PREFIX',
|
@@ -249,7 +269,7 @@ task :update_menu_yml do
|
|
249
269
|
env_var: 'MDE_LOGGED_STDOUT_FILENAME_PREFIX',
|
250
270
|
# long_name: 'logged-stdout-filename-prefix',
|
251
271
|
opt_name: 'logged_stdout_filename_prefix',
|
252
|
-
|
272
|
+
procname: 'val_as_str'
|
253
273
|
},
|
254
274
|
{
|
255
275
|
arg_name: 'BOOL',
|
@@ -258,7 +278,7 @@ task :update_menu_yml do
|
|
258
278
|
env_var: 'MDE_MENU_BLOCKS_WITH_DOCNAME',
|
259
279
|
# long_name: 'menu-blocks-with-docname',
|
260
280
|
opt_name: 'menu_blocks_with_docname',
|
261
|
-
|
281
|
+
procname: 'val_as_bool'
|
262
282
|
},
|
263
283
|
{
|
264
284
|
arg_name: 'BOOL',
|
@@ -267,7 +287,7 @@ task :update_menu_yml do
|
|
267
287
|
env_var: 'MDE_MENU_BLOCKS_WITH_HEADINGS',
|
268
288
|
# long_name: 'menu-blocks-with-headings',
|
269
289
|
opt_name: 'menu_blocks_with_headings',
|
270
|
-
|
290
|
+
procname: 'val_as_bool'
|
271
291
|
},
|
272
292
|
{
|
273
293
|
arg_name: 'BOOL',
|
@@ -276,7 +296,7 @@ task :update_menu_yml do
|
|
276
296
|
env_var: 'MDE_OUTPUT_EXECUTION_SUMMARY',
|
277
297
|
long_name: 'output-execution-summary',
|
278
298
|
opt_name: 'output_execution_summary',
|
279
|
-
|
299
|
+
procname: 'val_as_bool'
|
280
300
|
},
|
281
301
|
{
|
282
302
|
arg_name: 'BOOL',
|
@@ -285,7 +305,7 @@ task :update_menu_yml do
|
|
285
305
|
env_var: 'MDE_OUTPUT_SCRIPT',
|
286
306
|
long_name: 'output-script',
|
287
307
|
opt_name: 'output_script',
|
288
|
-
|
308
|
+
procname: 'val_as_bool'
|
289
309
|
},
|
290
310
|
{
|
291
311
|
arg_name: 'BOOL',
|
@@ -294,7 +314,7 @@ task :update_menu_yml do
|
|
294
314
|
env_var: 'MDE_OUTPUT_STDOUT',
|
295
315
|
long_name: 'output-stdout',
|
296
316
|
opt_name: 'output_stdout',
|
297
|
-
|
317
|
+
procname: 'val_as_bool'
|
298
318
|
},
|
299
319
|
{
|
300
320
|
arg_name: 'BOOL',
|
@@ -303,7 +323,7 @@ task :update_menu_yml do
|
|
303
323
|
env_var: 'MDE_SAVE_EXECUTED_SCRIPT',
|
304
324
|
long_name: 'save-executed-script',
|
305
325
|
opt_name: 'save_executed_script',
|
306
|
-
|
326
|
+
procname: 'val_as_bool'
|
307
327
|
},
|
308
328
|
{
|
309
329
|
arg_name: 'BOOL',
|
@@ -312,7 +332,7 @@ task :update_menu_yml do
|
|
312
332
|
env_var: 'MDE_SAVE_EXECUTION_OUTPUT',
|
313
333
|
long_name: 'save-execution-output',
|
314
334
|
opt_name: 'save_execution_output',
|
315
|
-
|
335
|
+
procname: 'val_as_bool'
|
316
336
|
},
|
317
337
|
{
|
318
338
|
arg_name: 'INT',
|
@@ -321,7 +341,7 @@ task :update_menu_yml do
|
|
321
341
|
env_var: 'MDE_SAVED_SCRIPT_CHMOD',
|
322
342
|
# long_name: 'saved-script-chmod',
|
323
343
|
opt_name: 'saved_script_chmod',
|
324
|
-
|
344
|
+
procname: 'val_as_int'
|
325
345
|
},
|
326
346
|
{
|
327
347
|
arg_name: 'PREFIX',
|
@@ -330,7 +350,7 @@ task :update_menu_yml do
|
|
330
350
|
env_var: 'MDE_SAVED_SCRIPT_FILENAME_PREFIX',
|
331
351
|
# long_name: 'saved-script-filename-prefix',
|
332
352
|
opt_name: 'saved_script_filename_prefix',
|
333
|
-
|
353
|
+
procname: 'val_as_str'
|
334
354
|
},
|
335
355
|
{
|
336
356
|
arg_name: 'RELATIVE_PATH',
|
@@ -339,7 +359,7 @@ task :update_menu_yml do
|
|
339
359
|
env_var: 'MDE_SAVED_SCRIPT_FOLDER',
|
340
360
|
long_name: 'saved-script-folder',
|
341
361
|
opt_name: 'saved_script_folder',
|
342
|
-
|
362
|
+
procname: 'val_as_str'
|
343
363
|
},
|
344
364
|
{
|
345
365
|
arg_name: 'GLOB',
|
@@ -348,7 +368,7 @@ task :update_menu_yml do
|
|
348
368
|
env_var: 'MDE_SAVED_SCRIPT_GLOB',
|
349
369
|
# long_name: 'saved-script-glob',
|
350
370
|
opt_name: 'saved_script_glob',
|
351
|
-
|
371
|
+
procname: 'val_as_str'
|
352
372
|
},
|
353
373
|
{
|
354
374
|
arg_name: 'RELATIVE_PATH',
|
@@ -357,7 +377,7 @@ task :update_menu_yml do
|
|
357
377
|
env_var: 'MDE_SAVED_STDOUT_FOLDER',
|
358
378
|
long_name: 'saved-stdout-folder',
|
359
379
|
opt_name: 'saved_stdout_folder',
|
360
|
-
|
380
|
+
procname: 'val_as_str'
|
361
381
|
},
|
362
382
|
{
|
363
383
|
arg_name: 'GLOB',
|
@@ -366,133 +386,239 @@ task :update_menu_yml do
|
|
366
386
|
env_var: 'MDE_SAVED_STDOUT_GLOB',
|
367
387
|
# long_name: 'saved-stdout-glob',
|
368
388
|
opt_name: 'saved_stdout_glob',
|
369
|
-
|
389
|
+
procname: 'val_as_str'
|
370
390
|
},
|
371
391
|
|
372
392
|
{
|
373
393
|
default: '^[\(\[].*[\)\]]$',
|
374
394
|
description: 'Pattern for blocks to hide from user-selection',
|
375
|
-
env_var: '
|
376
|
-
opt_name: '
|
377
|
-
|
395
|
+
env_var: 'MDE_BLOCK_NAME_HIDDEN_MATCH',
|
396
|
+
opt_name: 'block_name_hidden_match',
|
397
|
+
procname: 'val_as_str'
|
378
398
|
},
|
379
399
|
{
|
380
400
|
default: ':(?<title>\S+)( |$)',
|
381
401
|
env_var: 'MDE_BLOCK_NAME_MATCH',
|
382
402
|
opt_name: 'block_name_match',
|
383
|
-
|
403
|
+
procname: 'val_as_str'
|
384
404
|
},
|
385
405
|
{
|
386
406
|
default: '%\([^\)]+\)',
|
387
407
|
env_var: 'MDE_BLOCK_CALLS_SCAN',
|
388
408
|
opt_name: 'block_calls_scan',
|
389
|
-
|
409
|
+
procname: 'val_as_str'
|
390
410
|
},
|
391
411
|
{
|
392
412
|
default: '\+\S+',
|
393
413
|
env_var: 'MDE_BLOCK_REQUIRED_SCAN',
|
394
414
|
opt_name: 'block_required_scan',
|
395
|
-
|
415
|
+
procname: 'val_as_str'
|
396
416
|
},
|
397
417
|
{
|
398
418
|
default: '<(?<full>(?<type>\$)?(?<name>[A-Za-z]\S*))',
|
399
419
|
env_var: 'MDE_BLOCK_STDIN_SCAN',
|
400
420
|
opt_name: 'block_stdin_scan',
|
401
|
-
|
421
|
+
procname: 'val_as_str'
|
402
422
|
},
|
403
423
|
{
|
404
424
|
default: '>(?<full>(?<type>\$)?(?<name>[A-Za-z]\S*))',
|
405
425
|
env_var: 'MDE_BLOCK_STDOUT_SCAN',
|
406
426
|
opt_name: 'block_stdout_scan',
|
407
|
-
|
427
|
+
procname: 'val_as_str'
|
408
428
|
},
|
409
429
|
{
|
410
430
|
default: '> ',
|
411
431
|
env_var: 'MDE_DISPLAY_LEVEL_XBASE_PREFIX',
|
412
432
|
opt_name: 'display_level_xbase_prefix',
|
413
|
-
|
433
|
+
procname: 'val_as_str'
|
414
434
|
},
|
415
435
|
{
|
416
436
|
default: '^`{3,}',
|
417
437
|
env_var: 'MDE_FENCED_START_AND_END_MATCH',
|
418
438
|
opt_name: 'fenced_start_and_end_match',
|
419
|
-
|
439
|
+
procname: 'val_as_str'
|
420
440
|
},
|
421
441
|
{
|
422
442
|
default: '^`{3,}(?<shell>[^`\s]*) *(?<name>.*)$',
|
423
443
|
env_var: 'MDE_FENCED_START_EX_MATCH',
|
424
444
|
opt_name: 'fenced_start_ex_match',
|
425
|
-
|
445
|
+
procname: 'val_as_str'
|
426
446
|
},
|
427
447
|
{
|
428
448
|
default: '^# *(?<name>[^#]*?) *$',
|
429
449
|
env_var: 'MDE_HEADING1_MATCH',
|
430
450
|
opt_name: 'heading1_match',
|
431
|
-
|
451
|
+
procname: 'val_as_str'
|
432
452
|
},
|
433
453
|
{
|
434
454
|
default: '^## *(?<name>[^#]*?) *$',
|
435
455
|
env_var: 'MDE_HEADING2_MATCH',
|
436
456
|
opt_name: 'heading2_match',
|
437
|
-
|
457
|
+
procname: 'val_as_str'
|
438
458
|
},
|
439
459
|
{
|
440
460
|
default: '^### *(?<name>.+?) *$',
|
441
461
|
env_var: 'MDE_HEADING3_MATCH',
|
442
462
|
opt_name: 'heading3_match',
|
443
|
-
|
463
|
+
procname: 'val_as_str'
|
444
464
|
},
|
445
465
|
{
|
446
466
|
default: '*.[Mm][Dd]',
|
447
467
|
env_var: 'MDE_MD_FILENAME_GLOB',
|
448
468
|
opt_name: 'md_filename_glob',
|
449
|
-
|
469
|
+
procname: 'val_as_str'
|
450
470
|
},
|
451
471
|
{
|
452
472
|
default: '.+\\.md',
|
453
473
|
env_var: 'MDE_MD_FILENAME_MATCH',
|
454
474
|
opt_name: 'md_filename_match',
|
455
|
-
|
475
|
+
procname: 'val_as_str'
|
476
|
+
},
|
477
|
+
{
|
478
|
+
default: '-:= %s =:-',
|
479
|
+
description: 'format for menu dividers and demarcations',
|
480
|
+
env_var: 'MDE_MENU_DIVIDER_FORMAT',
|
481
|
+
opt_name: 'menu_divider_format',
|
482
|
+
procname: 'val_as_str'
|
483
|
+
},
|
484
|
+
{
|
485
|
+
default: 'magenta',
|
486
|
+
description: 'Color of menu divider',
|
487
|
+
env_var: 'MDE_MENU_DIVIDER_COLOR',
|
488
|
+
opt_name: 'menu_divider_color',
|
489
|
+
procname: 'val_as_str'
|
456
490
|
},
|
457
491
|
{
|
458
492
|
default: '^::: +(?<name>.+?)$',
|
459
493
|
description: 'Pattern for topics/dividers in block selection menu',
|
460
494
|
env_var: 'MDE_MENU_DIVIDER_MATCH',
|
461
495
|
opt_name: 'menu_divider_match',
|
462
|
-
|
496
|
+
procname: 'val_as_str'
|
497
|
+
},
|
498
|
+
{
|
499
|
+
default: '>',
|
500
|
+
description: 'Symbol before each divider',
|
501
|
+
env_var: 'MDE_MENU_DIVIDER_SYMBOL',
|
502
|
+
opt_name: 'menu_divider_symbol',
|
503
|
+
procname: 'val_as_str'
|
504
|
+
},
|
505
|
+
{
|
506
|
+
default: '~~~',
|
507
|
+
description: 'closing demarcations for menu',
|
508
|
+
env_var: 'MDE_MENU_FINAL_DIVIDER',
|
509
|
+
opt_name: 'menu_final_divider',
|
510
|
+
procname: 'val_as_str'
|
511
|
+
},
|
512
|
+
{
|
513
|
+
default: '',
|
514
|
+
description: 'opening demarcation for menu',
|
515
|
+
env_var: 'MDE_MENU_INITIAL_DIVIDER',
|
516
|
+
opt_name: 'menu_initial_divider',
|
517
|
+
procname: 'val_as_str'
|
463
518
|
},
|
464
519
|
{
|
465
520
|
description: 'Options for viewing saved output file',
|
466
521
|
env_var: 'MDE_OUTPUT_VIEWER_OPTIONS',
|
467
522
|
opt_name: 'output_viewer_options',
|
468
|
-
|
523
|
+
procname: 'val_as_str'
|
469
524
|
},
|
470
525
|
{
|
471
|
-
default:
|
526
|
+
default: 36,
|
472
527
|
description: 'Maximum # of rows in select list',
|
473
528
|
env_var: 'MDE_SELECT_PAGE_HEIGHT',
|
474
529
|
opt_name: 'select_page_height',
|
475
|
-
|
530
|
+
procname: 'val_as_int'
|
476
531
|
},
|
477
532
|
{
|
478
533
|
default: '#!/usr/bin/env',
|
479
534
|
description: 'Shebang for saved scripts',
|
480
535
|
env_var: 'MDE_SHEBANG',
|
481
536
|
opt_name: 'shebang',
|
482
|
-
|
537
|
+
procname: 'val_as_str'
|
483
538
|
},
|
484
539
|
{
|
485
540
|
default: 'bash',
|
486
541
|
description: 'Shell for launched scripts',
|
487
542
|
env_var: 'MDE_SHELL',
|
488
543
|
opt_name: 'shell',
|
489
|
-
|
544
|
+
procname: 'val_as_str'
|
490
545
|
},
|
491
546
|
{
|
492
|
-
default: '
|
493
|
-
|
494
|
-
|
495
|
-
|
547
|
+
default: 'Process?',
|
548
|
+
description: 'Prompt to approve a block',
|
549
|
+
env_var: 'MDE_PROMPT_APPROVE_BLOCK',
|
550
|
+
opt_name: 'prompt_approve_block',
|
551
|
+
procname: 'val_as_str'
|
552
|
+
},
|
553
|
+
{
|
554
|
+
default: 'Choose a block:',
|
555
|
+
description: 'Prompt to select a block',
|
556
|
+
env_var: 'MDE_PROMPT_SELECT_BLOCK',
|
557
|
+
opt_name: 'prompt_select_block',
|
558
|
+
procname: 'val_as_str'
|
559
|
+
},
|
560
|
+
{
|
561
|
+
default: 'Choose a file:',
|
562
|
+
description: 'Prompt to select a markdown document',
|
563
|
+
env_var: 'MDE_PROMPT_SELECT_MD',
|
564
|
+
opt_name: 'prompt_select_md',
|
565
|
+
procname: 'val_as_str'
|
566
|
+
},
|
567
|
+
{
|
568
|
+
default: 'Choose a file:',
|
569
|
+
description: 'Prompt to select a saved file',
|
570
|
+
env_var: 'MDE_PROMPT_SELECT_OUTPUT',
|
571
|
+
opt_name: 'prompt_select_output',
|
572
|
+
procname: 'val_as_str'
|
573
|
+
},
|
574
|
+
{
|
575
|
+
default: 'Copy script to clipboard',
|
576
|
+
description: 'Prompt to copy script to clipboard',
|
577
|
+
env_var: 'MDE_PROMPT_SCRIPT_TO_CLIPBOARD',
|
578
|
+
opt_name: 'prompt_script_to_clipboard',
|
579
|
+
procname: 'val_as_str'
|
580
|
+
},
|
581
|
+
{
|
582
|
+
default: 'Save script',
|
583
|
+
description: 'Prompt to save script',
|
584
|
+
env_var: 'MDE_PROMPT_SAVE_SCRIPT',
|
585
|
+
opt_name: 'prompt_save_script',
|
586
|
+
procname: 'val_as_str'
|
587
|
+
},
|
588
|
+
{
|
589
|
+
default: 'No',
|
590
|
+
description: 'Prompt for no',
|
591
|
+
env_var: 'MDE_PROMPT_NO',
|
592
|
+
opt_name: 'prompt_no',
|
593
|
+
procname: 'val_as_str'
|
594
|
+
},
|
595
|
+
{
|
596
|
+
default: 'Yes',
|
597
|
+
description: 'Prompt for yes',
|
598
|
+
env_var: 'MDE_PROMPT_YES',
|
599
|
+
opt_name: 'prompt_yes',
|
600
|
+
procname: 'val_as_str'
|
601
|
+
},
|
602
|
+
{
|
603
|
+
default: ' #=#=#',
|
604
|
+
description: 'Output divider',
|
605
|
+
env_var: 'MDE_OUTPUT_DIVIDER',
|
606
|
+
opt_name: 'output_divider',
|
607
|
+
procname: 'val_as_str'
|
608
|
+
},
|
609
|
+
{
|
610
|
+
default: 'yellow',
|
611
|
+
description: 'Color of output divider',
|
612
|
+
env_var: 'MDE_OUTPUT_DIVIDER_COLOR',
|
613
|
+
opt_name: 'output_divider_color',
|
614
|
+
procname: 'val_as_str'
|
615
|
+
# },
|
616
|
+
# {
|
617
|
+
# default: '',
|
618
|
+
# description: '',
|
619
|
+
# env_var: 'MDE_PROMPT_',
|
620
|
+
# opt_name: 'prompt_',
|
621
|
+
# procname: 'val_as_str'
|
496
622
|
}
|
497
623
|
]
|
498
624
|
|
@@ -511,8 +637,8 @@ def update_tab_completion(target)
|
|
511
637
|
|
512
638
|
svhs = YAML.load File.open(MENU_YML)
|
513
639
|
svhs.each do |svh|
|
514
|
-
svh[:compreply] = value_for_cli(svh[:default]) if svh[:compreply].nil?
|
515
|
-
end.tap_inspect name: :svhs,
|
640
|
+
svh[:compreply] = CLI.value_for_cli(svh[:default]) if svh[:compreply].nil?
|
641
|
+
end.tap_inspect name: :svhs, type: :yaml
|
516
642
|
|
517
643
|
File.write target, ERB.new(File.read(filespec = File.join(BF, 'tab_completion.sh.erb'))).result(binding)
|
518
644
|
puts `stat #{filespec}`
|
data/bin/tab_completion.sh
CHANGED
@@ -13,7 +13,7 @@ __filedirs_all()
|
|
13
13
|
}
|
14
14
|
|
15
15
|
_mde_echo_version() {
|
16
|
-
echo "1.3.
|
16
|
+
echo "1.3.2"
|
17
17
|
}
|
18
18
|
|
19
19
|
_mde() {
|
@@ -34,12 +34,20 @@ _mde() {
|
|
34
34
|
|
35
35
|
--debug) COMPREPLY="0"; return 0 ;;
|
36
36
|
|
37
|
+
-d) COMPREPLY="0"; return 0 ;;
|
38
|
+
|
37
39
|
--filename) COMPREPLY="."; return 0 ;;
|
38
40
|
|
41
|
+
-f) COMPREPLY="."; return 0 ;;
|
42
|
+
|
39
43
|
--path) COMPREPLY="."; return 0 ;;
|
40
44
|
|
45
|
+
-p) COMPREPLY="."; return 0 ;;
|
46
|
+
|
41
47
|
--user-must-approve) COMPREPLY="1"; return 0 ;;
|
42
48
|
|
49
|
+
-q) COMPREPLY="1"; return 0 ;;
|
50
|
+
|
43
51
|
--display-level) COMPREPLY="1"; return 0 ;;
|
44
52
|
|
45
53
|
--list-count) COMPREPLY="32"; return 0 ;;
|
@@ -81,17 +89,27 @@ _mde() {
|
|
81
89
|
|
82
90
|
--block-name) COMPREPLY=".NAME."; return 0 ;;
|
83
91
|
|
92
|
+
-b) COMPREPLY=".NAME."; return 0 ;;
|
93
|
+
|
84
94
|
--config) COMPREPLY=".PATH."; return 0 ;;
|
85
95
|
|
86
96
|
--debug) COMPREPLY=".BOOL."; return 0 ;;
|
87
97
|
|
98
|
+
-d) COMPREPLY=".BOOL."; return 0 ;;
|
99
|
+
|
88
100
|
--filename) COMPREPLY=".RELATIVE_PATH."; return 0 ;;
|
89
101
|
|
102
|
+
-f) COMPREPLY=".RELATIVE_PATH."; return 0 ;;
|
103
|
+
|
90
104
|
--path) COMPREPLY=".RELATIVE_PATH."; return 0 ;;
|
91
105
|
|
106
|
+
-p) COMPREPLY=".RELATIVE_PATH."; return 0 ;;
|
107
|
+
|
92
108
|
--user-must-approve) COMPREPLY=".BOOL."; return 0 ;;
|
93
109
|
|
94
|
-
|
110
|
+
-q) COMPREPLY=".BOOL."; return 0 ;;
|
111
|
+
|
112
|
+
--display-level) COMPREPLY=".INT.0-3."; return 0 ;;
|
95
113
|
|
96
114
|
--list-count) COMPREPLY=".INT.1-."; return 0 ;;
|
97
115
|
|
@@ -120,4 +138,4 @@ _mde() {
|
|
120
138
|
|
121
139
|
complete -o filenames -o nospace -F _mde mde
|
122
140
|
# _mde_echo_version
|
123
|
-
# echo "Updated: 2022-
|
141
|
+
# echo "Updated: 2022-11-13 18:09:17 UTC"
|