93 lines
1.9 KiB
Lua
93 lines
1.9 KiB
Lua
---@type LazyVimConfig
|
|
local M = {}
|
|
|
|
M.lazy_version = ">=9.1.0"
|
|
|
|
---@class LazyVimConfig
|
|
local defaults = {
|
|
icons = {
|
|
diagnostics = {
|
|
Error = " ",
|
|
Warn = " ",
|
|
Hint = " ",
|
|
Info = " ",
|
|
},
|
|
git = {
|
|
added = " ",
|
|
modified = " ",
|
|
removed = " ",
|
|
},
|
|
kinds = {
|
|
Array = " ",
|
|
Boolean = " ",
|
|
Class = " ",
|
|
Color = " ",
|
|
Constant = " ",
|
|
Constructor = " ",
|
|
Enum = " ",
|
|
EnumMember = " ",
|
|
Event = " ",
|
|
Field = " ",
|
|
File = " ",
|
|
Folder = " ",
|
|
Function = " ",
|
|
Interface = " ",
|
|
Key = " ",
|
|
Keyword = " ",
|
|
Method = " ",
|
|
Module = " ",
|
|
Namespace = " ",
|
|
Null = "ﳠ ",
|
|
Number = " ",
|
|
Object = " ",
|
|
Operator = " ",
|
|
Package = " ",
|
|
Property = " ",
|
|
Reference = " ",
|
|
Snippet = " ",
|
|
String = " ",
|
|
Struct = " ",
|
|
Text = " ",
|
|
TypeParameter = " ",
|
|
Unit = " ",
|
|
Value = " ",
|
|
Variable = " ",
|
|
},
|
|
},
|
|
}
|
|
|
|
---@type LazyVimConfig
|
|
local options
|
|
|
|
---@param opts? LazyVimConfig
|
|
function M.setup(opts)
|
|
options = vim.tbl_deep_extend("force", defaults, opts or {})
|
|
if not M.has() then
|
|
require("lazy.core.util").error(
|
|
"**LazyVim** needs **lazy.nvim** version "
|
|
.. M.lazy_version
|
|
.. " to work properly.\n"
|
|
.. "Please upgrade **lazy.nvim**",
|
|
{ title = "LazyVim" }
|
|
)
|
|
end
|
|
end
|
|
|
|
---@param range? string
|
|
function M.has(range)
|
|
local Semver = require("lazy.manage.semver")
|
|
return Semver.range(range or M.lazy_version):matches(require("lazy.core.config").version or "0.0.0")
|
|
end
|
|
|
|
setmetatable(M, {
|
|
__index = function(_, key)
|
|
if options == nil then
|
|
M.setup()
|
|
end
|
|
---@cast options LazyVimConfig
|
|
return options[key]
|
|
end,
|
|
})
|
|
|
|
return M
|