GithubHelp home page GithubHelp logo

coc-vimlsp's Introduction

vim language server extension

vim-language-server extension for coc.nvim

Npm download

image

Features

  • auto completion
  • function signature help
  • hover document
  • go to definition
  • go to references
  • document symbols
  • document highlight
  • folding range
  • select range
  • rename
  • snippets
  • diagnostic

Install

:CocInstall coc-vimlsp

Config

document highlight:

let g:markdown_fenced_languages = [
      \ 'vim',
      \ 'help'
      \]

coc-settings.json

  • vimlsp.trace.server

    "description": "Trace level of vim language server"

  • vimlsp.debug: default: false

    "description": "enable coc-vimlsp service debug"

  • vimlsp.diagnostic.enable: default: true

    "description": "enable diagnostic"

  • vimlsp.indexes.runtimepath: default: true

    "description": "if index vim's runtimepath files, this will effect the suggest"

  • vimlsp.indexes.count: default: 3

    "description": "count of files index at the same time, change to greater will speed up index but will cause high CPU usage for some time"

  • vimlsp.indexes.gap: default: 100

    "description": "time gap between parse file, change to smaller will speed up index but will cause high CPU usage for some time"

  • vimlsp.indexes.projectRootPatterns: default: [".git", "autoload", "plugin"]

    "description": "Names of files used as the mark of project root."

  • vimlsp.suggest.fromVimruntime: default: true

    "description": "completeitems from runtimepath's vim files, if this is true that fromVimruntime is true" > },

  • vimlsp.suggest.fromRuntimepath: default: false

    "description": "completeitems from runtimepath's vim files, if this is true that fromVimruntime is true"

Usage

Auto complete and function signature help:

autocomplete

Hover document:

hover

Go to definition and references:

goto

Document symbols:

symbols

Document highlight:

highlight

Folding range and selection range:

fold

Rename:

rename

Snippets and diagnostic:

dia

Buy Me A Coffee ☕️

btc

image

coc-vimlsp's People

Contributors

chemzqm avatar dependabot[bot] avatar esetnik avatar iamcco avatar shyun3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

coc-vimlsp's Issues

No hover information

I am having Troubles with the hover informations. Followed installation instructions, but it still doesnt want to work like in this screenshot: https://user-images.githubusercontent.com/5492542/57384333-019b9880-71e3-11e9-9ee8-7e731944777b.png
What am i doing wrong?
Here are my files
minimal init.vim:
`
call plug#begin()

" Autocomplete
Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}
Plug 'Shougo/neco-vim'
Plug 'neoclide/coc-neco'

call plug#end()

" coc Settings and Plugins
let g:coc_global_extensions=[ 'coc-snippets', 'coc-ultisnips', 'coc-neosnippet', 'coc-python', 'coc-json', 'coc-tsserver', 'coc-vimtex', 'coc-html', 'coc-phpls', 'coc-solargraph', 'coc-rls', 'coc-r-lsp', 'coc-git', 'coc-fsharp', 'coc-angular', 'coc-vimlsp', 'coc-omnisharp' ]

set completeopt=noinsert,noselect,menuone

" Show signature help while editing
autocmd CursorHoldI * silent! call CocAction('showSignatureHelp')

" Highlight symbol under cursor on CursorHold
autocmd CursorHold * silent call CocActionAsync('highlight')

function! s:show_documentation()
if &filetype == 'vim'
execute 'h '.expand('')
else
call CocAction('doHover')
endif
endfunction

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

let g:markdown_fenced_languages = [
\ 'vim',
\ 'help'
]

" use for trigger completion
inoremap coc#refresh()

" Navigate through completion with Tab / Shift-Tab
inoremap pumvisible() ? "<C-n>" : "<Tab>"
inoremap pumvisible() ? "<C-p>" : "<S-Tab>"

" Complete snippet with Enter
inoremap pumvisible() ? coc#_select_confirm() :
"<C-g>u<CR><c-r>=coc#on_enter()<CR>"

" Remap for rename current word
nmap rn (coc-rename)

" Remap keys for gotos
nmap gd (coc-definition)
nmap gy (coc-type-definition)
nmap gi (coc-implementation)
nmap gr (coc-references)

" Use K for show documentation in preview window
nnoremap T :call show_documentation()
`

minimal coc-settings.json:

`
{
"languageserver": {
"digestif": {
"command": "digestif",
"filetypes": ["tex", "plaintex", "context"]
}
},

"vimlsp.debug": {
  "type": "boolean",
  "default": false,
  "description": "enable coc-vimlsp service debug"
},
"vimlsp.diagnostic.enable": {
  "type": "boolean",
  "default": true,
  "description": "enable diagnostic"
},
"vimlsp.trace.server": {
  "type": "string",
  "default": "off",
  "enum": [
    "off",
    "messages",
    "verbose"
  ],
  "description": "Trace level of vim language server"
}

}
`

sorry for the bad formatting i dont know why its like that

Need help in config

I don't know where do this question .
How I get
"Hover document" : I don't know how config that.
"Document symbols": CocList symbols? because don't work - > Workspace symbols provider not found for current document
"Document highlight": How do you "select/auto" in the example hl and msgs?
And the last, how have info with colors? for example in Document highlight, the info about expansion hightlight 'wildignorecase', is the colorscheme(I have gruvbox and don't do that)?

Sorry for my english, I am not native speaker.

Thanks in advance.

Unhandled 'error' event: EPERM: operation not permitted

Log:

 parser: child_log: Index Workspace Error: d:\programs\vim\**\*.vim
Error => Error: EPERM: operation not permitted, scandir 'C:\Users\zoumi\Application Data'
events.js:353
      throw er; // Unhandled 'error' event
      ^

Error: EPERM: operation not permitted, scandir 'C:\Users\zoumi\Cookies'
Emitted 'error' event at:
    at c._handleError (D:\programs\vim\coc\extensions\node_modules\coc-vimlsp\out\scan.js:2:377134)
    at D:\programs\vim\coc\extensions\node_modules\coc-vimlsp\out\scan.js:2:376832
    at worked (D:\programs\vim\coc\extensions\node_modules\coc-vimlsp\out\scan.js:2:382257)
    at D:\programs\vim\coc\extensions\node_modules\coc-vimlsp\out\scan.js:2:376951
    at u (D:\programs\vim\coc\extensions\node_modules\coc-vimlsp\out\scan.js:2:378889)
    at D:\programs\vim\coc\extensions\node_modules\coc-vimlsp\out\scan.js:2:378083
    at fs.js:180:23
    at FSReqCallback.req.oncomplete (fs.js:1026:9) {
  errno: -4048,
  code: 'EPERM',
  syscall: 'scandir',
  path: 'C:\\Users\\zoumi\\Cookies'
}
parser: disconnect
parser: exit: 1, signal: null
parser: close: 1, signal: null

builtin: Index Colorschemes Error

Hi,

I got the following error for vimlsp module when running CocInfo.
Could you please elucidate why it's happen or how I can fix that?

Output channel: vimlsp

[Error  - 5:12:52 PM] builtin: Index Colorschemes Error: ["/var/home/adudko/.config/coc/extensions/node_modules/coc-snippets/colors/*.vim","/var/home/adudko/.vim/colors/*.vim","/var/home/adudko/.vim/plugged/coc.nvim/colors/*.vim","/var/home/adudko/.vim/plugged/indentLine/colors/*.vim","/var/home/adudko/.vim/plugged/vim-airline/colors/*.vim","/var/home/adudko/.vim/plugged/vim-tmux-navigator/colors/*.vim","/var/home/adudko/.vim/plugged/vimux/colors/*.vim","/var/home/adudko/.vim/plugged/tmuxline.vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-surround/colors/*.vim","/var/home/adudko/.vim/plugged/vim-easymotion/colors/*.vim","/var/home/adudko/.vim/plugged/vim-expand-region/colors/*.vim","/var/home/adudko/.vim/plugged/vim-visual-multi/colors/*.vim","/var/home/adudko/.vim/plugged/vim-snippets/colors/*.vim","/var/home/adudko/.vim/plugged/vim-commentary/colors/*.vim","/var/home/adudko/.vim/plugged/vim-repeat/colors/*.vim","/var/home/adudko/.vim/plugged/vinarise.vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-obsession/colors/*.vim","/var/home/adudko/.vim/plugged/csv.vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-eunuch/colors/*.vim","/var/home/adudko/.vim/plugged/vim-easy-align/colors/*.vim","/var/home/adudko/.vim/plugged/emmet-vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-git/colors/*.vim","/var/home/adudko/.vim/plugged/vim-fugitive/colors/*.vim","/var/home/adudko/.vim/plugged/vim-gitgutter/colors/*.vim","/var/home/adudko/.vim/plugged/gist-vim/colors/*.vim","/var/home/adudko/.vim/plugged/nerdtree-git-plugin/colors/*.vim","/var/home/adudko/.vim/plugged/rainbow_parentheses.vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-json/colors/*.vim","/var/home/adudko/.vim/plugged/moby/contrib/syntax/vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-better-whitespace/colors/*.vim","/var/home/adudko/.vim/plugged/conoline.vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-javascript/colors/*.vim","/var/home/adudko/.vim/plugged/ale/colors/*.vim","/var/home/adudko/.vim/plugged/tabular/colors/*.vim","/var/home/adudko/.vim/plugged/vim-markdown/colors/*.vim","/var/home/adudko/.vim/plugged/indentpython.vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-indent-object/colors/*.vim","/var/home/adudko/.vim/plugged/python-syntax/colors/*.vim","/var/home/adudko/.vim/plugged/vim-autoformat/colors/*.vim","/var/home/adudko/.vim/plugged/SimpylFold/colors/*.vim","/var/home/adudko/.vim/plugged/vim-ragtag/colors/*.vim","/var/home/adudko/.vim/plugged/vim-gutentags/colors/*.vim","/var/home/adudko/.vim/plugged/ctags/colors/*.vim","/var/home/adudko/.fzf/colors/*.vim","/var/home/adudko/.vim/plugged/fzf.vim/colors/*.vim","/var/home/adudko/.vim/plugged/ctrlp.vim/colors/*.vim","/var/home/adudko/.vim/plugged/incsearch.vim/colors/*.vim","/var/home/adudko/.vim/plugged/incsearch-easymotion.vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-abolish/colors/*.vim","/var/home/adudko/.vim/plugged/vim-startify/colors/*.vim","/var/home/adudko/.vim/plugged/vim-nerdtree-syntax-highlight/colors/*.vim","/var/home/adudko/.vim/plugged/vim-devicons/colors/*.vim","/var/home/adudko/.vim/plugged/FastFold/colors/*.vim","/var/home/adudko/.vim/plugged/vim-colorschemes/colors/*.vim","/var/home/adudko/.vim/plugged/startuptime.vim/colors/*.vim","/var/home/adudko/.vim/plugged/vim-dispatch/colors/*.vim","/var/home/adudko/.vim/plugged/neoterm/colors/*.vim","/usr/share/vim/vimfiles/colors/*.vim","/usr/share/vim/vim81/colors/*.vim","/usr/share/vim/vimfiles/after/colors/*.vim","/var/home/adudko/.fzf/colors/*.vim","/var/home/adudko/.vim/plugged/indentLine/after/colors/*.vim","/var/home/adudko/.vim/plugged/vim-javascript/after/colors/*.vim","/var/home/adudko/.vim/plugged/tabular/after/colors/*.vim","/var/home/adudko/.vim/plugged/vim-markdown/after/colors/*.vim","/var/home/adudko/.vim/plugged/vim-nerdtree-syntax-highlight/after/colors/*.vim","/var/home/adudko/.vim/after/colors/*.vim","\n/usr/share/vim/vim81/colors/*.vim"]
Error => Error: no parsers registered for: "
/usr"
    at parse (/var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/snapdragon/lib/parser.js:473:15)
    at Parser.parse (/var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/snapdragon/lib/parser.js:477:24)
    at Snapdragon.parse (/var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/snapdragon/index.js:122:28)
    at Snapdragon.<anonymous> (/var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/micromatch/lib/utils.js:47:45)
    at parse (/var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/micromatch/index.js:739:26)
    at memoize (/var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/micromatch/index.js:859:13)
    at Function.micromatch.parse (/var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/micromatch/index.js:745:10)
    at create (/var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/micromatch/index.js:686:44)
    at /var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/micromatch/index.js:695:16
    at memoize (/var/home/adudko/.config/coc/extensions/node_modules/coc-vimlsp/node_modules/micromatch/index.js:859:13)

Goto defintion/find reference doesn't work

Hi,

I am on nvim 0.5.0 and I try to use the plugin.
I get error on every gotodefintion and goto reference I try.
This is in the log:

## Output channel: vimlsp

events.js:298
      throw er; // Unhandled 'error' event
      ^

Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed
    at process.target.send (internal/child_process.js:686:16)
    at t._next (/Users/eyalkarni/.config/coc/extensions/node_modules/coc-vimlsp/out/scan.js:50:146211)
    at t.__tryOrUnsub (/Users/eyalkarni/.config/coc/extensions/node_modules/coc-vimlsp/out/scan.js:35:62808)
    at t.next (/Users/eyalkarni/.config/coc/extensions/node_modules/coc-vimlsp/out/scan.js:35:61915)
    at t._next (/Users/eyalkarni/.config/coc/extensions/node_modules/coc-vimlsp/out/scan.js:35:60945)
    at t.next (/Users/eyalkarni/.config/coc/extensions/node_modules/coc-vimlsp/out/scan.js:35:60616)
    at t._next (/Users/eyalkarni/.config/coc/extensions/node_modules/coc-vimlsp/out/scan.js:50:55668)
    at t.next (/Users/eyalkarni/.config/coc/extensions/node_modules/coc-vimlsp/out/scan.js:35:60616)
    at t.notifyNext (/Users/eyalkarni/.config/coc/extensions/node_modules/coc-vimlsp/out/scan.js:50:45139)
    at t._next (/Users/eyalkarni/.config/coc/extensions/node_modules/coc-vimlsp/out/scan.js:50:40619)
Emitted 'error' event on process instance at:
    at internal/child_process.js:690:35
    at processTicksAndRejections (internal/process/task_queues.js:79:11) {
  code: 'ERR_IPC_CHANNEL_CLOSED'
}

When there's a single match, <CR> starts new line

Describe the bug
When I'm writing VimL I often encounter the following:

  1. I enter a part of a keyword, e.g.: a function name substi…(tute).
  2. I get the single, only match — the substitute function (or command, unsure).
  3. So I press enter to accept the match — it's already selected (because suggest.noselect ← false).
  4. However, instead of the complete action I get: abruptly ended keyword and a cursor in new, inserted line.
  5. Fiddling with cursors to reselect before pressing doesn't help.

To Reproduce
Steps to reproduce the behavior:

  1. vim ~/.vimrc
  2. Go to insert mode, then start typing substitu… untill there's only single completion candidate (single entry in the pum).
  3. If you don't have suggest.noselect ← false, then press an arrow key to select the single match.
  4. Press Enter.

Expected behavior
The single, selected/active candidate should be simply completed on Enter.

Screenshots
If applicable, add screenshots to help explain your problem.
2020-09-27-110619_1375x242_scrot

Desktop (please complete the following information):

  • OS: Manjaro Linux

Relevant CocOpenLog contents:

2020-09-27T11:11:23.170 DEBUG (pid:536791) [events] - Event: InsertCharPre [ 'b' ]
2020-09-27T11:11:23.182 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 0,
    scrollbar: true,
    completed_item: {
      word: 'sunmap',
      menu: 'sunm[ap] [LS]',
      user_data: '{"cid":1601197882,"source":"vimlsp-1","index":17}',
      info: 'like ":unmap" but for Select mode',
      kind: '¿',
      abbr: '1 sunmap'
    },
    width: 34,
    height: 15,
    size: 21
  },
  15
]
2020-09-27T11:11:23.183 DEBUG (pid:536791) [events] - Event: TextChangedP [ 1, { lnum: 15, col: 4, changedtick: 16, pre: 'sub' } ]
2020-09-27T11:11:23.191 DEBUG (pid:536791) [completion-complete] - Source "vimlsp-1" takes 5ms
2020-09-27T11:11:23.195 DEBUG (pid:536791) [events] - Event: CompleteDone [ {} ]
2020-09-27T11:11:23.204 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197883,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:23.204 DEBUG (pid:536791) [events] - Event: BufWinLeave [ 5, -1 ]
2020-09-27T11:11:23.205 DEBUG (pid:536791) [events] - Event: BufHidden [ 5 ]
2020-09-27T11:11:23.430 DEBUG (pid:536791) [events] - Event: InsertCharPre [ 's' ]
2020-09-27T11:11:23.443 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197883,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:23.445 DEBUG (pid:536791) [events] - Event: TextChangedP [ 1, { lnum: 15, col: 5, changedtick: 25, pre: 'subs' } ]
2020-09-27T11:11:23.451 DEBUG (pid:536791) [completion-complete] - Source "vimlsp-1" takes 2ms
2020-09-27T11:11:23.455 DEBUG (pid:536791) [events] - Event: CompleteDone [ {} ]
2020-09-27T11:11:23.463 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197883,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:23.464 DEBUG (pid:536791) [events] - Event: BufWinLeave [ 5, -1 ]
2020-09-27T11:11:23.465 DEBUG (pid:536791) [events] - Event: BufHidden [ 5 ]
2020-09-27T11:11:24.260 DEBUG (pid:536791) [events] - Event: InsertCharPre [ 't' ]
2020-09-27T11:11:24.274 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197883,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:24.276 DEBUG (pid:536791) [events] - Event: TextChangedP [ 1, { lnum: 15, col: 6, changedtick: 36, pre: 'subst' } ]
2020-09-27T11:11:24.280 DEBUG (pid:536791) [completion-complete] - Source "vimlsp-1" takes 2ms
2020-09-27T11:11:24.284 DEBUG (pid:536791) [events] - Event: CompleteDone [ {} ]
2020-09-27T11:11:24.297 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197884,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:24.298 DEBUG (pid:536791) [events] - Event: BufWinLeave [ 5, -1 ]
2020-09-27T11:11:24.298 DEBUG (pid:536791) [events] - Event: BufHidden [ 5 ]
2020-09-27T11:11:24.723 DEBUG (pid:536791) [events] - Event: InsertCharPre [ 'i' ]
2020-09-27T11:11:24.733 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197884,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:24.734 DEBUG (pid:536791) [events] - Event: TextChangedP [ 1, { lnum: 15, col: 7, changedtick: 49, pre: 'substi' } ]
2020-09-27T11:11:24.741 DEBUG (pid:536791) [completion-complete] - Source "vimlsp-1" takes 5ms
2020-09-27T11:11:24.745 DEBUG (pid:536791) [events] - Event: CompleteDone [ {} ]
2020-09-27T11:11:24.752 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197884,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:24.753 DEBUG (pid:536791) [events] - Event: BufWinLeave [ 5, -1 ]
2020-09-27T11:11:24.754 DEBUG (pid:536791) [events] - Event: BufHidden [ 5 ]
2020-09-27T11:11:25.252 DEBUG (pid:536791) [events] - Event: InsertCharPre [ 't' ]
2020-09-27T11:11:25.265 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197884,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:25.266 DEBUG (pid:536791) [events] - Event: TextChangedP [ 1, { lnum: 15, col: 8, changedtick: 64, pre: 'substit' } ]
2020-09-27T11:11:25.276 DEBUG (pid:536791) [completion-complete] - Source "vimlsp-1" takes 6ms
2020-09-27T11:11:25.279 DEBUG (pid:536791) [events] - Event: CompleteDone [ {} ]
2020-09-27T11:11:25.289 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197885,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:25.290 DEBUG (pid:536791) [events] - Event: BufWinLeave [ 5, -1 ]
2020-09-27T11:11:25.290 DEBUG (pid:536791) [events] - Event: BufHidden [ 5 ]
2020-09-27T11:11:25.412 DEBUG (pid:536791) [events] - Event: InsertCharPre [ 'u' ]
2020-09-27T11:11:25.425 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197885,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:25.425 DEBUG (pid:536791) [events] - Event: TextChangedP [ 1, { lnum: 15, col: 9, changedtick: 81, pre: 'substitu' } ]
2020-09-27T11:11:25.434 DEBUG (pid:536791) [completion-complete] - Source "vimlsp-1" takes 6ms
2020-09-27T11:11:25.437 DEBUG (pid:536791) [events] - Event: CompleteDone [ {} ]
2020-09-27T11:11:25.447 DEBUG (pid:536791) [events] - Event: MenuPopupChanged [
  {
    col: 0,
    row: 16,
    scrollbar: false,
    completed_item: {
      word: 'substitute',
      menu: 's[ubstitute] [LS]',
      user_data: '{"cid":1601197885,"source":"vimlsp-1","index":0}',
      info: 'find and replace text',
      kind: '¿',
      abbr: '1 substitute'
    },
    width: 33,
    height: 1,
    size: 1
  },
  15
]
2020-09-27T11:11:25.448 DEBUG (pid:536791) [events] - Event: BufWinLeave [ 5, -1 ]
2020-09-27T11:11:25.448 DEBUG (pid:536791) [events] - Event: BufHidden [ 5 ]
2020-09-27T11:11:26.473 DEBUG (pid:536791) [events] - Event: CompleteDone [ {} ]
2020-09-27T11:11:26.491 DEBUG (pid:536791) [events] - Event: CursorMovedI [ 1, [ 16, 1 ] ]
2020-09-27T11:11:26.491 DEBUG (pid:536791) [events] - Event: TextChangedI [ 1, { lnum: 16, col: 1, changedtick: 82, pre: '' } ]
2020-09-27T11:11:26.492 DEBUG (pid:536791) [events] - Event: BufWinLeave [ 5, -1 ]
2020-09-27T11:11:26.493 DEBUG (pid:536791) [events] - Event: BufHidden [ 5 ]
2020-09-27T11:11:26.793 DEBUG (pid:536791) [events] - Event: CursorHoldI [ 1 ]
2020-09-27T11:11:28.140 DEBUG (pid:536791) [events] - Event: InsertLeave [ 1 ]
2020-09-27T11:11:30.720 DEBUG (pid:536791) [events] - Event: BufWinLeave [ 1, 1000 ]

High CPU utilization

image

I tested only install coc-vimlsp, after startup gvim on Windows 10, there are 3 node.exe process and with high CPU utilization, node v10.16.0

vimrc:

: set sw=5 ft=vim

let mapleader = ","
set enc=utf-8
set fenc=utf-8
source $VIMRUNTIME/vimrc_example.vim
scriptencoding utf-8

call plug#begin("$VIM/bundle")
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()

"Coc
let g:coc_extension_root=$VIM."/coc/extensions"

let=<< syntax support

Vim 8.1.1354 introduced a new syntax for setting a variable to a list of strings, supported in the 5.0 nvim nightly build:

						*:let=<<* *:let-heredoc*
						*E990* *E991* *E172* *E221*
:let {var-name} =<< [trim] {marker}
text...
text...
{marker}

For example

let names =<< trim END
  aaa
  bbb
  ccc
END

echo names

['aaa', 'bbb', 'ccc']

Currently coc-vimlsp reports a syntax error.

Please support vader filetype

or make the set of supported filetypes configurable.

When I switched to manually configured vimls, I did not encountered any problem so far, using it with vader tests.

CocList symbols is empty

CocList symbols is empty.
image

CocList outline works as expected.
image

coc-sh version: 0.5.1

I have tested on windows 10 and in WSL

CocInfo

## versions

 vim version: VIM - Vi IMproved 8.2 8021052
 node version: v12.18.1
 coc.nvim version: 0.0.78-449dcad0b2
 coc.nvim directory: /home/ankarloog/.vim/pack/minpac/start/coc.nvim
 term: dumb
 platform: linux

 ## Output channel: snippets

 [Info 3:32:04 PM] Using ultisnips directories: UltiSnips /home/ankarloog/.config/coc/ultisnips
 [Info 3:32:08 PM] Using ultisnips python command: pyx

 ## Output channel: vimlsp


[Trace - 3:19:27 PM] Sending request 'initialize - (0)'.
Params: {
    "processId": 254,
    "rootPath": "/home/ankarloog/.vim",
    "rootUri": "file:///home/ankarloog/.vim",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "textOnlyTransactional"
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "didChangeWatchedFiles": {
                "dynamicRegistration": true
            },
            "symbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                }
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "configuration": true,
            "workspaceFolders": true
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true,
                "versionSupport": false,
                "tagSupport": {
                    "valueSet": [
                        1,
                        2
                    ]
                }
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true
                },
                "completionItemKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    }
                }
            },
            "definition": {
                "dynamicRegistration": true
            },
            "references": {
                "dynamicRegistration": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true,
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                }
            },
            "codeAction": {
                "dynamicRegistration": true,
                "isPreferredSupport": true,
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                }
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true
            },
            "documentLink": {
                "dynamicRegistration": true,
                "tooltipSupport": true
            },
            "typeDefinition": {
                "dynamicRegistration": true
            },
            "implementation": {
                "dynamicRegistration": true
            },
            "declaration": {
                "dynamicRegistration": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true
            },
            "selectionRange": {
                "dynamicRegistration": true
            }
        },
        "window": {
            "workDoneProgress": true
        }
    },
    "initializationOptions": {
        "iskeyword": "@,48-57,_,192-255,#",
        "vimruntime": "\n/usr/share/vim/vim82",
        "runtimepath": "/home/ankarloog/.vim,/home/ankarloog/.vim/pack/minpac/start/vim-unimpaired,/home/ankarloog/.vim/pack/minpac/start/vim-table-mode,/home/ankarloog/.vim/pack/minpac/start/vim-surround,/home/ankarloog/.vim/pack/minpac/start/vim-solarized8,/home/ankarloog/.vim/pack/minpac/start/vim-snippets,/home/ankarloog/.vim/pack/minpac/start/vim-polyglot,/home/ankarloog/.vim/pack/minpac/start/vim-lightline-coc,/home/ankarloog/.vim/pack/minpac/start/vim-hug-neovim-rpc,/home/ankarloog/.vim/pack/minpac/start/vim-fontsize,/home/ankarloog/.vim/pack/minpac/start/nvim-yarp,/home/ankarloog/.vim/pack/minpac/start/lightline.vim,/home/ankarloog/.vim/pack/minpac/start/denite.nvim,/home/ankarloog/.vim/pack/minpac/start/coc.nvim,/home/ankarloog/.vim/pack/minpac/opt/minpac,/var/lib/vim/addons,/etc/vim,/usr/share/vim/vimfiles,/usr/share/vim/vim82,/home/ankarloog/.vim/pack/minpac/start/vim-polyglot/after,/usr/share/vim/vimfiles/after,/etc/vim/after,/var/lib/vim/addons/after,/home/ankarloog/.vim/after,/home/ankarloog/.config/coc/extensions/node_modules/coc-snippets",
        "diagnostic": {
            "enable": true
        },
        "indexes": {
            "runtimepath": true,
            "count": 1,
            "gap": 100,
            "projectRootPatterns": [
                ".git",
                "autoload",
                "plugin"
            ]
        },
        "suggest": {
            "fromVimruntime": true,
            "fromRuntimepath": false
        }
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///home/ankarloog/.vim",
            "name": ".vim"
        }
    ],
    "clientInfo": {
        "name": "coc.nvim",
        "version": "0.0.78"
    }
}


[Trace - 3:19:27 PM] Received response 'initialize - (0)' in 182ms.
Result: {
    "capabilities": {
        "textDocumentSync": 2,
        "documentHighlightProvider": true,
        "foldingRangeProvider": true,
        "selectionRangeProvider": true,
        "documentSymbolProvider": true,
        "hoverProvider": true,
        "completionProvider": {
            "triggerCharacters": [
                ".",
                ":",
                "#",
                "[",
                "&",
                "$",
                "<",
                "\"",
                "'"
            ],
            "resolveProvider": true
        },
        "signatureHelpProvider": {
            "triggerCharacters": [
                "(",
                ","
            ]
        },
        "definitionProvider": true,
        "referencesProvider": true,
        "renameProvider": {
            "prepareProvider": true
        }
    }
}


[Trace - 3:19:27 PM] Sending notification 'initialized'.
Params: {}


[Trace - 3:19:27 PM] Sending notification 'textDocument/didOpen'.
Params: {
    "textDocument": {
        "uri": "file:///home/ankarloog/.vim/vimrc",
        "languageId": "vim",
        "version": 1,
        "text": "\"=== define some variables\nif has('win64')                     \"| Windows\n  \" path to user vim dir\n  let g:vimfiles = $HOME . '\\vimfiles\\'\n  \" location of minpac\n  let g:minpacdir = g:vimfiles . 'pack\\minpac\\opt\\minpac'\nelse                                \"| Unix\n  \" path to user vim dir\n  let g:vimfiles = $HOME . '/.vim/'\n  \" location of minpac\n  let g:minpacdir = g:vimfiles . 'pack/minpac/opt/minpac'\nendif\n\n\"=== Auto install package manager\nif empty(glob(g:minpacdir))         \"| if dir is empty\n  execute 'silent !git clone https://github.com/k-takata/minpac.git ' . g:minpacdir\n  let g:minpacFirstRun = 1\nendif\n\n\"=== Load package manager\npackadd minpac\n\ncall minpac#init()\n\n\" minpac must have {'type': 'opt'} so that it can be loaded with `packadd`.\ncall minpac#add('k-takata/minpac', {'type': 'opt'})       \"| Package manager\n\" Add other plugins here.\ncall minpac#add('lifepillar/vim-solarized8')              \"| Colorscheme \ncall minpac#add('itchyny/lightline.vim')                  \"| Status line\ncall minpac#add('drmikehenry/vim-fontsize')               \"| Zoom\ncall minpac#add('roxma/nvim-yarp')                        \"| Prereq for denite\ncall minpac#add('roxma/vim-hug-neovim-rpc')               \"| Prereq for denite\ncall minpac#add('Shougo/denite.nvim')                     \"| a lot of lists\ncall minpac#add('tpope/vim-surround')                     \"| make surround easier\ncall minpac#add('tpope/vim-unimpaired')                   \"| lot of nice mappings\ncall minpac#add('tpope/vim-fugitive', {'type': 'opt'})    \"| Git wrapper\n\"call minpac#add('tpope/vim-sensible')\n\"call minpac#add('nelstrom/vim-visual-star-search')\ncall minpac#add('dhruvasagar/vim-table-mode')             \"| make tables easy\n\"call minpac#add('vim-airline/vim-airline')\n\"call minpac#add('vim-airline/vim-airline-themes')\n\"call minpac#add('retorillo/airline-tablemode.vim')\ncall minpac#add('neoclide/coc.nvim', {'branch': 'release'}) \"| lsp and autocomplete + a lot more \ncall minpac#add('josa42/vim-lightline-coc')                 \"| coc integration to lightline\ncall minpac#add('honza/vim-snippets')                       \"| basic snippets\ncall minpac#add('sheerun/vim-polyglot')                     \"| language packs\n\n\" Define user commands for updating/cleaning the plugins.\n\" Each of them loads minpac, reloads .vimrc to register the\n\" information of plugins, then performs the task.\ncommand! PackUpdate packadd minpac | source $MYVIMRC | call minpac#update('', {'do': 'call minpac#status()'})\ncommand! PackClean  packadd minpac | source $MYVIMRC | call minpac#clean()\ncommand! PackStatus packadd minpac | source $MYVIMRC | call minpac#status()\n\n\" if firstrun fire off PackUpdate\nif exists('g:minpacFirstRun')\n  echom('First run detected, running PackUpdate')\n  call minpac#update()\n  !echo 'Plugin installation done, exiting...'\n  unlet g:minpacFirstRun\n  echom('######### RESTART VIM....############')\n  finish\nendif\n\n\"=== viminfo\n\" set location of viminfo\nlet viminfofile = g:vimfiles . 'viminfo'\n\n\" Store all swapfiles in user vim directory/swapfiles\nif !isdirectory(g:vimfiles . 'swapfiles')\n  execute 'silent !mkdir ' . g:vimfiles . 'swapfiles'\nendif\nlet &directory = g:vimfiles . 'swapfiles//'\n\n\"set backupdir\nif !isdirectory(g:vimfiles . 'backup')\n  execute 'silent !mkdir ' . g:vimfiles . 'backup'\nendif\nlet &backupdir = g:vimfiles . 'backup//'\nset backup\n\n\"=== undodir\nif !isdirectory(g:vimfiles . 'undo')\n  execute 'silent !mkdir ' . g:vimfiles . 'undo'\nendif\nlet &undodir = g:vimfiles . 'undo//'\nset undofile\n\n\"=== Fugitive settings\n\" load on demand\nfunction LoadFugitive()\n  :packadd vim-fugitive\n  :edit\nendfunction\n\nnmap <F1> :call LoadFugitive()<CR>\n\n\"=== force load all plugins, to avoid problems with functions not available\n\"until after vimrc has been processed.\npackloadall\n\n\"=== Lightline settings\n\nset noshowmode\nset laststatus=2\nlet g:lightline = {}\nlet g:lightline.active = {}\n\"    \\ 'active': {\n\"    \\     'left': [ [ 'mode','paste' ],[ 'cocstatus','currentfunction','readonly', 'filename', 'modified' ] ],\n\"    \\     'right': [ [ 'lineinfo' ],[ 'percent' ],[ 'fileformat', 'fileencoding', 'filetype' ] ],\n\"    \\ },\n\"    \\ 'component_function': {\n\"    \\     'cocstatus': 'coc#status',\n\"    \\     'currentfunction': 'CocCurrentFunction'\n\"    \\ },\n\"    \\ }\nlet g:lightline.active.left = [[ 'mode','paste' ],[ 'coc_errors','coc_warnings','coc_ok' ],[ 'coc-status','readonly', 'filename', 'modified' ]]\n\n\"register components\ncall lightline#coc#register()\n\n\"=== Colorscheme\nif has(\"gui_running\")\n  set background=light\n  let g:lightline.colorscheme = 'solarized'\n  colorscheme solarized8_flat\nelseif has('win64')\n  set background=dark\n  let g:lightline.colorscheme = 'default'\n  colorscheme ron\nelse\n  set background=dark\n  let g:lightline.colorscheme = 'solarized'\n  colorscheme solarized8_flat\nendif\n\n\n\"=== Font settings\nset guifont=DejaVu_Sans_Mono_Unifont:h11:cDEFAULT:qDEFAULT\n\n\"=== Must have settings\nset nocompatible\nfiletype on\nfiletype plugin on\nfiletype indent on\nsyntax enable\nset hidden\nset number\nset hlsearch\nset cursorcolumn\nset cursorline\nset backspace=indent,eol,start\nset sidescroll=1\nset signcolumn=yes\nset autoindent\nset smartindent\nset showmatch\nset ignorecase\nset smartcase\nset history=1000\nset langmenu=none\nlanguage messages en_US.utf8\nset wildmode=longest,list,full\nset path+=**\n\" keep buffer of lines above and below cursor\nset scrolloff=5\n\" display incomplete commands\nset showcmd\n\n\" No tabs only 2 spaces\nset tabstop=2\nset shiftwidth=2\nset softtabstop=2\nset expandtab\n\n\"=== Nice to have\n\" Toggle 'set list'\nnmap <leader>l :set list!<CR>\n\n\" Set local working dir to directory of current file.\nnmap <leader>cd :lcd $:p:h\n\n\" Turn of hlsearch with space in normal mode\nnnoremap <silent> <Space> :nohlsearch<Bar>:echo<CR>\n\n\" Calculate row. ex. 8*8 C-A yields 8*8=64\nino <C-A> <C-O>yiW<End>=<C-R>=<C-R>0<CR>\n\n\n\"=== Denite settings\nset encoding=utf-8\nlet g:python3_host_prog='C:\\Python38\\python.exe'\n\n\"function! g:SetDeniteSettings ()\n\"  call denite#custom#option('_', {\n\"        \\ 'prompt': '>',\n\"        \\ 'split': 'floating',\n\"        \\ 'highlight_matched_char': 'Underlined',\n\"        \\ 'highlight_matched_range': 'NormalFloat',\n\"        \\ 'wincol': &columns / 6,\n\"        \\ 'winwidth': &columns * 2 / 3,\n\"        \\ 'winrow': &lines / 6,\n\"        \\ 'winheight': &lines * 2 / 3,\n\"        \\ 'max_dynamic_update_candidates': 100000\n\"        \\ })\n\"\n\"  call denite#custom#var('file/rec', 'command',\n\"        \\ ['rg', '--files', '--glob', '!.git', '--color', 'never'])\n\"\n\"  \" Ripgrep command on grep source\n\"  call denite#custom#var('grep', {\n\"        \\ 'command': ['rg'],\n\"        \\ 'default_opts': ['-i', '--vimgrep', '--no-heading'],\n\"        \\ 'recursive_opts': [],\n\"        \\ 'pattern_opt': ['--regexp'],\n\"        \\ 'separator': ['--'],\n\"        \\ 'final_opts': [],\n\"        \\ })\n\"\n\"endfunction\n\"\n\"function! s:denite_settings() abort\n\"  nnoremap <silent><buffer><expr> <CR>\n\"        \\ denite#do_map('do_action')\n\"  nnoremap <silent><buffer><expr> <C-v>\n\"        \\ denite#do_map('do_action', 'vsplit')\n\"  nnoremap <silent><buffer><expr> d\n\"        \\ denite#do_map('do_action', 'delete')\n\"  nnoremap <silent><buffer><expr> p\n\"        \\ denite#do_map('do_action', 'preview')\n\"  nnoremap <silent><buffer><expr> <Esc>\n\"        \\ denite#do_map('quit')\n\"  nnoremap <silent><buffer><expr> q\n\"        \\ denite#do_map('quit')\n\"  nnoremap <silent><buffer><expr> i\n\"        \\ denite#do_map('open_filter_buffer')\n\"  nnoremap <silent><buffer><expr> <Space>\n\"        \\ denite#do_map('toggle_select').'j'\n\"endfunction\n\"\n\"\n\"function! s:denite_filter_settings() abort\n\"  imap <silent><buffer> <C-o> <Plug>(denite_filter_quit)\n\"endfunction\n\"\n\"\" Browse open buffers\n\"\"nnoremap ; :Denite buffer<CR> \"bad mapping\n\"\" Browse files in current directory\n\"nnoremap <leader>t :DeniteProjectDir file/rec<CR>\n\"\"   <leader>g - Search current directory for occurences of given term and close window if no results\n\"nnoremap <leader>g :<C-u>Denite grep:. -no-empty<CR>\n\"\"   <leader>j - Search current directory for occurences of word under cursor\n\"nnoremap <leader>j :<C-u>DeniteCursorWord grep:.<CR>\n\"nnoremap <C-p> :<C-u>Denite file/rec -start-filter<CR>\n\"nnoremap <leader>s :<C-u>Denite buffer<CR>\n\"nnoremap <leader>8 :<C-u>DeniteCursorWord grep:.<CR>\n\"nnoremap <leader>/ :<C-u>Denite -start-filter grep:::!<CR>\n\"nnoremap <leader><Space>/ :<C-u>DeniteBufferDir -start-filter grep:::!<CR>\n\"nnoremap <leader>d :<C-u>DeniteBufferDir file/rec -start-filter<CR>\n\"nnoremap <leader>r :<C-u>Denite -resume -cursor-pos=+1<CR>\n\"nnoremap <leader><C-r> :<C-u>Denite register:.<CR>\n\"nnoremap <leader>gs:<C-u>Denite gitstatus<CR>\n\"\n\"augroup Denite\n\"  autocmd!\n\"  autocmd VimEnter * call SetDeniteSettings()\n\"  autocmd FileType denite call s:denite_settings()\n\"  autocmd FileType denite-filter call s:denite_filter_settings()\n\"augroup END\n\n\"=== Coc.nvim settings\n\"\n\" coc extensions\nlet g:coc_global_extensions=['coc-lists','coc-powershell','coc-json','coc-lists','coc-python','coc-yaml','coc-xml','coc-sh','coc-markdownlint']\n\nnmap <silent><leader>cd <Plug>(coc-definition)\nnmap <silent><leader>ci <Plug>(coc-implementation)\nnmap <silent><leader>cr <Plug>(coc-reference)\nnmap <silent><leader>cre <Plug>(coc-rename)\nnmap <silent><leader>ca <Plug>(coc-codeaction)\nnmap <silent><leader>cdn <Plug>(coc-diagnostic-next)\nnmap <silent><leader>cdp <Plug>(coc-diagnostic-prev)\nnmap <silent><leader>ci <Plug>(coc-diagnostic-info)\nnmap <leader>= <Plug>(coc-format)\nvmap <leader>p <Plug>(coc-format-selected)\nnmap <leader>p <Plug>(coc-format-selected)\nnnoremap <leader>cl :CocList <C-d>\nnnoremap <leader>clb :CocList buffers<CR>\nnnoremap <leader>cls :CocList symbols<CR>\nnnoremap <leader>cld :CocList diagnostics<CR>\nnnoremap <leader>cla :CocList actions<CR>\n\n\"Start or refresh completion at current cursor position\ninoremap <silent><expr> <c-space> coc#refresh()\n\n\" Use K to show documentation in preview window\nnnoremap K :call Show_documentation()<CR>\n\nfunction! Show_documentation()\n  if (index(['vim','help'], &filetype) >= 0)\n    execute 'h '.expand('<cword>')\n  else\n    call CocAction('doHover')\n  endif\nendfunction\n\n\" for lightline integration\nfunction! CocCurrentFunction()\n  return get(b:, 'coc_current_function', '')\nendfunction\n\naugroup Coc\n  autocmd!\n  \" Highlight symbol under cursor on CursorHold\n  autocmd CursorHold * silent call CocActionAsync('highlight')\naugroup End\n\n\"=== Markdown settings\naugroup Markdown\n  autocmd!\n  autocmd FileType markdown :setlocal ts=4 sw=4 sts=4\naugroup End\n\n\" TODO\n\" replace shellcmd mkdir to builtin\n\" add comment to all relevant places\n\" change 'all' mappings to use <leader>\n"
    }
}


[Trace - 3:19:28 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///home/ankarloog/.vim/vimrc",
    "diagnostics": []
}


[Trace - 3:23:44 PM] Sending request 'textDocument/documentSymbol - (1)'.
Params: {
    "textDocument": {
        "uri": "file:///home/ankarloog/.vim/vimrc"
    }
}


[Trace - 3:23:44 PM] Received response 'textDocument/documentSymbol - (1)' in 5ms.
Result: [
    {
        "name": "LoadFugitive",
        "kind": 12,
        "range": {
            "start": {
                "line": 90,
                "character": 0
            },
            "end": {
                "line": 93,
                "character": 12
            }
        },
        "selectionRange": {
            "start": {
                "line": 90,
                "character": 0
            },
            "end": {
                "line": 93,
                "character": 12
            }
        },
        "children": []
    },
    {
        "name": "Show_documentation",
        "kind": 12,
        "range": {
            "start": {
                "line": 298,
                "character": 0
            },
            "end": {
                "line": 304,
                "character": 12
            }
        },
        "selectionRange": {
            "start": {
                "line": 298,
                "character": 0
            },
            "end": {
                "line": 304,
                "character": 12
            }
        },
        "children": []
    },
    {
        "name": "CocCurrentFunction",
        "kind": 12,
        "range": {
            "start": {
                "line": 307,
                "character": 0
            },
            "end": {
                "line": 309,
                "character": 12
            }
        },
        "selectionRange": {
            "start": {
                "line": 307,
                "character": 0
            },
            "end": {
                "line": 309,
                "character": 12
            }
        },
        "children": []
    },
    {
        "name": "g:coc_global_extensions",
        "kind": 13,
        "range": {
            "start": {
                "line": 273,
                "character": 4
            },
            "end": {
                "line": 274,
                "character": 27
            }
        },
        "selectionRange": {
            "start": {
                "line": 273,
                "character": 4
            },
            "end": {
                "line": 274,
                "character": 27
            }
        }
    },
    {
        "name": "g:python3_host_prog",
        "kind": 13,
        "range": {
            "start": {
                "line": 191,
                "character": 4
            },
            "end": {
                "line": 192,
                "character": 23
            }
        },
        "selectionRange": {
            "start": {
                "line": 191,
                "character": 4
            },
            "end": {
                "line": 192,
                "character": 23
            }
        }
    },
    {
        "name": "g:lightline.colorscheme",
        "kind": 13,
        "range": {
            "start": {
                "line": 132,
                "character": 6
            },
            "end": {
                "line": 133,
                "character": 29
            }
        },
        "selectionRange": {
            "start": {
                "line": 132,
                "character": 6
            },
            "end": {
                "line": 133,
                "character": 29
            }
        }
    },
    {
        "name": "g:lightline.colorscheme",
        "kind": 13,
        "range": {
            "start": {
                "line": 128,
                "character": 6
            },
            "end": {
                "line": 129,
                "character": 29
            }
        },
        "selectionRange": {
            "start": {
                "line": 128,
                "character": 6
            },
            "end": {
                "line": 129,
                "character": 29
            }
        }
    },
    {
        "name": "g:lightline.colorscheme",
        "kind": 13,
        "range": {
            "start": {
                "line": 124,
                "character": 6
            },
            "end": {
                "line": 125,
                "character": 29
            }
        },
        "selectionRange": {
            "start": {
                "line": 124,
                "character": 6
            },
            "end": {
                "line": 125,
                "character": 29
            }
        }
    },
    {
        "name": "g:lightline.active.left",
        "kind": 13,
        "range": {
            "start": {
                "line": 116,
                "character": 4
            },
            "end": {
                "line": 117,
                "character": 27
            }
        },
        "selectionRange": {
            "start": {
                "line": 116,
                "character": 4
            },
            "end": {
                "line": 117,
                "character": 27
            }
        }
    },
    {
        "name": "g:lightline.active",
        "kind": 13,
        "range": {
            "start": {
                "line": 106,
                "character": 4
            },
            "end": {
                "line": 107,
                "character": 22
            }
        },
        "selectionRange": {
            "start": {
                "line": 106,
                "character": 4
            },
            "end": {
                "line": 107,
                "character": 22
            }
        }
    },
    {
        "name": "g:lightline",
        "kind": 13,
        "range": {
            "start": {
                "line": 105,
                "character": 4
            },
            "end": {
                "line": 106,
                "character": 15
            }
        },
        "selectionRange": {
            "start": {
                "line": 105,
                "character": 4
            },
            "end": {
                "line": 106,
                "character": 15
            }
        }
    },
    {
        "name": "viminfofile",
        "kind": 13,
        "range": {
            "start": {
                "line": 66,
                "character": 4
            },
            "end": {
                "line": 67,
                "character": 15
            }
        },
        "selectionRange": {
            "start": {
                "line": 66,
                "character": 4
            },
            "end": {
                "line": 67,
                "character": 15
            }
        }
    },
    {
        "name": "g:minpacFirstRun",
        "kind": 13,
        "range": {
            "start": {
                "line": 16,
                "character": 6
            },
            "end": {
                "line": 17,
                "character": 22
            }
        },
        "selectionRange": {
            "start": {
                "line": 16,
                "character": 6
            },
            "end": {
                "line": 17,
                "character": 22
            }
        }
    },
    {
        "name": "g:minpacdir",
        "kind": 13,
        "range": {
            "start": {
                "line": 10,
                "character": 6
            },
            "end": {
                "line": 11,
                "character": 17
            }
        },
        "selectionRange": {
            "start": {
                "line": 10,
                "character": 6
            },
            "end": {
                "line": 11,
                "character": 17
            }
        }
    },
    {
        "name": "g:minpacdir",
        "kind": 13,
        "range": {
            "start": {
                "line": 5,
                "character": 6
            },
            "end": {
                "line": 6,
                "character": 17
            }
        },
        "selectionRange": {
            "start": {
                "line": 5,
                "character": 6
            },
            "end": {
                "line": 6,
                "character": 17
            }
        }
    },
    {
        "name": "g:vimfiles",
        "kind": 13,
        "range": {
            "start": {
                "line": 8,
                "character": 6
            },
            "end": {
                "line": 9,
                "character": 16
            }
        },
        "selectionRange": {
            "start": {
                "line": 8,
                "character": 6
            },
            "end": {
                "line": 9,
                "character": 16
            }
        }
    },
    {
        "name": "g:vimfiles",
        "kind": 13,
        "range": {
            "start": {
                "line": 3,
                "character": 6
            },
            "end": {
                "line": 4,
                "character": 16
            }
        },
        "selectionRange": {
            "start": {
                "line": 3,
                "character": 6
            },
            "end": {
                "line": 4,
                "character": 16
            }
        }
    }
]

neovim use this plugin will make a high cpu percentage

Describe the bug
When I use this plugin on vim, it works very well, but when I use it on neovim(terminal), the cpu usage is too high and it will not return back to normal level percentage unless I quit neovim.

To Reproduce
Steps to reproduce the behavior:

  1. CocInstall coc-vimlsp
  2. enter any *.vim file

Expected behavior

normal cpu percentage, or let me know how to debug and fix it.

Screenshots
image

Desktop (please complete the following information):

  • OS: MacOS

following is my configuration in ~/.nvim/coc-setting.json

    // coc-vimlsp
    "vimlsp.trace.server": "off",
    "vimlsp.debug": false,
    "vimlsp.diagnostic.enable": true,
    "vimlsp.suggest.fromVimruntime": true,
    "vimlsp.suggest.fromRuntimepath": true,
    "vimlsp.indexes.gap": 100,
    "vimlsp.indexes.count": 1,
    "vimlsp.indexes.runtimepath": true,
    "vimlsp.indexes.projectRootPatterns": [
        ".git",
        "autoload",
        "plugin"
    ],
    "vimlsp.filetypes": [
        "vim"
    ],

auto-completion does not work

Describe the bug
In vim insert mode does not work properly auto-completion, I am not sure what causes it, can you give some suggestions?

To Reproduce
Steps to reproduce the behavior:

  1. installed coc.nvim plugin
  2. installed coc-vimlsp extension

Expected behavior
Display floating windows and autocomplete properly

Desktop (please complete the following information):

  • OS: UOS
  • NVIM v0.5.1
  • node: v12.19.0

Add vim9script support

I wonder why no one has every asked for this. vim9script has a few differences, e.g. you don not need to write call before functions anymore and this results in an error shown. It would be nice if vim9script were supported soon!

not 'nnoremap <silent>' but 'nnoremap <<silent>'

Describe the bug

not

nnoremap <silent>

but

nnoremap <<silent>

in vimscript

Reproduce the bug

set nocompatible
set runtimepath^=~/.vim/plugged/coc.nvim
filetype plugin indent on
syntax on
set hidden
set gfn=Consolas:h50

gvim -u mini.vim TEST.vim

Screenshots (optional)

coc-LESSx2.mp4

chemzqm commented 2 days ago

The language serser should return textEdit to avoid such issue

vim is blocked while editing large .vim file in an uncompleted func body

Describe the bug
vim is blocked while editing large .vim file in an uncompleted func body( endfunc is not inserted)

To Reproduce
Steps to reproduce the behavior:

  1. open a large .vim file( such as xxxx\coc.nvim\autoload\coc\float.vim)
  2. at near the begin of file insert:
func sss()
    let ap
  1. you can find it's very slow to insert "let ap"

Screenshots
I can edit smoothly in func ... endfunc:
bdrop___unblocked

edit is blocked when func def is uncompleted:
bdrop___blocked

Desktop:

  • OS: Windows 10 64bit
  • gvim 8.2

Log:

