fix(health): handle non-existent log file #18610

Problem:
    vim.lsp: require("vim.lsp.health").check()
    ========================================================================
      - ERROR: Failed to run healthcheck for "vim.lsp" plugin. Exception:
        function health#check, line 20
        Vim(eval):E5108: Error executing lua ...m/HEAD-6613f58/share/nvim/runtime/lua/vim/lsp/health.lua:20: attempt to index a nil value
        stack traceback:
        ...m/HEAD-6613f58/share/nvim/runtime/lua/vim/lsp/health.lua:20: in function 'check'
        [string "luaeval()"]:1: in main chunk

Solution:
Check for nil.

fix #18602
This commit is contained in:
Noval Maulana 2022-05-18 01:11:14 +07:00 committed by GitHub
parent 7ffa9073a3
commit 38cbca3eea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,7 +17,8 @@ function M.check()
local log_path = vim.lsp.get_log_path() local log_path = vim.lsp.get_log_path()
report_info(string.format('Log path: %s', log_path)) report_info(string.format('Log path: %s', log_path))
local log_size = vim.loop.fs_stat(log_path).size local log_file = vim.loop.fs_stat(log_path)
local log_size = log_file and log_file.size or 0
local report_fn = (log_size / 1000000 > 100 and report_warn or report_info) local report_fn = (log_size / 1000000 > 100 and report_warn or report_info)
report_fn(string.format('Log size: %d KB', log_size / 1000)) report_fn(string.format('Log size: %d KB', log_size / 1000))