Add more tab commands
This commit is contained in:
parent
30ad82671b
commit
5116bf6906
3 changed files with 67 additions and 20 deletions
|
|
@ -42,6 +42,8 @@ This is the baseline list of commands supported in `ex-mode`.
|
|||
| `e/edit/tabe/tabedit/tabnew <file>` | Edit given file |
|
||||
| `tabn/tabnext` | Go to next tab |
|
||||
| `tabp/tabprevious` | Go to previous tab |
|
||||
| `tabfir/tabfirst/tabr/tabrewind` | Go to the first tab |
|
||||
| `tabl/tablast` | Go to the last tab |
|
||||
| `tabo/tabonly` | Close other tabs |
|
||||
| `w/write` | Save active tab |
|
||||
| `w/write/saveas <file>` | Save as |
|
||||
|
|
|
|||
|
|
@ -173,6 +173,23 @@ class Ex
|
|||
|
||||
tabp: => @tabprevious()
|
||||
|
||||
tabrewind: ->
|
||||
pane = atom.workspace.getActivePane()
|
||||
pane.activateItemAtIndex(0)
|
||||
|
||||
tabr: => @tabrewind()
|
||||
|
||||
tabfirst: => @tabrewind()
|
||||
|
||||
tabfir: => @tabrewind()
|
||||
|
||||
tablast: ->
|
||||
pane = atom.workspace.getActivePane()
|
||||
index = pane.getItems().length - 1
|
||||
pane.activateItemAtIndex(index)
|
||||
|
||||
tabl: => @tablast()
|
||||
|
||||
tabonly: ->
|
||||
tabBar = atom.workspace.getPanes()[0]
|
||||
tabBarElement = atom.views.getView(tabBar).querySelector(".tab-bar")
|
||||
|
|
|
|||
|
|
@ -444,6 +444,34 @@ describe "the commands", ->
|
|||
submitNormalModeInputText('tabprevious')
|
||||
expect(pane.getActiveItemIndex()).toBe(pane.getItems().length - 1)
|
||||
|
||||
describe ":tabfirst", ->
|
||||
pane = null
|
||||
beforeEach ->
|
||||
waitsForPromise ->
|
||||
pane = atom.workspace.getActivePane()
|
||||
atom.workspace.open().then -> atom.workspace.open()
|
||||
.then -> atom.workspace.open()
|
||||
|
||||
it "switches to the first tab", ->
|
||||
pane.activateItemAtIndex(2)
|
||||
openEx()
|
||||
submitNormalModeInputText('tabfirst')
|
||||
expect(pane.getActiveItemIndex()).toBe(0)
|
||||
|
||||
describe ":tablast", ->
|
||||
pane = null
|
||||
beforeEach ->
|
||||
waitsForPromise ->
|
||||
pane = atom.workspace.getActivePane()
|
||||
atom.workspace.open().then -> atom.workspace.open()
|
||||
.then -> atom.workspace.open()
|
||||
|
||||
it "switches to the last tab", ->
|
||||
pane.activateItemAtIndex(0)
|
||||
openEx()
|
||||
submitNormalModeInputText('tablast')
|
||||
expect(pane.getActiveItemIndex()).toBe(2)
|
||||
|
||||
describe ":wq", ->
|
||||
beforeEach ->
|
||||
spyOn(Ex, 'write').andCallThrough()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue