Merge #15879 backports

This commit is contained in:
Justin M. Keyes
2021-10-05 04:26:08 -07:00
committed by GitHub
2 changed files with 37 additions and 29 deletions

View File

@@ -33,6 +33,17 @@ do
vim.fn.mkdir(vim.fn.stdpath('cache'), "p") vim.fn.mkdir(vim.fn.stdpath('cache'), "p")
local logfile = assert(io.open(logfilename, "a+")) local logfile = assert(io.open(logfilename, "a+"))
local log_info = vim.loop.fs_stat(logfilename)
if log_info and log_info.size > 1e9 then
local warn_msg = string.format(
"LSP client log is large (%d MB): %s",
log_info.size / (1000 * 1000),
logfilename
)
vim.notify(warn_msg)
end
-- Start message for logging -- Start message for logging
logfile:write(string.format("[START][%s] LSP logging initiated\n", os.date(log_date_format))) logfile:write(string.format("[START][%s] LSP logging initiated\n", os.date(log_date_format)))
for level, levelnr in pairs(log.levels) do for level, levelnr in pairs(log.levels) do

View File

@@ -132,38 +132,35 @@ end
describe('LSP', function() describe('LSP', function()
before_each(function() before_each(function()
clear_notrace() clear_notrace()
-- Run an instance of nvim on the file which contains our "scripts".
-- Pass TEST_NAME to pick the script.
local test_name = "basic_init"
exec_lua([=[
lsp = require('vim.lsp')
local test_name, fixture_filename, logfile = ...
function test__start_client()
return lsp.start_client {
cmd_env = {
NVIM_LOG_FILE = logfile;
};
cmd = {
vim.v.progpath, '-Es', '-u', 'NONE', '--headless',
"-c", string.format("lua TEST_NAME = %q", test_name),
"-c", "luafile "..fixture_filename;
};
root_dir = vim.loop.cwd();
}
end
TEST_CLIENT1 = test__start_client()
]=], test_name, fake_lsp_code, fake_lsp_logfile)
end)
after_each(function()
exec_lua("lsp._vim_exit_handler()")
-- exec_lua("lsp.stop_all_clients(true)")
end) end)
describe('server_name specified', function() describe('server_name specified', function()
before_each(function()
-- Run an instance of nvim on the file which contains our "scripts".
-- Pass TEST_NAME to pick the script.
local test_name = "basic_init"
exec_lua([=[
lsp = require('vim.lsp')
local test_name, fixture_filename, logfile = ...
function test__start_client()
return lsp.start_client {
cmd_env = {
NVIM_LOG_FILE = logfile;
};
cmd = {
vim.v.progpath, '-Es', '-u', 'NONE', '--headless',
"-c", string.format("lua TEST_NAME = %q", test_name),
"-c", "luafile "..fixture_filename;
};
root_dir = vim.loop.cwd();
}
end
TEST_CLIENT1 = test__start_client()
]=], test_name, fake_lsp_code, fake_lsp_logfile)
end)
after_each(function()
exec_lua("lsp._vim_exit_handler()")
-- exec_lua("lsp.stop_all_clients(true)")
end)
it('start_client(), stop_client()', function() it('start_client(), stop_client()', function()
retry(nil, 4000, function() retry(nil, 4000, function()
eq(1, exec_lua('return #lsp.get_active_clients()')) eq(1, exec_lua('return #lsp.get_active_clients()'))