[Trace - 3:54:24] Sending request 'textDocument/documentHighlight - (117)'.
Params: {
    "textDocument": {
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "position": {
        "line": 200,
        "character": 14
    }
}


[Trace - 3:54:24] Received response 'textDocument/documentHighlight - (117)' in 2ms.
Result: []


[Trace - 3:54:27] Sending request 'textDocument/documentHighlight - (118)'.
Params: {
    "textDocument": {
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "position": {
        "line": 201,
        "character": 6
    }
}


[Trace - 3:54:27] Received response 'textDocument/documentHighlight - (118)' in 2ms.
Result: []


[Trace - 3:54:30] Sending notification 'textDocument/didChange'.
Params: {
    "textDocument": {
        "version": 134,
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "contentChanges": [
        {
            "range": {
                "start": {
                    "line": 201,
                    "character": 0
                },
                "end": {
                    "line": 202,
                    "character": 0
                }
            },
            "rangeLength": 8,
            "text": ""
        }
    ]
}


[Trace - 3:54:30] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim",
    "diagnostics": [
        {
            "source": "vimlsp",
            "message": "E128: Function name must start with a capital or contain a colon: sfsf",
            "range": {
                "start": {
                    "line": 199,
                    "character": 5
                },
                "end": {
                    "line": 199,
                    "character": 6
                }
            },
            "severity": 1
        }
    ]
}


[Trace - 3:54:32] Sending notification 'textDocument/didChange'.
Params: {
    "textDocument": {
        "version": 135,
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "contentChanges": [
        {
            "range": {
                "start": {
                    "line": 200,
                    "character": 0
                },
                "end": {
                    "line": 201,
                    "character": 0
                }
            },
            "rangeLength": 16,
            "text": ""
        }
    ]
}


[Trace - 3:54:32] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim",
    "diagnostics": [
        {
            "source": "vimlsp",
            "message": "E128: Function name must start with a capital or contain a colon: sfsf",
            "range": {
                "start": {
                    "line": 199,
                    "character": 5
                },
                "end": {
                    "line": 199,
                    "character": 6
                }
            },
            "severity": 1
        }
    ]
}


[Trace - 3:54:33] Sending request 'textDocument/documentHighlight - (119)'.
Params: {
    "textDocument": {
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "position": {
        "line": 199,
        "character": 0
    }
}


[Trace - 3:54:33] Received response 'textDocument/documentHighlight - (119)' in 2ms.
Result: []


[Trace - 3:54:35] Sending notification 'textDocument/didChange'.
Params: {
    "textDocument": {
        "version": 136,
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "contentChanges": [
        {
            "range": {
                "start": {
                    "line": 200,
                    "character": 0
                },
                "end": {
                    "line": 200,
                    "character": 0
                }
            },
            "rangeLength": 0,
            "text": "    \n"
        }
    ]
}


[Trace - 3:54:35] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim",
    "diagnostics": [
        {
            "source": "vimlsp",
            "message": "E128: Function name must start with a capital or contain a colon: sfsf",
            "range": {
                "start": {
                    "line": 199,
                    "character": 5
                },
                "end": {
                    "line": 199,
                    "character": 6
                }
            },
            "severity": 1
        }
    ]
}


[Trace - 3:54:36] Sending notification 'textDocument/didChange'.
Params: {
    "textDocument": {
        "version": 137,
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "contentChanges": [
        {
            "range": {
                "start": {
                    "line": 200,
                    "character": 4
                },
                "end": {
                    "line": 200,
                    "character": 4
                }
            },
            "rangeLength": 0,
            "text": "lot"
        }
    ]
}


[Trace - 3:54:36] Sending request 'textDocument/completion - (120)'.
Params: {
    "textDocument": {
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "position": {
        "line": 200,
        "character": 7
    },
    "context": {
        "triggerKind": 1
    }
}


[Trace - 3:54:36] Received response 'textDocument/completion - (120)' in 3ms.
Result: {
    "isIncomplete": true,
    "items": [
        {
            "label": "s:float_supported",
            "kind": 6,
            "sortText": "00002",
            "documentation": "User defined variable",
            "insertText": "s:float_supported",
            "insertTextFormat": 1,
            "data": [
                {
                    "name": "s:float_supported",
                    "startLine": 9,
                    "startCol": 5
                }
            ]
        },
        {
            "label": "g:coc_last_float_win",
            "kind": 6,
            "sortText": "00003",
            "documentation": "User defined variable",
            "insertText": "g:coc_last_float_win",
            "insertTextFormat": 1,
            "data": [
                {
                    "name": "g:coc_last_float_win",
                    "startLine": 185,
                    "startCol": 7
                }
            ]
        },
        {
            "label": "belowright",
            "kind": 24,
            "detail": "bel[owright]",
            "documentation": "make split window appear right or below",
            "sortText": "00004",
            "insertText": "belowright",
            "insertTextFormat": 1
        },
        {
            "label": "lbottom",
            "kind": 24,
            "detail": "lbo[ttom]",
            "documentation": "scroll to the bottom of the location window",
            "sortText": "00004",
            "insertText": "lbottom",
            "insertTextFormat": 1
        }
    ]
}


[Trace - 3:54:36] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim",
    "diagnostics": [
        {
            "source": "vimlsp",
            "message": "E128: Function name must start with a capital or contain a colon: sfsf",
            "range": {
                "start": {
                    "line": 199,
                    "character": 5
                },
                "end": {
                    "line": 199,
                    "character": 6
                }
            },
            "severity": 1
        }
    ]
}


[Trace - 3:54:36] Sending notification 'textDocument/didChange'.
Params: {
    "textDocument": {
        "version": 138,
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "contentChanges": [
        {
            "range": {
                "start": {
                    "line": 200,
                    "character": 7
                },
                "end": {
                    "line": 200,
                    "character": 7
                }
            },
            "rangeLength": 0,
            "text": " "
        }
    ]
}


[Trace - 3:54:37] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim",
    "diagnostics": [
        {
            "source": "vimlsp",
            "message": "E128: Function name must start with a capital or contain a colon: sfsf",
            "range": {
                "start": {
                    "line": 199,
                    "character": 5
                },
                "end": {
                    "line": 199,
                    "character": 6
                }
            },
            "severity": 1
        }
    ]
}


[Trace - 3:54:37] Sending notification 'textDocument/didChange'.
Params: {
    "textDocument": {
        "version": 139,
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "contentChanges": [
        {
            "range": {
                "start": {
                    "line": 200,
                    "character": 7
                },
                "end": {
                    "line": 200,
                    "character": 8
                }
            },
            "rangeLength": 1,
            "text": ""
        }
    ]
}


[Trace - 3:54:37] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim",
    "diagnostics": [
        {
            "source": "vimlsp",
            "message": "E128: Function name must start with a capital or contain a colon: sfsf",
            "range": {
                "start": {
                    "line": 199,
                    "character": 5
                },
                "end": {
                    "line": 199,
                    "character": 6
                }
            },
            "severity": 1
        }
    ]
}


[Trace - 3:54:38] Sending notification 'textDocument/didChange'.
Params: {
    "textDocument": {
        "version": 140,
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "contentChanges": [
        {
            "range": {
                "start": {
                    "line": 200,
                    "character": 7
                },
                "end": {
                    "line": 200,
                    "character": 7
                }
            },
            "rangeLength": 0,
            "text": "sfs"
        }
    ]
}


[Trace - 3:54:38] Sending request 'textDocument/completion - (121)'.
Params: {
    "textDocument": {
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "position": {
        "line": 200,
        "character": 10
    },
    "context": {
        "triggerKind": 1
    }
}


[Trace - 3:54:38] Received response 'textDocument/completion - (121)' in 4ms.
Result: {
    "isIncomplete": true,
    "items": []
}


[Trace - 3:54:38] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim",
    "diagnostics": [
        {
            "source": "vimlsp",
            "message": "E128: Function name must start with a capital or contain a colon: sfsf",
            "range": {
                "start": {
                    "line": 199,
                    "character": 5
                },
                "end": {
                    "line": 199,
                    "character": 6
                }
            },
            "severity": 1
        }
    ]
}


[Trace - 3:54:40] Sending request 'textDocument/documentHighlight - (122)'.
Params: {
    "textDocument": {
        "uri": "file:///d%3A/programs/vim/vimfiles/plugged/coc.nvim/autoload/coc/float.vim"
    },
    "position": {
        "line": 200,
        "character": 9
    }
}


[Trace - 3:54:40] Received response 'textDocument/documentHighlight - (122)' in 1ms.
Result: []

High CPU usage

First time this is happening, I think it's due to last changes. When I open my .vimrc now (around 2k lines) the node instance for vimlsp fully consumes one core and doesn't stop until I close neovim.

Crash while using the complement

Crash(core dumped) while using the complement

OS: arch linux 5.9.8-arch1-1
vim-version:

NVIM v0.5.0-677-g59712f6db
Build type: RelWithDebInfo
LuaJIT 2.0.5

minimum vimrc:

set nocompatible
set runtimepath=$VIMRUNTIME

set runtimepath+=/home/ring/.config/nvim/dein/repos/github.com/neoclide/coc.nvim_release

write some vimscript as follow, press <c-n>/<c-p> to move aroud, and then crash:

" a.vim
echo func<completion and then crash>

vim_lsp_bug

Error when I put fixdel in my vimrc

Error when I put fixdel in my vimrc

The message is:
[vimlsp] [E] E492: Not an editor command: fixdel

To Reproduce
Write in your vimrc the command:
fixdel

Screenshots
fixdelErrorOnvim

CocInfo:

versions

vim version: VIM - Vi IMproved 8.2 8022489
node version: v15.11.0
coc.nvim version: 0.0.80-9184dcccc4
term: dumb
platform: linux

The plugin is in the newest version

Go to defintion make some confusion.

I use one plugin, and I want to make some changes in it, so I download it at other place then code, when I want go to defintion of something, the list will have two items: one is downloaded place , the other is my plugin place. Is there any way to hidden the plugin place.?

Sorry for my English.

gd <Plug>(coc-definition) doesn't work under windows with GIT BASH

I open my .vim repository with coc-vimlsp as a language server. I've noticed that the gd <Plug>(coc-definition) doesn't work if the file is not opened. However, if I keep the definition file in buffers, it works. How can I configure it to open the definition file if it's not already opened?"

image

My environment is windows 10 with Git for Windows Bash. Vim version is 9.

The same configuration works under Ubuntu 22.04.

Invalid buffer id error messages when using fzf-lua

Describe the bug
Calling certain fzf-lua commands causes error messages such as the following to pop up:

[coc.nvim]: Error on BufEnter: request error nvim_buf_get_option - Invalid buffer id: 32
Error
    at ML.request (/home/shyun3/.config/nvim/bundle/coc.nvim/build/index.js:20:34604)
    at ML.getOption (/home/shyun3/.config/nvim/bundle/coc.nvim/build/index.js:20:35234)
    at Object.<anonymous> (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:1648)
    at /home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:5290
    at Object.next (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:5395)
    at /home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:4332
    at new Promise (<anonymous>)
    at Module.l (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:4077)
    at m (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:1531)
    at Object.<anonymous> (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:2094)

:CocInfo recorded the error as follows:

2021-09-25T23:44:26.562 ERROR (pid:5424) [node-client] - request error on "nvim_buf_get_option" [ 'iskeyword' ] Invalid buffer id: 32 Error
    at ML.request (/home/shyun3/.config/nvim/bundle/coc.nvim/build/index.js:20:34604)
    at ML.getOption (/home/shyun3/.config/nvim/bundle/coc.nvim/build/index.js:20:35234)
    at Object.<anonymous> (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:1648)
    at /home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:5290
    at Object.next (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:5395)
    at /home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:4332
    at new Promise (<anonymous>)
    at Module.l (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:4077)
    at m (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:1531)
    at Object.<anonymous> (/home/shyun3/.config/coc/extensions/node_modules/coc-vimlsp/out/index.js:2:2094)

To Reproduce
Steps to reproduce the behavior:

  1. Open a .vim file.
  2. Execute :FzfLua help_tags. Other fzf-lua commands can also trigger the error but this may be the simplest.

Expected behavior
No error message to appear.

Using coc-vimlsp v0.12.2 reduces the number of such errors but it is still possible to trigger.

Desktop (please complete the following information):

  • OS: Ubuntu 20.04.3 LTS running on Windows 10 WSL2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.