Skip to content

Commit ac793b5

Browse files
committed
Better support with nerdtree-git-plugin flags (enhancement fixes ryanoasis#62)
1 parent c76bd73 commit ac793b5

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

nerdtree_plugin/webdevicons.vim

+10
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ if g:webdevicons_enable_nerdtree == 1
2525
echohl WarningMsg |
2626
\ echomsg "vim-webdevicons requires a newer version of NERDTree to show glyphs in NERDTree - consider updating NERDTree."
2727
endif
28+
29+
" @todo I don't even want this to execute UNLESS the user has the
30+
" 'nerdtree-git-plugin' INSTALLED (not LOADED)
31+
" As it currently functions this warning will display even if the user does
32+
" not have nerdtree-git-plugin not just if it isn't loaded yet
33+
" (not what we want)
34+
"if !exists('g:loaded_nerdtree_git_status')
35+
" echohl WarningMsg |
36+
" \ echomsg "vim-webdevicons works better when 'nerdtree-git-plugin' is loaded before vim-webdevicons (small refresh issues otherwise)."
37+
"endif
2838
endif
2939

3040
if !exists('g:webdevicons_enable_airline_tabline')

plugin/webdevicons.vim

+9-3
Original file line numberDiff line numberDiff line change
@@ -280,18 +280,24 @@ endif
280280
function! NERDTreeWebDevIconsRefreshListener(event)
281281
let path = a:event.subject
282282
let padding = g:WebDevIconsNerdTreeAfterGlyphPadding
283+
let prePadding = ''
284+
let hasGitFlags = (len(path.flagSet._flagsForScope("git")) > 0)
283285

284286
if g:WebDevIconsUnicodeGlyphDoubleWidth == 0
285287
let padding = ''
286288
endif
287289

290+
if hasGitFlags && g:WebDevIconsUnicodeGlyphDoubleWidth == 1
291+
let prePadding = ' '
292+
endif
293+
288294
if !path.isDirectory
289-
let flag = WebDevIconsGetFileTypeSymbol(path.str()) . padding
295+
let flag = prePadding . WebDevIconsGetFileTypeSymbol(path.str()) . padding
290296
elseif path.isDirectory && g:WebDevIconsUnicodeDecorateFolderNodes == 1
291297
if g:WebDevIconsUnicodeDecorateFolderNodesExactMatches == 1
292-
let flag = WebDevIconsGetFileTypeSymbol(path.str(), path.isDirectory) . padding
298+
let flag = prePadding . WebDevIconsGetFileTypeSymbol(path.str(), path.isDirectory) . padding
293299
else
294-
let flag = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol
300+
let flag = prePadding . g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol
295301
endif
296302
else
297303
let flag = ''

readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ endfunction
290290
## Todo
291291

292292
* [ ] more filetypes to support
293-
* [ ] make sure it works properly and does not conflict with [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin)
293+
* [x] make sure it works properly and does not conflict with [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin)
294294
* [ ] customize filetype icon colors
295295
* [ ] more customization options in general
296296

0 commit comments

Comments
 (0)