my_help 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b7748831520dc7c031ae3a9896b230b3cac6ad2b
4
- data.tar.gz: 84cd874af8c122770dfc8b05a340893769a920a1
3
+ metadata.gz: c300a6cf8118a5de14ad9a499ae09097da533f87
4
+ data.tar.gz: 213c929710cf37f80acf50a27a51a6932b5ce83f
5
5
  SHA512:
6
- metadata.gz: 0f37baeda38f155012232fdef59801bee91af8f1ba07e90813a35745a6c226a60a0d0569f0a83fa96220aba97358f39819f3bed8fa22d1f8dd126b4285f0cb52
7
- data.tar.gz: 3397b6059109407b2b24a6b7ed77d0d7d3462e814eff019d2a78f201f6e378efbd04ded5a940e6af6750775d34c19f462a90899b438a99c0ad83dba4e38944c9
6
+ metadata.gz: 8cf6f08dade31756b7155ed9eff41114b7aa868a8e9fe6725b7452835a8766c25e7ce8294ff5ff939080c521480a0f73ba44818ea2ff0f74fd2b8ea51feab696
7
+ data.tar.gz: 18daf94f375d54a5b10e956991248ac8bce6afda0a0071246e1d7cc988050b2e0f51b98a375bf06f0ec10e22f4cfb41fe450d35c370e0eabc1d8024a35025d08
data/Rakefile CHANGED
@@ -59,13 +59,14 @@ task :my_help do
59
59
  p file
60
60
  p file_name=file.split('_')
61
61
  target_files = [file, file_name[0][0]+"_"+file_name[1][0]]
62
- p cont_name = File.join(user_name,file)
63
- # exe_cont << "require '#{cont_name}'\n"
62
+ p cont_name = File.join('lib',user_name,file)
64
63
  exe_cont << "require 'my_help'\n"
65
- exe_cont << "EmacsHelp::Command.run(ARGV)\n"
64
+ exe_cont << "MyHelp::Command.run('#{cont_name}', ARGV)\n"
66
65
  target_files.each{|name|
66
+ p ''
67
67
  p target=File.join('exe',name)
68
68
  File.open(target,'w'){|file|
69
+ print exe_cont
69
70
  file.print exe_cont
70
71
  }
71
72
  FileUtils.chmod('a+x', target, :verbose => true)
data/exe/e_h CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'my_help'
3
- EmacsHelp::Command.run(ARGV)
3
+ MyHelp::Command.run('lib/daddygongon/emacs_help', ARGV)
data/exe/emacs_help CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'my_help'
3
- EmacsHelp::Command.run(ARGV)
3
+ MyHelp::Command.run('lib/daddygongon/emacs_help', ARGV)
data/exe/my_help CHANGED
File without changes
@@ -0,0 +1,100 @@
1
+ ---
2
+ :head:
3
+ - "\n 特殊キー操作\n"
4
+ - "\tc-f, controlキーを押しながら 'f'\n"
5
+ - "\t\tM-f, escキーを押した後一度離して'f'\n"
6
+ - "\t操作の中断c-g, 操作の取り消し(Undo) c-x u \n"
7
+ :cursor:
8
+ :opts:
9
+ :short: "-c"
10
+ :long: "--cursor"
11
+ :desc: Cursor移動
12
+ :title: |2-
13
+
14
+ カーソル移動cursor
15
+ :cont:
16
+ - c-f, move Forwrard, 前or右へ
17
+ - c-b, move Backwrard, 後or左へ
18
+ - c-a, go Ahead of line, 行頭へ
19
+ - c-e, go End of line, 行末へ
20
+ - c-n, move Next line, 次行へ
21
+ - c-p, move Previous line, 前行へ
22
+ :page:
23
+ :opts:
24
+ :short: "-p"
25
+ :long: "--ページ"
26
+ :desc: Page移動
27
+ :title: |2-
28
+
29
+ ページ移動page
30
+ :cont:
31
+ - c-v, move Vertical, 次のページへ
32
+ - M-v, move reversive Vertical,前のページへ
33
+ - c-l, centerise Line, 現在行を中心に
34
+ - M-<, move Top of file, ファイルの先頭へ
35
+ - M->, move Bottom of file, ファイルの最後尾へ
36
+ :file:
37
+ :opts:
38
+ :short: "-f"
39
+ :long: "--ファイル"
40
+ :desc: File操作
41
+ :title: |2-
42
+
43
+ ファイル操作file
44
+ :cont:
45
+ - c-x c-f, Find file, ファイルを開く
46
+ - c-x c-s, Save file, ファイルを保存
47
+ - c-x c-w, Write file NAME, ファイルを別名で書き込む
48
+ :edit:
49
+ :opts:
50
+ :short: "-e"
51
+ :long: "--編集"
52
+ :desc: Edit操作
53
+ :title: |2-
54
+
55
+ 編集操作editor
56
+ :cont:
57
+ - c-d, Delete char, 一字削除
58
+ - c-k, Kill line, 一行抹消,カット
59
+ - c-y, Yank, ペースト
60
+ - c-w, Kill region, 領域抹消,カット
61
+ - "領域選択は,先頭or最後尾でc-spaceした後,最後尾or先頭へカーソル移動"
62
+ - c-s, forward incremental Search WORD, 前へWORDを検索
63
+ - c-r, Reverse incremental search WORD, 後へWORDを検索
64
+ - M-x query-replace WORD1 <ret> WORD2:対話的置換(y or nで可否選択)
65
+ :window:
66
+ :opts:
67
+ :short: "-w"
68
+ :long: "--ウィンドウ"
69
+ :desc: Window操作
70
+ :title: |2-
71
+
72
+ ウィンドウ操作window
73
+ :cont:
74
+ - c-x 2, 2 windows, 二つに分割
75
+ - c-x 1, 1 windows, 一つに戻す
76
+ - c-x 3, 3rd window sep,縦線分割
77
+ - c-x o, Other windows, 次の画面へ移動
78
+ :buffer:
79
+ :opts:
80
+ :short: "-b"
81
+ :long: "--バッファ"
82
+ :desc: Buffer操作
83
+ :title: |2-
84
+
85
+ バッファー操作buffer
86
+ :cont:
87
+ - c-x b, show Buffer, バッファのリスト
88
+ - c-x c-b, next Buffer, 次のバッファへ移動
89
+ :quit:
90
+ :opts:
91
+ :short: "-q"
92
+ :long: "--終了"
93
+ :desc: "終了操作"
94
+ :title: |2-
95
+
96
+ 終了操作quit
97
+ :cont:
98
+ - c-x c-c, Quit emacs, ファイルを保存して終了
99
+ - c-z, suspend emacs, 一時停止,fgで復活
100
+
data/lib/emacs_help.rb CHANGED
@@ -1,20 +1,19 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require "optparse"
3
+ require "yaml"
3
4
  require "emacs_help/version"
4
5
 
5
6
  module EmacsHelp
6
7
  class Command
8
+
7
9
  def self.run(argv=[])
8
- print "\n特殊キー操作"
9
- print "\tc-f, controlキーを押しながら 'f'\n"
10
- print "\t\tM-f, escキーを押した後一度離して'f'\n"
11
- print "\t操作の中断c-g, 操作の取り消し(Undo) c-x u \n"
12
10
  new(argv).execute
13
11
  end
14
12
 
15
13
  def initialize(argv=[])
14
+ @help_cont = YAML.load(File.read('lib/daddygongon/emacs_help'))
15
+ @help_cont[:head].each{|line| print line }
16
16
  @argv = argv
17
- data_path = File.join(ENV['HOME'], '.hikirc')
18
17
  end
19
18
 
20
19
  def execute
@@ -24,13 +23,11 @@ module EmacsHelp
24
23
  opt.version = EmacsHelp::VERSION
25
24
  puts opt.ver
26
25
  }
