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