diff options
author | Ashkan Kiani <ashkan.k.kiani@gmail.com> | 2019-11-21 10:04:32 -0800 |
---|---|---|
committer | Ashkan Kiani <ashkan.k.kiani@gmail.com> | 2019-11-21 10:04:32 -0800 |
commit | 6a5140137865025dee68e75a4e8feb2d20a430cf (patch) | |
tree | bd9815ea488c4ee77bdfd6631ba7159f039ebe3e /runtime/lua/vim/lsp.lua | |
parent | b7170f2d722cee24a62eb74ac836d6192e5475dc (diff) | |
parent | cc5487e32f6fc6d0034634a1f9e736968afb4450 (diff) | |
download | rneovim-6a5140137865025dee68e75a4e8feb2d20a430cf.tar.gz rneovim-6a5140137865025dee68e75a4e8feb2d20a430cf.tar.bz2 rneovim-6a5140137865025dee68e75a4e8feb2d20a430cf.zip |
Merge remote-tracking branch 'origin/master' into lsp-followup
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 b2dc1315dd..5a0b320f4c 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -24,7 +24,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 err_message(...) @@ -181,6 +180,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 @@ -194,7 +201,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) @@ -557,7 +564,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) |