Autocomplete extension uses core:confirm and core:cancel

This commit is contained in:
Corey Johnson
2012-10-22 15:43:10 -07:00
parent 72a64b8e8b
commit d0e1ee255c
3 changed files with 11 additions and 13 deletions

View File

@@ -31,7 +31,7 @@ describe "Autocomplete", ->
expect(leftEditor.find('.autocomplete')).toExist()
expect(rightEditor.find('.autocomplete')).not.toExist()
leftEditor.trigger 'autocomplete:cancel'
leftEditor.trigger 'core:cancel'
rightEditor.trigger 'autocomplete:attach'
expect(leftEditor.find('.autocomplete')).not.toExist()
expect(rightEditor.find('.autocomplete')).toExist()
@@ -138,14 +138,14 @@ describe "Autocomplete", ->
expect(editor.getSelection().isEmpty()).toBeTruthy()
expect(editor.find('.autocomplete')).not.toExist()
describe 'autocomplete:confirm event', ->
describe 'core:confirm event', ->
describe "where there are matches", ->
describe "where there is no selection", ->
it "closes the menu and moves the cursor to the end", ->
editor.getBuffer().insert([10,0] ,"extra:sh:extra")
editor.setCursorBufferPosition([10,8])
autocomplete.attach()
miniEditor.trigger "autocomplete:confirm"
miniEditor.trigger "core:confirm"
expect(editor.lineForBufferRow(10)).toBe "extra:shift:extra"
expect(editor.getCursorBufferPosition()).toEqual [10,11]
@@ -160,14 +160,14 @@ describe "Autocomplete", ->
expect(autocomplete.matchesList.find('li').length).toBe 1
expect(autocomplete.matchesList.find('li')).toHaveText ('No matches found')
miniEditor.trigger "autocomplete:confirm"
miniEditor.trigger "core:confirm"
expect(editor.lineForBufferRow(10)).toBe "xxx"
expect(editor.getCursorBufferPosition()).toEqual [10,3]
expect(editor.getSelection().isEmpty()).toBeTruthy()
expect(editor.find('.autocomplete')).not.toExist()
describe 'autocomplete:cancel event', ->
describe 'core:cancel event', ->
it 'does not replace selection, removes autocomplete view and returns focus to editor', ->
editor.getBuffer().insert([10,0] ,"extra:so:extra")
editor.setSelectedBufferRange [[10,7], [10,8]]
@@ -175,7 +175,7 @@ describe "Autocomplete", ->
autocomplete.attach()
editor.setCursorBufferPosition [0, 0] # even if selection changes before cancel, it should work
miniEditor.trigger "autocomplete:cancel"
miniEditor.trigger "core:cancel"
expect(editor.lineForBufferRow(10)).toBe "extra:so:extra"
expect(editor.getSelection().getBufferRange()).toEqual originalSelectionBufferRange
@@ -186,12 +186,12 @@ describe "Autocomplete", ->
editor.setCursorBufferPosition([10, 0])
autocomplete.attach()
miniEditor.trigger 'autocomplete:confirm'
miniEditor.trigger 'core:confirm'
expect(editor.lineForBufferRow(10)).toBe 'quicksort'
editor.setCursorBufferPosition([11, 0])
autocomplete.attach()
miniEditor.trigger 'autocomplete:cancel'
miniEditor.trigger 'core:cancel'
expect(editor.lineForBufferRow(10)).toBe 'quicksort'
describe 'move-up event', ->

View File

@@ -39,8 +39,8 @@ class Autocomplete extends View
@editor.on 'before-remove', => @currentBuffer?.off '.autocomplete'
@editor.command 'autocomplete:attach', => @attach()
@editor.command 'autocomplete:cancel', => @cancel()
@command 'autocomplete:confirm', => @confirm()
@editor.command 'core:cancel', => @cancel()
@command 'core:confirm', => @confirm()
@matchesList.on 'mousedown', (e) =>
index = $(e.target).attr('index')

View File

@@ -2,6 +2,4 @@ window.keymap.bindKeys '.editor',
'ctrl-space': 'autocomplete:attach'
window.keymap.bindKeys '.autocomplete .editor',
'enter': 'autocomplete:confirm'
'escape': 'autocomplete:cancel'
'ctrl-space': 'autocomplete:cancel'
'ctrl-space': 'core:cancel'