githelp 0.1.4 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +5 -5
  2. data/.config/peco/config.json +6 -0
  3. data/00README +8 -0
  4. data/Gemfile +2 -4
  5. data/Makefile +10 -0
  6. data/README.md +9 -122
  7. data/bin/gh +2 -0
  8. data/exe/getghdata +100 -0
  9. data/exe/githelp +42 -67
  10. data/getdata +100 -0
  11. data/githelp +57 -0
  12. metadata +13 -52
  13. data/LICENSE.txt +0 -21
  14. data/Rakefile +0 -10
  15. data/bin/console +0 -14
  16. data/bin/setup +0 -7
  17. data/data.txt +0 -12
  18. data/data/adddelete.rb +0 -10
  19. data/data/afteradd.rb +0 -16
  20. data/data/appear.rb +0 -16
  21. data/data/branch.rb +0 -33
  22. data/data/cat-file.rb +0 -19
  23. data/data/change.rb +0 -95
  24. data/data/checkout.rb +0 -27
  25. data/data/commit.rb +0 -7
  26. data/data/freq.rb +0 -13
  27. data/data/fresh.rb +0 -7
  28. data/data/grep.rb +0 -8
  29. data/data/ignore.rb +0 -11
  30. data/data/log.rb +0 -8
  31. data/data/ls-files.rb +0 -15
  32. data/data/mv.rb +0 -7
  33. data/data/removed.rb +0 -17
  34. data/data/reset.rb +0 -11
  35. data/data/rm.rb +0 -8
  36. data/data/shortlog.rb +0 -13
  37. data/data/show.rb +0 -7
  38. data/data/status.rb +0 -11
  39. data/data/tag.rb +0 -27
  40. data/exe/githelp-changed +0 -9
  41. data/exe/githelp-fileadded +0 -25
  42. data/exe/githelp-unchanged +0 -9
  43. data/githelp.gemspec +0 -28
  44. data/lib/githelp.rb +0 -51
  45. data/lib/githelp/args.rb +0 -17
  46. data/lib/githelp/branches.rb +0 -40
  47. data/lib/githelp/changes.rb +0 -36
  48. data/lib/githelp/files.rb +0 -27
  49. data/lib/githelp/git_check.rb +0 -15
  50. data/lib/githelp/glossary.rb +0 -17
  51. data/lib/githelp/numbers.rb +0 -14
  52. data/lib/githelp/params.rb +0 -17
  53. data/lib/githelp/patterns.rb +0 -20
  54. data/lib/githelp/tags.rb +0 -29
  55. data/lib/githelp/version.rb +0 -3
