airblade / vim-gitgutter

A Vim plugin which shows git diff markers in the sign column and stages/previews/undoes hunks and partial hunks.
MIT License
8.37k stars 297 forks source link

Not automatically updating after edit #730

Closed traysh closed 3 years ago

traysh commented 4 years ago

Hi, I've just installed vim-gitgutter and it works fine when youcompleteme is not loaded, but won't update signs after edits otherwise. It updates fine when changing focus to the buffer.

I know this has been a problem in 2014 and have no idea why it's happening now. Probably some bad config?

Thanks in advance.

What is the latest commit SHA in your installed vim-gitgutter? 8005f71aabef13f5872b3ef4802f36503a16c451 What vim/nvim version are you on? NVIM v0.4.3 Build type: Release LuaJIT 2.0.5 git version 2.27.0 grep (GNU grep) 3.4 updatetime=100 shell=/bin/zsh shellcmdflag=-c shellpipe=2>&1| tee shellquote= shellredir=>%s 2>&1 shellslash [n/a] shelltemp=1 shelltype [n/a] shellxescape= shellxquote=

airblade commented 4 years ago

What does :au CursorHold,CursorMoved say?

traysh commented 4 years ago
:au CursorHold,CursorHoldI                                                                                                                                                                                  
--- Autocomandos ---                                                                                                                                                                                        
CursorHold                                                                                                                                                                                                  
    *         checktime                                                                                                                                                                                     
gitgutter  CursorHold                                                                                                                                                                                       
    *         call gitgutter#process_buffer(bufnr(''), 0)                                                                                                                                                   
ALEEvents  CursorHold                                                                                                                                                                                       
    *         if exists('*ale#engine#Cleanup') | call ale#cursor#EchoCursorWarningWithDelay() | endif                                                                                                       
              if exists('*ale#lsp#Send') | call ale#hover#ShowTruncatedMessageAtCursor() | endif                                                                                                            
airline_ale  CursorHold                                                                                                                                                                                     
    *         call <sid>ale_refresh()                                                                                                                                                                       
airline_whitespace  CursorHold                                                                                                                                                                              
    *         call <sid>ws_refresh()                                                                                                                                                                        
gitgutter  CursorHoldI                                                                                                                                                                                      
    *         call gitgutter#process_buffer(bufnr(''), 0) 
airblade commented 4 years ago

Is that with youcomplete me loaded?

traysh commented 4 years ago

yes it is!

Printing YouCompleteMe debug information...                                                                                                                                                                 
-- Completion API: 1                                                                                                                                                                                        
-- Client logfile: /tmp/ycm_mifd1z54.log                                                                                                                                                                    
-- Server Python interpreter: /usr/bin/python3                                                                                                                                                              
-- Server Python version: 3.8.3                                                                                                                                                                             
-- Server has Clang support compiled in: False                                                                                                                                                              
-- Clang version: None                                                                                                                                                                                      
-- No extra configuration file found                                                                                                                                                                        
-- C-family completer debug information:                                                                                                                                                                    
--   Clangd running                                                                                                                                                                                         
--   Clangd process ID: 639431                                                                                                                                                                              
--   Clangd executable: ['/usr/bin/clangd', '-log=verbose', '-pretty', '-header-insertion-decorators=0', '--suggest-missing-includes']                                                                      
--   Clangd logfiles:                                                                                                                                                                                       
--     /tmp/clangd_stderrnlezo13f.log                                                                                                                                                                       
--   Clangd Server State: Initialized                                                                                                                                                                       
--   Clangd Project Directory: /home/traysh/devel/spotify/client-core                                                                                                                                       
--   Clangd Settings: {}                                                                                                                                                                                    
--   Clangd Compilation Command: False                                                                                                                                                                      
-- Server running at: http://127.0.0.1:53717                                                                                                                                                                
-- Server process ID: 639311                                                                                                                                                                                
-- Server logfiles:                                                                                                                                                                                         
--   /tmp/ycmd_53717_stdout_6lahzmc_.log                                                                                                                                                                    
--   /tmp/ycmd_53717_stderr_f234x0zo.log
traysh commented 4 years ago

this is my .vimrc:

