diff options
author | Gregory Anders <8965202+gpanders@users.noreply.github.com> | 2021-10-19 16:27:49 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-19 16:27:49 -0600 |
commit | a2994c82e355b6591299d16df1dead86e875acd1 (patch) | |
tree | 1ef80a02fb538e185207e5842fdb3d7ba15564f0 /test/functional/lua/diagnostic_spec.lua | |
parent | 208d259e83c47a9c6d2ef66f2cb15281aacda563 (diff) | |
download | rneovim-a2994c82e355b6591299d16df1dead86e875acd1.tar.gz rneovim-a2994c82e355b6591299d16df1dead86e875acd1.tar.bz2 rneovim-a2994c82e355b6591299d16df1dead86e875acd1.zip |
fix(diagnostic): handle diagnostics placed past the end of line (#16095)
Diffstat (limited to 'test/functional/lua/diagnostic_spec.lua')
-rw-r--r-- | test/functional/lua/diagnostic_spec.lua | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/functional/lua/diagnostic_spec.lua b/test/functional/lua/diagnostic_spec.lua index e49453ab76..1cbfa224cc 100644 --- a/test/functional/lua/diagnostic_spec.lua +++ b/test/functional/lua/diagnostic_spec.lua @@ -1046,6 +1046,21 @@ describe('vim.diagnostic', function() vim.api.nvim_win_close(winnr, true) return lines ]]) + + -- With column position past the end of the line. #16062 + eq({'1. Syntax error'}, exec_lua [[ + local first_line_len = #vim.api.nvim_buf_get_lines(diagnostic_bufnr, 0, 1, true)[1] + local diagnostics = { + make_error("Syntax error", 0, first_line_len + 1, 1, 0), + } + vim.api.nvim_win_set_buf(0, diagnostic_bufnr) + vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, diagnostics) + vim.api.nvim_win_set_cursor(0, {1, 1}) + local float_bufnr, winnr = vim.diagnostic.open_float(0, {show_header=false, scope="cursor", pos={0,first_line_len}}) + local lines = vim.api.nvim_buf_get_lines(float_bufnr, 0, -1, false) + vim.api.nvim_win_close(winnr, true) + return lines + ]]) end) it('creates floating window and returns float bufnr and winnr if current line contains diagnostics', function() |