Add Git status indicator to status bar

This commit is contained in:
Corey Johnson & Kevin Sawicki
2012-11-02 14:04:25 -07:00
committed by Corey Johnson
parent 81fc8d417d
commit c9f1064d6b
3 changed files with 43 additions and 18 deletions

View File

@@ -20,8 +20,9 @@ class StatusBar extends View
@content: ->
@div class: 'status-bar', =>
@div class: 'file-info', =>
@div class: 'current-path', outlet: 'currentPath'
@div class: 'buffer-modified', outlet: 'bufferModified'
@span '\uf252', class: 'octicons git-status', outlet: 'gitStatusIcon'
@span class: 'current-path', outlet: 'currentPath'
@span class: 'buffer-modified', outlet: 'bufferModified'
@div class: 'cursor-position', =>
@span outlet: 'branchArea', =>
@span '\uf020', class: 'octicons'
@@ -34,7 +35,6 @@ class StatusBar extends View
@subscribeToBuffer()
@updatePathText()
@updateBranchText()
@updateCursorPositionText()
@editor.on 'cursor-move', => _.defer => @updateCursorPositionText()
@@ -44,11 +44,13 @@ class StatusBar extends View
@buffer?.off '.status-bar'
@buffer = @editor.getBuffer()
@buffer.on 'change.status-bar', => _.defer => @updateBufferModifiedText()
@buffer.on 'after-save.status-bar', => _.defer =>
@updateBranchText()
@updateBufferModifiedText()
@buffer.on 'after-save.status-bar', => _.defer => @updateStatusBar()
@updateStatusBar()
updateStatusBar: ->
@updateBranchText()
@updateBufferModifiedText()
@updateStatusText()
updateBufferModifiedText: ->
if @buffer.isModified()
@@ -68,6 +70,15 @@ class StatusBar extends View
else
@branchArea.hide()
updateStatusText: ->
if path = @editor.getPath()
modified = new Git(path).isModified(path)
if modified
@gitStatusIcon.show()
else
@gitStatusIcon.hide()
updatePathText: ->
if path = @editor.getPath()
@currentPath.text(@rootView.project.relativize(path))