vrome 1.0.1 → 1.0.2

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.
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in vrome.gemspec
4
+ gemspec
data/README.txt CHANGED
@@ -1,10 +1,26 @@
1
- = vrome
1
+ = Vrome
2
+
3
+ == Install
4
+
5
+ 0, Install ruby
6
+
7
+ 1, Install Vrome as RubyGem
8
+ $ sudo gem install vrome
9
+
10
+ 2, Start the server
11
+ $ sudo vrome
12
+
13
+ 3, Auto start after login
14
+
15
+ // Linux
16
+ $ echo "nohup sudo vrome > /dev/null &" >> ~/.xprofile
17
+ $ nohup sudo vrome > /dev/null &
2
18
 
3
19
  == LICENSE:
4
20
 
5
21
  (The MIT License)
6
22
 
7
- Copyright (c) 2010 Jinzhu
23
+ Copyright (c) 2010 ~ Jinzhu
8
24
 
9
25
  Permission is hereby granted, free of charge, to any person obtaining
10
26
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -1,13 +1 @@
1
- # -*- ruby -*-
2
-
3
- require 'rubygems'
4
- require 'hoe'
5
- require 'lib/vrome'
6
-
7
- Hoe.spec 'vrome' do
8
- developer('Jinzhu', 'wosmvp+vrome@gmail.com')
9
-
10
- # self.rubyforge_name = 'vrome' # if different than 'vrome'
11
- end
12
-
13
- # vim: syntax=ruby
1
+ require "bundler/gem_tasks"
data/bin/vrome CHANGED
@@ -1,4 +1,63 @@
1
1
  #!/usr/bin/env ruby
2
- # Jinzhu (wosmvp@gmail.com)
3
2
 
4
- load File.join(File.dirname(__FILE__),'..','lib','server.rb')
3
+ require 'rubygems'
4
+ require 'webrick'
5
+ require 'tempfile'
6
+ require 'json'
7
+
8
+ class VromeServer < WEBrick::HTTPServlet::AbstractServlet
9
+
10
+ def do_POST(request, response)
11
+ request = JSON.parse(request.body)
12
+ status, content_type, body = self.send(request['method'].to_sym,request)
13
+
14
+ response.status = status
15
+ response['Content-Type'] = content_type
16
+ response.body = body
17
+ end
18
+
19
+ def open_editor(request)
20
+ editor = request['editor']
21
+ tmpfile = Tempfile.new('editor')
22
+ tmpfile.write request['data']
23
+ tmpfile.flush
24
+ editor = 'gvim -f' if editor == 'gvim' # Foreground: Don't fork when starting GUI
25
+ system("#{editor} #{tmpfile.path}")
26
+ text = File.read(tmpfile.path)
27
+ tmpfile.delete
28
+
29
+ return 200, "text/plain", text
30
+ end
31
+
32
+ def get_configure(request)
33
+ config_file = File.join(ENV['HOME'],'.vromerc')
34
+ vromeConfig = {:set => {},:imap => {},:map => {},:cmap => {}};
35
+
36
+ if File.exist?(config_file)
37
+ File.read(config_file).split("\n").map do |line|
38
+ array = line.split(/\s+/)
39
+ case line
40
+ when /^imap\s+/
41
+ vromeConfig[:imap][array[1]] = array[2];
42
+ when /^map\s+/
43
+ vromeConfig[:map][array[1]] = array[2];
44
+ when /^cmap\s+/
45
+ vromeConfig[:cmap][array[1]] = array[2];
46
+ when /^set\s+/
47
+ array = line.split(/\s+/,2)
48
+ array = array[1].split(/\+?=/,2)
49
+ vromeConfig[:set][array[0]] = [array[1], line =~ /^set\s+\w+\+=/ ? true : false]
50
+ end
51
+ end
52
+
53
+ return 200, "text/plain", vromeConfig.to_json
54
+ end
55
+ end
56
+ end
57
+
58
+ puts "Starting Vrome server..."
59
+ server = WEBrick::HTTPServer.new
60
+ server.listen('127.0.0.1', 20000)
61
+ server.mount "/", VromeServer
62
+ trap(:INT) { server.shutdown }
63
+ server.start
data/lib/vrome.rb CHANGED
@@ -1,3 +1,5 @@
1
- class Vrome
2
- VERSION = '1.0.1'
1
+ require "vrome/version"
2
+
3
+ module Vrome
4
+ # Your code goes here...
3
5
  end
