ruco 0.0.18 → 0.0.19

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
@@ -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