From f38fa1f85673806505cb9c742fe6c9fd6c0882ea Mon Sep 17 00:00:00 2001 From: Victor Torres Date: Sat, 8 Oct 2016 21:56:52 -0300 Subject: [PATCH 1/2] =?UTF-8?q?Bolding=20file=20name=20if=20it=E2=80=99s?= =?UTF-8?q?=20unstaged.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/directory-view.coffee | 3 ++- lib/directory.coffee | 10 +++++++++- lib/file-view.coffee | 3 ++- lib/file.coffee | 10 +++++++++- styles/tree-view.less | 6 ++++++ 5 files changed, 28 insertions(+), 4 deletions(-) diff --git a/lib/directory-view.coffee b/lib/directory-view.coffee index ad1a8501..0a5eb92f 100644 --- a/lib/directory-view.coffee +++ b/lib/directory-view.coffee @@ -58,8 +58,9 @@ class DirectoryView extends HTMLElement @expand() if @directory.expansionState.isExpanded updateStatus: -> - @classList.remove('status-ignored', 'status-modified', 'status-added') + @classList.remove('status-ignored', 'status-modified', 'status-added', 'status-unstaged') @classList.add("status-#{@directory.status}") if @directory.status? + @classList.add("status-unstaged") if @directory.staged == false subscribeToDirectory: -> @subscriptions.add @directory.onDidAddEntries (addedEntries) => diff --git a/lib/directory.coffee b/lib/directory.coffee index 7bf59762..22c181ff 100644 --- a/lib/directory.coffee +++ b/lib/directory.coffee @@ -88,6 +88,7 @@ class Directory return unless repo? newStatus = null + newStaged = null if repo.isPathIgnored(@path) newStatus = 'ignored' else @@ -97,8 +98,15 @@ class Directory else if repo.isStatusNew(status) newStatus = 'added' - if newStatus isnt @status + try + newStaged = repo.isStatusStaged(status) unless not status + catch error + # While git doesn’t expose isStatusStaged method + newStaged = (status & 15) > 0 unless not status + + if newStatus isnt @status or newStaged isnt @staged @status = newStatus + @staged = newStaged @emitter.emit('did-status-change', newStatus) # Is the given path ignored? diff --git a/lib/file-view.coffee b/lib/file-view.coffee index f4ec1f1e..ae914a81 100644 --- a/lib/file-view.coffee +++ b/lib/file-view.coffee @@ -29,8 +29,9 @@ class FileView extends HTMLElement @updateStatus() updateStatus: -> - @classList.remove('status-ignored', 'status-modified', 'status-added') + @classList.remove('status-ignored', 'status-modified', 'status-added', 'status-unstaged') @classList.add("status-#{@file.status}") if @file.status? + @classList.add("status-unstaged") if @file.staged == false getPath: -> @fileName.dataset.path diff --git a/lib/file.coffee b/lib/file.coffee index 902c4380..d223cd57 100644 --- a/lib/file.coffee +++ b/lib/file.coffee @@ -52,6 +52,7 @@ class File return unless repo? newStatus = null + newStaged = null if repo.isPathIgnored(@path) newStatus = 'ignored' else @@ -61,8 +62,15 @@ class File else if repo.isStatusNew(status) newStatus = 'added' - if newStatus isnt @status + try + newStaged = repo.isStatusStaged(status) unless not status + catch error + # While git doesn’t expose isStatusStaged method + newStaged = (status & 15) > 0 unless not status + + if newStatus isnt @status or newStaged isnt @staged @status = newStatus + @staged = newStaged @emitter.emit('did-status-change', newStatus) isPathEqual: (pathToCompare) -> diff --git a/styles/tree-view.less b/styles/tree-view.less index 7bdf6e5b..697698e3 100644 --- a/styles/tree-view.less +++ b/styles/tree-view.less @@ -93,3 +93,9 @@ } } } + +.status-unstaged { + & > div, & > span { + font-weight: bold; + } +} From 85f4fb6d28ad4f2fc1cd95c565194cbf01b8c114 Mon Sep 17 00:00:00 2001 From: Victor Torres Date: Sat, 8 Oct 2016 22:10:22 -0300 Subject: [PATCH 2/2] linter... --- lib/directory-view.coffee | 2 +- lib/file-view.coffee | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/directory-view.coffee b/lib/directory-view.coffee index 0a5eb92f..d191598a 100644 --- a/lib/directory-view.coffee +++ b/lib/directory-view.coffee @@ -60,7 +60,7 @@ class DirectoryView extends HTMLElement updateStatus: -> @classList.remove('status-ignored', 'status-modified', 'status-added', 'status-unstaged') @classList.add("status-#{@directory.status}") if @directory.status? - @classList.add("status-unstaged") if @directory.staged == false + @classList.add("status-unstaged") if @directory.staged is false subscribeToDirectory: -> @subscriptions.add @directory.onDidAddEntries (addedEntries) => diff --git a/lib/file-view.coffee b/lib/file-view.coffee index ae914a81..eb94d553 100644 --- a/lib/file-view.coffee +++ b/lib/file-view.coffee @@ -31,7 +31,7 @@ class FileView extends HTMLElement updateStatus: -> @classList.remove('status-ignored', 'status-modified', 'status-added', 'status-unstaged') @classList.add("status-#{@file.status}") if @file.status? - @classList.add("status-unstaged") if @file.staged == false + @classList.add("status-unstaged") if @file.staged is false getPath: -> @fileName.dataset.path