diff --git a/spec/app/edit-session-spec.coffee b/spec/app/edit-session-spec.coffee index cf6ab48a5..a06ac7ff2 100644 --- a/spec/app/edit-session-spec.coffee +++ b/spec/app/edit-session-spec.coffee @@ -529,6 +529,13 @@ describe "EditSession", -> editSession.selectWord() expect(editSession.getSelectedBufferRange()).toEqual [[5, 0], [5, 6]] + describe "when the cursor is at the end of the text", -> + it "select the previous word", -> + editSession.buffer.append 'word' + editSession.moveCursorToBottom() + editSession.selectWord() + expect(editSession.getSelectedBufferRange()).toEqual [[12, 2], [12, 6]] + describe ".setSelectedBufferRanges(ranges)", -> it "clears existing selections and creates selections for each of the given ranges", -> editSession.setSelectedBufferRanges([[[2, 2], [3, 3]], [[4, 4], [5, 5]]]) diff --git a/src/app/cursor.coffee b/src/app/cursor.coffee index 2a0a9b60c..ae0801239 100644 --- a/src/app/cursor.coffee +++ b/src/app/cursor.coffee @@ -167,7 +167,7 @@ class Cursor if not allowNext and matchRange.start.isGreaterThan(currentBufferPosition) endOfWordPosition = currentBufferPosition stop() - endOfWordPosition + endOfWordPosition or currentBufferPosition getCurrentWordBufferRange: -> new Range(@getBeginningOfCurrentWordBufferPosition(allowPrevious: false), @getEndOfCurrentWordBufferPosition(allowNext: false))