"Install vim-plug if not installed
if empty(glob(stdpath('data') . '/site/autoload/plug.vim'))
  silent !curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim
        \ --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif

function! BuildYCM(info)
  " info is a dictionary with 3 fields
  " - name:   name of the plugin
  " - status: 'installed', 'updated', or 'unchanged'
  " - force:  set on PlugInstall! or PlugUpdate!
  if a:info.status == 'installed' || a:info.force
    !./install.py --clangd-completer
  endif
endfunction

" Begin plugins configuration
call plug#begin(stdpath('data') . '/plugged')

Plug 'kadekillary/Turtles' " color scheme
Plug 'scrooloose/nerdtree' " file browser
Plug 'airblade/vim-gitgutter' " for showing a git diff in the sign column
Plug 'sheerun/vim-polyglot' " syntax highlighting for multiple languages
Plug 'Valloric/YouCompleteMe', { 'do': './install.py --clangd-completer' } " completer
Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
Plug 'fatih/vim-go' " Go development plugin
Plug 'tpope/vim-abolish' " search and fast change case (Pascal, Camel, ...)
Plug 'tpope/vim-fugitive' " git plugin
Plug 'szw/vim-maximizer' " maximize and restore window
Plug 'rhysd/vim-clang-format' " clang-format formatter for C, C++ and others
Plug 'junegunn/fzf', { 'do': './install --all' } " fzf - fuzzy finder
Plug 'junegunn/fzf.vim' " fzf plugin for vim
Plug 'kana/vim-operator-user' " define your own operator
Plug 'dense-analysis/ale' " assynchronous linter for multiple languages
Plug 'ericcurtin/CurtineIncSw.vim' " fast swap header and implementation files in C/C++
Plug 'ap/vim-buftabline' " buffers to tabs
Plug 'joe-skb7/cscope-maps' " mappings for cscope
Plug 'moll/vim-bbye' " delete buffers without close window
Plug 'terryma/vim-multiple-cursors' " multiple cursors
Plug 'sirtaj/vim-openscad' " openscad syntax highlighting
Plug 'ap/vim-css-color' " colorize color definition of css, java, qml, c++ and other filetypes
Plug 'kassio/neoterm' " neovim terminal extensions
Plug 'tpope/vim-dotenv' " for loading variables from .env files
Plug 'christoomey/vim-tmux-navigator' " integrate vim and tmux navigation keys
Plug 'vim-airline/vim-airline' " useful statusbar info
Plug 'vim-airline/vim-airline-themes' " themes for vim-airline

"End plugins configuration
call plug#end()

"General
filetype plugin on
syntax on

set autowrite "Saves (all?) when :make
set tags=./.tags;,.tags;
set wildignore+=build,*.pyc,*.o,*.obj,*.svn,*.swp,*.class,*.hg,*.DS_Store,*.min.*
set mouse=a "Mouse support

"General Display
set encoding=utf-8
set number
set nowrap
set splitbelow
set splitright
set statusline=%F\ col:\ %c
set t_Co=256
set updatetime=100
"Show max line width
set textwidth=100
let &colorcolumn=join(range(101,999),",")
"Case
set ignorecase
set smartcase
"Indent
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab

"Turtles theme but black background
colorscheme turtles
highlight Normal ctermbg=16
highlight LineNr ctermfg=darkgray

"Tabline theme
let g:airline_theme='luna'
let g:airline_powerline_fonts = 1
let g:airline_skip_empty_sections = 1

"General Behavior
set noeb vb t_vb=
set backspace=indent,eol,start
set autoread
autocmd CursorHold * checktime
autocmd WinEnter * checktime
autocmd BufWinEnter * checktime

