mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-21 07:58:04 +03:00
Add Project::observeBuffers
This commit is contained in:
parent
4070e5fb25
commit
b6fe72ef9e
@ -479,7 +479,7 @@ describe "Project", ->
|
||||
runs ->
|
||||
expect(results).toHaveLength 0
|
||||
|
||||
describe ".eachBuffer(callback)", ->
|
||||
describe ".observeBuffers(callback)", ->
|
||||
beforeEach ->
|
||||
atom.project.bufferForPathSync('a')
|
||||
|
||||
@ -490,7 +490,7 @@ describe "Project", ->
|
||||
callback = (buffer) ->
|
||||
callbackBuffer = buffer
|
||||
count++
|
||||
atom.project.eachBuffer(callback)
|
||||
atom.project.observeBuffers(callback)
|
||||
expect(count).toBe 1
|
||||
expect(callbackBuffer).toBe atom.project.getBuffers()[0]
|
||||
|
||||
@ -501,7 +501,7 @@ describe "Project", ->
|
||||
callbackBuffer = buffer
|
||||
count++
|
||||
|
||||
atom.project.eachBuffer(callback)
|
||||
atom.project.observeBuffers(callback)
|
||||
count = 0
|
||||
callbackBuffer = null
|
||||
atom.project.bufferForPathSync(require.resolve('./fixtures/sample.txt'))
|
||||
|
@ -86,7 +86,7 @@ class Git
|
||||
@refreshStatus()
|
||||
|
||||
if @project?
|
||||
@subscribe @project.eachBuffer (buffer) => @subscribeToBuffer(buffer)
|
||||
@subscribe @project.observeBuffers (buffer) => @subscribeToBuffer(buffer)
|
||||
|
||||
# Subscribes to buffer events.
|
||||
subscribeToBuffer: (buffer) ->
|
||||
|
@ -67,6 +67,15 @@ class Project extends Model
|
||||
onDidChangePath: (callback) ->
|
||||
@emitter.on 'did-change-path', callback
|
||||
|
||||
# Extended: Immediately invoke the given callback for all existing buffers.
|
||||
# Then 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
|
||||
observeBuffers: (callback) ->
|
||||
callback(buffer) for buffer in @getBuffers()
|
||||
@onDidCreateBuffer(callback)
|
||||
|
||||
# Extended: Invoke the given callback when a new buffer has been created. For
|
||||
# example, when {::open} is called, this is fired.
|
||||
@ -363,11 +372,12 @@ class Project extends Model
|
||||
subscriber = args.shift() if args.length > 1
|
||||
callback = args.shift()
|
||||
|
||||
callback(buffer) for buffer in @getBuffers()
|
||||
if subscriber
|
||||
subscriber.subscribe this, 'buffer-created', (buffer) -> callback(buffer)
|
||||
else
|
||||
@on 'buffer-created', (buffer) -> callback(buffer)
|
||||
message = 'Use Project::observeBuffers instead'
|
||||
message += '; Project::observeBuffers no longer accepts a subscriber parameter. Call `subscriber.subscribe(atom.project.observeBuffers(cb))`' if subscriber?
|
||||
|
||||
disposable = observeBuffers(callback)
|
||||
subscriber.subscribe(disposable) if subscriber?
|
||||
disposable
|
||||
|
||||
# Deprecated: delegate
|
||||
registerOpener: (opener) ->
|
||||
|
Loading…
Reference in New Issue
Block a user