markdown_exec 1.8.6 → 1.8.8

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.
@@ -7,5 +7,5 @@ module MarkdownExec
7
7
  BIN_NAME = 'mde'
8
8
  GEM_NAME = 'markdown_exec'
9
9
  TAP_DEBUG = 'MDE_DEBUG'
10
- VERSION = '1.8.6'
10
+ VERSION = '1.8.8'
11
11
  end
data/lib/mdoc.rb CHANGED
@@ -23,6 +23,7 @@ module MarkdownExec
23
23
  #
24
24
  def initialize(table = [])
25
25
  @table = table
26
+ # &bc '@table.count:',@table.count
26
27
  end
27
28
 
28
29
  def collect_block_code_cann(fcb)
@@ -69,28 +70,40 @@ module MarkdownExec
69
70
  # @param name [String] The name of the code block to start the retrieval from.
70
71
  # @return [Array<Hash>] An array of code blocks required by the specified code block.
71
72
  #
72
- def collect_recursively_required_blocks(name)
73
+ def collect_block_dependencies(name)
73
74
  name_block = get_block_by_anyname(name)
74
75
  if name_block.nil? || name_block.keys.empty?
75
76
  raise "Named code block `#{name}` not found. (@#{__LINE__})"
76
77
  end
77
78
 
78
- dependencies = collect_dependencies(name_block[:oname])
79
- all_dependency_names = collect_unique_names(dependencies).push(name_block[:oname]).uniq
80
- unmet_dependencies = all_dependency_names.dup
79
+ nickname = name_block[:nickname] || name_block[:oname]
80
+ dependencies = collect_dependencies(nickname)
81
+ # &bc 'dependencies.count:',dependencies.count
82
+ all_dependency_names = collect_unique_names(dependencies).push(nickname).uniq
83
+ # &bc 'all_dependency_names.count:',all_dependency_names.count
84
+
85
+ # select non-chrome blocks in order of appearance in source documents
86
+ #
87
+ blocks = @table.select do |fcb|
88
+ !fcb.fetch(:chrome,
89
+ false) && all_dependency_names.include?(fcb.fetch(:nickname,
90
+ nil) || fcb.fetch(:oname))
91
+ end
92
+ # &bc 'blocks.count:',blocks.count
81
93
 
82
- # in order of appearance in document (@table)
83
- # insert function blocks
84
- blocks = @table.select { |fcb| all_dependency_names.include? fcb[:oname] }
85
- .map do |fcb|
86
- unmet_dependencies.delete(fcb[:oname]) # may not exist if block name is duplicated
94
+ ## add cann key to blocks, calc unmet_dependencies
95
+ #
96
+ unmet_dependencies = all_dependency_names.dup
97
+ blocks = blocks.map do |fcb|
98
+ unmet_dependencies.delete(fcb[:nickname] || fcb[:oname]) # may not exist if block name is duplicated
87
99
  if (call = fcb[:call])
