From df6809e705f3d5b41d5dbf131b001cb523e49943 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 29 Apr 2013 10:27:39 -0700 Subject: [PATCH] Bind meta-N to open a new untitled editor --- spec/app/root-view-spec.coffee | 8 ++++++++ src/app/keymaps/atom.cson | 1 + src/app/root-view.coffee | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/spec/app/root-view-spec.coffee b/spec/app/root-view-spec.coffee index 2651a45f6..060b96a0d 100644 --- a/spec/app/root-view-spec.coffee +++ b/spec/app/root-view-spec.coffee @@ -354,3 +354,11 @@ describe "RootView", -> rootView.open(require.resolve('fixtures/sample.txt')) expect(count).toBe 1 expect(callbackBuffer).toBe rootView.getActiveView().getBuffer() + + describe "when a 'new-editor' event is triggered", -> + it "opens a new untitled editor", -> + itemCount = rootView.getActivePane().getItems().length + rootView.trigger 'new-editor' + expect(rootView.getActivePaneItem().getPath()).toBeUndefined() + expect(rootView.getActivePaneItem().getBuffer().fileExists()).toBeFalsy() + expect(rootView.getActivePane().getItems().length).toBe itemCount + 1 diff --git a/src/app/keymaps/atom.cson b/src/app/keymaps/atom.cson index 820801b9a..94d2a2173 100644 --- a/src/app/keymaps/atom.cson +++ b/src/app/keymaps/atom.cson @@ -53,6 +53,7 @@ 'meta-T': 'pane:reopen-closed-item' 'meta-n': 'new-window' + 'meta-N': 'new-editor' 'meta-,': 'open-user-configuration' 'meta-o': 'open' 'meta-O': 'open-dev' diff --git a/src/app/root-view.coffee b/src/app/root-view.coffee index a8d6561d7..90407e2e2 100644 --- a/src/app/root-view.coffee +++ b/src/app/root-view.coffee @@ -34,7 +34,7 @@ class RootView extends View @div id: 'horizontal', outlet: 'horizontal', => @div id: 'vertical', outlet: 'vertical', => @subview 'panes', panes ? new PaneContainer - + @deserialize: ({ panes }) -> panes = deserialize(panes) if panes?.deserializer is 'PaneContainer' new RootView({panes}) @@ -74,6 +74,9 @@ class RootView extends View @command 'pane:reopen-closed-item', => @panes.reopenItem() + @command 'new-editor', => + @open() + serialize: -> version: RootView.version deserializer: 'RootView'