diff --git a/spec/atom/command-interpreter-spec.coffee b/spec/atom/command-interpreter-spec.coffee index 2311be2df..7a912c3ca 100644 --- a/spec/atom/command-interpreter-spec.coffee +++ b/spec/atom/command-interpreter-spec.coffee @@ -123,6 +123,17 @@ describe "CommandInterpreter", -> expect(selections[2].getBufferRange()).toEqual [[6,34], [6,41]] expect(selections[3].getBufferRange()).toEqual [[6,56], [6,63]] + describe "when matching /$/", -> + it "matches the end of each line in the selected region", -> + interpreter.eval(editor, '6,8 x/$/') + + cursors = editor.getCursors() + expect(cursors.length).toBe 3 + + expect(cursors[0].getBufferPosition()).toEqual [5, 30] + expect(cursors[1].getBufferPosition()).toEqual [6, 65] + expect(cursors[2].getBufferPosition()).toEqual [7, 5] + it "loops through current selections and selects text matching the regex", -> editor.setSelectionBufferRange [[3,0], [3,62]] editor.addSelectionForBufferRange [[6,0], [6,65]] diff --git a/src/atom/command-interpreter/select-all-matches.coffee b/src/atom/command-interpreter/select-all-matches.coffee index b1d246cd5..3bc28f2e6 100644 --- a/src/atom/command-interpreter/select-all-matches.coffee +++ b/src/atom/command-interpreter/select-all-matches.coffee @@ -15,4 +15,5 @@ class SelectAllMatches extends Command rangesToSelect.push(range) editor.clearSelections() - editor.addSelectionForBufferRange(range) for range in rangesToSelect + editor.setSelectionBufferRange(rangesToSelect[0]) + editor.addSelectionForBufferRange(range) for range in rangesToSelect[1..] diff --git a/src/atom/composite-selection.coffee b/src/atom/composite-selection.coffee index 938c1c0ef..19f1c8979 100644 --- a/src/atom/composite-selection.coffee +++ b/src/atom/composite-selection.coffee @@ -30,12 +30,7 @@ class CompositeSeleciton @editor.lines.append(selection) addSelectionForBufferRange: (bufferRange, options) -> - selections = @getSelections() - cursor = if selections.length == 1 and selections[0].isEmpty() - selections[0].cursor - else - @editor.compositeCursor.addCursor() - + cursor = @editor.compositeCursor.addCursor() @selectionForCursor(cursor).setBufferRange(bufferRange, options) removeSelectionForCursor: (cursor) ->