88
- [get_block_by_oname("[#{call.match(/^%\((\S+) |\)/)[1]}]")
100
+ [get_block_by_anyname("[#{call.match(/^%\((\S+) |\)/)[1]}]")
89
101
  .merge({ cann: call })]
90
102
  else
91
103
  []
92
104
  end + [fcb]
93
105
  end.flatten(1)
106
+ # &bc 'unmet_dependencies.count:',unmet_dependencies.count
94
107
 
95
108
  { all_dependency_names: all_dependency_names,
96
109
  blocks: blocks,
@@ -103,13 +116,15 @@ module MarkdownExec
103
116
  # @param name [String] The name of the code block to start the collection from.
104
117
  # @return [Array<String>] An array of strings containing the collected code blocks.
105
118
  #
106
- def collect_recursively_required_code(name, label_body: true, label_format_above: nil,
107
- label_format_below: nil, block_source:)
108
- block_search = collect_recursively_required_blocks(name)
119
+ def collect_recursively_required_code(name, block_source:, label_body: true, label_format_above: nil,
120
+ label_format_below: nil)
121
+ block_search = collect_block_dependencies(name)
109
122
  if block_search[:blocks]
110
123
  blocks = collect_wrapped_blocks(block_search[:blocks])
124
+ # &bc 'blocks.count:',blocks.count
125
+
111
126
  block_search.merge(
112
- { block_names: blocks.map { |block| block[:oname] },
127
+ { block_names: blocks.map { |block| block[:nickname] || block[:oname] },
113
128
  code: blocks.map do |fcb|
114
129
  if fcb[:cann]
115
130
  collect_block_code_cann(fcb)
@@ -121,11 +136,12 @@ module MarkdownExec
121
136
  elsif fcb[:shell] == BlockType::PORT
122
137
  collect_block_code_shell(fcb)
123
138
  elsif label_body
139
+ block_name_for_bash_comment = (fcb[:nickname] || fcb[:oname]).gsub(/\s+/, '_')
124
140
  [label_format_above && format(label_format_above,
125
- block_source.merge({ block_name: fcb[:oname] }))] +
141
+ block_source.merge({ block_name: block_name_for_bash_comment }))] +
126
142
  fcb[:body] +
127
143
  [label_format_below && format(label_format_below,
128
- block_source.merge({ block_name: fcb[:oname] }))]
144
+ block_source.merge({ block_name: block_name_for_bash_comment }))]
129
145
  else # raw body
130
146
  fcb[:body]
131
147
  end
@@ -134,6 +150,8 @@ module MarkdownExec
134
150
  else
135
151
  block_search.merge({ block_names: [], code: [] })
136
152
  end
153
+ rescue StandardError
154
+ error_handler('collect_recursively_required_code')
137
155
  end
138
156
 
139
157
  def collect_unique_names(hash)
@@ -160,6 +178,13 @@ module MarkdownExec
160
178
  end.flatten(1).compact
161
179
  end
162
180
 
181
+ def error_handler(name = '', opts = {})
182
+ Exceptions.error_handler(
183
+ "MDoc.#{name} -- #{$!}",
184
+ opts
185
+ )
186
+ end
187
+
163
188
  # Retrieves code blocks based on the provided options.
164
189
  #
165
190
  # @param opts [Hash] The options used for filtering code blocks.
@@ -173,9 +198,15 @@ module MarkdownExec
173
198
 
174
199
  ### hide rows correctly
175
200
 
201
+ if !options[:menu_include_imported_blocks]
202
+ selrows = selrows.reject do |block|
203
+ block.fetch(:depth, 0).positive?
204
+ end
205
+ end
206
+
176
207
  if opts[:hide_blocks_by_name]
177
208
  selrows = selrows.reject do |block|
178
- hide_menu_block_per_options opts, block
209
+ hide_menu_block_on_name opts, block
179
210
  end
180
211
  end
181
212
 
@@ -195,19 +226,8 @@ module MarkdownExec
195
226
  #
196
227
  def get_block_by_anyname(name, default = {})
197
228
  @table.select do |fcb|
198
- fcb.fetch(:dname, '') == name || fcb.fetch(:oname, '') == name
199
- end.fetch(0, default)
200
- end
201
-
202
- def get_block_by_dname(name, default = {})
203
- @table.select do |fcb|
204
- fcb.fetch(:dname, '') == name
205
- end.fetch(0, default)
206
- end
207
-
208
- def get_block_by_oname(name, default = {})
209
- @table.select do |fcb|
210
- fcb.fetch(:oname, '') == name
229
+ fcb.fetch(:nickname,
230
+ '') == name || fcb.fetch(:dname, '') == name || fcb.fetch(:oname, '') == name
211
231
  end.fetch(0, default)
212
232
  end
213
233
 
@@ -218,7 +238,7 @@ module MarkdownExec
218
238
  # @return [Boolean] True if the code block should be hidden; false otherwise.
219
239
  #
220
240
  # :reek:UtilityFunction
221
- def hide_menu_block_per_options(opts, block)
241
+ def hide_menu_block_on_name(opts, block)
222
242
  if block.fetch(:chrome, false)
223
243
  false
224
244
  else
@@ -249,7 +269,7 @@ module MarkdownExec
249
269
  next if memo.include? req
250
270
 
251
271
  memo += [req]
252
- get_block_by_oname(req).fetch(:reqs, [])
272
+ get_block_by_anyname(req).fetch(:reqs, [])
253
273
  end
254
274
  .compact
255
275
  .flatten(1)
@@ -424,29 +444,29 @@ if $PROGRAM_NAME == __FILE__
424
444
  # end
425
445
 
426
446
  def test_get_block_by_name
427
- result = @doc.get_block_by_oname('block1')
447
+ result = @doc.get_block_by_anyname('block1')
428
448
  assert_equal @table[0], result
429
449
 
430
- result_missing = @doc.get_block_by_oname('missing_block')
450
+ result_missing = @doc.get_block_by_anyname('missing_block')
431
451
  assert_equal({}, result_missing)
432
452
  end
433
453
 
434
454
  ### broken test
435
- def test_collect_recursively_required_blocks
436
- result = @doc.collect_recursively_required_blocks('block3')[:blocks]
455
+ def test_collect_block_dependencies
456
+ result = @doc.collect_block_dependencies('block3')[:blocks]
437
457
  expected_result = [@table[0], @table[1], @table[2]]
438
458
  assert_equal expected_result, result
439
459
 
440
460
  assert_raises(RuntimeError) do
441
- @doc.collect_recursively_required_blocks('missing_block')
461
+ @doc.collect_block_dependencies('missing_block')
442
462
  end
443
463
  end
444
464
 
445
- def test_hide_menu_block_per_options
465
+ def test_hide_menu_block_on_name
446
466
  opts = { hide_blocks_by_name: true,
447
467
  block_name_hidden_match: 'block1' }
448
468
  block = FCB.new(oname: 'block1')
449
- result = @doc.hide_menu_block_per_options(opts, block)
469
+ result = @doc.hide_menu_block_on_name(opts, block)
450
470
  assert result # this should be true based on the given logic
451
471
  end
452
472
 
data/lib/menu.src.yml CHANGED
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  - :description: Show current configuration values
3
3
  :procname: show_config
4
- :short_name: "0"
4
+ :short_name: '0'
5
5
 
6
6
  - :arg_name: BOOL
7
- :default: false
7
+ :default: true
8
8
  :description: Display only blocks of type "bash"
9
9
  :env_var: MDE_BASH_ONLY
10
10
  :opt_name: bash_only
@@ -30,7 +30,7 @@
30
30
  :opt_name: block_name_hidden_match
31
31
  :procname: val_as_str
32
32
 
33
- - :default: "^[\\(\\[].*[\\)\\]]$"
33
+ - :default: "^\\(.*\\)$"
34
34
  :description: Pattern for blocks to hide from user-selection
35
35
  :env_var: MDE_BLOCK_NAME_INCLUDE_MATCH
36
36
  :opt_name: block_name_include_match
@@ -41,6 +41,12 @@
41
41
  :opt_name: block_name_match
42
42
  :procname: val_as_str
43
43
 
44
+ - :default: "^\\[.*\\]$"
45
+ :description: Pattern for block nicknames (name is not used in menu)
46
+ :env_var: MDE_BLOCK_NAME_NICK_MATCH
47
+ :opt_name: block_name_nick_match
48
+ :procname: val_as_str
49
+
44
50
  - :default: "^{.+}$"
45
51
  :description: Pattern for block names to use as wrappers
46
52
  :env_var: MDE_BLOCK_NAME_WRAPPER_MATCH
@@ -73,6 +79,13 @@
73
79
  :long_name: config
74
80
  :procname: path
75
81
 
82
+ - :arg_name: BOOL
83
+ :default: true
84
+ :description: debounce_execution
85
+ :env_var: MDE_debounce_execution
86
+ :opt_name: debounce_execution
87
+ :procname: val_as_bool
88
+
76
89
  - :arg_name: BOOL
77
90
  :default: false
78
91
  :description: Debug output
@@ -177,6 +190,68 @@
177
190
  :opt_name: exclude_expect_blocks
178
191
  :procname: val_as_bool
179
192
 
193
+ - :default: >
194
+ osascript -e '
195
+ tell application "iTerm"
196
+ tell application "System Events"
197
+ tell application "Finder"
198
+ set {posx, posy, screenWidth, screenHeight} to bounds of window of desktop
199
+ end tell
200
+ tell application process "Finder"
201
+ set {missing value, menubarHeight} to the size of menu bar 1
202
+ end tell
203
+ end tell
204
+
205
+ set winHeight to (screenHeight * 2 / 3)
206
+ set winWidth to (screenWidth / 2)
207
+ set xoff to menubarHeight * %{batch_index}
208
+ set yoff to xoff mod (screenHeight - winHeight)
209
+
210
+ create window with default profile
211
+ tell the first window
212
+ set bounds to {xoff, yoff, xoff + winWidth, yoff + winHeight}
213
+ tell the current session
214
+ write text "alias cat_script=\"cat -n \\\"%{script_filespec}\\\"\""
215
+ write text "alias less_script=\"less \\\"%{script_filespec}\\\"\""
216
+ write text "alias run_script=\"%{script_filespec}\""
217
+ write text "alias vim_script=\"vim \\\"%{script_filespec}\\\"\""
218
+ delay 1
219
+
220
+ write text "alias cat_output=\"cat -n \\\"%{output_filespec}\\\"\""
221
+ write text "alias grep_output=\"read -p Pattern: pattern && grep \\\"\\$pattern\\\" \\\"%{output_filespec}\\\"\""
222
+ write text "alias less_output=\"less \\\"%{output_filespec}\\\"\""
223
+ delay 1
224
+
225
+ write text "alias menu=\"select cmd in cat_script less_script run_script vim_script cat_output grep_output less_output exit; do eval \\\"\\$cmd\\\"; done\""
226
+ delay 1
227
+
228
+ write text "echo -ne \"\\033]; %{started_at} - %{document_filename} - %{block_name} \\007\""
229
+ write text "cd \"%{home}\""
230
+ write text "\"%{script_filename}\" | tee \"%{output_filespec}\""
231
+ delay 2
232
+
233
+ write text "menu"
234
+ end tell
235
+ end tell
236
+ end tell'
237
+ :description: execute_command_format
238
+ :env_var: MDE_EXECUTE_COMMAND_FORMAT
239
+ :opt_name: execute_command_format
240
+ :procname: val_as_str
241
+
242
+ - :default: "%T"
243
+ :description: Format for time in window title
244
+ :env_var: MDE_EXECUTE_COMMAND_TITLE_TIME_FORMAT
245
+ :opt_name: execute_command_title_time_format
246
+ :procname: val_as_str
247
+
248
+ - :arg_name: BOOL
249
+ :default: true
250
+ :description: Execute script in own window
251
+ :env_var: MDE_EXECUTE_IN_OWN_WINDOW
252
+ :opt_name: execute_in_own_window
253
+ :procname: val_as_bool
254
+
180
255
  - :default: fg_rgbh_7f_ff_00
181
256
  :description: execution_report_preview_frame_color
182
257
  :env_var: MDE_EXECUTION_REPORT_PREVIEW_FRAME_COLOR
@@ -224,31 +299,31 @@
224
299
  :short_name: f
225
300
 
226
301
  - :arg_name: FIND
227
- :default: ""
302
+ :default: ''
228
303
  :description: Find in documents
229
304
  :long_name: find
230
305
  :procname: find
231
306
  :short_name: "?"
232
307
 
233
308
  - :arg_name: FIND_PATH
234
- :default: ""
309
+ :default: ''
235
310
  :description: Path for find (uses PATH if empty)
236
311
  :env_var: MDE_FIND_PATH
237
312
  :long_name: find-path
238
313
  :opt_name: find_path
239
314
  :procname: val_as_str
240
315
 
241
- - :default: "^# *(?<name>[^#]*?) *$"
316
+ - :default: "^# *(?<line>[^#]*?) *$"
242
317
  :env_var: MDE_HEADING1_MATCH
243
318
  :opt_name: heading1_match
244
319
  :procname: val_as_str
245
320
 
246
- - :default: "^## *(?<name>[^#]*?) *$"
321
+ - :default: "^## *(?<line>[^#]*?) *$"
247
322
  :env_var: MDE_HEADING2_MATCH
248
323
  :opt_name: heading2_match
249
324
  :procname: val_as_str
250
325
 
251
- - :default: "^### *(?<name>.+?) *$"
326
+ - :default: "^### *(?<line>.+?) *$"
252
327
  :env_var: MDE_HEADING3_MATCH
253
328
  :opt_name: heading3_match
254
329
  :procname: val_as_str
@@ -278,12 +353,17 @@
278
353
  :procname: val_as_str
279
354
 
280
355
  - :arg_name: HOW
281
- :default: ""
356
+ :default: ''
282
357
  :description: Find in YAML configuration options
283
358
  :long_name: how
284
359
  :procname: how
285
360
  :short_name: "?"
286
361
 
362
+ - :default:
363
+ :env_var: MDE_IMPORT_PATHS
364
+ :opt_name: import_paths
365
+ :procname: val_as_str
366
+
287
367
  - :default: "^ *@import +(?<name>.+?) *$"
288
368
  :env_var: MDE_IMPORT_PATTERN
289
369
  :opt_name: import_pattern
@@ -363,7 +443,7 @@
363
443
  :procname: val_as_bool
364
444
 
365
445
  - :arg_name: BOOL
366
- :default: false
446
+ :default: true
367
447
  :description: Controls whether headings(levels 1,2,3) are displayed in the block selection menu
368
448
  :env_var: MDE_MENU_BLOCKS_WITH_HEADINGS
369
449
  :opt_name: menu_blocks_with_headings
@@ -419,7 +499,43 @@
419
499
  :opt_name: menu_final_divider
420
500
  :procname: val_as_str
421
501
 
422
- - :default: "0"
502
+ - :default: fg_rgbh_80_80_c0
503
+ :description: Color for heading 1 in menu
504
+ :env_var: MDE_MENU_HEADING1_COLOR
505
+ :opt_name: menu_heading1_color
506
+ :procname: val_as_str
507
+
508
+ - :default: "# %{line}"
509
+ :description: format for menu heading1 in menu
510
+ :env_var: MDE_MENU_HEADING1_FORMAT
511
+ :opt_name: menu_heading1_format
512
+ :procname: val_as_str
513
+
514
+ - :default: fg_rgbh_60_60_c0
515
+ :description: Color for heading 2 in menu
516
+ :env_var: MDE_MENU_HEADING2_COLOR
517
+ :opt_name: menu_heading2_color
518
+ :procname: val_as_str
519
+
520
+ - :default: "## %{line}"
521
+ :description: format for menu heading2 in menu
522
+ :env_var: MDE_MENU_HEADING2_FORMAT
523
+ :opt_name: menu_heading2_format
524
+ :procname: val_as_str
525
+
526
+ - :default: fg_rgbh_40_40_c0
527
+ :description: Color for heading 3 in menu
528
+ :env_var: MDE_MENU_HEADING3_COLOR
529
+ :opt_name: menu_heading3_color
530
+ :procname: val_as_str
531
+
532
+ - :default: "### %{line}"
533
+ :description: format for menu heading3 in menu
534
+ :env_var: MDE_MENU_HEADING3_FORMAT
535
+ :opt_name: menu_heading3_format
536
+ :procname: val_as_str
537
+
538
+ - :default: '0'
423
539
  :description: Import levels for blocks to appear in menu. Empty is all.
424
540
  :env_var: MDE_MENU_IMPORT_LEVEL_MATCH
425
541
  :opt_name: menu_import_level_match
@@ -440,8 +556,27 @@
440
556
  :opt_name: menu_include_imported_notes
441
557
  :procname: val_as_bool
442
558
 
559
+ - :arg_name: BOOL
560
+ :default: true
561
+ :description: Display inherited lines at top of menu (vs bottom)
562
+ :env_var: MDE_MENU_INHERITED_LINES_AT_TOP
563
+ :opt_name: menu_inherited_lines_at_top
564
+ :procname: val_as_bool
565
+
566
+ - :default: fg_rgbh_94_00_D3
567
+ :description: Color of inherited lines in menu
568
+ :env_var: MDE_MENU_INHERITED_LINES_COLOR
569
+ :opt_name: menu_inherited_lines_color
570
+ :procname: val_as_str
571
+
572
+ - :default: "%{line}"
573
+ :description: format for inherited lines in menu
574
+ :env_var: MDE_MENU_INHERITED_LINES_FORMAT
575
+ :opt_name: menu_inherited_lines_format
576
+ :procname: val_as_str
577
+
443
578
  - :default:
444
- :line: ""
579
+ :line: ''
445
580
  :description: opening demarcation for menu
446
581
  :env_var: MDE_MENU_INITIAL_DIVIDER
447
582
  :opt_name: menu_initial_divider
@@ -511,6 +646,12 @@
511
646
  :opt_name: menu_opts_set_format
512
647
  :procname: val_as_str
513
648
 
649
+ - :default: "."
650
+ :description: Block name to display menu
651
+ :env_var: MDE_MENU_PERSIST_BLOCK_NAME
652
+ :opt_name: menu_persist_block_name
653
+ :procname: val_as_str
654
+
514
655
  - :default: fg_rgbh_ff_ff_ff
515
656
  :description: Color of menu task
516
657
  :env_var: MDE_MENU_TASK_COLOR
@@ -567,6 +708,13 @@
567
708
  :opt_name: menu_with_exit
568
709
  :procname: val_as_bool
569
710
 
711
+ - :arg_name: BOOL
712
+ :default: true
713
+ :description: Display inherited lines in menu
714
+ :env_var: MDE_MENU_WITH_INHERITED_LINES
715
+ :opt_name: menu_with_inherited_lines
716
+ :procname: val_as_bool
717
+
570
718
  - :arg_name: BOOL
571
719
  :default: false
572
720
  :description: Hide decorative menu entries
@@ -574,6 +722,26 @@
574
722
  :opt_name: no_chrome
575
723
  :procname: val_as_bool
576
724
 
725
+ - :default:
726
+ :description: Expression to match to start collecting lines
727
+ :env_var: MDE_OUTPUT_ASSIGNMENT_BEGIN
728
+ :opt_name: output_assignment_begin
729
+ :procname: val_as_str
730
+ - :default:
731
+ :description: Expression to match to stop collecting lines
732
+ :env_var: MDE_OUTPUT_ASSIGNMENT_END
733
+ :opt_name: output_assignment_begin
734
+ :procname: val_as_str
735
+ - :default: "%{line} # !!!"
736
+ :description: Format for assignments from output
737
+ :env_var: MDE_OUTPUT_ASSIGNMENT_FORMAT
738
+ :opt_name: output_assignment_format
739
+ :procname: val_as_str
740
+ - :default: "^ *(\\w+=.*?) *$"
741
+ :description: Pattern for assignments from output
742
+ :env_var: MDE_OUTPUT_ASSIGNMENT_MATCH
743
+ :opt_name: output_assignment_match
744
+ :procname: val_as_str
577
745
  - :arg_name: BOOL
578
746
  :default: false
579
747
  :description: Display summary for execution
@@ -638,7 +806,7 @@
638
806
  :short_name: p
639
807
 
640
808
  - :arg_name: BOOL
641
- :default: true
809
+ :default: false
642
810
  :description: Wheter to pause after manually executing a block and the next menu
643
811
  :env_var: MDE_PAUSE_AFTER_SCRIPT_EXECUTION
644
812
  :opt_name: pause_after_script_execution
@@ -662,13 +830,19 @@
662
830
  :opt_name: prompt_color_after_script_execution
663
831
  :procname: val_as_str
664
832
 
833
+ - :default: "\nRepeat this block?"
834
+ :description: Prompt to debounce
835
+ :env_var: MDE_PROMPT_DEBOUNCE
836
+ :opt_name: prompt_debounce
837
+ :procname: val_as_str
838
+
665
839
  - :default: Exit
666
840
  :description: Prompt to exit app
667
841
  :env_var: MDE_PROMPT_EXIT
668
842
  :opt_name: prompt_exit
669
843
  :procname: val_as_str
670
844
 
671
- - :default: "No"
845
+ - :default: 'No'
672
846
  :description: Prompt for no
673
847
  :env_var: MDE_PROMPT_NO
674
848
  :opt_name: prompt_no
@@ -704,7 +878,13 @@
704
878
  :opt_name: prompt_select_output
705
879
  :procname: val_as_str
706
880
 
707
- - :default: "Yes"
881
+ - :default: Uninterrupted
882
+ :description: Uninterrupted execution
883
+ :env_var: MDE_PROMPT_UNINTERRUPTED
884
+ :opt_name: prompt_uninterrupted
885
+ :procname: val_as_str
886
+
887
+ - :default: 'Yes'
708
888
  :description: Prompt for yes
709
889
  :env_var: MDE_PROMPT_YES
710
890
  :opt_name: prompt_yes
@@ -721,7 +901,7 @@
721
901
  :procname: val_as_bool
722
902
 
723
903
  - :default: 1
724
- :description: "Runtime exception error level (warn if < 0, ignore if 0, abort if > 0)"
904
+ :description: Runtime exception error level (warn if < 0, ignore if 0, abort if > 0)
725
905
  :env_var: MDE_RUNTIME_EXCEPTION_ERROR_LEVEL
726
906
  :opt_name: runtime_exception_error_level
727
907
  :procname: val_as_int
@@ -849,7 +1029,7 @@
849
1029
  :procname: val_as_str
850
1030
 
851
1031
  - :default: 36
852
- :description: "Maximum # of rows in select list"
1032
+ :description: 'Maximum # of rows in select list'
853
1033
  :env_var: MDE_SELECT_PAGE_HEIGHT
854
1034
  :opt_name: select_page_height
855
1035
  :procname: val_as_int
@@ -876,13 +1056,13 @@
876
1056
  :opt_name: shell
877
1057
  :procname: val_as_str
878
1058
 
879
- - :default: "# -^- +%{block_name} -o- %{document_filename} -^-"
1059
+ - :default: "# -^-"
880
1060
  :description: shell_code_label_format_above
881
1061
  :env_var: MDE_SHELL_CODE_LABEL_FORMAT_ABOVE
882
1062
  :opt_name: shell_code_label_format_above
883
1063
  :procname: val_as_str
884
1064
 
885
- - :default: "# -v- +%{block_name} -v-"
1065
+ - :default: "# -v- +%{block_name} -o- %{document_filename} -v-"
886
1066
  :description: shell_code_label_format_below
887
1067
  :env_var: MDE_SHELL_CODE_LABEL_FORMAT_BELOW
888
1068
  :opt_name: shell_code_label_format_below
@@ -894,7 +1074,7 @@
894
1074
  :procname: val_as_bool
895
1075
 
896
1076
  - :arg_name: BOOL
897
- :default: true
1077
+ :default: false
898
1078
  :description: Requires user approval before executing a script
899
1079
  :env_var: MDE_USER_MUST_APPROVE
900
1080
  :long_name: user-must-approve
@@ -913,7 +1093,7 @@
913
1093
  :opt_name: warning_color
914
1094
  :procname: val_as_str
915
1095
 
916
- - :default: "Error: %{error}"
1096
+ - :default: 'Error: %{error}'
917
1097
  :description: Format of warning message
918
1098
  :env_var: MDE_WARNING_FORMAT
919
1099
  :opt_name: warning_format