Merge pull request #171 from jazzpi/limit-to-last-line
Limit addresses to the last line
This commit is contained in:
commit
02d62547c7
2 changed files with 33 additions and 2 deletions
|
|
@ -123,8 +123,9 @@ class Command
|
||||||
address1 += @parseOffset(off1)
|
address1 += @parseOffset(off1)
|
||||||
|
|
||||||
address1 = 0 if address1 is -1
|
address1 = 0 if address1 is -1
|
||||||
|
address1 = lastLine if address1 > lastLine
|
||||||
|
|
||||||
if address1 < 0 or address1 > lastLine
|
if address1 < 0
|
||||||
throw new CommandError('Invalid range')
|
throw new CommandError('Invalid range')
|
||||||
|
|
||||||
if addr2?
|
if addr2?
|
||||||
|
|
@ -132,7 +133,10 @@ class Command
|
||||||
if off2?
|
if off2?
|
||||||
address2 += @parseOffset(off2)
|
address2 += @parseOffset(off2)
|
||||||
|
|
||||||
if address2 < 0 or address2 > lastLine
|
address2 = 0 if address2 is -1
|
||||||
|
address2 = lastLine if address2 > lastLine
|
||||||
|
|
||||||
|
if address2 < 0
|
||||||
throw new CommandError('Invalid range')
|
throw new CommandError('Invalid range')
|
||||||
|
|
||||||
if address2 < address1
|
if address2 < address1
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,33 @@ describe "the commands", ->
|
||||||
submitNormalModeInputText '-2'
|
submitNormalModeInputText '-2'
|
||||||
expect(editor.getCursorBufferPosition()).toEqual [0, 0]
|
expect(editor.getCursorBufferPosition()).toEqual [0, 0]
|
||||||
|
|
||||||
|
it "limits to the last line", ->
|
||||||
|
openEx()
|
||||||
|
submitNormalModeInputText '10'
|
||||||
|
expect(editor.getCursorBufferPosition()).toEqual [3, 0]
|
||||||
|
editor.setCursorBufferPosition([0, 0])
|
||||||
|
|
||||||
|
openEx()
|
||||||
|
submitNormalModeInputText '3,10'
|
||||||
|
expect(editor.getCursorBufferPosition()).toEqual [3, 0]
|
||||||
|
editor.setCursorBufferPosition([0, 0])
|
||||||
|
|
||||||
|
openEx()
|
||||||
|
submitNormalModeInputText '$+1000'
|
||||||
|
expect(editor.getCursorBufferPosition()).toEqual [3, 0]
|
||||||
|
editor.setCursorBufferPosition([0, 0])
|
||||||
|
|
||||||
|
it "goes to the first line with address 0", ->
|
||||||
|
editor.setCursorBufferPosition([2, 0])
|
||||||
|
openEx()
|
||||||
|
submitNormalModeInputText '0'
|
||||||
|
expect(editor.getCursorBufferPosition()).toEqual [0, 0]
|
||||||
|
|
||||||
|
editor.setCursorBufferPosition([2, 0])
|
||||||
|
openEx()
|
||||||
|
submitNormalModeInputText '0,0'
|
||||||
|
expect(editor.getCursorBufferPosition()).toEqual [0, 0]
|
||||||
|
|
||||||
it "doesn't move when the address is the current line", ->
|
it "doesn't move when the address is the current line", ->
|
||||||
openEx()
|
openEx()
|
||||||
submitNormalModeInputText '.'
|
submitNormalModeInputText '.'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue