--- /dev/null
+"NERDTree:
+let g:NERDTreeGitStatusWithFlags = 1
+let g:WebDevIconsUnicodeDecorateFolderNodes = 1
+let g:NERDTreeGitStatusNodeColorization = 1
+let g:NERDTreeColorMapCustom = {
+ \ "Staged" : "#0ee375",
+ \ "Modified" : "#d9bf91",
+ \ "Renamed" : "#51C9FC",
+ \ "Untracked" : "#FCE77C",
+ \ "Unmerged" : "#FC51E6",
+ \ "Dirty" : "#FFBD61",
+ \ "Clean" : "#87939A",
+ \ "Ignored" : "#808080"
+ \ }
+let g:NERDTreeIgnore = ['^node_modules$']
+" sync open file with NERDTree
+" " Check if NERDTree is open or active
+function! IsNERDTreeOpen()
+ return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1)
+endfunction
+" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable
+" file, and we're not in vimdiff
+function! SyncTree()
+ if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff
+ NERDTreeFind
+ wincmd p
+ endif
+endfunction
+" Highlight currently open buffer in NERDTree
+autocmd BufEnter * call SyncTree()