data/githelp ADDED
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 're_expand'
4
+
5
+ #require '/Users/masui/expand_ruby/lib/re_expand.rb'
6
+ #require '/Users/masui/expand_ruby/lib/re_expand/Generator'
7
+ #require '/Users/masui/expand_ruby/lib/re_expand/Node'
8
+ #require '/Users/masui/expand_ruby/lib/re_expand/Scanner'
9
+
10
+ require 'json'
11
+
12
+ DATAFILE = File.expand_path("~/.githelp")
13
+
14
+ data = JSON.parse(File.read(DATAFILE))
15
+
16
+ #
17
+ # 関数定義などをeval
18
+ #
19
+ data['codes'].each { |code|
20
+ eval code
21
+ }
22
+
23
+ g = ExpandRuby::Generator.new # re_expandのジェネレータ
24
+
25
+ #
26
+ # GitHelpエントリ
27
+ #
28
+ lines = []
29
+
30
+ data['defs'].each { |line|
31
+ if line =~ /^\s*\$\s*(.*)$/ # $....
32
+ lines << $1
33
+ elsif line =~ /^\s*\%\s*(.*)$/ # %....
34
+ cmd = $1
35
+ lines.each { |l|
36
+ desc = eval('"' + l + '"')
37
+ g.add desc.force_encoding('utf-8'), cmd.force_encoding('utf-8')
38
+ }
39
+ lines = []
40
+ end
41
+ }
42
+
43
+ res = g.generate " #{args.join(' ')} "
44
+
45
+ listed = {}
46
+ list = res[0].find_all { |a| # 0 ambig
47
+ if listed[a[1]]
48
+ false
49
+ else
50
+ listed[a[1]] = true
51
+ end
52
+ }
53
+
54
+ list.each_with_index { |entry,ind|
55
+ puts "#[#{ind}] #{entry[0]}"
56
+ puts " #{entry[1]}"
57
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: githelp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toshiyuki Masui
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-24 00:00:00.000000000 Z
11
+ date: 2018-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,64 +66,26 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description: GitHelp - short desc
69
+ description: GitHelp
70
70
  email:
71
71
  - masui@pitecan.com
72
72
  executables:
73
+ - getghdata
73
74
  - githelp
74
- - githelp-changed
75
- - githelp-fileadded
76
- - githelp-unchanged
77
75
  extensions: []
78
76
  extra_rdoc_files: []
79
77
  files:
78
+ - ".config/peco/config.json"
80
79
  - ".gitignore"
80
+ - 00README
81
81
  - Gemfile
82
- - LICENSE.txt
82
+ - Makefile
83
83
  - README.md
84
- - Rakefile
85
- - bin/console
86
- - bin/setup
87
- - data.txt
88
- - data/adddelete.rb
89
- - data/afteradd.rb
90
- - data/appear.rb
91
- - data/branch.rb
92
- - data/cat-file.rb
93
- - data/change.rb
94
- - data/checkout.rb
95
- - data/commit.rb
96
- - data/freq.rb
97
- - data/fresh.rb
98
- - data/grep.rb
99
- - data/ignore.rb
100
- - data/log.rb
101
- - data/ls-files.rb
102
- - data/mv.rb
103
- - data/removed.rb
104
- - data/reset.rb
105
- - data/rm.rb
106
- - data/shortlog.rb
107
- - data/show.rb
108
- - data/status.rb
109
- - data/tag.rb
84
+ - bin/gh
85
+ - exe/getghdata
110
86
  - exe/githelp
111
- - exe/githelp-changed
112
- - exe/githelp-fileadded
113
- - exe/githelp-unchanged
114
- - githelp.gemspec
115
- - lib/githelp.rb
116
- - lib/githelp/args.rb
117
- - lib/githelp/branches.rb
118
- - lib/githelp/changes.rb
119
- - lib/githelp/files.rb
120
- - lib/githelp/git_check.rb
121
- - lib/githelp/glossary.rb
122
- - lib/githelp/numbers.rb
123
- - lib/githelp/params.rb
124
- - lib/githelp/patterns.rb
125
- - lib/githelp/tags.rb
126
- - lib/githelp/version.rb
87
+ - getdata
88
+ - githelp
127
89
  homepage: http://GitHub.com/masui/GitHelp
128
90
  licenses:
129
91
  - MIT
@@ -132,7 +94,6 @@ post_install_message:
132
94
  rdoc_options: []
133
95
  require_paths:
134
96
  - lib
135
- - data
136
97
  required_ruby_version: !ruby/object:Gem::Requirement
137
98
  requirements:
138
99
  - - ">="
@@ -145,8 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
106
  version: '0'
146
107
  requirements: []
147
108
  rubyforge_project:
148
- rubygems_version: 2.5.1
109
+ rubygems_version: 2.7.4
149
110
  signing_key:
150
111
  specification_version: 4
151
- summary: GitHelp - long summary
112
+ summary: GitHelp
152
113
  test_files: []
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2016 Toshiyuki Masui
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
data/Rakefile DELETED
@@ -1,10 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
3
-
4
- Rake::TestTask.new(:test) do |t|
5
- t.libs << "test"
6
- t.libs << "lib"
7
- t.test_files = FileList['test/**/*_test.rb']
8
- end
9
-
10
- task :default => :test
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "githelp"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start
data/bin/setup DELETED
@@ -1,7 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
-
5
- bundle install
6
-
7
- # Do any other automated setup that you need to do here
data/data.txt DELETED
@@ -1,12 +0,0 @@
1
- # ここからgem化する予定
2
-
3
- * 変更されたファイルをすべてコミットする
4
- * 変更されたファイルをリストする
5
- * xxxというファイルが加わったコミットを知る
6
- git log --name-status --oneline でわかる
7
- * stash
8
- * 3回以上コミットされたファイルをリストする
9
-
10
- * 2時間前のをcatする
11
- git cat-file -p "@{2 hours ago}":README.md
12
- こんなの覚えてられるワケないだろ!
data/data/adddelete.rb DELETED
@@ -1,10 +0,0 @@
1
- # coding: utf-8
2
-
3
- # http://koyamay.hatenablog.com/entry/2014/10/06/022654
4
- [
5
- [
6
- "これまで追加/削除された行数を表示する",
7
- 'git log --numstat --pretty="%H" | awk \'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\\\\n", plus, minus)}\''
8
- ],
9
- ]
10
-
data/data/afteradd.rb DELETED
@@ -1,16 +0,0 @@
1
- # coding: utf-8
2
- #
3
- # 結城氏が欲しいといったもの
4
- # https://www.facebook.com/toshiyukimasui/posts/10154167175512498?comment_id=10154167320572498
5
- #
6
-
7
- if params.length > 0
8
- [
9
- [
10
- "最初に「(#{params.join('|')})」という文字列を含むコミットをした時から現在までに追加されたファイルはどれとどれ?",
11
- 'git log --oneline --date=iso-strict --format=\'%cd %s\' | grep #{$1} | tail -1 | awk \'{print $1}\' | xargs githelp-changed '
12
- ],
13
- ]
14
- else
15
- nil
16
- end
data/data/appear.rb DELETED
@@ -1,16 +0,0 @@
1
- # coding: utf-8
2
- if params.length > 0 && files.length > 0
3
- [
4
- [
5
- "「(#{files.join('|')})」ファイルに「(#{params.join('|')})」という名前が出現したのはいつ?",
6
- 'git blame #{$1} | grep #{$2}'
7
- ],
8
- [
9
- "「(#{params.join('|')})」という名前が「(#{files.join('|')})」ファイルに出現したのはいつ?",
10
- 'git blame #{$2} | grep #{$1}'
11
- ]
12
- ]
13
- else
14
- nil
15
- end
16
-
data/data/branch.rb DELETED
@@ -1,33 +0,0 @@
1
- # coding: utf-8
2
- [
3
- [
4
- "ブランチをリストする",
5
- "git branch"
6
- ],
7
- [
8
- "ブランチのリストを表示する",
9
- "git branch"
10
- ],
11
- [
12
- "「(#{branches.join('|')})」ブランチを削除する",
13
- 'git branch -d #{$1}'
14
- ],
15
- [
16
- "「(#{params.join('|')})」ブランチを作成する",
17
- 'git branch #{$1}'
18
- ],
19
- ] +
20
- if params.length > 0
21
- [
22
- [
23
- "「(#{params.join('|')})」という名前の新しいブランチを作成する",
24
- 'git branch #{$1}'
25
- ],
26
- [
27
- "新しいブランチを「(#{params.join('|')})」という名前で作成する",
28
- 'git branch #{$1}'
29
- ]
30
- ]
31
- else
32
- []
33
- end
data/data/cat-file.rb DELETED
@@ -1,19 +0,0 @@
1
- # coding: utf-8
2
- [
3
- [
4
- "(#{numbers.join('|')})分前の「(#{files.join('|')})」ファイルを(表示する|見る)",
5
- 'git cat-file -p "@{#{$1} minutes ago}":#{$2}'
6
- ],
7
- [
8
- "(#{numbers.join('|')})時間前の「(#{files.join('|')})」ファイルを(表示する|見る)",
9
- 'git cat-file -p "@{#{$1} hours ago}":#{$2}'
10
- ],
11
- [
12
- "(#{numbers.join('|')})日前の「(#{files.join('|')})」ファイルを(表示する|見る)",
13
- 'git cat-file -p "@{#{$1} days ago}":#{$2}'
14
- ],
15
- [
16
- "昨日の「(#{files.join('|')})」ファイルを(表示する|見る)",
17
- 'git cat-file -p "@{yesterday}":#{$1}'
18
- ],
19
- ]
data/data/change.rb DELETED
@@ -1,95 +0,0 @@
1
- # coding: utf-8
2
-
3
- patterns != ['##PATTERN##'] ?
4
- [
5
- [
6
- "「(#{files.join('|')})」ファイルを(#{numbers.join('|')})分前の(もの|バージョン)と比較する",
7
- 'git diff HEAD "@{#{$2} minutes ago}" #{$1}'
8
- ],
9
- [
10
- "「(#{files.join('|')})」ファイルが(#{numbers.join('|')})分前から(変化した|変わった)ところを(表示する|見る)",
11
- 'git diff HEAD "@{#{$2} minutes ago}" #{$1}'
12
- ],
13
- [
14
- "「(#{files.join('|')})」ファイルを(#{numbers.join('|')})時間前の(もの|バージョン)と比較する",
15
- 'git diff HEAD "@{#{$2} hours ago}" #{$1}'
16
- ],
17
- [
18
- "「(#{files.join('|')})」ファイルが(#{numbers.join('|')})時間前から(変化した|変わった)ところを(表示する|見る)",
19
- 'git diff HEAD "@{#{$2} hours ago}" #{$1}'
20
- ],
21
- [
22
- "「(#{files.join('|')})」ファイルを(#{numbers.join('|')})日前の(もの|バージョン)と比較する",
23
- 'git diff HEAD "@{#{$2} days ago}" #{$1}'
24
- ],
25
- [
26
- "「(#{files.join('|')})」ファイルが(#{numbers.join('|')})日前から(変化した|変わった)ところを(表示する|見る)",
27
- 'git diff HEAD "@{#{$2} days ago}" #{$1}'
28
- ],
29
- [
30
- "(#{numbers.join('|')})分前の「(#{files.join('|')})」ファイルと現在の(もの|バージョン)を比較する",
31
- 'git diff HEAD "@{#{$1} minutes ago}" #{$2}'
32
- ],
33
- [
34
- "(#{numbers.join('|')})時間前の「(#{files.join('|')})」ファイルと現在の(もの|バージョン)を比較する",
35
- 'git diff HEAD "@{#{$1} hours ago}" #{$2}'
36
- ],
37
- [
38
- "(#{numbers.join('|')})日前の「(#{files.join('|')})」ファイルと現在の(もの|バージョン)を比較する",
39
- 'git diff HEAD "@{#{$1} days ago}" #{$2}'
40
- ],
41
- [
42
- "(#{numbers.join('|')})分前からの「(#{files.join('|')})」ファイル(の変化|が(変わった|変更された)ところ)を(表示する|見る)",
43
- 'git diff HEAD "@{#{$1} minutes ago}" #{$2}'
44
- ],
45
- [
46
- "(#{numbers.join('|')})時間前からの「(#{files.join('|')})」ファイル(の変化|が(変わった|変更された)ところ)を(表示する|見る)",
47
- 'git diff HEAD "@{#{$1} hours ago}" #{$2}'
48
- ],
49
- [
50
- "(#{numbers.join('|')})日前からの「(#{files.join('|')})」ファイル(の変化|が(変わった|変更された)ところ)を(表示する|見る)",
51
- 'git diff HEAD "@{#{$1} days ago}" #{$2}'
52
- ],
53
- [
54
- "「(#{files.join('|')})」ファイルをひとつ前のコミットと比較する",
55
- 'git diff HEAD^ #{$1}'
56
- ],
57
- [
58
- "「(#{files.join('|')})」ファイルをふたつ前のコミットと比較する",
59
- 'git diff HEAD^^ #{$1}'
60
- ],
61
- [
62
- "「(#{files.join('|')})」ファイルをひとつ前のバージョンと比較する",
63
- 'git log --oneline #{$1} | head -2 | tail -1 | awk \'{print $1}\' | xargs -J xxx git diff xxx #{$1}'
64
- ],
65
- [
66
- "ひとつ前のバージョンの「(#{files.join('|')})」ファイルと現在のものを比較する",
67
- 'git log --oneline #{$1} | head -2 | tail -1 | awk \'{print $1}\' | xargs -J xxx git diff xxx #{$1}'
68
- ],
69
- ] : [] +
70
- [
71
- [
72
- "(#{numbers.join('|')})分前から(変化した|変わった|変更された)ファイルをリストする",
73
- 'githelp-changed \'#{$1} minutes ago\''
74
- ],
75
- [
76
- "(#{numbers.join('|')})時間前から(変化した|変わった|変更された)ファイルをリストする",
77
- 'githelp-changed \'#{$1} hours ago\''
78
- ],
79
- [
80
- "(#{numbers.join('|')})日前から(変化した|変わった|変更された)ファイルをリストする",
81
- 'githelp-changed \'#{$1} days ago\''
82
- ],
83
- [
84
- "(#{numbers.join('|')})分前から(変化してない|変わってない|変わらない|変更されてない)ファイルをリストする",
85
- 'githelp-unchanged \'#{$1} minutes ago\''
86
- ],
87
- [
88
- "(#{numbers.join('|')})時間前から(変化してない|変わってない|変わらない|変更されてない)ファイルをリストする",
89
- 'githelp-unchanged \'#{$1} hours ago\''
90
- ],
91
- [
92
- "(#{numbers.join('|')})日前から(変化してない|変わってない|変わらない|変更されてない)ファイルをリストする",
93
- 'githelp-unchanged \'#{$1} days ago\''
94
- ],
95
- ]
data/data/checkout.rb DELETED
@@ -1,27 +0,0 @@
1
- # coding: utf-8
2
- [
3
- [
4
- "「(#{branches.join('|')})」ブランチの最新状態に移動する",
5
- 'git checkout #{$1} '
6
- ],
7
- [
8
- "最新の状態に戻す",
9
- 'git checkout #{branch}'
10
- ],
11
- [
12
- "(#{numbers.join('|')})分前の状態に一時的に戻す",
13
- 'git checkout "@{#{$1} minutes ago}"'
14
- ],
15
- [
16
- "(#{numbers.join('|')})時間前の状態に一時的に戻す",
17
- 'git checkout "@{#{$1} hours ago}"'
18
- ],
19
- [
20
- "(#{numbers.join('|')})日前の状態に一時的に戻す",
21
- 'git checkout "@{#{$1} days ago}"'
22
- ],
23
- [
24
- "(#{files.join('|')})が追加されたコミットに一時的に戻す",
25
- 'githelp-fileadded #{$1} | xargs git checkout'
26
- ],
27
- ]