diff options
author | Damjan 9000 <damjan.9000@gmail.com> | 2024-02-26 20:46:46 +0100 |
---|---|---|
committer | Damjan 9000 <damjan.9000@gmail.com> | 2024-02-26 21:15:29 +0100 |
commit | 1ff3a155aab8ef8f9d14b51c382319fcd14e4da3 (patch) | |
tree | ff8e7695094365a18c3ca21bda1bd3f0bcf83444 /lua/kickstart/health.lua | |
parent | 4e7e6642a6a5b76c0dbb0e86748fcb12b4c95012 (diff) | |
parent | 8b5d48a199c02658e399f5b43ff8d06df1ede7fb (diff) |
Merge 'upstream/master' rewrite: slimmer, trimmer and more lazy kickstart.nvim
Diffstat (limited to 'lua/kickstart/health.lua')
-rw-r--r-- | lua/kickstart/health.lua | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lua/kickstart/health.lua b/lua/kickstart/health.lua new file mode 100644 index 0000000..957204e --- /dev/null +++ b/lua/kickstart/health.lua @@ -0,0 +1,51 @@ +--[[ +-- +-- This file is not required for your own configuration, +-- but helps people determine if their system is setup correctly. +-- +--]] + +local check_version = function() + if not vim.version.cmp then + vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", tostring(vim.version()))) + return + end + + if vim.version.cmp(vim.version(), { 0, 9, 4 }) >= 0 then + vim.health.ok(string.format("Neovim version is: '%s'", tostring(vim.version()))) + else + vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", tostring(vim.version()))) + end +end + +local check_external_reqs = function() + -- Basic utils: `git`, `make`, `unzip` + for _, exe in ipairs { 'git', 'make', 'unzip', 'rg' } do + local is_executable = vim.fn.executable(exe) == 1 + if is_executable then + vim.health.ok(string.format("Found executable: '%s'", exe)) + else + vim.health.warn(string.format("Could not find executable: '%s'", exe)) + end + end + + return true +end + +return { + check = function() + vim.health.start 'kickstart.nvim' + + vim.health.info [[NOTE: Not every warning is a 'must-fix' in `:checkhealth` + + Fix only warnings for plugins and languages you intend to use. + Mason will give warnings for languages that are not installed. + You do not need to install, unless you want to use those languages!]] + + local uv = vim.uv or vim.loop + vim.health.info('System Information: ' .. vim.inspect(uv.os_uname())) + + check_version() + check_external_reqs() + end, +} |