markdown_exec 1.1.0 → 1.3.0
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 +26 -0
- data/.rubocop.yml +18 -0
- data/CHANGELOG.md +91 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +7 -1
- data/README.md +45 -38
- data/Rakefile +465 -11
- data/bin/tab_completion.sh +16 -36
- data/lib/colorize.rb +64 -0
- data/lib/env.rb +37 -0
- data/lib/globfiles.rb +40 -0
- data/lib/markdown_exec/version.rb +3 -1
- data/lib/markdown_exec.rb +542 -660
- data/lib/menu.yml +293 -0
- data/lib/shared.rb +16 -97
- data/lib/tap.rb +42 -0
- metadata +17 -3
data/lib/menu.yml
ADDED
@@ -0,0 +1,293 @@
|
|
1
|
+
# MDE - Markdown Executor (1.3.0)
|
2
|
+
---
|
3
|
+
- :arg_name: NAME
|
4
|
+
:compreply: false
|
5
|
+
:description: Name of block
|
6
|
+
:env_var: MDE_BLOCK_NAME
|
7
|
+
:long_name: block-name
|
8
|
+
:opt_name: block_name
|
9
|
+
:short_name: b
|
10
|
+
:proc1: val_as_str
|
11
|
+
- :arg_name: PATH
|
12
|
+
:default: "."
|
13
|
+
:description: Read configuration file
|
14
|
+
:long_name: config
|
15
|
+
:proc1: path
|
16
|
+
- :arg_name: BOOL
|
17
|
+
:default: false
|
18
|
+
:description: Debug output
|
19
|
+
:env_var: MDE_DEBUG
|
20
|
+
:long_name: debug
|
21
|
+
:short_name: d
|
22
|
+
:proc1: debug
|
23
|
+
- :arg_name: RELATIVE_PATH
|
24
|
+
:compreply: "."
|
25
|
+
:description: Name of document
|
26
|
+
:env_var: MDE_FILENAME
|
27
|
+
:long_name: filename
|
28
|
+
:opt_name: filename
|
29
|
+
:short_name: f
|
30
|
+
:proc1: val_as_str
|
31
|
+
- :description: App help
|
32
|
+
:long_name: help
|
33
|
+
:short_name: h
|
34
|
+
:proc1: help
|
35
|
+
- :arg_name: RELATIVE_PATH
|
36
|
+
:default: "."
|
37
|
+
:description: Path to documents
|
38
|
+
:env_var: MDE_PATH
|
39
|
+
:long_name: path
|
40
|
+
:opt_name: path
|
41
|
+
:short_name: p
|
42
|
+
:proc1: val_as_str
|
43
|
+
- :arg_name: BOOL
|
44
|
+
:default: true
|
45
|
+
:description: Pause for user to approve script
|
46
|
+
:env_var: MDE_USER_MUST_APPROVE
|
47
|
+
:long_name: user-must-approve
|
48
|
+
:opt_name: user_must_approve
|
49
|
+
:short_name: q
|
50
|
+
:proc1: val_as_bool
|
51
|
+
- :description: Print the gem's version
|
52
|
+
:long_name: version
|
53
|
+
:short_name: v
|
54
|
+
:proc1: version
|
55
|
+
- :description: Exit app
|
56
|
+
:long_name: exit
|
57
|
+
:short_name: x
|
58
|
+
:proc1: exit
|
59
|
+
- :description: Show current configuration values
|
60
|
+
:short_name: '0'
|
61
|
+
:proc1: show_config
|
62
|
+
- :description: List blocks
|
63
|
+
:long_name: list-blocks
|
64
|
+
:opt_name: list_blocks
|
65
|
+
:proc1: val_as_bool
|
66
|
+
- :description: List default configuration as environment variables
|
67
|
+
:long_name: list-default-env
|
68
|
+
:opt_name: list_default_env
|
69
|
+
- :description: List default configuration as YAML
|
70
|
+
:long_name: list-default-yaml
|
71
|
+
:opt_name: list_default_yaml
|
72
|
+
- :description: List docs in current folder
|
73
|
+
:long_name: list-docs
|
74
|
+
:opt_name: list_docs
|
75
|
+
:proc1: val_as_bool
|
76
|
+
- :description: List recent saved output
|
77
|
+
:long_name: list-recent-output
|
78
|
+
:opt_name: list_recent_output
|
79
|
+
:proc1: val_as_bool
|
80
|
+
- :description: List recent saved scripts
|
81
|
+
:long_name: list-recent-scripts
|
82
|
+
:opt_name: list_recent_scripts
|
83
|
+
:proc1: val_as_bool
|
84
|
+
- :description: Select and execute a recently saved output
|
85
|
+
:long_name: select-recent-output
|
86
|
+
:opt_name: select_recent_output
|
87
|
+
:proc1: val_as_bool
|
88
|
+
- :description: Select and execute a recently saved script
|
89
|
+
:long_name: select-recent-script
|
90
|
+
:opt_name: select_recent_script
|
91
|
+
:proc1: val_as_bool
|
92
|
+
- :description: List tab completions
|
93
|
+
:long_name: tab-completions
|
94
|
+
:opt_name: tab_completions
|
95
|
+
:proc1: val_as_bool
|
96
|
+
- :description: Run most recently saved script
|
97
|
+
:long_name: run-last-script
|
98
|
+
:opt_name: run_last_script
|
99
|
+
:proc1: val_as_bool
|
100
|
+
- :description: Gem home folder
|
101
|
+
:long_name: pwd
|
102
|
+
:opt_name: pwd
|
103
|
+
:proc1: val_as_bool
|
104
|
+
- :arg_name: INT.0-2
|
105
|
+
:default: 1
|
106
|
+
:description: Output display level (0 to 2 [data, +context, +info])
|
107
|
+
:env_var: MDE_DISPLAY_LEVEL
|
108
|
+
:long_name: display-level
|
109
|
+
:opt_name: display_level
|
110
|
+
:proc1: val_as_int
|
111
|
+
- :arg_name: INT.1-
|
112
|
+
:default: 32
|
113
|
+
:description: Max. items to return in list
|
114
|
+
:env_var: MDE_LIST_COUNT
|
115
|
+
:long_name: list-count
|
116
|
+
:opt_name: list_count
|
117
|
+
:proc1: val_as_int
|
118
|
+
- :arg_name: PREFIX
|
119
|
+
:default: mde
|
120
|
+
:description: Name prefix for stdout files
|
121
|
+
:env_var: MDE_LOGGED_STDOUT_FILENAME_PREFIX
|
122
|
+
:opt_name: logged_stdout_filename_prefix
|
123
|
+
:proc1: val_as_str
|
124
|
+
- :arg_name: BOOL
|
125
|
+
:default: false
|
126
|
+
:description: Display document name in block selection menu
|
127
|
+
:env_var: MDE_MENU_BLOCKS_WITH_DOCNAME
|
128
|
+
:opt_name: menu_blocks_with_docname
|
129
|
+
:proc1: val_as_bool
|
130
|
+
- :arg_name: BOOL
|
131
|
+
:default: false
|
132
|
+
:description: Display headings (levels 1,2,3) in block selection menu
|
133
|
+
:env_var: MDE_MENU_BLOCKS_WITH_HEADINGS
|
134
|
+
:opt_name: menu_blocks_with_headings
|
135
|
+
:proc1: val_as_bool
|
136
|
+
- :arg_name: BOOL
|
137
|
+
:default: false
|
138
|
+
:description: Display summary for execution
|
139
|
+
:env_var: MDE_OUTPUT_EXECUTION_SUMMARY
|
140
|
+
:long_name: output-execution-summary
|
141
|
+
:opt_name: output_execution_summary
|
142
|
+
:proc1: val_as_bool
|
143
|
+
- :arg_name: BOOL
|
144
|
+
:default: false
|
145
|
+
:description: Display script prior to execution
|
146
|
+
:env_var: MDE_OUTPUT_SCRIPT
|
147
|
+
:long_name: output-script
|
148
|
+
:opt_name: output_script
|
149
|
+
:proc1: val_as_bool
|
150
|
+
- :arg_name: BOOL
|
151
|
+
:default: true
|
152
|
+
:description: Display standard output from execution
|
153
|
+
:env_var: MDE_OUTPUT_STDOUT
|
154
|
+
:long_name: output-stdout
|
155
|
+
:opt_name: output_stdout
|
156
|
+
:proc1: val_as_bool
|
157
|
+
- :arg_name: BOOL
|
158
|
+
:default: false
|
159
|
+
:description: Save executed script
|
160
|
+
:env_var: MDE_SAVE_EXECUTED_SCRIPT
|
161
|
+
:long_name: save-executed-script
|
162
|
+
:opt_name: save_executed_script
|
163
|
+
:proc1: val_as_bool
|
164
|
+
- :arg_name: BOOL
|
165
|
+
:default: false
|
166
|
+
:description: Save standard output of the executed script
|
167
|
+
:env_var: MDE_SAVE_EXECUTION_OUTPUT
|
168
|
+
:long_name: save-execution-output
|
169
|
+
:opt_name: save_execution_output
|
170
|
+
:proc1: val_as_bool
|
171
|
+
- :arg_name: INT
|
172
|
+
:default: 493
|
173
|
+
:description: chmod for saved scripts
|
174
|
+
:env_var: MDE_SAVED_SCRIPT_CHMOD
|
175
|
+
:opt_name: saved_script_chmod
|
176
|
+
:proc1: val_as_int
|
177
|
+
- :arg_name: PREFIX
|
178
|
+
:default: mde
|
179
|
+
:description: Name prefix for saved scripts
|
180
|
+
:env_var: MDE_SAVED_SCRIPT_FILENAME_PREFIX
|
181
|
+
:opt_name: saved_script_filename_prefix
|
182
|
+
:proc1: val_as_str
|
183
|
+
- :arg_name: RELATIVE_PATH
|
184
|
+
:default: logs
|
185
|
+
:description: Saved script folder
|
186
|
+
:env_var: MDE_SAVED_SCRIPT_FOLDER
|
187
|
+
:long_name: saved-script-folder
|
188
|
+
:opt_name: saved_script_folder
|
189
|
+
:proc1: val_as_str
|
190
|
+
- :arg_name: GLOB
|
191
|
+
:default: mde_*.sh
|
192
|
+
:description: Glob matching saved scripts
|
193
|
+
:env_var: MDE_SAVED_SCRIPT_GLOB
|
194
|
+
:opt_name: saved_script_glob
|
195
|
+
:proc1: val_as_str
|
196
|
+
- :arg_name: RELATIVE_PATH
|
197
|
+
:default: logs
|
198
|
+
:description: Saved stdout folder
|
199
|
+
:env_var: MDE_SAVED_STDOUT_FOLDER
|
200
|
+
:long_name: saved-stdout-folder
|
201
|
+
:opt_name: saved_stdout_folder
|
202
|
+
:proc1: val_as_str
|
203
|
+
- :arg_name: GLOB
|
204
|
+
:default: mde_*.out.txt
|
205
|
+
:description: Glob matching saved outputs
|
206
|
+
:env_var: MDE_SAVED_STDOUT_GLOB
|
207
|
+
:opt_name: saved_stdout_glob
|
208
|
+
:proc1: val_as_str
|
209
|
+
- :default: "^[\\(\\[].*[\\)\\]]$"
|
210
|
+
:description: Pattern for blocks to hide from user-selection
|
211
|
+
:env_var: MDE_BLOCK_NAME_EXCLUDED_MATCH
|
212
|
+
:opt_name: block_name_excluded_match
|
213
|
+
:proc1: val_as_str
|
214
|
+
- :default: ":(?<title>\\S+)( |$)"
|
215
|
+
:env_var: MDE_BLOCK_NAME_MATCH
|
216
|
+
:opt_name: block_name_match
|
217
|
+
:proc1: val_as_str
|
218
|
+
- :default: "%\\([^\\)]+\\)"
|
219
|
+
:env_var: MDE_BLOCK_CALLS_SCAN
|
220
|
+
:opt_name: block_calls_scan
|
221
|
+
:proc1: val_as_str
|
222
|
+
- :default: "\\+\\S+"
|
223
|
+
:env_var: MDE_BLOCK_REQUIRED_SCAN
|
224
|
+
:opt_name: block_required_scan
|
225
|
+
:proc1: val_as_str
|
226
|
+
- :default: "<(?<full>(?<type>\\$)?(?<name>[A-Za-z]\\S*))"
|
227
|
+
:env_var: MDE_BLOCK_STDIN_SCAN
|
228
|
+
:opt_name: block_stdin_scan
|
229
|
+
:proc1: val_as_str
|
230
|
+
- :default: ">(?<full>(?<type>\\$)?(?<name>[A-Za-z]\\S*))"
|
231
|
+
:env_var: MDE_BLOCK_STDOUT_SCAN
|
232
|
+
:opt_name: block_stdout_scan
|
233
|
+
:proc1: val_as_str
|
234
|
+
- :default: "> "
|
235
|
+
:env_var: MDE_DISPLAY_LEVEL_XBASE_PREFIX
|
236
|
+
:opt_name: display_level_xbase_prefix
|
237
|
+
:proc1: val_as_str
|
238
|
+
- :default: "^`{3,}"
|
239
|
+
:env_var: MDE_FENCED_START_AND_END_MATCH
|
240
|
+
:opt_name: fenced_start_and_end_match
|
241
|
+
:proc1: val_as_str
|
242
|
+
- :default: "^`{3,}(?<shell>[^`\\s]*) *(?<name>.*)$"
|
243
|
+
:env_var: MDE_FENCED_START_EX_MATCH
|
244
|
+
:opt_name: fenced_start_ex_match
|
245
|
+
:proc1: val_as_str
|
246
|
+
- :default: "^# *(?<name>[^#]*?) *$"
|
247
|
+
:env_var: MDE_HEADING1_MATCH
|
248
|
+
:opt_name: heading1_match
|
249
|
+
:proc1: val_as_str
|
250
|
+
- :default: "^## *(?<name>[^#]*?) *$"
|
251
|
+
:env_var: MDE_HEADING2_MATCH
|
252
|
+
:opt_name: heading2_match
|
253
|
+
:proc1: val_as_str
|
254
|
+
- :default: "^### *(?<name>.+?) *$"
|
255
|
+
:env_var: MDE_HEADING3_MATCH
|
256
|
+
:opt_name: heading3_match
|
257
|
+
:proc1: val_as_str
|
258
|
+
- :default: "*.[Mm][Dd]"
|
259
|
+
:env_var: MDE_MD_FILENAME_GLOB
|
260
|
+
:opt_name: md_filename_glob
|
261
|
+
:proc1: val_as_str
|
262
|
+
- :default: ".+\\.md"
|
263
|
+
:env_var: MDE_MD_FILENAME_MATCH
|
264
|
+
:opt_name: md_filename_match
|
265
|
+
:proc1: val_as_str
|
266
|
+
- :default: "^::: +(?<name>.+?)$"
|
267
|
+
:description: Pattern for topics/dividers in block selection menu
|
268
|
+
:env_var: MDE_MENU_DIVIDER_MATCH
|
269
|
+
:opt_name: menu_divider_match
|
270
|
+
:proc1: val_as_str
|
271
|
+
- :description: Options for viewing saved output file
|
272
|
+
:env_var: MDE_OUTPUT_VIEWER_OPTIONS
|
273
|
+
:opt_name: output_viewer_options
|
274
|
+
:proc1: val_as_str
|
275
|
+
- :default: 24
|
276
|
+
:description: 'Maximum # of rows in select list'
|
277
|
+
:env_var: MDE_SELECT_PAGE_HEIGHT
|
278
|
+
:opt_name: select_page_height
|
279
|
+
:proc1: val_as_int
|
280
|
+
- :default: "#!/usr/bin/env"
|
281
|
+
:description: Shebang for saved scripts
|
282
|
+
:env_var: MDE_SHEBANG
|
283
|
+
:opt_name: shebang
|
284
|
+
:proc1: val_as_str
|
285
|
+
- :default: bash
|
286
|
+
:description: Shell for launched scripts
|
287
|
+
:env_var: MDE_SHELL
|
288
|
+
:opt_name: shell
|
289
|
+
:proc1: val_as_str
|
290
|
+
- :default: "- - %s - -"
|
291
|
+
:env_var: MDE_MENU_DIVIDER_FORMAT
|
292
|
+
:opt_name: menu_divider_format
|
293
|
+
:proc1: val_as_str
|
data/lib/shared.rb
CHANGED
@@ -3,110 +3,31 @@
|
|
3
3
|
# encoding=utf-8
|
4
4
|
|
5
5
|
require 'shellwords'
|
6
|
-
require 'yaml'
|
7
|
-
|
8
|
-
# │0 │ to restore default │
|
9
|
-
# │ │ color │
|
10
|
-
# ├───┼───────────────────────┤
|
11
|
-
# │ │ │
|
12
|
-
# │1 │ for brighter colors │
|
13
|
-
# ├───┼───────────────────────┤
|
14
|
-
# │ │ │
|
15
|
-
# │4 │ for underlined text │
|
16
|
-
# ├───┼───────────────────────┤
|
17
|
-
# │ │ │
|
18
|
-
# │5 │ for flashing text
|
19
|
-
class String
|
20
|
-
def black
|
21
|
-
"\033[30m#{self}\033[0m"
|
22
|
-
end
|
23
|
-
|
24
|
-
def red
|
25
|
-
"\033[31m#{self}\033[0m"
|
26
|
-
end
|
27
|
-
|
28
|
-
def bred
|
29
|
-
"\033[1;31m#{self}\033[0m"
|
30
|
-
end
|
31
|
-
|
32
|
-
def green
|
33
|
-
"\033[32m#{self}\033[0m"
|
34
|
-
end
|
35
|
-
|
36
|
-
def bgreen
|
37
|
-
"\033[1;32m#{self}\033[0m"
|
38
|
-
end
|
39
|
-
|
40
|
-
def yellow
|
41
|
-
"\033[33m#{self}\033[0m"
|
42
|
-
end
|
43
|
-
|
44
|
-
def byellow
|
45
|
-
"\033[1;33m#{self}\033[0m"
|
46
|
-
end
|
47
|
-
|
48
|
-
def blue
|
49
|
-
"\033[34m#{self}\033[0m"
|
50
|
-
end
|
51
|
-
|
52
|
-
def magenta
|
53
|
-
"\033[35m#{self}\033[0m"
|
54
|
-
end
|
55
|
-
|
56
|
-
def cyan
|
57
|
-
"\033[36m#{self}\033[0m"
|
58
|
-
end
|
59
|
-
|
60
|
-
def white
|
61
|
-
"\033[37m#{self}\033[0m"
|
62
|
-
end
|
63
|
-
|
64
|
-
def bwhite
|
65
|
-
"\033[1;37m#{self}\033[0m"
|
66
|
-
end
|
67
|
-
end
|
68
6
|
|
69
7
|
public
|
70
8
|
|
71
|
-
|
72
|
-
return default if name.nil? || (val = ENV[name]).nil?
|
73
|
-
return false if val.empty? || val == '0'
|
9
|
+
BF = 'bin'
|
74
10
|
|
75
|
-
|
76
|
-
|
11
|
+
# display_level values
|
12
|
+
DISPLAY_LEVEL_BASE = 0 # required output
|
13
|
+
DISPLAY_LEVEL_ADMIN = 1
|
14
|
+
DISPLAY_LEVEL_DEBUG = 2
|
15
|
+
DISPLAY_LEVEL_DEFAULT = DISPLAY_LEVEL_ADMIN
|
16
|
+
DISPLAY_LEVEL_MAX = DISPLAY_LEVEL_DEBUG
|
77
17
|
|
78
|
-
|
79
|
-
|
80
|
-
|
18
|
+
# @execute_files[ind] = @execute_files[ind] + [block]
|
19
|
+
EF_STDOUT = 0
|
20
|
+
EF_STDERR = 1
|
21
|
+
EF_STDIN = 2
|
81
22
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
def env_str(name, default: '')
|
86
|
-
return default if name.nil? || (val = ENV[name]).nil?
|
87
|
-
|
88
|
-
val || default
|
89
|
-
end
|
23
|
+
LOCAL_YML = 'menu.yml'
|
24
|
+
MENU_YML = "lib/#{LOCAL_YML}"
|
90
25
|
|
91
|
-
|
92
|
-
|
93
|
-
def tap_inspect(format: nil, name: 'return')
|
94
|
-
return self unless $pdebug
|
95
|
-
|
96
|
-
cvt = {
|
97
|
-
json: :to_json,
|
98
|
-
string: :to_s,
|
99
|
-
yaml: :to_yaml,
|
100
|
-
else: :inspect
|
101
|
-
}
|
102
|
-
fn = cvt.fetch(format, cvt[:else])
|
103
|
-
|
104
|
-
puts "-> #{caller[0].scan(/in `?(\S+)'$/)[0][0]}()" \
|
105
|
-
" #{name}: #{method(fn).call}"
|
106
|
-
|
107
|
-
self
|
26
|
+
def menu_from_yaml
|
27
|
+
YAML.load File.open(File.join(File.expand_path(__dir__), LOCAL_YML))
|
108
28
|
end
|
109
29
|
|
30
|
+
# skip :reek:UtilityFunction
|
110
31
|
def value_for_cli(value)
|
111
32
|
case value.class.to_s
|
112
33
|
when 'String'
|
@@ -117,5 +38,3 @@ def value_for_cli(value)
|
|
117
38
|
Shellwords.escape value.to_s
|
118
39
|
end
|
119
40
|
end
|
120
|
-
|
121
|
-
$pdebug = env_bool 'MDE_DEBUG'
|
data/lib/tap.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# encoding=utf-8
|
4
|
+
|
5
|
+
require 'json'
|
6
|
+
require 'yaml'
|
7
|
+
|
8
|
+
require_relative 'env'
|
9
|
+
include Env
|
10
|
+
|
11
|
+
## application-level debug control
|
12
|
+
#
|
13
|
+
module Tap
|
14
|
+
$tap_enable = env_bool 'TAP_DEBUG'
|
15
|
+
|
16
|
+
def tap_config(enable: nil, envvar: nil, value: nil)
|
17
|
+
$tap_enable = if envvar
|
18
|
+
env_bool envvar
|
19
|
+
elsif value
|
20
|
+
value.to_i != 0
|
21
|
+
elsif enable
|
22
|
+
enable
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def tap_inspect(format: nil, name: 'return')
|
27
|
+
return self unless $tap_enable
|
28
|
+
|
29
|
+
cvt = {
|
30
|
+
json: :to_json,
|
31
|
+
string: :to_s,
|
32
|
+
yaml: :to_yaml,
|
33
|
+
else: :inspect
|
34
|
+
}
|
35
|
+
fn = cvt.fetch(format, cvt[:else])
|
36
|
+
|
37
|
+
puts "-> #{caller[0].scan(/in `?(\S+)'$/)[0][0]}()" \
|
38
|
+
" #{name}: #{method(fn).call}"
|
39
|
+
|
40
|
+
self
|
41
|
+
end
|
42
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: markdown_exec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fareed Stevenson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clipboard
|
@@ -91,6 +91,7 @@ executables:
|
|
91
91
|
extensions: []
|
92
92
|
extra_rdoc_files: []
|
93
93
|
files:
|
94
|
+
- ".reek"
|
94
95
|
- ".rubocop.yml"
|
95
96
|
- CHANGELOG.md
|
96
97
|
- CODE_OF_CONDUCT.md
|
@@ -109,9 +110,14 @@ files:
|
|
109
110
|
- bin/setup
|
110
111
|
- bin/tab_completion.sh
|
111
112
|
- bin/tab_completion.sh.erb
|
113
|
+
- lib/colorize.rb
|
114
|
+
- lib/env.rb
|
115
|
+
- lib/globfiles.rb
|
112
116
|
- lib/markdown_exec.rb
|
113
117
|
- lib/markdown_exec/version.rb
|
118
|
+
- lib/menu.yml
|
114
119
|
- lib/shared.rb
|
120
|
+
- lib/tap.rb
|
115
121
|
homepage: https://rubygems.org/gems/markdown_exec
|
116
122
|
licenses:
|
117
123
|
- MIT
|
@@ -120,7 +126,14 @@ metadata:
|
|
120
126
|
homepage_uri: https://rubygems.org/gems/markdown_exec
|
121
127
|
rubygems_mfa_required: 'true'
|
122
128
|
source_code_uri: https://github.com/fareedst/markdown_exec
|
123
|
-
post_install_message:
|
129
|
+
post_install_message: |2+
|
130
|
+
|
131
|
+
To install tab completion:
|
132
|
+
- Append a command to load the completion script to your shell configuration file.
|
133
|
+
- This gem must be installed and executable for the command to be composed correctly.
|
134
|
+
|
135
|
+
echo "source $(mde --pwd)/bin/tab_completion.sh" >> ~/.bash_profile
|
136
|
+
|
124
137
|
rdoc_options: []
|
125
138
|
require_paths:
|
126
139
|
- lib
|
@@ -140,3 +153,4 @@ signing_key:
|
|
140
153
|
specification_version: 4
|
141
154
|
summary: Interactively select and execute fenced code blocks in markdown files.
|
142
155
|
test_files: []
|
156
|
+
...
|