From 13361da09edfa6f5d0523dc1e3e81fa967455509 Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Fri, 16 Feb 2018 13:06:23 +0000 Subject: [PATCH] Only use overbar sign when UI supports it. Thanks @h3xx. Closes #471. --- autoload/gitgutter/utility.vim | 12 ++++++++++++ plugin/gitgutter.vim | 9 +++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/autoload/gitgutter/utility.vim b/autoload/gitgutter/utility.vim index 3f4cb22..f288c59 100644 --- a/autoload/gitgutter/utility.vim +++ b/autoload/gitgutter/utility.vim @@ -1,3 +1,11 @@ +function! gitgutter#utility#supports_overscore_sign() + if s:windows() + return &encoding ==? 'utf-8' + else + return &termencoding ==? &encoding || &termencoding == '' + endif +endfunction + function! gitgutter#utility#setbufvar(buffer, varname, val) let dict = get(getbufvar(a:buffer, ''), 'gitgutter', {}) let dict[a:varname] = a:val @@ -201,3 +209,7 @@ function! s:vimdiff(bufnr) return 0 endif endfunction + +function! s:windows() + return has('win64') || has('win32') || has('win16') +endfunction diff --git a/plugin/gitgutter.vim b/plugin/gitgutter.vim index 0844cca..5813689 100644 --- a/plugin/gitgutter.vim +++ b/plugin/gitgutter.vim @@ -42,11 +42,12 @@ call s:set('g:gitgutter_override_sign_column_highlight', 1) call s:set('g:gitgutter_sign_added', '+') call s:set('g:gitgutter_sign_modified', '~') call s:set('g:gitgutter_sign_removed', '_') -try + +if gitgutter#utility#supports_overscore_sign() call s:set('g:gitgutter_sign_removed_first_line', '‾') -catch /E239/ - let g:gitgutter_sign_removed_first_line = '_^' -endtry +else + call s:set('g:gitgutter_sign_removed_first_line', '_^') +endif call s:set('g:gitgutter_sign_modified_removed', '~_') call s:set('g:gitgutter_diff_args', '')