@@ -0,0 +1,3 @@
1
+ module Vrome
2
+ VERSION = "1.0.2"
3
+ end
data/vrome.gemspec ADDED
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "vrome/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "vrome"
7
+ s.version = Vrome::VERSION
8
+ s.authors = ["Jinzhu"]
9
+ s.email = ["wosmvp@gmail.com"]
10
+ s.homepage = "https://github.com/jinzhu/vrome"
11
+ s.summary = %q{Vrome is a external server for vrome, a Vim keybindings extension for chrome}
12
+ s.description = %q{Vrome is a external server for vrome, a Vim keybindings extension for chrome}
13
+
14
+ s.rubyforge_project = "vrome"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ # s.add_development_dependency "rspec"
23
+ s.add_runtime_dependency "json"
24
+ end
metadata CHANGED
@@ -1,92 +1,66 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: vrome
3
- version: !ruby/object:Gem::Version
4
- hash: 21
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.2
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- - 1
10
- version: 1.0.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jinzhu
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-09-21 00:00:00 +08:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: hoe
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
12
+ date: 2011-12-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json
16
+ requirement: &12152060 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 35
30
- segments:
31
- - 2
32
- - 9
33
- - 4
34
- version: 2.9.4
35
- type: :development
36
- version_requirements: *id001
37
- description: ""
38
- email:
39
- - wosmvp+vrome@gmail.com
40
- executables:
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *12152060
25
+ description: Vrome is a external server for vrome, a Vim keybindings extension for
26
+ chrome
27
+ email:
28
+ - wosmvp@gmail.com
29
+ executables:
41
30
  - vrome
42
31
  extensions: []
43
-
44
- extra_rdoc_files:
45
- - History.txt
46
- - Manifest.txt
47
- - README.txt
48
- files:
49
- - History.txt
50
- - Manifest.txt
32
+ extra_rdoc_files: []
33
+ files:
34
+ - Gemfile
51
35
  - README.txt
52
36
  - Rakefile
53
37
  - bin/vrome
54
38
  - lib/vrome.rb
55
- - lib/server.rb
56
- has_rdoc: true
57
- homepage:
39
+ - lib/vrome/version.rb
40
+ - vrome.gemspec
41
+ homepage: https://github.com/jinzhu/vrome
58
42
  licenses: []
59
-
60
43
  post_install_message:
61
- rdoc_options:
62
- - --main
63
- - README.txt
64
- require_paths:
44
+ rdoc_options: []
45
+ require_paths:
65
46
  - lib
66
- required_ruby_version: !ruby/object:Gem::Requirement
47
+ required_ruby_version: !ruby/object:Gem::Requirement
67
48
  none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
75
- required_rubygems_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ! '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
54
  none: false
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- hash: 3
81
- segments:
82
- - 0
83
- version: "0"
55
+ requirements:
56
+ - - ! '>='
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
84
59
  requirements: []
85
-
86
60
  rubyforge_project: vrome
87
- rubygems_version: 1.6.2
61
+ rubygems_version: 1.8.10
88
62
  signing_key:
89
63
  specification_version: 3
90
- summary: ""
64
+ summary: Vrome is a external server for vrome, a Vim keybindings extension for chrome
91
65
  test_files: []
92
-
66
+ has_rdoc:
data/History.txt DELETED
@@ -1,6 +0,0 @@
1
- === 1.0.0 / 2010-02-15
2
-
3
- * 1 major enhancement
4
-
5
- * Birthday!
6
-
data/Manifest.txt DELETED
@@ -1,7 +0,0 @@
1
- History.txt
2
- Manifest.txt
3
- README.txt
4
- Rakefile
5
- bin/vrome
6
- lib/vrome.rb
7
- lib/server.rb
data/lib/server.rb DELETED
@@ -1,60 +0,0 @@
1
- require 'rubygems'
2
- require 'webrick'
3
- require 'tempfile'
4
- require 'json'
5
-
6
- class VromeServer < WEBrick::HTTPServlet::AbstractServlet
7
-
8
- def do_POST(request, response)
9
- request = JSON.parse(request.body)
10
- status, content_type, body = self.send(request['method'].to_sym,request)
11
-
12
- response.status = status
13
- response['Content-Type'] = content_type
14
- response.body = body
15
- end
16
-
17
- def open_editor(request)
18
- editor = request['editor']
19
- tmpfile = Tempfile.new('editor')
20
- tmpfile.write request['data']
21
- tmpfile.flush
22
- editor = 'gvim -f' if editor == 'gvim' # Foreground: Don't fork when starting GUI
23
- system("#{editor} #{tmpfile.path}")
24
- text = File.read(tmpfile.path)
25
- tmpfile.delete
26
-
27
- return 200, "text/plain", text
28
- end
29
-
30
- def get_configure(request)
31
- config_file = File.join(ENV['HOME'],'.vromerc')
32
- vromeConfig = {:set => {},:imap => {},:map => {},:cmap => {}};
33
-
34
- if File.exist?(config_file)
35
- File.read(config_file).split("\n").map do |line|
36
- array = line.split(/\s+/)
37
- case line
38
- when /^imap\s+/
39
- vromeConfig[:imap][array[1]] = array[2];
40
- when /^map\s+/
41
- vromeConfig[:map][array[1]] = array[2];
42
- when /^cmap\s+/
43
- vromeConfig[:cmap][array[1]] = array[2];
44
- when /^set\s+/
45
- array = line.split(/\s+/,2)
46
- array = array[1].split(/\+?=/,2)
47
- vromeConfig[:set][array[0]] = [array[1], line =~ /^set\s+\w+\+=/ ? true : false]
48
- end
49
- end
50
-
51
- return 200, "text/plain", vromeConfig.to_json
52
- end
53
- end
54
- end
55
-
56
- server = WEBrick::HTTPServer.new
57
- server.listen('127.0.0.1', 20000)
58
- server.mount "/", VromeServer
59
- trap(:INT) { server.shutdown }
60
- server.start