From 4070e5fb25a1c001ee781c28a932c105a5ab1598 Mon Sep 17 00:00:00 2001 From: Ben Ogle Date: Tue, 9 Sep 2014 14:12:49 -0700 Subject: [PATCH] Add Project::onDidCreateBuffer --- spec/project-spec.coffee | 2 +- src/project.coffee | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/spec/project-spec.coffee b/spec/project-spec.coffee index 06e3ee29d..b1fed60ee 100644 --- a/spec/project-spec.coffee +++ b/spec/project-spec.coffee @@ -58,7 +58,7 @@ describe "Project", -> beforeEach -> absolutePath = require.resolve('./fixtures/dir/a') newBufferHandler = jasmine.createSpy('newBufferHandler') - atom.project.on 'buffer-created', newBufferHandler + atom.project.onDidCreateBuffer newBufferHandler describe "when given an absolute path that isn't currently open", -> it "returns a new edit session for the given path and emits 'buffer-created'", -> diff --git a/src/project.coffee b/src/project.coffee index 4cf76cf94..fb6cc6cfe 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -67,10 +67,21 @@ class Project extends Model onDidChangePath: (callback) -> @emitter.on 'did-change-path', callback + + # Extended: Invoke the given callback when a new buffer has been created. For + # example, when {::open} is called, this is fired. + # + # * `callback` {Function} + # * `buffer` {TextBuffer} the new buffer + onDidCreateBuffer: (callback) -> + @emitter.on 'did-create-buffer', callback + on: (eventName) -> switch eventName when 'path-changed' deprecate 'Use Project::onDidChangePath instead' + when 'buffer-created' + deprecate 'Use Project::onDidCreateBuffer instead' else deprecate 'Project::on is deprecated. Use event subscription methods instead.' EmitterMixin::on.apply(this, arguments) @@ -245,6 +256,7 @@ class Project extends Model @buffers.splice(index, 0, buffer) buffer.onDidDestroy => @removeBuffer(buffer) @emit 'buffer-created', buffer + @emitter.emit 'did-create-buffer', buffer buffer # Removes a {TextBuffer} association from the project.