diff --git a/lib/emacs-cursor.coffee b/lib/emacs-cursor.coffee index 0e44c25..564f6f4 100644 --- a/lib/emacs-cursor.coffee +++ b/lib/emacs-cursor.coffee @@ -399,7 +399,7 @@ class EmacsCursor hit.stop() result or point else - @_locateForwardFrom(point, /\W/i)?.start or eob + @_locateForwardFrom(point, /[\W\n]/i)?.start or eob _sexpBackwardFrom: (point) -> point = @_locateBackwardFrom(point, /[\w()[\]{}'"]/i)?.end or BOB @@ -426,7 +426,7 @@ class EmacsCursor hit.stop() result or point else - @_locateBackwardFrom(point, /\W/i)?.end or BOB + @_locateBackwardFrom(point, /\W\n/i)?.end or BOB _locateBackwardFrom: (point, regExp) -> result = null diff --git a/spec/atomic-emacs-spec.coffee b/spec/atomic-emacs-spec.coffee index bafab36..7d4d4cd 100644 --- a/spec/atomic-emacs-spec.coffee +++ b/spec/atomic-emacs-spec.coffee @@ -122,9 +122,9 @@ describe "AtomicEmacs", -> describe "atomic-emacs:backward-sexp", -> it "moves all cursors backward one symbolic expression", -> - @testEditor.setState("aa [0]\n(bb cc)[1]\n") + @testEditor.setState("(aa bb)\naa [0]\n(bb cc)[1]\n") atom.commands.dispatch @editorView, 'atomic-emacs:backward-sexp' - expect(@testEditor.getState()).toEqual("[0]aa \n[1](bb cc)\n") + expect(@testEditor.getState()).toEqual("(aa bb)\n[0]aa \n[1](bb cc)\n") it "merges cursors that coincide", -> @testEditor.setState("aa[0] [1]") @@ -133,9 +133,9 @@ describe "AtomicEmacs", -> describe "atomic-emacs:forward-sexp", -> it "moves all cursors forward one symbolic expression", -> - @testEditor.setState("[0] aa\n[1](bb cc)\n") + @testEditor.setState("[0]aa\n[1](bb cc)\n") atom.commands.dispatch @editorView, 'atomic-emacs:forward-sexp' - expect(@testEditor.getState()).toEqual(" aa[0]\n(bb cc)[1]\n") + expect(@testEditor.getState()).toEqual("aa[0]\n(bb cc)[1]\n") it "merges cursors that coincide", -> @testEditor.setState("[0] [1]aa")