markdown_exec 1.8.1 → 1.8.4
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/CHANGELOG.md +16 -0
- data/Gemfile.lock +1 -1
- data/bin/tab_completion.sh +15 -3
- data/examples/colors.md +37 -20
- data/examples/linked1.md +1 -1
- data/examples/linked2.md +4 -0
- data/lib/ansi_formatter.rb +0 -3
- data/lib/constants.rb +1 -1
- data/lib/hash_delegator.rb +448 -649
- data/lib/link_history.rb +131 -0
- data/lib/markdown_exec/version.rb +1 -1
- data/lib/markdown_exec.rb +22 -51
- data/lib/mdoc.rb +40 -34
- data/lib/menu.src.yml +24 -21
- data/lib/menu.yml +25 -22
- metadata +3 -2
data/lib/link_history.rb
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
# encoding=utf-8
|
5
|
+
module MarkdownExec
|
6
|
+
class LinkState
|
7
|
+
attr_accessor :block_name, :document_filename,
|
8
|
+
:inherited_block_names, :inherited_lines
|
9
|
+
|
10
|
+
# Initialize the LinkState with keyword arguments for each attribute.
|
11
|
+
# @param block_name [String, nil] the name of the block.
|
12
|
+
# @param document_filename [String, nil] the filename of the document.
|
13
|
+
# @param inherited_block_names [Array<String>, nil] the names of the inherited blocks.
|
14
|
+
# @param inherited_lines [Array<String>, nil] the inherited lines of code.
|
15
|
+
def initialize(block_name: nil, document_filename: nil,
|
16
|
+
inherited_block_names: [], inherited_lines: nil)
|
17
|
+
@block_name = block_name
|
18
|
+
@document_filename = document_filename
|
19
|
+
@inherited_block_names = inherited_block_names
|
20
|
+
@inherited_lines = inherited_lines
|
21
|
+
end
|
22
|
+
|
23
|
+
# Creates an empty LinkState instance.
|
24
|
+
# @return [LinkState] an instance with all attributes set to their default values.
|
25
|
+
def self.empty
|
26
|
+
new
|
27
|
+
end
|
28
|
+
|
29
|
+
# Custom equality method to compare LinkState objects.
|
30
|
+
# @param other [LinkState] the other LinkState object to compare with.
|
31
|
+
# @return [Boolean] true if the objects are equal, false otherwise.
|
32
|
+
def ==(other)
|
33
|
+
other.class == self.class &&
|
34
|
+
other.block_name == block_name &&
|
35
|
+
other.document_filename == document_filename &&
|
36
|
+
other.inherited_block_names == inherited_block_names &&
|
37
|
+
other.inherited_lines == inherited_lines
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
class LinkHistory
|
42
|
+
def initialize
|
43
|
+
@history = []
|
44
|
+
end
|
45
|
+
|
46
|
+
# Peeks at the most recent LinkState, returns an empty LinkState if stack is empty.
|
47
|
+
def peek
|
48
|
+
@history.last || LinkState.empty
|
49
|
+
end
|
50
|
+
|
51
|
+
# Pops the most recent LinkState off the stack, returns an empty LinkState if stack is empty.
|
52
|
+
def pop
|
53
|
+
@history.pop || LinkState.empty
|
54
|
+
end
|
55
|
+
|
56
|
+
def prior_state_exist?
|
57
|
+
peek.document_filename.present?
|
58
|
+
end
|
59
|
+
|
60
|
+
# Pushes a LinkState onto the stack.
|
61
|
+
def push(link_state)
|
62
|
+
@history.push(link_state)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
if $PROGRAM_NAME == __FILE__
|
68
|
+
require 'bundler/setup'
|
69
|
+
Bundler.require(:default)
|
70
|
+
|
71
|
+
require 'minitest/autorun'
|
72
|
+
require 'mocha/minitest'
|
73
|
+
|
74
|
+
module MarkdownExec
|
75
|
+
class TestLinkHistory < Minitest::Test
|
76
|
+
def setup
|
77
|
+
@link_history = LinkHistory.new
|
78
|
+
@link_state1 = LinkState.new(block_name: 'block1', document_filename: 'document1.txt',
|
79
|
+
inherited_lines: ['code1.rb'])
|
80
|
+
@link_state2 = LinkState.new(block_name: 'block2', document_filename: 'document2.txt',
|
81
|
+
inherited_lines: ['code2.rb'])
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_push
|
85
|
+
@link_history.push(@link_state1)
|
86
|
+
assert_equal @link_state1, @link_history.peek
|
87
|
+
end
|
88
|
+
|
89
|
+
def test_pop
|
90
|
+
@link_history.push(@link_state1)
|
91
|
+
@link_history.push(@link_state2)
|
92
|
+
assert_equal @link_state2, @link_history.pop
|
93
|
+
assert_equal @link_state1, @link_history.peek
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_peek_empty
|
97
|
+
assert_equal LinkState.empty, @link_history.peek
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_pop_empty
|
101
|
+
assert_equal LinkState.empty, @link_history.pop
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
__END__
|
108
|
+
|
109
|
+
To generate the Ruby classes `LinkState` and `LinkHistory` with their current features and specifications, including the custom `==` method for object comparison and the implementation to handle empty states, you can use the following prompt:
|
110
|
+
|
111
|
+
---
|
112
|
+
|
113
|
+
Create Ruby classes `LinkState` and `LinkHistory` with the following specifications:
|
114
|
+
|
115
|
+
1. **Class `LinkState`**:
|
116
|
+
- Attributes: `block_name`, `document_filename`, `inherited_lines`.
|
117
|
+
- Initialize with optional parameters for each attribute, defaulting to `nil`.
|
118
|
+
- Include a class method `empty` that creates an instance with all attributes set to `nil`.
|
119
|
+
- Implement a custom `==` method for comparing instances based on attribute values.
|
120
|
+
|
121
|
+
2. **Class `LinkHistory`**:
|
122
|
+
- Use an array to manage a stack of `LinkState` instances.
|
123
|
+
- Implement the following methods:
|
124
|
+
- `push`: Adds a `LinkState` instance to the top of the stack.
|
125
|
+
- `pop`: Removes and returns the most recent `LinkState` from the stack, or returns an empty `LinkState` if the stack is empty.
|
126
|
+
- `peek`: Returns the most recent `LinkState` without removing it from the stack, or an empty `LinkState` if the stack is empty.
|
127
|
+
|
128
|
+
3. **Testing**:
|
129
|
+
- Write Minitest test cases to validate each method in `LinkHistory`. Test scenarios should include pushing and popping `LinkState` instances, and handling an empty `LinkHistory`.
|
130
|
+
|
131
|
+
The goal is to create a robust and efficient implementation of these classes, ensuring proper handling of stack operations and object comparisons.
|
data/lib/markdown_exec.rb
CHANGED
@@ -41,8 +41,6 @@ tap_config envvar: MarkdownExec::TAP_DEBUG
|
|
41
41
|
$stderr.sync = true
|
42
42
|
$stdout.sync = true
|
43
43
|
|
44
|
-
MDE_HISTORY_ENV_NAME = 'MDE_MENU_HISTORY'
|
45
|
-
|
46
44
|
# custom error: file specified is missing
|
47
45
|
#
|
48
46
|
class FileMissingError < StandardError; end
|
@@ -172,26 +170,6 @@ module MarkdownExec
|
|
172
170
|
}
|
173
171
|
end
|
174
172
|
|
175
|
-
def clear_required_file
|
176
|
-
ENV['MDE_LINK_REQUIRED_FILE'] = ''
|
177
|
-
end
|
178
|
-
|
179
|
-
# # Deletes a required temporary file specified by an environment variable.
|
180
|
-
# # The function checks if the file exists before attempting to delete it.
|
181
|
-
# # Clears the environment variable after deletion.
|
182
|
-
# #
|
183
|
-
# def delete_required_temp_file
|
184
|
-
# temp_blocks_file_path = ENV.fetch('MDE_LINK_REQUIRED_FILE', nil)
|
185
|
-
|
186
|
-
# return if temp_blocks_file_path.nil? || temp_blocks_file_path.empty?
|
187
|
-
|
188
|
-
# FileUtils.rm_f(temp_blocks_file_path)
|
189
|
-
|
190
|
-
# clear_required_file
|
191
|
-
# rescue StandardError
|
192
|
-
# error_handler('delete_required_temp_file')
|
193
|
-
# end
|
194
|
-
|
195
173
|
public
|
196
174
|
|
197
175
|
## Determines the correct filename to use for searching files
|
@@ -222,7 +200,7 @@ module MarkdownExec
|
|
222
200
|
# Reports and executes block logic
|
223
201
|
def execute_block_logic(files)
|
224
202
|
@options[:filename] = select_document_if_multiple(files)
|
225
|
-
@options.
|
203
|
+
@options.select_execute_bash_and_special_blocks
|
226
204
|
end
|
227
205
|
|
228
206
|
## Executes the block specified in the options
|
@@ -244,17 +222,17 @@ module MarkdownExec
|
|
244
222
|
|
245
223
|
simple_commands = {
|
246
224
|
doc_glob: -> { @fout.fout options[:md_filename_glob] },
|
247
|
-
list_blocks: -> { list_blocks },
|
225
|
+
# list_blocks: -> { list_blocks },
|
226
|
+
list_default_env: -> { @fout.fout_list list_default_env },
|
248
227
|
list_default_yaml: -> { @fout.fout_list list_default_yaml },
|
249
228
|
list_docs: -> { @fout.fout_list files },
|
250
|
-
|
251
|
-
list_recent_output: lambda {
|
229
|
+
list_recent_output: -> {
|
252
230
|
@fout.fout_list list_recent_output(
|
253
231
|
@options[:saved_stdout_folder],
|
254
232
|
@options[:saved_stdout_glob], @options[:list_count]
|
255
233
|
)
|
256
234
|
},
|
257
|
-
list_recent_scripts:
|
235
|
+
list_recent_scripts: -> {
|
258
236
|
@fout.fout_list list_recent_scripts(
|
259
237
|
options[:saved_script_folder],
|
260
238
|
options[:saved_script_glob], options[:list_count]
|
@@ -358,19 +336,26 @@ module MarkdownExec
|
|
358
336
|
def lambda_for_procname(procname, options)
|
359
337
|
case procname
|
360
338
|
when 'debug'
|
361
|
-
->(value) {
|
362
|
-
tap_config value: value
|
363
|
-
}
|
339
|
+
->(value) { tap_config value: value }
|
364
340
|
when 'exit'
|
365
341
|
->(_) { exit }
|
366
|
-
|
367
342
|
when 'find'
|
368
343
|
->(value) {
|
369
|
-
|
370
|
-
|
371
|
-
|
344
|
+
@fout.fout 'Searching in: ' \
|
345
|
+
"#{HashDelegator.new(@options).string_send_color(@options[:path],
|
346
|
+
:menu_chrome_color)}"
|
372
347
|
searcher = DirectorySearcher.new(value, [@options[:path]])
|
373
348
|
|
349
|
+
@fout.fout 'In file contents'
|
350
|
+
hash = searcher.search_in_file_contents
|
351
|
+
hash.each.with_index do |(key, v2), i1|
|
352
|
+
@fout.fout format('- %3.d: %s', i1 + 1, key)
|
353
|
+
@fout.fout AnsiFormatter.new(options).format_and_highlight_array(
|
354
|
+
v2.map { |nl| format('=%4.d: %s', nl.index, nl.line) },
|
355
|
+
highlight: [value]
|
356
|
+
)
|
357
|
+
end
|
358
|
+
|
374
359
|
@fout.fout 'In directory names'
|
375
360
|
@fout.fout AnsiFormatter.new(options).format_and_highlight_array(
|
376
361
|
searcher.search_in_directory_names, highlight: [value]
|
@@ -381,27 +366,15 @@ module MarkdownExec
|
|
381
366
|
searcher.search_in_file_names, highlight: [value]
|
382
367
|
).join("\n")
|
383
368
|
|
384
|
-
@fout.fout 'In file contents'
|
385
|
-
hash = searcher.search_in_file_contents
|
386
|
-
hash.each.with_index do |(key, v2), i1|
|
387
|
-
@fout.fout format('- %3.d: %s', i1 + 1, key)
|
388
|
-
@fout.fout AnsiFormatter.new(options).format_and_highlight_array(
|
389
|
-
v2.map { |nl| format('=%4.d: %s', nl.index, nl.line) },
|
390
|
-
highlight: [value]
|
391
|
-
)
|
392
|
-
end
|
393
369
|
exit
|
394
370
|
}
|
395
|
-
|
396
371
|
when 'help'
|
397
372
|
->(_) {
|
398
373
|
@fout.fout menu_help
|
399
374
|
exit
|
400
375
|
}
|
401
|
-
# when %w[who what where why how which when whom]
|
402
376
|
when 'how'
|
403
377
|
->(value) {
|
404
|
-
# value = 'color'
|
405
378
|
@fout.fout(list_default_yaml.select { |line| line.include? value })
|
406
379
|
exit
|
407
380
|
}
|
@@ -432,7 +405,7 @@ module MarkdownExec
|
|
432
405
|
end
|
433
406
|
end
|
434
407
|
|
435
|
-
def list_blocks; end
|
408
|
+
# def list_blocks; end
|
436
409
|
|
437
410
|
def list_default_env
|
438
411
|
menu_iter do |item|
|
@@ -551,10 +524,8 @@ module MarkdownExec
|
|
551
524
|
public
|
552
525
|
|
553
526
|
def run
|
554
|
-
clear_required_file
|
555
527
|
initialize_and_parse_cli_options
|
556
528
|
execute_block_with_error_handling
|
557
|
-
@options.delete_required_temp_file
|
558
529
|
rescue StandardError
|
559
530
|
error_handler('run')
|
560
531
|
end
|
@@ -568,7 +539,7 @@ module MarkdownExec
|
|
568
539
|
|
569
540
|
saved_name_split filename
|
570
541
|
@options[:save_executed_script] = false
|
571
|
-
@options.
|
542
|
+
@options.select_execute_bash_and_special_blocks
|
572
543
|
rescue StandardError
|
573
544
|
error_handler('run_last_script')
|
574
545
|
end
|
@@ -635,7 +606,7 @@ module MarkdownExec
|
|
635
606
|
|
636
607
|
saved_name_split(filename)
|
637
608
|
|
638
|
-
@options.
|
609
|
+
@options.select_execute_bash_and_special_blocks ### ({ save_executed_script: false })
|
639
610
|
end
|
640
611
|
|
641
612
|
public
|
data/lib/mdoc.rb
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
|
4
4
|
# encoding=utf-8
|
5
5
|
|
6
|
-
require_relative 'filter'
|
7
6
|
require_relative 'block_types'
|
7
|
+
require_relative 'filter'
|
8
8
|
|
9
9
|
module MarkdownExec
|
10
10
|
##
|
@@ -75,7 +75,6 @@ module MarkdownExec
|
|
75
75
|
raise "Named code block `#{name}` not found. (@#{__LINE__})"
|
76
76
|
end
|
77
77
|
|
78
|
-
# all_dependency_names = [name_block.oname] + recursively_required(name_block[:reqs])
|
79
78
|
dependencies = collect_dependencies(name_block[:oname])
|
80
79
|
all_dependency_names = collect_unique_names(dependencies).push(name_block[:oname]).uniq
|
81
80
|
unmet_dependencies = all_dependency_names.dup
|
@@ -91,10 +90,11 @@ module MarkdownExec
|
|
91
90
|
else
|
92
91
|
[]
|
93
92
|
end + [fcb]
|
94
|
-
end.flatten(1)
|
95
|
-
|
96
|
-
|
97
|
-
|
93
|
+
end.flatten(1)
|
94
|
+
|
95
|
+
{ all_dependency_names: all_dependency_names,
|
96
|
+
blocks: blocks,
|
97
|
+
dependencies: dependencies,
|
98
98
|
unmet_dependencies: unmet_dependencies }
|
99
99
|
end
|
100
100
|
|
@@ -103,26 +103,37 @@ module MarkdownExec
|
|
103
103
|
# @param name [String] The name of the code block to start the collection from.
|
104
104
|
# @return [Array<String>] An array of strings containing the collected code blocks.
|
105
105
|
#
|
106
|
-
def collect_recursively_required_code(name, label_body: true, label_format_above: nil,
|
106
|
+
def collect_recursively_required_code(name, label_body: true, label_format_above: nil,
|
107
|
+
label_format_below: nil, block_source:)
|
107
108
|
block_search = collect_recursively_required_blocks(name)
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
109
|
+
if block_search[:blocks]
|
110
|
+
blocks = collect_wrapped_blocks(block_search[:blocks])
|
111
|
+
block_search.merge(
|
112
|
+
{ block_names: blocks.map { |block| block[:oname] },
|
113
|
+
code: blocks.map do |fcb|
|
114
|
+
if fcb[:cann]
|
115
|
+
collect_block_code_cann(fcb)
|
116
|
+
elsif fcb[:stdout]
|
117
|
+
collect_block_code_stdout(fcb)
|
118
|
+
elsif [BlockType::LINK, BlockType::OPTS,
|
119
|
+
BlockType::VARS].include? fcb[:shell]
|
120
|
+
nil
|
121
|
+
elsif fcb[:shell] == BlockType::PORT
|
122
|
+
collect_block_code_shell(fcb)
|
123
|
+
elsif label_body
|
124
|
+
[label_format_above && format(label_format_above,
|
125
|
+
block_source.merge({ block_name: fcb[:oname] }))] +
|
126
|
+
fcb[:body] +
|
127
|
+
[label_format_below && format(label_format_below,
|
128
|
+
block_source.merge({ block_name: fcb[:oname] }))]
|
129
|
+
else # raw body
|
130
|
+
fcb[:body]
|
131
|
+
end
|
132
|
+
end.compact.flatten(1).compact }
|
133
|
+
)
|
134
|
+
else
|
135
|
+
block_search.merge({ block_names: [], code: [] })
|
136
|
+
end
|
126
137
|
end
|
127
138
|
|
128
139
|
def collect_unique_names(hash)
|
@@ -223,7 +234,6 @@ module MarkdownExec
|
|
223
234
|
end
|
224
235
|
end
|
225
236
|
|
226
|
-
# if tr ue
|
227
237
|
# Recursively fetches required code blocks for a given list of requirements.
|
228
238
|
#
|
229
239
|
# @param reqs [Array<String>] An array of requirements to start the recursion from.
|
@@ -247,7 +257,6 @@ module MarkdownExec
|
|
247
257
|
memo
|
248
258
|
end
|
249
259
|
|
250
|
-
# else
|
251
260
|
# Recursively fetches required code blocks for a given list of requirements.
|
252
261
|
#
|
253
262
|
# @param source [String] The name of the code block to start the recursion from.
|
@@ -273,8 +282,6 @@ module MarkdownExec
|
|
273
282
|
memo
|
274
283
|
end
|
275
284
|
|
276
|
-
# end
|
277
|
-
|
278
285
|
# Recursively collects dependencies of a given source.
|
279
286
|
# @param source [String] The name of the initial source block.
|
280
287
|
# @param memo [Hash] A memoization hash to store resolved dependencies.
|
@@ -283,11 +290,10 @@ module MarkdownExec
|
|
283
290
|
return memo unless source
|
284
291
|
|
285
292
|
if (block = get_block_by_anyname(source)).nil? || block.keys.empty?
|
286
|
-
if true
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
end
|
293
|
+
return memo if true
|
294
|
+
|
295
|
+
raise "Named code block `#{source}` not found. (@#{__LINE__})"
|
296
|
+
|
291
297
|
end
|
292
298
|
|
293
299
|
return memo unless block[:reqs]
|
data/lib/menu.src.yml
CHANGED
@@ -96,6 +96,7 @@
|
|
96
96
|
:default: false
|
97
97
|
:description: Dump BlocksInFile (stage 1)
|
98
98
|
:env_var: MDE_DUMP_BLOCKS_IN_FILE
|
99
|
+
:long_name: dump-blocks-in-file
|
99
100
|
:opt_name: dump_blocks_in_file
|
100
101
|
:procname: val_as_bool
|
101
102
|
|
@@ -103,6 +104,7 @@
|
|
103
104
|
:default: false
|
104
105
|
:description: Dump MenuBlocks (stage 2)
|
105
106
|
:env_var: MDE_DUMP_MENU_BLOCKS
|
107
|
+
:long_name: dump-menu-blocks
|
106
108
|
:opt_name: dump_menu_blocks
|
107
109
|
:procname: val_as_bool
|
108
110
|
|
@@ -110,10 +112,11 @@
|
|
110
112
|
:default: false
|
111
113
|
:description: Dump selected block
|
112
114
|
:env_var: MDE_DUMP_SELECTED_BLOCK
|
115
|
+
:long_name: dump-selected-block
|
113
116
|
:opt_name: dump_selected_block
|
114
117
|
:procname: val_as_bool
|
115
118
|
|
116
|
-
- :default:
|
119
|
+
- :default: fg_rgbh_ff_00_7f
|
117
120
|
:description: Color of exception detail
|
118
121
|
:env_var: MDE_EXCEPTION_COLOR_DETAIL
|
119
122
|
:opt_name: exception_color_detail
|
@@ -125,7 +128,7 @@
|
|
125
128
|
:opt_name: exception_format_detail
|
126
129
|
:procname: val_as_str
|
127
130
|
|
128
|
-
- :default:
|
131
|
+
- :default: fg_rgbh_ff_00_00
|
129
132
|
:description: Color of exception name
|
130
133
|
:env_var: MDE_EXCEPTION_COLOR_NAME
|
131
134
|
:opt_name: exception_color_name
|
@@ -158,7 +161,7 @@
|
|
158
161
|
:opt_name: exclude_expect_blocks
|
159
162
|
:procname: val_as_bool
|
160
163
|
|
161
|
-
- :default:
|
164
|
+
- :default: fg_rgbh_7f_ff_00
|
162
165
|
:description: execution_report_preview_frame_color
|
163
166
|
:env_var: MDE_EXECUTION_REPORT_PREVIEW_FRAME_COLOR
|
164
167
|
:opt_name: execution_report_preview_frame_color
|
@@ -320,7 +323,7 @@
|
|
320
323
|
:opt_name: menu_back_at_top
|
321
324
|
:procname: val_as_bool
|
322
325
|
|
323
|
-
- :default:
|
326
|
+
- :default: fg_rgbh_00_c0_c0
|
324
327
|
:description: Color of menu bash
|
325
328
|
:env_var: MDE_MENU_BASH_COLOR
|
326
329
|
:opt_name: menu_bash_color
|
@@ -340,7 +343,7 @@
|
|
340
343
|
:opt_name: menu_blocks_with_headings
|
341
344
|
:procname: val_as_bool
|
342
345
|
|
343
|
-
- :default:
|
346
|
+
- :default: fg_rgbh_40_c0_c0
|
344
347
|
:description: Color of menu chrome
|
345
348
|
:env_var: MDE_MENU_CHROME_COLOR
|
346
349
|
:opt_name: menu_chrome_color
|
@@ -352,7 +355,7 @@
|
|
352
355
|
:opt_name: menu_chrome_format
|
353
356
|
:procname: val_as_str
|
354
357
|
|
355
|
-
- :default:
|
358
|
+
- :default: fg_rgbh_80_d0_c0
|
356
359
|
:description: Color of menu divider
|
357
360
|
:env_var: MDE_MENU_DIVIDER_COLOR
|
358
361
|
:opt_name: menu_divider_color
|
@@ -417,7 +420,7 @@
|
|
417
420
|
:opt_name: menu_initial_divider
|
418
421
|
:procname: val_as_str
|
419
422
|
|
420
|
-
- :default:
|
423
|
+
- :default: fg_rgbh_e0_e0_20
|
421
424
|
:description: Color of menu link
|
422
425
|
:env_var: MDE_MENU_LINK_COLOR
|
423
426
|
:opt_name: menu_link_color
|
@@ -429,7 +432,7 @@
|
|
429
432
|
:opt_name: menu_link_format
|
430
433
|
:procname: val_as_str
|
431
434
|
|
432
|
-
- :default:
|
435
|
+
- :default: fg_rgbh_b0_b0_b0
|
433
436
|
:description: Color of menu note
|
434
437
|
:env_var: MDE_MENU_NOTE_COLOR
|
435
438
|
:opt_name: menu_note_color
|
@@ -463,13 +466,13 @@
|
|
463
466
|
:opt_name: menu_option_exit_name
|
464
467
|
:procname: val_as_str
|
465
468
|
|
466
|
-
- :default:
|
469
|
+
- :default: fg_rgbh_ff_00_ff
|
467
470
|
:description: Color of menu opts
|
468
471
|
:env_var: MDE_MENU_OPTS_COLOR
|
469
472
|
:opt_name: menu_opts_color
|
470
473
|
:procname: val_as_str
|
471
474
|
|
472
|
-
- :default:
|
475
|
+
- :default: fg_rgbh_7f_00_ff
|
473
476
|
:description: Color of menu opts
|
474
477
|
:env_var: MDE_MENU_OPTS_SET_COLOR
|
475
478
|
:opt_name: menu_opts_set_color
|
@@ -481,7 +484,7 @@
|
|
481
484
|
:opt_name: menu_opts_set_format
|
482
485
|
:procname: val_as_str
|
483
486
|
|
484
|
-
- :default:
|
487
|
+
- :default: fg_rgbh_ff_ff_ff
|
485
488
|
:description: Color of menu task
|
486
489
|
:env_var: MDE_MENU_TASK_COLOR
|
487
490
|
:opt_name: menu_task_color
|
@@ -505,13 +508,13 @@
|
|
505
508
|
:opt_name: menu_task_symbol
|
506
509
|
:procname: val_as_str
|
507
510
|
|
508
|
-
- :default:
|
511
|
+
- :default: fg_rgbh_ff_a0_ff
|
509
512
|
:description: Color of menu vars
|
510
513
|
:env_var: MDE_MENU_VARS_COLOR
|
511
514
|
:opt_name: menu_vars_color
|
512
515
|
:procname: val_as_str
|
513
516
|
|
514
|
-
- :default:
|
517
|
+
- :default: fg_rgbh_00_ff_ff
|
515
518
|
:description: Color of menu vars
|
516
519
|
:env_var: MDE_MENU_VARS_SET_COLOR
|
517
520
|
:opt_name: menu_vars_set_color
|
@@ -558,13 +561,13 @@
|
|
558
561
|
:opt_name: output_execution_label_format
|
559
562
|
:procname: val_as_str
|
560
563
|
|
561
|
-
- :default:
|
564
|
+
- :default: fg_rgbh_00_ff_00
|
562
565
|
:description: Color of output_execution_label_name
|
563
566
|
:env_var: MDE_OUTPUT_EXECUTION_LABEL_NAME_COLOR
|
564
567
|
:opt_name: output_execution_label_name_color
|
565
568
|
:procname: val_as_str
|
566
569
|
|
567
|
-
- :default:
|
570
|
+
- :default: fg_rgbh_00_ff_00
|
568
571
|
:description: Color of output_execution_label_value
|
569
572
|
:env_var: MDE_OUTPUT_EXECUTION_LABEL_VALUE_COLOR
|
570
573
|
:opt_name: output_execution_label_value_color
|
@@ -626,7 +629,7 @@
|
|
626
629
|
:opt_name: prompt_approve_block
|
627
630
|
:procname: val_as_str
|
628
631
|
|
629
|
-
- :default:
|
632
|
+
- :default: fg_rgbh_00_ff_00
|
630
633
|
:description: Color of prompt after script execution
|
631
634
|
:env_var: MDE_PROMPT_COLOR_AFTER_SCRIPT_EXECUTION
|
632
635
|
:opt_name: prompt_color_after_script_execution
|
@@ -768,7 +771,7 @@
|
|
768
771
|
:opt_name: saved_stdout_glob
|
769
772
|
:procname: val_as_str
|
770
773
|
|
771
|
-
- :default:
|
774
|
+
- :default: fg_rgbh_00_ff_7f
|
772
775
|
:description: script_execution_frame_color
|
773
776
|
:env_var: MDE_SCRIPT_EXECUTION_FRAME_COLOR
|
774
777
|
:opt_name: script_execution_frame_color
|
@@ -786,7 +789,7 @@
|
|
786
789
|
:opt_name: script_execution_tail
|
787
790
|
:procname: val_as_str
|
788
791
|
|
789
|
-
- :default:
|
792
|
+
- :default: fg_rgbh_7f_ff_00
|
790
793
|
:description: Color of output divider
|
791
794
|
:env_var: MDE_OUTPUT_DIVIDER_COLOR
|
792
795
|
:opt_name: script_preview_frame_color
|
@@ -846,13 +849,13 @@
|
|
846
849
|
:opt_name: shell
|
847
850
|
:procname: val_as_str
|
848
851
|
|
849
|
-
- :default: "# -^- +%{
|
852
|
+
- :default: "# -^- +%{block_name} -o- %{document_filename} -^-"
|
850
853
|
:description: shell_code_label_format_above
|
851
854
|
:env_var: MDE_SHELL_CODE_LABEL_FORMAT_ABOVE
|
852
855
|
:opt_name: shell_code_label_format_above
|
853
856
|
:procname: val_as_str
|
854
857
|
|
855
|
-
- :default: "# -v- +%{
|
858
|
+
- :default: "# -v- +%{block_name} -v-"
|
856
859
|
:description: shell_code_label_format_below
|
857
860
|
:env_var: MDE_SHELL_CODE_LABEL_FORMAT_BELOW
|
858
861
|
:opt_name: shell_code_label_format_below
|
@@ -877,7 +880,7 @@
|
|
877
880
|
:procname: version
|
878
881
|
:short_name: v
|
879
882
|
|
880
|
-
- :default:
|
883
|
+
- :default: fg_rgbh_ff_7f_00
|
881
884
|
:description: Color of warning message
|
882
885
|
:env_var: MDE_WARNING_COLOR
|
883
886
|
:opt_name: warning_color
|