markdown_exec 1.0.0 → 1.1.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/CHANGELOG.md +49 -11
- data/Gemfile +6 -5
- data/Gemfile.lock +13 -1
- data/README.md +32 -1
- data/Rakefile +35 -1
- data/bin/tab_completion.sh +123 -3
- data/bin/tab_completion.sh.erb +85 -0
- data/lib/markdown_exec/version.rb +3 -2
- data/lib/markdown_exec.rb +594 -203
- data/lib/shared.rb +121 -0
- metadata +18 -10
- data/fixtures/bash1.md +0 -12
- data/fixtures/bash2.md +0 -15
- data/fixtures/exclude1.md +0 -6
- data/fixtures/exclude2.md +0 -12
- data/fixtures/exec1.md +0 -8
- data/fixtures/heading1.md +0 -19
- data/fixtures/sample1.md +0 -9
- data/fixtures/title1.md +0 -6
data/lib/shared.rb
ADDED
@@ -0,0 +1,121 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# encoding=utf-8
|
4
|
+
|
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
|
+
|
69
|
+
public
|
70
|
+
|
71
|
+
def env_bool(name, default: false)
|
72
|
+
return default if name.nil? || (val = ENV[name]).nil?
|
73
|
+
return false if val.empty? || val == '0'
|
74
|
+
|
75
|
+
true
|
76
|
+
end
|
77
|
+
|
78
|
+
def env_int(name, default: 0)
|
79
|
+
return default if name.nil? || (val = ENV[name]).nil?
|
80
|
+
return default if val.empty?
|
81
|
+
|
82
|
+
val.to_i
|
83
|
+
end
|
84
|
+
|
85
|
+
def env_str(name, default: '')
|
86
|
+
return default if name.nil? || (val = ENV[name]).nil?
|
87
|
+
|
88
|
+
val || default
|
89
|
+
end
|
90
|
+
|
91
|
+
# debug output
|
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
|
108
|
+
end
|
109
|
+
|
110
|
+
def value_for_cli(value)
|
111
|
+
case value.class.to_s
|
112
|
+
when 'String'
|
113
|
+
Shellwords.escape value
|
114
|
+
when 'FalseClass', 'TrueClass'
|
115
|
+
value ? '1' : '0'
|
116
|
+
else
|
117
|
+
Shellwords.escape value.to_s
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
$pdebug = env_bool 'MDE_DEBUG'
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: markdown_exec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.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-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: clipboard
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.3.6
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.3.6
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: open3
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,16 +108,10 @@ files:
|
|
94
108
|
- bin/mde
|
95
109
|
- bin/setup
|
96
110
|
- bin/tab_completion.sh
|
97
|
-
-
|
98
|
-
- fixtures/bash2.md
|
99
|
-
- fixtures/exclude1.md
|
100
|
-
- fixtures/exclude2.md
|
101
|
-
- fixtures/exec1.md
|
102
|
-
- fixtures/heading1.md
|
103
|
-
- fixtures/sample1.md
|
104
|
-
- fixtures/title1.md
|
111
|
+
- bin/tab_completion.sh.erb
|
105
112
|
- lib/markdown_exec.rb
|
106
113
|
- lib/markdown_exec/version.rb
|
114
|
+
- lib/shared.rb
|
107
115
|
homepage: https://rubygems.org/gems/markdown_exec
|
108
116
|
licenses:
|
109
117
|
- MIT
|
data/fixtures/bash1.md
DELETED
data/fixtures/bash2.md
DELETED
data/fixtures/exclude1.md
DELETED
data/fixtures/exclude2.md
DELETED
data/fixtures/exec1.md
DELETED
data/fixtures/heading1.md
DELETED
data/fixtures/sample1.md
DELETED