aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp.lua
diff options
context:
space:
mode:
authorAshkan Kiani <ashkan.k.kiani@gmail.com>2019-11-21 10:04:32 -0800
committerAshkan Kiani <ashkan.k.kiani@gmail.com>2019-11-21 10:04:32 -0800
commit6a5140137865025dee68e75a4e8feb2d20a430cf (patch)
treebd9815ea488c4ee77bdfd6631ba7159f039ebe3e /runtime/lua/vim/lsp.lua
parentb7170f2d722cee24a62eb74ac836d6192e5475dc (diff)
parentcc5487e32f6fc6d0034634a1f9e736968afb4450 (diff)
downloadrneovim-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.lua13
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)