question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

jumpImplementation Error: implementation provider not found for current buffer, your language server don't support it.

See original GitHub issue

What’s the output of :CocCommand pyright.version coc-pyright 1.1.127 with Pyright 1.1.127

I’ve recently installed nvim and followed the recommendation to use this package but it looks like I can only manage to go to the definition but not to the implementation and I get the following error message: jumpImplementation Error: implementation provider not found for current buffer, your language server don't support it.

This is my init.vim file

call plug#begin('~/.vim/plugged')
" Make sure you use single quotes
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'fannheyward/coc-pyright', {'do': 'yarn install --frozen-lockfile'}
Plug 'neoclide/coc-tabnine', {'do': 'yarn install --frozen-lockfile'}
Plug 'neoclide/coc-yaml', {'do': 'yarn install --frozen-lockfile'}
Plug 'neoclide/coc-json', {'do': 'yarn install --frozen-lockfile'}
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'jiangmiao/auto-pairs'
Plug 'scrooloose/nerdcommenter'
Plug 'scrooloose/nerdtree'
Plug 'terryma/vim-multiple-cursors'
Plug 'machakann/vim-highlightedyank'
"Plug 'lifepillar/vim-gruvbox8'
"Plug 'tmhedberg/SimpylFold'
Plug 'joshdick/onedark.vim'
"Plug 'morhetz/gruvbox'
"Plug 'rakr/vim-one'
Plug 'junegunn/seoul256.vim'
Plug 'sheerun/vim-polyglot'
"Plug 'pappasam/coc-jedi', { 'do': 'yarn install --frozen-lockfile && yarn build' }
Plug 'tpope/vim-fugitive'
Plug 'davidhalter/jedi-vim'

" Initialize plugin system
call plug#end()
runtime coc-init.vim

"# Python
" disable autocompletion, because we use deoplete for completion
let g:jedi#completions_enabled = 0
" open the go-to function in split, not another buffer
let g:jedi#use_splits_not_buffers = "right"

let g:python3_host_prog="~/venvs/neovim/bin/python"

"# Themes
let g:airline_powerline_fonts = 1
let g:airline_theme='deus'
"for yank
hi HighlightedyankRegion cterm=reverse gui=reverse
syntax on
"colorscheme gruvbox

" Settings START
let mapleader = "\<Space>"
filetype plugin on
set completeopt=menuone
set mouse=a
set nobackup
set nocompatible
set noswapfile
set nowritebackup
set number
set signcolumn=yes
set title
set wrap
setlocal wrap
" Settings END
"------------------------------------------------

"------------------------------------------------
" persist START
set undofile " Maintain undo history between sessions
set undodir=~/.vim/undodir

" Persist cursor
autocmd BufReadPost *
  \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
  \ |   exe "normal! g`\""
  \ | endif
" persist END
"------------------------------------------------

"------------------------------------------------
" Theme START
syntax on
"set termguicolors
colorscheme onedark
"let g:seoul256_background = 236
"colo seoul256
set termguicolors
let g:onedark_termcolors = 256
let g:onedark_terminal_italics = 1
"set background=dark
set cursorline
set hidden
set cmdheight=1
set laststatus=2

"let g:gruvbox_transp_bg = 1
"let g:gruvbox_italicize_strings = 0
"let g:one_allow_italics = 1

"let g:airline#extensions#hunks#enabled=0
"let g:airline#extensions#branch#enabled=1

"let g:airline_symbols.space = "\ua0"

set list
set listchars=tab:»·,trail:·

" let buffers be clickable


" Theme END
"------------------------------------------------

"------------------------------------------------
" Remaps START
" Align GitHub-flavored Markdown tables
au FileType markdown vmap <Leader><Bslash> :EasyAlign*<Bar><Enter>

" Toggle between buffers
nmap <Leader>bn :bn<CR>
nmap <Leader>bp :bp<CR>
nnoremap <C-p> :Rg<Cr>
nnoremap <C-e> :Files<Cr>
nmap <Leader>bl :Buffers<CR>
nmap <Leader>g :GFiles<CR>
nmap <Leader>e :Files<CR>
nmap <Leader>p :Rg<CR>
nmap <Leader>g? :GFiles?<CR>
nmap <Leader>h :History<CR>
" Remaps END
"------------------------------------------------

"------------------------------------------------
" Coc START
" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable
" delays and poor user experience.
set updatetime=300

" Don't pass messages to |ins-completion-menu|.
set shortmess+=c

" Use tab for trigger completion with characters ahead and navigate.
" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
" other plugin before putting this into your config.
inoremap <silent><expr> <TAB>
      \ pumvisible() ? "\<C-n>" :
      \ <SID>check_back_space() ? "\<TAB>" :
      \ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"

function! s:check_back_space() abort
  let col = col('.') - 1
  return !col || getline('.')[col - 1]  =~# '\s'
endfunction

" Use <c-space> to trigger completion.
if has('nvim')
  inoremap <silent><expr> <c-space> coc#refresh()
