ruco 0.0.18 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
data/Readme.md CHANGED
@@ -60,6 +60,8 @@ TIPS
60
60
 
61
61
  TODO
62
62
  =====
63
+ - session storage (stay at same line/column when reopening)
64
+ - past detection ? (ctrl+shift+insert / Cmd+v) -> no indentation
63
65
  - selecting -> delete / overwrite / copy / cut
64
66
  - smart staying at end of line/column when changing line
65
67
  - warnings / messages
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.18
1
+ 0.0.19
@@ -49,8 +49,8 @@ module Ruco
49
49
 
50
50
  def insert(text)
51
51
  text = tabs_to_spaces(text)
52
- if text == "\n"
53
- current_whitespace = lines[@line].match(/^\s*/)[0]
52
+ if text == "\n" and @column >= after_last_word
53
+ current_whitespace = current_line.match(/^\s*/)[0]
54
54
  next_whitespace = lines[@line+1].to_s.match(/^\s*/)[0]
55
55
  text = text + [current_whitespace, next_whitespace].max
56
56
  end
@@ -70,7 +70,7 @@ module Ruco
70
70
  def delete_line
71
71
  old_position = position
72
72
  move :to_column, 0
73
- delete line_length
73
+ delete current_line.size
74
74
  if position == [0,0]
75
75
  delete(1)
76
76
  else
@@ -96,8 +96,8 @@ module Ruco
96
96
 
97
97
  protected
98
98
 
99
- def line_length
100
- lines[@line].size
99
+ def after_last_word
100
+ current_line.index(/\s*$/)
101
101
  end
102
102
 
103
103
  def position
@@ -105,7 +105,6 @@ module Ruco
105
105
  end
106
106
 
107
107
  def move_to_eol
108
- after_last_word = current_line.index(/\s*$/)
109
108
  after_last_whitespace = current_line.size
110
109
 
111
110
  if @column == after_last_whitespace or @column < after_last_word
@@ -142,7 +141,7 @@ module Ruco
142
141
 
143
142
  def adjust_view
144
143
  @line = [[@line, 0].max, lines.size - 1].min
145
- @column = [[@column, 0].max, (lines[@line]||'').size].min
144
+ @column = [[@column, 0].max, current_line.size].min
146
145
  reposition_cursor
147
146
  scroll_column_into_view
148
147
  scroll_line_into_view
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ruco}
8
- s.version = "0.0.18"
8
+ s.version = "0.0.19"
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"]
@@ -125,13 +125,21 @@ describe Ruco::Application do
125
125
  editor_part(app.view).should == " \n a\n"
126
126
  end
127
127
 
128
- it "indents when typing and the next line has more whitespace" do
128
+ it "indents when at end of line and the next line has more whitespace" do
129
129
  write("a\n b\n")
130
130
  app.key(:right)
131
131
  app.key(:enter)
132
132
  app.key('c')
133
133
  editor_part(app.view).should == "a\n c\n b"
134
134
  end
135
+
136
+ it "does not indent when inside line and next line has more whitespace" do
137
+ write("ab\n b\n")
138
+ app.key(:right)
139
+ app.key(:enter)
140
+ app.key('c')
141
+ editor_part(app.view).should == "a\ncb\n b"
142
+ end
135
143
  end
136
144
 
137
145
  describe '.ruco.rb' do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruco
3
3
  version: !ruby/object:Gem::Version
4
- hash: 59
4
+ hash: 57
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 18
10
- version: 0.0.18
9
+ - 19
10
+ version: 0.0.19
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Grosser