plugins/line_tools/lib/line_tools.rb in redcar-0.10 vs plugins/line_tools/lib/line_tools.rb in redcar-0.11.0dev
- old
+ new
@@ -125,10 +125,18 @@
doc = tab.edit_view.document
cursor_line_offset = doc.cursor_line_offset
if doc.selection?
first_line_ix = doc.line_at_offset(doc.selection_range.begin)
last_line_ix = doc.line_at_offset(doc.selection_range.end)
+
+ if doc.selection_range.begin == doc.offset_at_inner_end_of_line(first_line_ix)
+ first_line_ix += 1
+ end
+ if doc.selection_range.end == doc.offset_at_line(last_line_ix)
+ last_line_ix -= 1
+ end
+
text = doc.get_slice(doc.offset_at_line(first_line_ix),
doc.offset_at_line_end(last_line_ix))
keep_selection = true
else
first_line_ix = doc.cursor_line
@@ -169,9 +177,17 @@
doc = tab.edit_view.document
cursor_line_offset = doc.cursor_line_offset
if doc.selection?
first_line_ix = doc.line_at_offset(doc.selection_range.begin)
last_line_ix = doc.line_at_offset(doc.selection_range.end)
+
+ if doc.selection_range.begin == doc.offset_at_inner_end_of_line(first_line_ix)
+ first_line_ix += 1
+ end
+ if doc.selection_range.end == doc.offset_at_line(last_line_ix)
+ last_line_ix -= 1
+ end
+
text = doc.get_slice(doc.offset_at_line(first_line_ix),
doc.offset_at_line_end(last_line_ix))
keep_selection = true
else
first_line_ix = doc.cursor_line