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