whatoption 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/whatoption +4 -0
- data/lib/whatoption.rb +25 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eba18bf18642b07d11d846b7abbaf16932df2b47ac8a86128243ae5c4a0e5825
|
4
|
+
data.tar.gz: 487e4c5d7fb30d871deeefcf04f80b9a6f9d82bc80a8cbd4167b25ab27cfaa77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d945a051921d4b807594f203ab8fc96008e3c392126bd841ffab2d3d280016f9d6bb33a7d718c6ae7a6aeb970aba4d56a3c923ca3ee6ba95c2866843c1921c2
|
7
|
+
data.tar.gz: 11f2853c227dcb57fd037a28c809ef1325c7a9eb050e02f8eacf5294656c7edccdd482a82e90bb1ab2ff5db182209b8f59e281cafe0402c374a2f8eac4f36ede
|
data/bin/whatoption
CHANGED
@@ -61,6 +61,8 @@ class WhatOption::CliHandler
|
|
61
61
|
|
62
62
|
# routine
|
63
63
|
def help
|
64
|
+
puts("WhatOption v#{WhatOption::VERSION}")
|
65
|
+
puts
|
64
66
|
puts <<~HELP
|
65
67
|
Usage:
|
66
68
|
|
@@ -77,6 +79,8 @@ class WhatOption::CliHandler
|
|
77
79
|
whatoption ruby -c
|
78
80
|
whatoption tar x
|
79
81
|
whatoption git ls-files -z
|
82
|
+
whatoption bash -c
|
83
|
+
whatoption bash [ -n
|
80
84
|
|
81
85
|
HELP
|
82
86
|
end
|
data/lib/whatoption.rb
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
|
18
18
|
module WhatOption
|
19
19
|
|
20
|
-
VERSION = "0.
|
20
|
+
VERSION = "0.2.0"
|
21
21
|
|
22
22
|
require 'pathname'
|
23
23
|
OPTIONS_DATA_DIR = Pathname.new File.expand_path("~/.whatoption")
|
@@ -42,8 +42,9 @@ module WhatOption
|
|
42
42
|
|
43
43
|
@file # the target TOML file we will load in
|
44
44
|
|
45
|
-
@
|
46
|
-
@rec_desc # record field
|
45
|
+
@rec_usage # record field: the option's usage
|
46
|
+
@rec_desc # record field: the option's own meaning
|
47
|
+
@rec_func # record field: the function of the option
|
47
48
|
|
48
49
|
=end
|
49
50
|
|
@@ -63,14 +64,25 @@ module WhatOption
|
|
63
64
|
|
64
65
|
# routine
|
65
66
|
def load_sheet
|
67
|
+
require 'tomlrb'
|
66
68
|
# It's very interesting here, you have to put parentheses then 'commands.join()' is
|
67
69
|
# treated as a string.
|
68
70
|
# Without parentheses, the + is affected by OPTIONS_DATA_DIR,
|
69
71
|
# So first '+'s both side are Pathname
|
70
72
|
# And '+' is to add a '/' to component
|
71
73
|
@file = OPTIONS_DATA_DIR + (@commands.join('/') + ".toml")
|
74
|
+
|
75
|
+
# if the file not exists, it is maybe in the dir (with its own name)
|
76
|
+
# For example:
|
77
|
+
# "bash -c" will first search 'ROOT/bash.toml'
|
78
|
+
# if not exist, then we will search 'ROOT/bash/bash.toml'
|
79
|
+
#
|
80
|
+
if ! File.exist? @file
|
81
|
+
@file = Pathname.new(@file.to_s.delete_suffix(".toml")) +
|
82
|
+
(@commands.last + ".toml")
|
83
|
+
end
|
84
|
+
|
72
85
|
if File.exist? @file
|
73
|
-
require 'tomlrb'
|
74
86
|
return Tomlrb.load_file @file
|
75
87
|
else
|
76
88
|
puts "File #@file not exist!"
|
@@ -89,12 +101,15 @@ module WhatOption
|
|
89
101
|
record = sheet[@option] ||
|
90
102
|
puts("Error: Option [#@option] is not recorded in #@file".red) ||
|
91
103
|
exit(1)
|
92
|
-
@
|
93
|
-
puts("Error: No field '
|
104
|
+
@rec_usage = record['usage'] ||
|
105
|
+
puts("Error: No field 'usage' in #@file [#@calling_command]".red) ||
|
94
106
|
exit(1)
|
95
107
|
@rec_desc = record['desc'] ||
|
96
108
|
puts("Error: No field 'desc' in #@file [#@calling_command]".red) ||
|
97
109
|
exit(1)
|
110
|
+
@rec_func = record['func'] ||
|
111
|
+
puts("Error: No field 'func' in #@file [#@calling_command]".red) ||
|
112
|
+
exit(1)
|
98
113
|
end
|
99
114
|
|
100
115
|
|
@@ -106,12 +121,14 @@ module WhatOption
|
|
106
121
|
if not @sub_commands.empty?
|
107
122
|
result_cmd += ' ' + @sub_commands.join(' ').blue
|
108
123
|
end
|
109
|
-
result_cmd += ' ' + @
|
124
|
+
result_cmd += ' ' + @rec_usage.magenta
|
110
125
|
puts result_cmd
|
111
126
|
|
112
127
|
# newline description
|
113
|
-
print "\n "
|
128
|
+
print "\n #{@option}: "
|
114
129
|
puts @rec_desc.green
|
130
|
+
print "\n "
|
131
|
+
puts @rec_func
|
115
132
|
puts
|
116
133
|
end
|
117
134
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: whatoption
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ccmywish
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-02-
|
11
|
+
date: 2023-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tomlrb
|