cureutils 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +175 -17
- data/etc/cure-completion.zsh +124 -0
- data/img/cureutils_logo.png +0 -0
- data/lib/cureutils/cli.rb +7 -19
- data/lib/cureutils/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5e393b752e1e939c5161fcbc1de1ce23c2efa21
|
4
|
+
data.tar.gz: c24bd33b230b22367c667c2766141eb884a508de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5bf7d46b18cd67ec3d91cb9d00c84859c90ca4493067d2f4311c7f6525befb30590800134ae983e990ecb439bd8e700bb15a4f44d9faa5deabd8ad0687b64a6
|
7
|
+
data.tar.gz: 606ad7edff5e687551f739f07a9fd9dcc7ef83dde6655435050fa1116a3b078744b711cc04f23d42775902a287a6d727ae13f227f536497aa2220af6758e6a12
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2016 Yamada, Yasuhiro
|
3
|
+
Copyright (c) 2016 Yamada, Yasuhiro
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -1,39 +1,197 @@
|
|
1
|
-
|
1
|
+
<p align="center">
|
2
|
+
<img src="./img/cureutils_logo.png" />
|
3
|
+
</p>
|
2
4
|
|
3
|
-
|
5
|
+
# Cureutils
|
4
6
|
|
5
|
-
|
7
|
+
Useful command line tool for Japanese battle heroine "Pretty Cure (Precure)".
|
6
8
|
|
7
9
|
## Installation
|
8
10
|
|
9
|
-
|
11
|
+
Install it yourself as:
|
12
|
+
|
13
|
+
$ gem install cureutils
|
14
|
+
|
15
|
+
|
16
|
+
After that, `cure` command is availabe.
|
17
|
+
|
18
|
+
$ cure
|
10
19
|
|
11
|
-
|
12
|
-
|
20
|
+
## Usage
|
21
|
+
|
22
|
+
### cure date
|
23
|
+
Display date, time and Precure related events.
|
24
|
+
|
25
|
+
```sh
|
26
|
+
$ cure date
|
27
|
+
2016-06-17 21:28:42 魔法つかいプリキュア!放映期間
|
13
28
|
```
|
14
29
|
|
15
|
-
|
30
|
+
* %Y : Year
|
31
|
+
* %m : Month 01 - 12
|
32
|
+
* %d : Date 01 - 31
|
33
|
+
* @P : Precure related events.
|
34
|
+
* And other general date formats are usable.
|
16
35
|
|
17
|
-
|
36
|
+
#### Options
|
18
37
|
|
19
|
-
|
38
|
+
| Option | Description |
|
39
|
+
| ------ | --------- |
|
40
|
+
| -d | cure date -d STRING: display time described by STRING |
|
20
41
|
|
21
|
-
$ gem install cureutils
|
22
42
|
|
23
|
-
|
43
|
+
```sh
|
44
|
+
$ cure date -d '3 years ago' '+%Y/%m @P'
|
45
|
+
2013/06 ドキドキ!プリキュア放映期間
|
46
|
+
```
|
24
47
|
|
25
|
-
TODO: Write usage instructions here
|
26
48
|
|
27
|
-
|
49
|
+
### cure echo
|
50
|
+
Print messages of Precure.
|
28
51
|
|
29
|
-
|
52
|
+
```sh
|
53
|
+
$ cure echo
|
54
|
+
みんなの思いを守るために
|
55
|
+
心をひとつに!
|
56
|
+
思いよ届け!キュアエコー!
|
57
|
+
```
|
30
58
|
|
31
|
-
|
59
|
+
### cure girls
|
60
|
+
Print girls' name
|
61
|
+
|
62
|
+
```sh
|
63
|
+
$ cure girls
|
64
|
+
美墨なぎさ
|
65
|
+
雪城ほのか
|
66
|
+
九条ひかり
|
67
|
+
日向咲
|
68
|
+
美翔舞
|
69
|
+
夢原のぞみ
|
70
|
+
夏木りん
|
71
|
+
春日野うらら
|
72
|
+
秋元こまち
|
73
|
+
水無月かれん
|
74
|
+
...
|
75
|
+
```
|
32
76
|
|
33
|
-
|
77
|
+
### cure grep
|
78
|
+
Print lines matching a pattern.
|
79
|
+
|
80
|
+
```sh
|
81
|
+
$ echo キュア{レッド,ピンク,ブラック,ブルー,ホワイト}"\n" | cure grep
|
82
|
+
キュアブラック
|
83
|
+
キュアホワイト
|
84
|
+
```
|
85
|
+
|
86
|
+
#### Options
|
87
|
+
|
88
|
+
| Option | Description |
|
89
|
+
| ------ | ----------- |
|
90
|
+
| -E | Interpret PATTERN as an extended regular expression. |
|
91
|
+
| -o | Print only the matched (non-empty) parts of a matching line, with each such part on a separate out. |
|
92
|
+
|
93
|
+
|
94
|
+
#### Folloing "Precure bracket expression" are available.
|
95
|
+
|
96
|
+
| Expression | Description |
|
97
|
+
| ---------- | -------------- |
|
98
|
+
| [:cast_name:] | Voice actor name. |
|
99
|
+
| [:color:] | Name of the color of the Precure. |
|
100
|
+
| [:girl_name:] | Girl name. |
|
101
|
+
| [:human_name:] | Real name before transforming. |
|
102
|
+
| [:precure_name:] | Precure name. |
|
103
|
+
|
104
|
+
|
105
|
+
```sh
|
106
|
+
$ cat txt | cure grep '私は[:precure_name:]です。'
|
107
|
+
こんにちは、 私はキュアレモネードです。
|
108
|
+
```
|
109
|
+
|
110
|
+
### cure tr
|
111
|
+
Translate Precure related parameters.
|
34
112
|
|
35
|
-
|
113
|
+
```sh
|
114
|
+
$ echo 相田マナ | cure tr '[:human_name:]' '[:cast_name:]'
|
115
|
+
生天目仁美
|
116
|
+
```
|
117
|
+
|
118
|
+
#### Folloing "Precure bracket expression" are available.
|
119
|
+
|
120
|
+
| Expression | Description |
|
121
|
+
| ---------- | -------------- |
|
122
|
+
| [:cast_name:] | Voice actor name. |
|
123
|
+
| [:color:] | Name of the color of the Precure. |
|
124
|
+
| [:girl_name:] | Girl name. |
|
125
|
+
| [:human_name:] | Real name before transforming. |
|
126
|
+
| [:precure_name:] | Precure name. |
|
127
|
+
|
128
|
+
|
129
|
+
### cure transform
|
130
|
+
Replace human_name to precure_name
|
131
|
+
|
132
|
+
```sh
|
133
|
+
$ echo '私の名前は十六夜リコです。' | cure transform
|
134
|
+
私の名前はキュアマジカルです。
|
135
|
+
```
|
136
|
+
|
137
|
+
### cure humanize
|
138
|
+
Change precure_name to human_name.
|
139
|
+
|
140
|
+
```sh
|
141
|
+
$ echo キュア{ハート,エース} | cure humanize
|
142
|
+
相田マナ 円亜久里
|
143
|
+
```
|
144
|
+
|
145
|
+
### cure janken
|
146
|
+
Let's play "Pikarin Janken" !
|
147
|
+
|
148
|
+
```sh
|
149
|
+
$ cure janken
|
150
|
+
ピカピカピカリン
|
151
|
+
ジャンケンポン!
|
152
|
+
1...グー, 2...チョキ, 3...パー : 1
|
153
|
+
|
154
|
+
あなた: グー
|
155
|
+
キュアピース: グー
|
156
|
+
|
157
|
+
[結果]
|
158
|
+
あいこ
|
159
|
+
```
|
160
|
+
|
161
|
+
Exit status is changed depending on the result.
|
162
|
+
|
163
|
+
| Result | Exit status |
|
164
|
+
| ------ | ----------- |
|
165
|
+
| You win | 0 |
|
166
|
+
| You lose | 1 |
|
167
|
+
| Draw | 2 |
|
168
|
+
|
169
|
+
### cure precures
|
170
|
+
Print Precure names
|
171
|
+
|
172
|
+
```
|
173
|
+
$ cure precures
|
174
|
+
キュアブラック
|
175
|
+
キュアホワイト
|
176
|
+
シャイニールミナス
|
177
|
+
キュアブルーム
|
178
|
+
キュアイーグレット
|
179
|
+
キュアブライト
|
180
|
+
キュアウィンディ
|
181
|
+
キュアドリーム
|
182
|
+
キュアルージュ
|
183
|
+
キュアレモネード
|
184
|
+
...
|
185
|
+
```
|
186
|
+
|
187
|
+
## Zsh completion
|
188
|
+
|
189
|
+
[etc/cure-completion.zsh](etc/cure-completion.zsh) is useful if you are using Zsh.
|
190
|
+
|
191
|
+
|
192
|
+
## Contributing
|
36
193
|
|
194
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/greymd/cureutils. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
37
195
|
|
38
196
|
## License
|
39
197
|
|
@@ -0,0 +1,124 @@
|
|
1
|
+
#compdef -U cure
|
2
|
+
|
3
|
+
# cureutils completion for zsh. Source from somewhere in your $fpath.
|
4
|
+
|
5
|
+
# cure CMD
|
6
|
+
subcommands=(
|
7
|
+
"help: Output the usage and exit."
|
8
|
+
"date: Display date, time and Precure related events."
|
9
|
+
"echo: Print messages of Precure."
|
10
|
+
"girls: Print girls' name"
|
11
|
+
"grep: Print lines matching a pattern."
|
12
|
+
"humanize: Change precure_name to human_name."
|
13
|
+
"janken: Let's play \"Pikarin Janken\" !"
|
14
|
+
"precures: Print Precure names"
|
15
|
+
"tr: Translate Precure related parameters."
|
16
|
+
"transform: Replace human_name to precure_name"
|
17
|
+
)
|
18
|
+
|
19
|
+
# cure precures | cure tr [:precure_name:] [:girl_name:] | grep '[[:alnum:]]' | sort | uniq | sed 's/^cure_//'
|
20
|
+
precure_girl_names=(
|
21
|
+
'ace'
|
22
|
+
'aqua'
|
23
|
+
'beat'
|
24
|
+
'beauty'
|
25
|
+
'berry'
|
26
|
+
'black'
|
27
|
+
'bloom'
|
28
|
+
'blossom'
|
29
|
+
'diamond'
|
30
|
+
'dream'
|
31
|
+
'echo'
|
32
|
+
'egret'
|
33
|
+
'flora'
|
34
|
+
'fortune'
|
35
|
+
'happy'
|
36
|
+
'heart'
|
37
|
+
'honey'
|
38
|
+
'lemonade'
|
39
|
+
'lovely'
|
40
|
+
'magical'
|
41
|
+
'march'
|
42
|
+
'marine'
|
43
|
+
'melody'
|
44
|
+
'mermaid'
|
45
|
+
'mint'
|
46
|
+
'miracle'
|
47
|
+
'moonlight'
|
48
|
+
'muse'
|
49
|
+
'passion'
|
50
|
+
'peace'
|
51
|
+
'peach'
|
52
|
+
'pine'
|
53
|
+
'princess'
|
54
|
+
'rhythm'
|
55
|
+
'rosetta'
|
56
|
+
'rouge'
|
57
|
+
'scarlet'
|
58
|
+
'sunny'
|
59
|
+
'sunshine'
|
60
|
+
'sword'
|
61
|
+
'twinkle'
|
62
|
+
'white'
|
63
|
+
'milky_rose'
|
64
|
+
'shiny_luminous'
|
65
|
+
)
|
66
|
+
|
67
|
+
function _cure-grep () {
|
68
|
+
local -a args
|
69
|
+
if (( CURRENT>=3 )) ;then
|
70
|
+
echo $words | grep -w -- '-o' 1> /dev/null || args=($args '-o:Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.')
|
71
|
+
echo $words | grep -w -- '-E' 1> /dev/null || args=($args '-E:Interpret PATTERN as an extended regular expression.')
|
72
|
+
_describe -t args 'args' args
|
73
|
+
fi
|
74
|
+
}
|
75
|
+
|
76
|
+
function _cure-tr () {
|
77
|
+
local -a args
|
78
|
+
if (( CURRENT>=3 )) ;then
|
79
|
+
echo $words | grep -w -- '\[\:girl_name\:\]' 1> /dev/null || args=($args '\[\:girl_name\:\]:Girl name.')
|
80
|
+
echo $words | grep -w -- '\[\:human_name\:\]' 1> /dev/null || args=($args '\[\:human_name\:\]:Real name before transforming.')
|
81
|
+
echo $words | grep -w -- '\[\:precure_name\:\]' 1> /dev/null || args=($args '\[\:precure_name\:\]:Precure name.')
|
82
|
+
echo $words | grep -w -- '\[\:cast_name\:\]' 1> /dev/null || args=($args '\[\:cast_name\:\]:Voice actor name.')
|
83
|
+
echo $words | grep -w -- '\[\:color\:\]' 1> /dev/null || args=($args '\[\:color\:\]:Name of the color of the Precure.')
|
84
|
+
_describe -t args 'args' args
|
85
|
+
fi
|
86
|
+
}
|
87
|
+
|
88
|
+
function _cure-echo () {
|
89
|
+
local -a args
|
90
|
+
if [[ ('--precure' == "${words[$CURRENT-1]}") || ('-p' == "${words[$CURRENT-1]}") ]] ; then
|
91
|
+
_describe -t precure_girl_names 'precure_girl_names' precure_girl_names
|
92
|
+
elif (( CURRENT>=3 )) ; then
|
93
|
+
echo $words | grep -w -- '-p' 1> /dev/null || args=($args '-p:Print messages of given Prequre.')
|
94
|
+
echo $words | grep -w -- '-q' 1> /dev/null || args=($args '-q:Print messages immediately.')
|
95
|
+
echo $words | grep -w -- '-a' 1> /dev/null || args=($args '-a:Print attack messages.')
|
96
|
+
echo $words | grep -w -- '-t' 1> /dev/null || args=($args '-t:Print transform message.')
|
97
|
+
_describe -t args 'args' args
|
98
|
+
fi
|
99
|
+
}
|
100
|
+
|
101
|
+
function _cure-date () {
|
102
|
+
local -a args
|
103
|
+
args=(
|
104
|
+
'-d: cure date -d STRING: display time described by STRING'
|
105
|
+
'+%Y/%m/%d_%H\:%M\:%S_@P: Example date string 1.'
|
106
|
+
'+%Y/%m/%d_@P: Example date string 2.'
|
107
|
+
)
|
108
|
+
if (( CURRENT==3 )) ; then
|
109
|
+
_describe -t args 'args' args
|
110
|
+
fi
|
111
|
+
if (( CURRENT==5 )) ; then
|
112
|
+
shift args
|
113
|
+
_describe -t args 'args' args
|
114
|
+
fi
|
115
|
+
}
|
116
|
+
|
117
|
+
function _cure()
|
118
|
+
{
|
119
|
+
if (( CURRENT==2 )) ; then
|
120
|
+
_describe -t subcommands 'subcommands' subcommands
|
121
|
+
elif (( CURRENT>2 )) ;then
|
122
|
+
_call_function ret _cure-"${words[2]}"
|
123
|
+
fi
|
124
|
+
}
|
Binary file
|
data/lib/cureutils/cli.rb
CHANGED
@@ -29,38 +29,26 @@ module Cureutils
|
|
29
29
|
print_converted_text($stdin, :human_name, :precure_name)
|
30
30
|
end
|
31
31
|
|
32
|
-
desc 'humanize', 'Change precure_name to human_name'
|
32
|
+
desc 'humanize', 'Change precure_name to human_name.'
|
33
33
|
def humanize
|
34
34
|
print_converted_text($stdin, :precure_name, :human_name)
|
35
35
|
end
|
36
36
|
|
37
|
-
desc 'girls',
|
37
|
+
desc 'girls', "Print girls' name"
|
38
38
|
def girls
|
39
39
|
Rubicure::Girl.config.map { |_k, v| v[:human_name] }.uniq.each do |v|
|
40
40
|
puts v
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
desc 'precures', 'Print
|
44
|
+
desc 'precures', 'Print Precure names'
|
45
45
|
def precures
|
46
46
|
Rubicure::Girl.config.map { |_k, v| v[:precure_name] }.uniq.each do |v|
|
47
47
|
puts v
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
desc '
|
52
|
-
option 'reduce', aliases: 'r'
|
53
|
-
def mytest(arg1 = 'arg1', fname = nil)
|
54
|
-
optstr = options[:reduce] ? options[:reduce] : 'empty'
|
55
|
-
@io = $stdout
|
56
|
-
@io.puts 'opt:' + optstr
|
57
|
-
@io.puts 'arg1:' + arg1
|
58
|
-
@io.puts 'fname:' + (fname ? fname : 'stdin')
|
59
|
-
@input = input_from(fname)
|
60
|
-
@input.each { |line| puts 'cap: ' + line }
|
61
|
-
end
|
62
|
-
|
63
|
-
desc 'grep [OPTIONS] PATTERN', 'print lines matching a pattern.'
|
51
|
+
desc 'grep [OPTIONS] PATTERN', 'Print lines matching a pattern.'
|
64
52
|
option 'extended-regexp', aliases: 'E'
|
65
53
|
option 'only-matching', aliases: 'o'
|
66
54
|
def grep(pat = '[:precure_name:]', filename = nil)
|
@@ -103,14 +91,14 @@ module Cureutils
|
|
103
91
|
end
|
104
92
|
end
|
105
93
|
|
106
|
-
desc 'tr PATTERN REPLACE', '
|
94
|
+
desc 'tr PATTERN REPLACE', 'Translate Precure related parameters.'
|
107
95
|
def tr(pat_from = '[:precure_name:]', pat_to = '[:human_name:]')
|
108
96
|
pat_from = pregex2str(pat_from).to_sym
|
109
97
|
pat_to = pregex2str(pat_to).to_sym
|
110
98
|
print_converted_text($stdin, pat_from, pat_to)
|
111
99
|
end
|
112
100
|
|
113
|
-
desc 'echo PATTERN', '
|
101
|
+
desc 'echo PATTERN', 'Print messages of Precure.'
|
114
102
|
option 'quick', aliases: 'q',
|
115
103
|
type: :boolean,
|
116
104
|
desc: 'Print messages immediately.'
|
@@ -140,7 +128,7 @@ module Cureutils
|
|
140
128
|
end
|
141
129
|
|
142
130
|
desc 'date [OPTIONS] [+FORMAT]',
|
143
|
-
'
|
131
|
+
'Display date, time and Precure related events.'
|
144
132
|
option 'date', aliases: 'd'
|
145
133
|
# Original date command's default is '+%a %b %e %H:%M:%S %Z %Y @P'
|
146
134
|
# However, I would like to adopt this setting.
|
data/lib/cureutils/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cureutils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yamada, Yasuhiro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -132,6 +132,8 @@ files:
|
|
132
132
|
- Rakefile
|
133
133
|
- bin/cure
|
134
134
|
- cureutils.gemspec
|
135
|
+
- etc/cure-completion.zsh
|
136
|
+
- img/cureutils_logo.png
|
135
137
|
- lib/cureutils.rb
|
136
138
|
- lib/cureutils/cli.rb
|
137
139
|
- lib/cureutils/cure_date_checker.rb
|