"Mappings
let g:tmux_navigator_no_mappings = 1
nnoremap <Esc>[1;5H :tabp<CR>
nnoremap <Esc>[1;5F :tabn<CR>
nnoremap <C-Down> :b#<CR>
nnoremap <C-Right> :ALENext<CR>
nnoremap <C-Left> :ALEPrevious<CR>
nnoremap <C-l> :ALENext<CR>
nnoremap <C-h> :ALEPrevious<CR>
nnoremap <C-j> :b#<CR>
nnoremap <Esc>b :bprevious<CR>
nnoremap <Esc>f :bnext<CR>
nnoremap <silent> <expr> <C-p> (expand('%') =~ 'NERD_tree' ? "\<c-w>\<c-w>" : '').":FZF\<cr>"
nnoremap <silent> <expr> <C-k> (expand('%') =~ 'NERD_tree' ? "\<c-w>\<c-w>" : '').":Tags\<cr>"
nnoremap <silent> <expr> + (expand('%') =~ 'NERD_tree' ? "\<c-w>\<c-w>" : '').":call CurtineIncSw()\<cr>"
nmap ,d :Bdelete<CR>
nnoremap <silent> <M-j> :MultipleCursorsFind <C-R>/<CR>
vnoremap <silent> <M-j> :MultipleCursorsFind <C-R>/<CR>
nnoremap <silent> <S-Left> :TmuxNavigateLeft<cr>
nnoremap <silent> <S-Down> :TmuxNavigateDown<cr>
nnoremap <silent> <S-Up> :TmuxNavigateUp<cr>
nnoremap <silent> <S-Right> :TmuxNavigateRight<cr>

"Indent
set autoindent
set smartindent
filetype indent on
filetype plugin indent on

"Checkers
set statusline+=%#warningmsg#
set statusline+=%*

"Maximizer
let g:maximizer_default_mapping_key = '<F12>'
tnoremap <silent> <F12> <C-\><C-n>:MaximizerToggle<CR> :startinsert<CR>

"Ycm (youcompleteme)
let g:ycm_always_populate_location_list = 1
nnoremap <silent> <leader>gl :YcmCompleter GoToDeclaration<CR>
nnoremap <silent> <leader>gf :YcmCompleter GoToDefinition<CR>
nnoremap <silent> <leader>gg :YcmCompleter GoToDefinitionElseDeclaration<CR>

"Terminal
if has("nvim")
  autocmd VimEnter * :Tnew | :setlocal nobuflisted | if argc() == 0 && !exists("s:std_in") | :new | endif | :Ttoggle
  nnoremap <silent> <M-t> :botright Ttoggle<CR> <C-w>b :echo getbufvar(bufnr('%'), '&buftype')<CR> :if getbufvar(bufnr('%'), '&buftype') == 'terminal' <CR> startinsert <CR> endif <CR>
  tnoremap <silent> <M-t> <C-\><C-n><C-w><C-p>:Ttoggle<CR>
  au TermOpen * tnoremap <buffer> <Esc> <c-\><c-n>
  au FileType fzf tunmap <buffer> <Esc>
endif

"Nerd Tree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
silent! map <F5> :NERDTreeToggle<CR>
silent! map <F3> :NERDTreeFind<CR>
let g:NERDTreeMapActivateNode="<F3>"
let g:NERDTreeMapPreview="<F4>"
let NERDTreeRespectWildIgnore=1
let g:NERDTreeWinSize=40

"Go
au FileType go nmap <F12> <Plug>(go-def)
let g:go_metalinter_autosave = 1
"let g:go_auto_type_info = 1 "Causes ugly runtime errors
let g:go_auto_sameids = 1
let g:ale_completion_enabled = 1
let g:go_highlight_build_constraints = 1
let g:go_highlight_extra_types = 1
let g:go_highlight_fields = 1
let g:go_highlight_functions = 1
let g:go_highlight_methods = 1
let g:go_highlight_operators = 1
let g:go_highlight_structs = 1
let g:go_highlight_types = 1

"C++
"autocmd FileType c ClangFormatAutoEnable
" from https://releases.llvm.org/10.0.0/tools/clang/tools/extra/docs/clangd/Installation.html
let g:ycm_clangd_uses_ycmd_caching = 0 " Let clangd fully control code completion
let g:ycm_clangd_binary_path = '/usr/bin/clangd' " Use installed clangd, not YCM-bundled clangd which doesn't get updates.
let g:ycm_clangd_args = ['-log=verbose', '-pretty', '-header-insertion-decorators=0', '--suggest-missing-includes']

"Go Mappings
autocmd filetype go nnoremap <F2> :GoDef<CR>
autocmd filetype go set noexpandtab

"JS
autocmd filetype javascript set tabstop=2
autocmd filetype javascript set softtabstop=2
autocmd filetype javascript set shiftwidth=2
autocmd filetype javascript set expandtab
autocmd filetype javascript setlocal colorcolumn=101

"ALE
let g:ale_linters = {
\   'c': ['clang-format'],
\   'cpp': ['clang-format'],
\   'go': ['gofmt', 'goimports', 'gosimple', 'gometalinter', 'golint'],
\   'javascript': ['standard'],
\   'typescript': ['eslint']
\}
let g:ale_fixers = {
\   'c': [],
\   'cpp': [],
\   'javascript': ['prettier_standard'],
\   'generic': ['remove_trailing_lines', 'trim_whitespace'],
\   'go': ['gofmt', 'goimports'],
\   'typescript': ['eslint']
\}
"\   'python': ['autopep8', 'isort'],
"\   'python': ['autopep8'],
let g:ale_sign_error = '⤫'
let g:ale_sign_warning = '⚠'

" Set this setting in vimrc if you want to fix files automatically on save.
let g:ale_fix_on_save = 1

"FZF
" This is the default extra key bindings
let g:fzf_action = {
  \ 'ctrl-t': 'tab split',
  \ 'ctrl-x': 'split',
  \ 'ctrl-v': 'vsplit' }

" Default fzf layout
" " - down / up / left / right
let g:fzf_layout = { 'down': '~40%' }

" Customize fzf colors to match your color scheme
" - fzf#wrap translates this to a set of `--color` options
let g:fzf_colors =
\ { 'fg':      ['fg', 'Normal'],
  \ 'bg':      ['bg', 'Normal'],
  \ 'hl':      ['fg', 'Comment'],
  \ 'fg+':     ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
  \ 'bg+':     ['bg', 'CursorLine', 'CursorColumn'],
  \ 'hl+':     ['fg', 'Statement'],
  \ 'info':    ['fg', 'PreProc'],
  \ 'border':  ['fg', 'Ignore'],
  \ 'prompt':  ['fg', 'Conditional'],
  \ 'pointer': ['fg', 'Exception'],
  \ 'marker':  ['fg', 'Keyword'],
  \ 'spinner': ['fg', 'Label'],
  \ 'header':  ['fg', 'Comment'] }

" Enable per-command history
" - History files will be stored in the specified directory
" - When set, CTRL-N and CTRL-P will be bound to 'next-history' and
"   'previous-history' instead of 'down' and 'up'.
let g:fzf_history_dir = '~/.local/share/fzf-history'

let $FZF_DEFAULT_COMMAND = 'ag -g ""'
let $FZF_CTRL_T_COMMAND = "$FZF_DEFAULT_COMMAND"

" [Buffers] Jump to the existing window if possible
let g:fzf_buffers_jump = 1
" [[B]Commits] Customize the options used by 'git log':
let g:fzf_commits_log_options = '--graph --color=always --format="%C(auto)%h%d %s %C(black)%C(bold)%cr"'
" [Tags] Command to generate tags file
let g:fzf_tags_command = "ctags -Rf .tags --extras-all='*' --kinds-all='*' --fields='*' --fields-all='*' --sort=yes --excmd=number"
" [Commands] --expect expression for directly executing the command
let g:fzf_commands_expect = 'alt-enter,ctrl-x'

"Configure cscope
if has('cscope')
  "if filereadable(".cscope.out")
    "silent! cs add .cscope.out
  "endif

  cnoreabbrev csa cs add
  cnoreabbrev csf cs find
  cnoreabbrev csk cs kill
  cnoreabbrev csr cs reset
  cnoreabbrev css cs show
  cnoreabbrev csh cs help

  "command -nargs=0 Cscope cs add cscope.out

  cnoreabbrev <expr> csa
        \ ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs add'  : 'csa')
  cnoreabbrev <expr> csf
        \ ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs find' : 'csf')
  cnoreabbrev <expr> csk
        \ ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs kill' : 'csk')
  cnoreabbrev <expr> csr
        \ ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs reset' : 'csr')
  cnoreabbrev <expr> css
        \ ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs show' : 'css')
  cnoreabbrev <expr> csh
        \ ((getcmdtype() == ':' && getcmdpos() <= 4)? 'cs help' : 'csh')
  set notimeout
endif

"QML (pureQML)
autocmd BufWritePost,FileWritePost *.qml : if filereadable("package.json") | ! npm run-script dev-build
autocmd BufWritePost,FileWritePost *.qml : if filereadable("package.json") | if v:shell_error  == 0 | silent redraw! | echo "Success!" | endif  | endif
autocmd filetype qml set tabstop=4
autocmd filetype qml set softtabstop=4
autocmd filetype qml set shiftwidth=4
autocmd filetype qml setlocal colorcolumn=101
traysh commented 4 years ago

This are the registered autocommands for youcompleteme:

--- Autocomandos ---
youcompleteme  BufEnter
    *         call s:OnBufferEnter()
              call s:UpdateMatches()
youcompleteme  BufUnload
    *         call s:OnBufferUnload()
youcompleteme  BufWritePost
    *         call s:OnFileSave()
youcompleteme  CmdWinEnter
    *         call s:OnBufferEnter()
youcompleteme  CompleteChanged
    *         call s:OnCompleteChanged()
youcompleteme  CompleteDone
    *         call s:OnCompleteDone()
youcompleteme  FileType
    *         call s:OnFileTypeSet()
youcompleteme  FileWritePost
    *         call s:OnFileSave()
youcompleteme  InsertLeave
    *         call s:OnInsertLeave()
youcompletemeStart  VimEnter
    *         call youcompleteme#Enable()
youcompleteme  VimLeave
    *         call s:OnVimLeave()
youcompleteme  WinEnter
    *         call s:UpdateMatches()
traysh commented 4 years ago

workarround:

:au InsertLeave * call gitgutter#process_buffer(bufnr(''), 0)
" the following is specific to neovim
:au TextChanged * call gitgutter#process_buffer(bufnr(''), 0)
airblade commented 4 years ago

Sorry for the delay, I've been away.

What does :verbose set updatetime produce with and without YCM loaded?

airblade commented 4 years ago

This has gone quiet – is it still a problem?

licynthiax commented 4 years ago

hi! i think i'm having a similar problem.

:verbose set updatetime, with and without ycm

updatetime=300
    Last set from ~/.config/nvim/init.vim line 178

:au CursorHold,CursorMoved output:

--- Autocommands ---
ALEEvents  CursorHold
    *         if exists('*ale#engine#Cleanup') | call ale#cursor#EchoCursorWarningWithDelay() | endif
              if exists('*ale#lsp#Send') | call ale#hover#ShowTruncatedMessageAtCursor() | endif
gitgutter  CursorHold
    *         call gitgutter#process_buffer(bufnr(''), 0)
ALEEvents  CursorMoved
    *         if exists('*ale#engine#Cleanup') | call ale#cursor#EchoCursorWarningWithDelay() | endif
gitgutter  CursorMoved
    *         execute ''
matchparen  CursorMoved
    *         call s:Highlight_Matching_Pair()
ycmcompletemecursormove  CursorMoved
    *         call s:OnCursorMovedNormalMode()

signs only seem to stop updating after ycm starts the rust language server for me, before that it works fine. i'm on nvim 0.4.4, i'm also new to vim so apologies if i'm missing anything obvious---thank you!!

airblade commented 4 years ago

I have no idea what the problem is but perhaps some logging will help. Please could you do let g:gitgutter_log=1, reproduce the problem, then post the gitgutter.log which you'll find where your vim-gitgutter is installed?

licynthiax commented 4 years ago
==== start log session ====

  0.000038 function gitgutter#process_buffer[10]..<SNR>51_setup_path[3]..gitgutter#utility#set_repo_path[12]..gitgutter#async#execute[1]:
  0.000038 [async] cd /home/cynth/git-test && git  ls-files --error-unmatch --full-name -z -- Cargo.toml

  0.010208 function <SNR>58_git_supports_command_line_config_override[1]..gitgutter#utility#system[1]:
  0.010208 git  -c foo.bar=baz --version

  0.020395 function <SNR>56_on_exit_nvim[2]..3[5]..gitgutter#process_buffer[19]..gitgutter#diff#run_diff[86]..gitgutter#async#execute[1]:
  0.020395 [async] cd /home/cynth/git-test && (git  --no-pager show :Cargo.toml > /tmp/nvimf4lOI3/1.1.1.toml && git  --no-pager -c "diff.autorefreshindex=0" -c "diff.noprefix=false" -c "core.safecrlf=false" diff --no-ext-diff --no-color -U0  -- /tmp/nvimf4lOI3/1.1.1.toml /tmp/nvimf4lOI3/2.1.1.toml | grep '^@@ ' || exit 0)

  0.036123 function <SNR>56_on_exit_nvim[2]..gitgutter#diff#handler[1]:
  0.036123 

  3.441207 function gitgutter#process_buffer[19]..gitgutter#diff#run_diff[86]..gitgutter#async#execute[1]:
  3.441207 [async] cd /home/cynth/git-test && (git  --no-pager show :Cargo.toml > /tmp/nvimf4lOI3/3.1.2.toml && git  --no-pager -c "diff.autorefreshindex=0" -c "diff.noprefix=false" -c "core.safecrlf=false" diff --no-ext-diff --no-color -U0  -- /tmp/nvimf4lOI3/3.1.2.toml /tmp/nvimf4lOI3/4.1.2.toml | grep '^@@ ' || exit 0)

  3.456697 function <SNR>56_on_exit_nvim[2]..gitgutter#diff#handler[1]:
  3.456697 @@ -7,0 +8 @@ edition = "2018"

  4.304601 function gitgutter#process_buffer[19]..gitgutter#diff#run_diff[86]..gitgutter#async#execute[1]:
  4.304601 [async] cd /home/cynth/git-test && (git  --no-pager show :Cargo.toml > /tmp/nvimf4lOI3/5.1.3.toml && git  --no-pager -c "diff.autorefreshindex=0" -c "diff.noprefix=false" -c "core.safecrlf=false" diff --no-ext-diff --no-color -U0  -- /tmp/nvimf4lOI3/5.1.3.toml /tmp/nvimf4lOI3/6.1.3.toml | grep '^@@ ' || exit 0)

  4.320147 function <SNR>56_on_exit_nvim[2]..gitgutter#diff#handler[1]:
  4.320147 @@ -7,0 +8,2 @@ edition = "2018"

  4.910245 function gitgutter#process_buffer[19]..gitgutter#diff#run_diff[86]..gitgutter#async#execute[1]:
  4.910245 [async] cd /home/cynth/git-test && (git  --no-pager show :Cargo.toml > /tmp/nvimf4lOI3/7.1.4.toml && git  --no-pager -c "diff.autorefreshindex=0" -c "diff.noprefix=false" -c "core.safecrlf=false" diff --no-ext-diff --no-color -U0  -- /tmp/nvimf4lOI3/7.1.4.toml /tmp/nvimf4lOI3/8.1.4.toml | grep '^@@ ' || exit 0)

  4.926534 function <SNR>56_on_exit_nvim[2]..gitgutter#diff#handler[1]:
  4.926534 @@ -7,0 +8,4 @@ edition = "2018"

  5.411638 function gitgutter#process_buffer[19]..gitgutter#diff#run_diff[86]..gitgutter#async#execute[1]:
  5.411638 [async] cd /home/cynth/git-test && (git  --no-pager show :Cargo.toml > /tmp/nvimf4lOI3/9.1.5.toml && git  --no-pager -c "diff.autorefreshindex=0" -c "diff.noprefix=false" -c "core.safecrlf=false" diff --no-ext-diff --no-color -U0  -- /tmp/nvimf4lOI3/9.1.5.toml /tmp/nvimf4lOI3/10.1.5.toml | grep '^@@ ' || exit 0)

  5.428993 function <SNR>56_on_exit_nvim[2]..gitgutter#diff#handler[1]:
  5.428993 @@ -7,0 +8,4 @@ edition = "2018"

  8.526414 function <SNR>24_on_bufenter[22]..gitgutter#process_buffer[10]..<SNR>51_setup_path[3]..gitgutter#utility#set_repo_path[12]..gitgutter#async#execute[1]:
  8.526414 [async] cd /home/cynth/git-test/src && git  ls-files --error-unmatch --full-name -z -- main.rs

  8.538774 function <SNR>56_on_exit_nvim[2]..3[5]..gitgutter#process_buffer[19]..gitgutter#diff#run_diff[86]..gitgutter#async#execute[1]:
  8.538774 [async] cd /home/cynth/git-test/src && (git  --no-pager show :src/main.rs > /tmp/nvimf4lOI3/12.2.6.rs && git  --no-pager -c "diff.autorefreshindex=0" -c "diff.noprefix=false" -c "core.safecrlf=false" diff --no-ext-diff --no-color -U0  -- /tmp/nvimf4lOI3/12.2.6.rs /tmp/nvimf4lOI3/13.2.6.rs | grep '^@@ ' || exit 0)

  8.546401 function <SNR>56_on_exit_nvim[2]..gitgutter#diff#handler[1]:
  8.546401 @@ -2 +2,4 @@ fn main() {

 18.075593 function <SNR>24_on_bufenter[22]..gitgutter#process_buffer[19]..gitgutter#diff#run_diff[86]..gitgutter#async#execute[1]:
 18.075593 [async] cd /home/cynth/git-test/src && (git  --no-pager show :src/main.rs > /tmp/nvimf4lOI3/14.2.7.rs && git  --no-pager -c "diff.autorefreshindex=0" -c "diff.noprefix=false" -c "core.safecrlf=false" diff --no-ext-diff --no-color -U0  -- /tmp/nvimf4lOI3/14.2.7.rs /tmp/nvimf4lOI3/15.2.7.rs | grep '^@@ ' || exit 0)

 18.117773 function <SNR>56_on_exit_nvim[2]..gitgutter#diff#handler[1]:
 18.117773 @@ -2 +2,9 @@ fn main() {

 19.022103 function <SNR>24_on_bufenter[22]..gitgutter#process_buffer[19]..gitgutter#diff#run_diff[86]..gitgutter#async#execute[1]:
 19.022103 [async] cd /home/cynth/git-test && (git  --no-pager show :Cargo.toml > /tmp/nvimf4lOI3/16.1.8.toml && git  --no-pager -c "diff.autorefreshindex=0" -c "diff.noprefix=false" -c "core.safecrlf=false" diff --no-ext-diff --no-color -U0  -- /tmp/nvimf4lOI3/16.1.8.toml /tmp/nvimf4lOI3/17.1.8.toml | grep '^@@ ' || exit 0)

 19.062684 function <SNR>56_on_exit_nvim[2]..gitgutter#diff#handler[1]:
 19.062684 @@ -7,0 +8,8 @@ edition = "2018"
airblade commented 4 years ago

It looks like the call to git-diff succeeds and returns results to nvim, as expected.

The next thing to check is whether the signs are being placed. Does :sign place group=gitgutter list anything?

licynthiax commented 4 years ago

the signs already in the file when opening it are listed, but anything added isn't.

airblade commented 4 years ago

Does getting rid of YCM's CursorMoved autocmd help?

:au! ycmcompletemecursormove  CursorMoved
licynthiax commented 4 years ago

no, it doesn't seem to.

airblade commented 3 years ago

Normally I'd install a conflicting plugin to try to see what was going on but there are so many hoops to jump through with YCM that I don't want to.

I looked at YCM's code but there's so much it's hard to figure out what the problem might be.

Does :echo g:ycm_enable_diagnostic_signs give you 1? If so, does let g:ycm_enable_diagnostic_signs=0 help?

licynthiax commented 3 years ago

no, turning off diagnostics altogether doesn't help either. should i open an issue with ycm? thank you for your time!

airblade commented 3 years ago

You're welcome! Unfortunately I have no idea what's wrong – opening an issue with YCM is probably a good idea :)

airblade commented 3 years ago

@licynthiax Did opening an issue with ycm help?

ericcurtin commented 3 years ago

Thanks for using my plugin @traysh ! I wrote a new little one recently. Feel free to try and star if you like! :smile:

https://github.com/ericcurtin/VimBlame.vim

airblade commented 3 years ago

Closing because I don't think this is a bug in gitgutter. I'm happy to reopen it if new information comes to light.