mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 05:40:05 +08:00
70 lines
2.7 KiB
VimL
70 lines
2.7 KiB
VimL
" ============================================================================
|
|
" File: autoload/gitstatus.vim
|
|
" Description: library for indicators
|
|
" Maintainer: Xuyuan Pang <xuyuanp at gmail dot com>
|
|
" License: This program is free software. It comes without any warranty,
|
|
" to the extent permitted by applicable law. You can redistribute
|
|
" it and/or modify it under the terms of the Do What The Fuck You
|
|
" Want To Public License, Version 2, as published by Sam Hocevar.
|
|
" See http://sam.zoy.org/wtfpl/COPYING for more details.
|
|
" ============================================================================
|
|
if exists('g:loaded_nerdtree_git_status_autoload')
|
|
finish
|
|
endif
|
|
let g:loaded_nerdtree_git_status_autoload = 1
|
|
|
|
function! gitstatus#isWin() abort
|
|
return has('win16') || has('win32') || has('win64')
|
|
endfunction
|
|
|
|
if get(g:, 'NERDTreeGitStatusUseNerdFonts', 0)
|
|
let s:indicatorMap = {
|
|
\ 'Modified' :nr2char(61545),
|
|
\ 'Staged' :nr2char(61543),
|
|
\ 'Untracked' :nr2char(61736),
|
|
\ 'Renamed' :nr2char(62804),
|
|
\ 'Unmerged' :nr2char(61556),
|
|
\ 'Deleted' :nr2char(63167),
|
|
\ 'Dirty' :nr2char(61453),
|
|
\ 'Ignored' :nr2char(61738),
|
|
\ 'Clean' :nr2char(61452),
|
|
\ 'Unknown' :nr2char(61832)
|
|
\ }
|
|
elseif &encoding ==? 'utf-8'
|
|
let s:indicatorMap = {
|
|
\ 'Modified' :nr2char(10041),
|
|
\ 'Staged' :nr2char(10010),
|
|
\ 'Untracked' :nr2char(10029),
|
|
\ 'Renamed' :nr2char(10140),
|
|
\ 'Unmerged' :nr2char(9552),
|
|
\ 'Deleted' :nr2char(10006),
|
|
\ 'Dirty' :nr2char(10007),
|
|
\ 'Ignored' :nr2char(33),
|
|
\ 'Clean' :nr2char(10004),
|
|
\ 'Unknown' :nr2char(120744)
|
|
\ }
|
|
else
|
|
let s:indicatorMap = {
|
|
\ 'Modified' :'*',
|
|
\ 'Staged' :'+',
|
|
\ 'Untracked' :'!',
|
|
\ 'Renamed' :'R',
|
|
\ 'Unmerged' :'=',
|
|
\ 'Deleted' :'D',
|
|
\ 'Dirty' :'X',
|
|
\ 'Ignored' :'?',
|
|
\ 'Clean' :'C',
|
|
\ 'Unknown' :'E'
|
|
\ }
|
|
endif
|
|
|
|
function! gitstatus#getIndicator(status) abort
|
|
return get(get(g:, 'NERDTreeGitStatusIndicatorMapCustom', {}),
|
|
\ a:status,
|
|
\ s:indicatorMap[a:status])
|
|
endfunction
|
|
|
|
function! gitstatus#shouldConceal() abort
|
|
return has('conceal') && g:NERDTreeGitStatusConcealBrackets
|
|
endfunction
|