Add eachBuffer helper to RootView

This allows extensions to bind a callback to all current
and future buffers.
This commit is contained in:
Kevin Sawicki
2012-10-12 09:16:46 -07:00
parent 24777da703
commit 220044c8bd
3 changed files with 39 additions and 10 deletions

View File

@@ -239,3 +239,10 @@ class RootView extends View
@on 'editor-open', (e, editor) ->
callback(editor)
eachBuffer: (callback) ->
for buffer in @project.getBuffers()
callback(buffer)
@project.on 'new-buffer', (buffer) ->
callback(buffer)

View File

@@ -2,13 +2,7 @@ module.exports =
name: "strip trailing whitespace"
activate: (rootView) ->
for buffer in rootView.project.getBuffers()
@stripTrailingWhitespaceBeforeSave(buffer)
rootView.project.on 'new-buffer', (buffer) =>
@stripTrailingWhitespaceBeforeSave(buffer)
stripTrailingWhitespaceBeforeSave: (buffer) ->
buffer.on 'before-save', ->
buffer.scan /[ \t]+$/g, (match, range, { replace }) ->
replace('')
rootView.eachBuffer (buffer) ->
buffer.on 'before-save', ->
buffer.scan /[ \t]+$/g, (match, range, { replace }) ->
replace('')