diagnostic-nvim icon indicating copy to clipboard operation
diagnostic-nvim copied to clipboard

Error executing vim.schedule lua callback: diagnostic-nvim/lua/diagnostic/util.lua:155: index out of range

Open kdheepak opened this issue 5 years ago • 6 comments

I get this error every now and then. I think it occurs when there's a large number of diagnostics in the same buffer from a language server. I'm now able to consistently reproduce this error in a Julia file.

Screen Shot 2020-07-19 at 1 27 31 AM

If I hit enter the error message continues popping up.

kdheepak avatar Jul 19 '20 07:07 kdheepak

Have you updated diagnostic-nvim? I think #38 fixes it.

haorenW1025 avatar Jul 20 '20 13:07 haorenW1025

I just tried again with the latest commit, and I still get the same errors.

kdheepak avatar Jul 20 '20 18:07 kdheepak

I can't reproduce on my side, so let see if the PR fixes it.

haorenW1025 avatar Jul 21 '20 04:07 haorenW1025

I found I had the same issue while using the python-language-server. Specifically, one of my linters (pyflakes) would label the starting positions of particular errors as -1, which caused an index-out-of-bounds error. I added these lines at line 91 of diagnostic-nvim/lua/diagnostic.lua

  for _, diagnostic in ipairs(result['diagnostics']) do
    if diagnostic['range']['start']['character'] < 0 then diagnostic['range']['start']['character'] = 0 end
  end

and it has fixed my issues. @haorenW1025, if I can tidy up the implementation a little would you consider this a good pull-request? If so I can put it together (I'll also check to make sure the end-character doesn't exceed the length of the line in case some other language-servers do that).

el-iot avatar Jul 21 '20 04:07 el-iot

Apologies - I'm not completely up-to-date so it may not be at line 91 of diagnostic-nvim/lua/diagnostic.lua (I was previously on f8b312d)

el-iot avatar Jul 21 '20 04:07 el-iot

Made a pull-request for this issue (#51) that has fixed this for me (incase #48 doesn't work)

el-iot avatar Jul 24 '20 09:07 el-iot