markdown_exec 1.3.0 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
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
- proc1: 'val_as_str'
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
- proc1: 'path'
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
- proc1: 'debug'
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
- proc1: 'val_as_str'
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
- proc1: 'help'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_bool'
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
- proc1: 'version'
164
+ procname: 'version'
145
165
  },
146
166
  {
147
167
  description: 'Exit app',
148
168
  long_name: 'exit',
149
169
  short_name: 'x',
150
- proc1: 'exit' # ->(_) { exit }
170
+ procname: 'exit' # ->(_) { exit }
151
171
  },
152
172
  {
153
173
  description: 'Show current configuration values',
154
174
  short_name: '0',
155
- proc1: 'show_config'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_int'
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
- proc1: 'val_as_int'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_bool'
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
- proc1: 'val_as_int'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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: 'MDE_BLOCK_NAME_EXCLUDED_MATCH',
376
- opt_name: 'block_name_excluded_match',
377
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
523
+ procname: 'val_as_str'
469
524
  },
470
525
  {
471
- default: 24,
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
- proc1: 'val_as_int'
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
- proc1: 'val_as_str'
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
- proc1: 'val_as_str'
544
+ procname: 'val_as_str'
490
545
  },
491
546
  {
492
- default: '- - %s - -',
493
- env_var: 'MDE_MENU_DIVIDER_FORMAT',
494
- opt_name: 'menu_divider_format',
495
- proc1: 'val_as_str'
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, format: :yaml
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}`
@@ -13,7 +13,7 @@ __filedirs_all()
13
13
  }
14
14
 
15
15
  _mde_echo_version() {
16
- echo "1.3.0"
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
- --display-level) COMPREPLY=".INT.0-2."; return 0 ;;
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-07-16 23:32:32 UTC"
141
+ # echo "Updated: 2022-11-13 18:09:17 UTC"