diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2019-11-21 12:45:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-21 12:45:52 +0100 |
commit | cc5487e32f6fc6d0034634a1f9e736968afb4450 (patch) | |
tree | a54d57e5883dc781992da4ada7f7a7931f9b0e8e /runtime/lua/vim/lsp.lua | |
parent | 525bb1b55d8771939f0a9d72a532abc8f2134445 (diff) | |
parent | 76e0a8bd935b27270f8f6a594c3025bc494f4422 (diff) | |
download | rneovim-cc5487e32f6fc6d0034634a1f9e736968afb4450.tar.gz rneovim-cc5487e32f6fc6d0034634a1f9e736968afb4450.tar.bz2 rneovim-cc5487e32f6fc6d0034634a1f9e736968afb4450.zip |
Merge pull request #11433 from bfredl/lspeol
lsp: transmit "\n" after last line when 'eol' is set
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r-- | runtime/lua/vim/lsp.lua | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index 9dbe03dace..0c1a145c04 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -23,7 +23,6 @@ local lsp = { -- format_rpc_error = lsp_rpc.format_rpc_error; } --- TODO consider whether 'eol' or 'fixeol' should change the nvim_buf_get_lines that send. -- TODO improve handling of scratch buffers with LSP attached. local function resolve_bufnr(bufnr) @@ -175,6 +174,14 @@ local function validate_client_config(config) } end +local function buf_get_full_text(bufnr) + local text = table.concat(nvim_buf_get_lines(bufnr, 0, -1, true), '\n') + if nvim_buf_get_option(bufnr, 'eol') then + text = text .. '\n' + end + return text +end + local function text_document_did_open_handler(bufnr, client) if not client.resolved_capabilities.text_document_open_close then return @@ -188,7 +195,7 @@ local function text_document_did_open_handler(bufnr, client) uri = vim.uri_from_bufnr(bufnr); -- TODO make sure our filetypes are compatible with languageId names. languageId = nvim_buf_get_option(bufnr, 'filetype'); - text = table.concat(nvim_buf_get_lines(bufnr, 0, -1, false), '\n'); + text = buf_get_full_text(bufnr); } } client.notify('textDocument/didOpen', params) @@ -551,7 +558,7 @@ do end) local full_changes = once(function() return { - text = table.concat(nvim_buf_get_lines(bufnr, 0, -1, false), "\n"); + text = buf_get_full_text(bufnr); }; end) local uri = vim.uri_from_bufnr(bufnr) |