ruco 0.0.46 → 0.0.47

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/Readme.md CHANGED
@@ -12,6 +12,7 @@ Features:
12
12
  - cut, copy and paste -> Ctrl+x/c/v
13
13
  - undo / redo
14
14
  - stays at last position when reopening a file
15
+ - opens file at line with `ruco foo/bar.rb:32` syntax
15
16
  - keeps whatever newline format you use (\r \n \r\n)
16
17
  - (optional) remove trailing whitespace on save
17
18
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.46
1
+ 0.0.47
@@ -3,13 +3,15 @@ module Ruco
3
3
  attr_reader :editor, :status, :command, :options
4
4
 
5
5
  def initialize(file, options)
6
- @file = file
6
+ @file, go_to_line = parse_file_and_line(file)
7
7
  @options = OptionAccessor.new(options)
8
8
 
9
9
  setup_actions
10
10
  setup_keys
11
11
  load_user_config
12
12
  create_components
13
+
14
+ @editor.move(:to, go_to_line.to_i-1,0) if go_to_line
13
15
  end
14
16
 
15
17
  def view
@@ -254,5 +256,17 @@ module Ruco
254
256
  command_lines = 1
255
257
  @options[:lines] - @status_lines - command_lines
256
258
  end
259
+
260
+ def parse_file_and_line(file)
261
+ if not File.exist?(file)
262
+ short_file, go_to_line = file.split(':',2)
263
+ if File.exist?(short_file)
264
+ file = short_file
265
+ else
266
+ go_to_line = nil
267
+ end
268
+ end
269
+ [file, go_to_line]
270
+ end
257
271
  end
258
272
  end
data/ruco.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ruco}
8
- s.version = "0.0.46"
8
+ s.version = "0.0.47"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Grosser"]
12
- s.date = %q{2011-02-13}
12
+ s.date = %q{2011-02-14}
13
13
  s.default_executable = %q{ruco}
14
14
  s.email = %q{michael@grosser.it}
15
15
  s.executables = ["ruco"]
@@ -63,7 +63,7 @@ Gem::Specification.new do |s|
63
63
  ]
64
64
  s.homepage = %q{http://github.com/grosser/ruco}
65
65
  s.require_paths = ["lib"]
66
- s.rubygems_version = %q{1.3.7}
66
+ s.rubygems_version = %q{1.4.2}
67
67
  s.summary = %q{Commandline editor written in ruby}
68
68
  s.test_files = [
69
69
  "spec/ruco/application_spec.rb",
@@ -85,7 +85,6 @@ Gem::Specification.new do |s|
85
85
  ]
86
86
 
87
87
  if s.respond_to? :specification_version then
88
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
89
88
  s.specification_version = 3
90
89
 
91
90
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
@@ -11,6 +11,7 @@ describe Ruco::Application do
11
11
 
12
12
  after do
13
13
  `rm #{rucorc} 2>&1`
14
+ `rm -f #{@file}`
14
15
  end
15
16
 
16
17
  def write(content)
@@ -68,6 +69,35 @@ describe Ruco::Application do
68
69
  app.view.should == "#{status}0123456\n1\n2\n3\n4\n5678910\n#{command}"
69
70
  end
70
71
 
72
+ describe 'opening with line' do
73
+ before do
74
+ write("\n1\n2\n3\n4\n5\n")
75
+ @file = @file+":2"
76
+ end
77
+
78
+ it "opens file at given line" do
79
+ app.cursor.should == [2,0]
80
+ app.view.should_not include(@file)
81
+ end
82
+
83
+ it "can save when opening with line" do
84
+ type 'a', :"Ctrl+s"
85
+ @file = @file[0..-3]
86
+ read.should == "\na1\n2\n3\n4\n5\n"
87
+ end
88
+
89
+ it "opens file with : if file with : exist" do
90
+ write("\n1\n2\n3\n4\n5\n")
91
+ app.view.should include(@file)
92
+ end
93
+
94
+ it "opens file with : if file with and without : do not exist" do
95
+ @file[-2..-1] = 'xxx:5'
96
+ app.cursor.should == [1,0]
97
+ app.view.should include(@file)
98
+ end
99
+ end
100
+
71
101
  describe 'closing' do
72
102
  it "can quit" do
73
103
  result = app.key(:"Ctrl+w")
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruco
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 65
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 0
8
- - 46
9
- version: 0.0.46
9
+ - 47
10
+ version: 0.0.47
10
11
  platform: ruby
11
12
  authors:
12
13
  - Michael Grosser
@@ -14,24 +15,25 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-02-13 00:00:00 +01:00
18
+ date: 2011-02-14 00:00:00 +01:00
18
19
  default_executable: ruco
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- name: clipboard
22
22
  requirement: &id001 !ruby/object:Gem::Requirement
23
23
  none: false
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
+ hash: 51
27
28
  segments:
28
29
  - 0
29
30
  - 9
30
31
  - 4
31
32
  version: 0.9.4
32
- type: :runtime
33
33
  prerelease: false
34
34
  version_requirements: *id001
35
+ type: :runtime
36
+ name: clipboard
35
37
  description:
36
38
  email: michael@grosser.it
37
39
  executables:
@@ -101,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
103
  requirements:
102
104
  - - ">="
103
105
  - !ruby/object:Gem::Version
104
- hash: -1048497741
106
+ hash: 3
105
107
  segments:
106
108
  - 0
107
109
  version: "0"
@@ -110,13 +112,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
112
  requirements:
111
113
  - - ">="
112
114
  - !ruby/object:Gem::Version
115
+ hash: 3
113
116
  segments:
114
117
  - 0
115
118
  version: "0"
116
119
  requirements: []
117
120
 
118
121
  rubyforge_project:
119
- rubygems_version: 1.3.7
122
+ rubygems_version: 1.4.2
120
123
  signing_key:
121
124
  specification_version: 3
122
125
  summary: Commandline editor written in ruby