else
  inoremap <silent><expr> <c-@> coc#refresh()
endif

" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current
" position. Coc only does snippet and additional edit on confirm.
" <cr> could be remapped by other vim plugin, try `:verbose imap <CR>`.
if exists('*complete_info')
  inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
else
  inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
endif

" Use `[g` and `]g` to navigate diagnostics
" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)

" GoTo code navigation.
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)

" Use K to show documentation in preview window.
nnoremap <silent> K :call <SID>show_documentation()<CR>

function! s:show_documentation()
  if (index(['vim','help'], &filetype) >= 0)
    execute 'h '.expand('<cword>')
  else
    call CocActionAsync('doHover')
  endif
endfunction

" Highlight the symbol and its references when holding the cursor.
autocmd CursorHold * silent call CocActionAsync('highlight')

" Symbol renaming.
nmap <leader>rn <Plug>(coc-rename)

" Formatting selected code.
xmap <leader>f  <Plug>(coc-format-selected)
nmap <leader>f  <Plug>(coc-format-selected)

augroup mygroup
  autocmd!
  " Setup formatexpr specified filetype(s).
  autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
  " Update signature help on jump placeholder.
  autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
augroup end

" Remap keys for applying codeAction to the current buffer.
nmap <leader>ga  <Plug>(coc-codeaction)
" Apply AutoFix to problem on the current line.
nmap <leader>qf  <Plug>(coc-fix-current)

" Add `:Format` command to format current buffer.
command! -nargs=0 Format :call CocAction('format')

" Add `:Fold` command to fold current buffer.
command! -nargs=? Fold :call     CocAction('fold', <f-args>)

" Add `:OR` command for organize imports of the current buffer.
command! -nargs=0 OR   :call     CocAction('runCommand', 'editor.action.organizeImport')

" Mappings for CoCList
" Show all diagnostics.
nnoremap <silent><nowait> <space>a  :<C-u>CocList diagnostics<cr>
" Show commands.
nnoremap <silent><nowait> <space>c  :<C-u>CocList commands<cr>
" Find symbol of current document.
nnoremap <silent><nowait> <space>o  :<C-u>CocList outline<cr>
" Search workspace symbols.
nnoremap <silent><nowait> <space>s  :<C-u>CocList -I symbols<cr>
" Do default action for next item.
nnoremap <silent><nowait> <space>j  :<C-u>CocNext<CR>
" Do default action for previous item.
nnoremap <silent><nowait> <space>k  :<C-u>CocPrev<CR>

this is my coc-settings.json

{
    // python
    "python.pythonPath": "python",
    "python.venvPath": "~/venvs/",
    "pyright.enable": true,
//formatting
    "python.formatting.provider": "black",
    "python.formatting.blackPath": "~/venvs/black/bin/black",
    "python.formatting.blackArgs": ["--line-length", "100", "-t", "py39"],
//linting
    "python.linting.flake8Enabled": true,
    "python.linting.flake8Path": "~/venvs/flake8/bin/flake8",
    "python.linting.flake8Args": ["--max-line-length=120"],
    "python.linting.mypyEnabled": true
}

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:6 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
adamwojtcommented, Dec 13, 2022

@bastienboutonnet it’s been a while but i found nice replacement.

with :https://github.com/junegunn/fzf.vim and https://github.com/BurntSushi/ripgrep and of course https://github.com/junegunn/fzf

You can do:

command! -bang -nargs=* Rg
    \ call fzf#vim#grep('rg --column --line-number --no-heading --color=always --case-sensitive '
    \ . (len(<q-args>) > 0 ? <q-args> : '""'), 0,
    \ fzf#vim#with_preview({'options': ['--delimiter=:', '--nth=2..', '--layout=reverse', '--info=inline']}), <bang>0)

and

nmap <silent> gi yiw:Rg <C-R>" <CR>

Read: Yank inner word, start command Rg with that yanked word and press enter.

Here is how it looks: image

1reaction
bastienboutonnetcommented, Apr 15, 2021

@igorvoltaic thanks for the recommendation! I’ll definitely give it a look/try

Read more comments on GitHub >

github_iconTop Results From Across the Web

[coc.nvim] Error on notification "jumpDefinition": definition ...
[coc.nvim] Error on notification "jumpDefinition": definition provider not found for current buffer, your language server don't support it.
Read more >
This is great. Can you jump to definition using coc on nvim? I get
I get: [coc.nvim]: Error on notification "jumpImplementation": implementation provider not found for current buffer, your language server doesn' ...
Read more >
neoclide/coc.nvim - Gitter
[coc.nvim] Definition provider not found for current document ... taken a look at the verbose language server trace log and don't see any...
Read more >
Problem with coc-nvim #788 - bytemeta
[coc.nvim] Error on notification "jumpImplementation": implementation provider not found for current buffer , your language server doesn't support it.
Read more >
doc/coc.txt · izhengfan/coc.nvim - Gitee.com
Configuring Language Servers that implement Language Server Protocol (LSP). ... Q: I got the error message with xxx provider not found.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found