27
- opt.on('-c','--カーソル','Cursor移動') {cursor_move}
28
- opt.on('-p','--ページ','Page移動') {page_move}
29
- opt.on('-f','--ファイル','File操作') {file}
30
- opt.on('-e','--編集','Edit操作') {edit}
31
- opt.on('-w','--ウィンドウ','Window操作') {window}
32
- opt.on('-b','--バッファ','Buffer操作') {buffer}
33
- opt.on('-q','--終了','終了操作') {quit}
26
+ @help_cont.each_pair{|key,val|
27
+ next if key==:head
28
+ opts = val[:opts]
29
+ opt.on(opts[:short],opts[:long],opts[:desc]) {disp_from_help_cont(key)}
30
+ }
34
31
  end
35
32
  begin
36
33
  command_parser.parse!(@argv)
@@ -43,80 +40,17 @@ module EmacsHelp
43
40
  def disp(lines)
44
41
  lines.each{|line|
45
42
  if line.include?(',')
46
- show line
43
+ puts " #{line}"
47
44
  else
48
45
  puts " #{line}"
49
46
  end
50
47
  }
51
48
  end
52
- def show(line)
53
- puts " #{line}"
54
- end
55
-
56
- def quit
57
- puts "\n終了操作quit"
58
- cont = ["c-x c-c, Quit emacs, ファイルを保存して終了",
59
- "c-z, suspend emacs, 一時停止,fgで復活"]
60
- disp(cont)
61
- end
62
-
63
- def window
64
- puts "\nウィンドウ操作window"
65
- cont=["c-x 2, 2 windows, 二つに分割",
66
- "c-x 1, 1 windows, 一つに戻す",
67
- "c-x 3, 3rd window sep,縦線分割",
68
- "c-x o, Other windows, 次の画面へ移動"]
69
- disp(cont)
70
- end
71
-
72
- def buffer
73
- puts "\nバッファー操作buffer"
74
- cont =[ "c-x b, show Buffer, バッファのリスト",
75
- "c-x c-b, next Buffer, 次のバッファへ移動"]
76
- disp(cont)
77
- end
78
-
79
- def edit
80
- puts "\n編集操作editor"
81
- cont = ["c-d, Delete char, 一字削除",
82
- "c-k, Kill line, 一行抹消,カット",
83
- "c-y, Yank, ペースト",
84
- "c-w, Kill region, 領域抹消,カット",
85
- "領域選択は,先頭or最後尾でc-spaceした後,最後尾or先頭へカーソル移動",
86
- "c-s, forward incremental Search WORD, 前へWORDを検索",
87
- "c-r, Reverse incremental search WORD, 後へWORDを検索",
88
- "M-x query-replace WORD1 <ret> WORD2:対話的置換(y or nで可否選択)"]
89
- disp(cont)
90
- end
91
-
92
- def file
93
- puts "\nファイル操作file"
94
- cont =[ "c-x c-f, Find file, ファイルを開く",
95
- "c-x c-s, Save file, ファイルを保存",
96
- "c-x c-w, Write file NAME, ファイルを別名で書き込む"]
97
- disp(cont)
98
- end
99
-
100
- def page_move
101
- puts "\nページ移動page"
102
- cont = ["c-v, move Vertical, 次のページへ",
103
- "M-v, move reversive Vertical,前のページへ",
104
- "c-l, centerise Line, 現在行を中心に",
105
- "M-<, move Top of file, ファイルの先頭へ",
106
- "M->, move Bottom of file, ファイルの最後尾へ"]
107
- disp(cont)
108
- end
109
49
 
