markdown_exec 1.8.6 → 1.8.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -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