vrome 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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