110
- def cursor_move
111
- puts "\nカーソル移動cursor"
112
- cont = ["c-f, move Forwrard, 前or右へ",
113
- "c-b, move Backwrard, 後or左へ",
114
- "c-a, go Ahead of line, 行頭へ",
115
- "c-e, go End of line, 行末へ",
116
- "c-n, move Next line, 次行へ",
117
- "c-p, move Previous line, 前行へ"]
118
- disp(cont)
50
+ def disp_from_help_cont(key_word)
51
+ items =@help_cont[key_word]
52
+ puts items[:title]
53
+ disp(items[:cont])
119
54
  end
120
-
121
55
  end
122
56
  end
@@ -1,3 +1,3 @@
1
1
  module MyHelp
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/my_help.rb CHANGED
@@ -1,6 +1,60 @@
1
+ # -*- coding: utf-8 -*-
2
+ require "optparse"
3
+ require "yaml"
4
+ require "emacs_help/version"
1
5
  require "my_help/version"
2
6
  require "emacs_help"
3
7
 
4
8
  module MyHelp
5
- # Your code goes here...
9
+ class Command
10
+
11
+ def self.run(file,argv=[])
12
+ new(file, argv).execute
13
+ end
14
+
15
+ def initialize(file,argv=[])
16
+ @help_cont = YAML.load(File.read(file))
17
+ # @help_cont = YAML.load(File.read('lib/daddygongon/emacs_help'))
18
+ @help_cont[:head].each{|line| print line }
19
+ @argv = argv
20
+ end
21
+
22
+ def execute
23
+ @argv << '--help' if @argv.size==0
24
+ command_parser = OptionParser.new do |opt|
25
+ opt.on('-v', '--version','show program Version.') { |v|
26
+ opt.version = EmacsHelp::VERSION
27
+ puts opt.ver
28
+ }
29
+ @help_cont.each_pair{|key,val|
30
+ next if key==:head
31
+ opts = val[:opts]
32
+ opt.on(opts[:short],opts[:long],opts[:desc]) {disp_from_help_cont(key)}
33
+ }
34
+ end
35
+ begin
36
+ command_parser.parse!(@argv)
37
+ rescue=> eval
38
+ p eval
39
+ end
40
+ exit
41
+ end
42
+
43
+ def disp(lines)
44
+ lines.each{|line|
45
+ if line.include?(',')
46
+ puts " #{line}"
47
+ else
48
+ puts " #{line}"
49
+ end
50
+ }
51
+ end
52
+
53
+ def disp_from_help_cont(key_word)
54
+ items =@help_cont[key_word]
55
+ puts items[:title]
56
+ disp(items[:cont])
57
+ end
58
+ end
59
+
6
60
  end
data/my_help.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["shigeto_nishitani@me.com"]
11
11
 
12
12
  spec.summary = %q{display emacs key bindings in Japanese.}
13
- spec.description = %q{Emulating CUI(CLI) help, user make and display his own help.}
13
+ spec.description = %q{Emulating CUI(CLI) help, an user makes and displays his own helps.}
14
14
  spec.homepage = "https://github.com/daddygongon/my_help"
15
15
  spec.license = "MIT"
16
16
 
@@ -34,4 +34,5 @@ Gem::Specification.new do |spec|
34
34
  spec.add_development_dependency "hiki2md"
35
35
  spec.add_development_dependency "mathjax-yard"
36
36
  spec.add_development_dependency "hiki2latex"
37
+
37
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my_help
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shigeto R. Nishitani
@@ -108,7 +108,7 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- description: Emulating CUI(CLI) help, user make and display his own help.
111
+ description: Emulating CUI(CLI) help, an user makes and displays his own helps.
112
112
  email:
113
113
  - shigeto_nishitani@me.com
114
114
  executables: