markdown_exec 1.1.1 → 1.2.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 +24 -0
- data/CHANGELOG.md +16 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +7 -4
- data/README.md +4 -0
- data/Rakefile +24 -4
- data/bin/tab_completion.sh +11 -3
- data/lib/colorize.rb +64 -0
- data/lib/env.rb +37 -0
- data/lib/markdown_exec/version.rb +1 -1
- data/lib/markdown_exec.rb +352 -313
- data/lib/shared.rb +1 -103
- data/lib/tap.rb +36 -0
- metadata +6 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 160eb660362db62302a05b8b46398c6d85357c917ee55eeb89a8ce0f739eec8a
|
4
|
+
data.tar.gz: 706e575c290ec56d34ad58f06ca9e30127b2c0bdacf431a4c9e3f69bc30e80dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f540464a21a3ca2b654d89b3bc32f2172a3e610066bc64b9eae1bc29d99b8006ed3581998a50ae2327052c944656584375df55e64ffeeb77864ae05e45325e1c
|
7
|
+
data.tar.gz: a22c5ff757a2b5173725786bdbc399cae29f63eda891a0741149286391cb413abbcccd3799bd15ec769230ed44245b49664d434c77c12610bc2cfc138a9d3ddb
|
data/.reek
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
detectors:
|
3
|
+
DataClump:
|
4
|
+
enabled: false
|
5
|
+
NilCheck:
|
6
|
+
enabled: false
|
7
|
+
TooManyStatements:
|
8
|
+
enabled: false
|
9
|
+
UtilityFunction:
|
10
|
+
public_methods_only: true
|
11
|
+
ControlParameter:
|
12
|
+
enabled: true
|
13
|
+
DuplicateMethodCall:
|
14
|
+
enabled: true
|
15
|
+
FeatureEnvy:
|
16
|
+
enabled: false # too strict
|
17
|
+
InstanceVariableAssumption:
|
18
|
+
enabled: true
|
19
|
+
IrresponsibleModule:
|
20
|
+
enabled: true
|
21
|
+
LongParameterList:
|
22
|
+
enabled: true
|
23
|
+
LongYieldList:
|
24
|
+
enabled: true
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
3
|
## [ToDo]
|
4
|
+
`reek lib/markdown_exec.rb --config .reek`
|
4
5
|
|
5
6
|
- user settings
|
6
7
|
- hidden w , w/o () in names
|
@@ -36,6 +37,21 @@
|
|
36
37
|
- [ ] repeat to reload last doc and block
|
37
38
|
- [ ] option to log blended, timeline; stdin, stdout, stderr; labels: prefix and blocks
|
38
39
|
- [ ] ren logged_stdout_filename_prefix to saved_stdout_filename_prefix
|
40
|
+
- [ ] ignore '#' in fenced code blocks
|
41
|
+
|
42
|
+
## [1.2.0] - 2022-06-11
|
43
|
+
|
44
|
+
### Added
|
45
|
+
|
46
|
+
- Options
|
47
|
+
- Display document name in block selection menu
|
48
|
+
- Display headings (levels 1,2,3) in block selection menu
|
49
|
+
- Trap Ctrl-C (SIGTERM) while script is executing.
|
50
|
+
Completes MDE processes such as saving output and reporting results.
|
51
|
+
|
52
|
+
### Changed
|
53
|
+
|
54
|
+
- Refactoring
|
39
55
|
|
40
56
|
## [1.1.1] - 2022-05-25
|
41
57
|
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
markdown_exec (1.
|
4
|
+
markdown_exec (1.2.0)
|
5
5
|
clipboard (~> 1.3.6)
|
6
|
-
mrdialog (~> 1.0.3)
|
7
6
|
open3 (~> 0.1.1)
|
8
7
|
optparse (~> 0.1.1)
|
9
8
|
tty-prompt (~> 0.23.1)
|
@@ -17,8 +16,8 @@ GEM
|
|
17
16
|
clipboard (1.3.6)
|
18
17
|
erb (2.2.3)
|
19
18
|
cgi
|
19
|
+
kwalify (0.7.2)
|
20
20
|
minitest (5.15.0)
|
21
|
-
mrdialog (1.0.3)
|
22
21
|
open3 (0.1.1)
|
23
22
|
optparse (0.1.1)
|
24
23
|
parallel (1.21.0)
|
@@ -28,6 +27,10 @@ GEM
|
|
28
27
|
tty-color (~> 0.5)
|
29
28
|
rainbow (3.1.1)
|
30
29
|
rake (13.0.6)
|
30
|
+
reek (6.1.1)
|
31
|
+
kwalify (~> 0.7.0)
|
32
|
+
parser (~> 3.1.0)
|
33
|
+
rainbow (>= 2.0, < 4.0)
|
31
34
|
regexp_parser (2.2.1)
|
32
35
|
rexml (3.2.5)
|
33
36
|
rubocop (1.26.0)
|
@@ -70,8 +73,8 @@ DEPENDENCIES
|
|
70
73
|
erb
|
71
74
|
markdown_exec!
|
72
75
|
minitest (~> 5.0)
|
73
|
-
mrdialog (~> 1.0.3)
|
74
76
|
rake (~> 13.0)
|
77
|
+
reek
|
75
78
|
rubocop (~> 1.21)
|
76
79
|
rubocop-minitest
|
77
80
|
rubocop-rake
|
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -5,8 +5,6 @@ require 'rake/testtask'
|
|
5
5
|
require 'erb'
|
6
6
|
require 'yaml'
|
7
7
|
|
8
|
-
require_relative 'lib/shared'
|
9
|
-
|
10
8
|
Rake::TestTask.new(:test) do |task|
|
11
9
|
task.libs << 'test'
|
12
10
|
task.libs << 'lib'
|
@@ -15,6 +13,11 @@ end
|
|
15
13
|
|
16
14
|
require 'rubocop/rake_task'
|
17
15
|
|
16
|
+
require_relative 'lib/shared'
|
17
|
+
require_relative 'lib/tap'
|
18
|
+
|
19
|
+
include Tap # rubocop:disable Style/MixinUsage
|
20
|
+
|
18
21
|
RuboCop::RakeTask.new do |task|
|
19
22
|
task.requires << 'rubocop-minitest'
|
20
23
|
end
|
@@ -26,12 +29,13 @@ end
|
|
26
29
|
|
27
30
|
require_relative 'lib/markdown_exec/version'
|
28
31
|
|
29
|
-
task default: %i[test rubocop rubocopminitest]
|
32
|
+
task default: %i[test reek rubocop rubocopminitest]
|
30
33
|
|
31
34
|
# task :default => :build
|
32
35
|
|
33
36
|
desc 'gem build'
|
34
37
|
task :build do
|
38
|
+
Rake::Task['update_tab_completion'].execute
|
35
39
|
system "gem build #{MarkdownExec::GEM_NAME}.gemspec"
|
36
40
|
end
|
37
41
|
|
@@ -55,13 +59,29 @@ task :clean do
|
|
55
59
|
system 'rm *.gem'
|
56
60
|
end
|
57
61
|
|
62
|
+
desc 'reek'
|
63
|
+
task :reek do
|
64
|
+
`reek --config .reek .`
|
65
|
+
end
|
66
|
+
|
58
67
|
private
|
59
68
|
|
60
69
|
BF = 'bin'
|
61
70
|
|
71
|
+
# format for use in array in bash script
|
72
|
+
# `opts=<%= mde_tab_completions %>`
|
73
|
+
#
|
74
|
+
def words_list(words)
|
75
|
+
words.map do |word|
|
76
|
+
%("#{word}")
|
77
|
+
end.join ' '
|
78
|
+
end
|
79
|
+
|
80
|
+
# write tab_completion.sh with erb
|
81
|
+
#
|
62
82
|
def update_tab_completion(target)
|
63
83
|
words = `#{File.join BF, MarkdownExec::BIN_NAME} --tab-completions`.split("\n")
|
64
|
-
mde_tab_completions =
|
84
|
+
mde_tab_completions = "(#{words_list(words)})"
|
65
85
|
mde_help = `#{File.join BF, MarkdownExec::BIN_NAME} --help`.split("\n")
|
66
86
|
menu_export_yaml = `#{File.join BF, MarkdownExec::BIN_NAME} --menu-export`
|
67
87
|
|
data/bin/tab_completion.sh
CHANGED
@@ -13,7 +13,7 @@ __filedirs_all()
|
|
13
13
|
}
|
14
14
|
|
15
15
|
_mde_echo_version() {
|
16
|
-
echo "1.
|
16
|
+
echo "1.2.0"
|
17
17
|
}
|
18
18
|
|
19
19
|
_mde() {
|
@@ -42,6 +42,10 @@ _mde() {
|
|
42
42
|
|
43
43
|
--logged-stdout-filename-prefix) COMPREPLY="mde"; return 0 ;;
|
44
44
|
|
45
|
+
--menu-blocks-with-docname) COMPREPLY="0"; return 0 ;;
|
46
|
+
|
47
|
+
--menu-blocks-with-headings) COMPREPLY="0"; return 0 ;;
|
48
|
+
|
45
49
|
--output-execution-summary) COMPREPLY="0"; return 0 ;;
|
46
50
|
|
47
51
|
--output-script) COMPREPLY="0"; return 0 ;;
|
@@ -76,7 +80,7 @@ _mde() {
|
|
76
80
|
# present matching option names
|
77
81
|
#
|
78
82
|
if [[ ${cur} == -* ]] ; then
|
79
|
-
opts=("--list-blocks" "--list-default-env" "--list-default-yaml" "--list-docs" "--list-recent-output" "--list-recent-scripts" "--pwd" "--run-last-script" "--select-recent-output" "--select-recent-script" "--menu-export" "--tab-completions" "--help" "--version" "--exit" "--config" "--debug" "--display-level" "--block-name" "--filename" "--list-count" "--logged-stdout-filename-prefix" "--output-execution-summary" "--output-script" "--output-stdout" "--path" "--save-executed-script" "--save-execution-output" "--saved-script-chmod" "--saved-script-filename-prefix" "--saved-script-folder" "--saved-script-glob" "--saved-stdout-folder" "--saved-stdout-glob" "--user-must-approve")
|
83
|
+
opts=("--list-blocks" "--list-default-env" "--list-default-yaml" "--list-docs" "--list-recent-output" "--list-recent-scripts" "--pwd" "--run-last-script" "--select-recent-output" "--select-recent-script" "--menu-export" "--tab-completions" "--help" "--version" "--exit" "--config" "--debug" "--display-level" "--block-name" "--filename" "--list-count" "--logged-stdout-filename-prefix" "--menu-blocks-with-docname" "--menu-blocks-with-headings" "--output-execution-summary" "--output-script" "--output-stdout" "--path" "--save-executed-script" "--save-execution-output" "--saved-script-chmod" "--saved-script-filename-prefix" "--saved-script-folder" "--saved-script-glob" "--saved-stdout-folder" "--saved-stdout-glob" "--user-must-approve")
|
80
84
|
COMPREPLY=( $(compgen -W "$(printf "'%s' " "${opts[@]}")" -- "${cur}") )
|
81
85
|
|
82
86
|
return 0
|
@@ -103,6 +107,10 @@ _mde() {
|
|
103
107
|
|
104
108
|
--logged-stdout-filename-prefix) COMPREPLY=".PREFIX."; return 0 ;;
|
105
109
|
|
110
|
+
--menu-blocks-with-docname) COMPREPLY=".BOOL."; return 0 ;;
|
111
|
+
|
112
|
+
--menu-blocks-with-headings) COMPREPLY=".BOOL."; return 0 ;;
|
113
|
+
|
106
114
|
--output-execution-summary) COMPREPLY=".BOOL."; return 0 ;;
|
107
115
|
|
108
116
|
--output-script) COMPREPLY=".BOOL."; return 0 ;;
|
@@ -140,4 +148,4 @@ _mde() {
|
|
140
148
|
|
141
149
|
complete -o filenames -o nospace -F _mde mde
|
142
150
|
# _mde_echo_version
|
143
|
-
# echo "Updated: 2022-
|
151
|
+
# echo "Updated: 2022-06-12 20:31:36 UTC"
|
data/lib/colorize.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# encoding=utf-8
|
4
|
+
|
5
|
+
# │0 │ to restore default │
|
6
|
+
# │ │ color │
|
7
|
+
# ├───┼───────────────────────┤
|
8
|
+
# │ │ │
|
9
|
+
# │1 │ for brighter colors │
|
10
|
+
# ├───┼───────────────────────┤
|
11
|
+
# │ │ │
|
12
|
+
# │4 │ for underlined text │
|
13
|
+
# ├───┼───────────────────────┤
|
14
|
+
# │ │ │
|
15
|
+
# │5 │ for flashing text
|
16
|
+
class String
|
17
|
+
def black
|
18
|
+
"\033[30m#{self}\033[0m"
|
19
|
+
end
|
20
|
+
|
21
|
+
def red
|
22
|
+
"\033[31m#{self}\033[0m"
|
23
|
+
end
|
24
|
+
|
25
|
+
def bred
|
26
|
+
"\033[1;31m#{self}\033[0m"
|
27
|
+
end
|
28
|
+
|
29
|
+
def green
|
30
|
+
"\033[32m#{self}\033[0m"
|
31
|
+
end
|
32
|
+
|
33
|
+
def bgreen
|
34
|
+
"\033[1;32m#{self}\033[0m"
|
35
|
+
end
|
36
|
+
|
37
|
+
def yellow
|
38
|
+
"\033[33m#{self}\033[0m"
|
39
|
+
end
|
40
|
+
|
41
|
+
def byellow
|
42
|
+
"\033[1;33m#{self}\033[0m"
|
43
|
+
end
|
44
|
+
|
45
|
+
def blue
|
46
|
+
"\033[34m#{self}\033[0m"
|
47
|
+
end
|
48
|
+
|
49
|
+
def magenta
|
50
|
+
"\033[35m#{self}\033[0m"
|
51
|
+
end
|
52
|
+
|
53
|
+
def cyan
|
54
|
+
"\033[36m#{self}\033[0m"
|
55
|
+
end
|
56
|
+
|
57
|
+
def white
|
58
|
+
"\033[37m#{self}\033[0m"
|
59
|
+
end
|
60
|
+
|
61
|
+
def bwhite
|
62
|
+
"\033[1;37m#{self}\033[0m"
|
63
|
+
end
|
64
|
+
end
|
data/lib/env.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# encoding=utf-8
|
4
|
+
|
5
|
+
# utility functions to read environment variables
|
6
|
+
#
|
7
|
+
module Env
|
8
|
+
# :reek:BooleanParameter
|
9
|
+
# :reek:DataClump
|
10
|
+
# :reek:NilCheck
|
11
|
+
# :reek:UtilityFunction
|
12
|
+
def env_bool(name, default: false)
|
13
|
+
return default if name.nil? || (val = ENV[name]).nil?
|
14
|
+
return false if val.empty? || val == '0'
|
15
|
+
|
16
|
+
true
|
17
|
+
end
|
18
|
+
|
19
|
+
# skip :reek:DataClump
|
20
|
+
# skip :reek:NilCheck
|
21
|
+
# skip :reek:UtilityFunction
|
22
|
+
def env_int(name, default: 0)
|
23
|
+
return default if name.nil? || (val = ENV[name]).nil?
|
24
|
+
return default if val.empty?
|
25
|
+
|
26
|
+
val.to_i
|
27
|
+
end
|
28
|
+
|
29
|
+
# skip :reek:DataClump
|
30
|
+
# skip :reek:NilCheck
|
31
|
+
# skip :reek:UtilityFunction
|
32
|
+
def env_str(name, default: '')
|
33
|
+
return default if name.nil? || (val = ENV[name]).nil?
|
34
|
+
|
35
|
+
val || default
|
36
|
+
end
|
37
|
+
end
|