--- @diagnostic disable: duplicate-doc-alias
---@generic T: string|number
---@param tbl table<string, T>
---@return T[]
local function get_value_set(tbl)
local value_set = {}
for _, v in pairs(tbl) do
table.insert(value_set, v)
end
table.sort(value_set)
return value_set
end
local sysname = vim.uv.os_uname().sysname
--- @class vim.lsp.protocol.constants
--- @nodoc
local constants = {
DiagnosticSeverity = {
-- Reports an error.
Error = 1,
-- Reports a warning.
Warning = 2,
-- Reports an information.
Information = 3,
-- Reports a hint.
Hint = 4,
},
DiagnosticTag = {
-- Unused or unnecessary code
Unnecessary = 1,
-- Deprecated or obsolete code
Deprecated = 2,
},
MessageType = {
-- An error message.
Error = 1,
-- A warning message.
Warning = 2,
-- An information message.
Info = 3,
-- A log message.
Log = 4,
-- A debug message.
Debug = 5,
},
-- The file event type.
FileChangeType = {
-- The file got created.
Created = 1,
-- The file got changed.
Changed = 2,
-- The file got deleted.
Deleted = 3,
},
-- The kind of a completion entry.
CompletionItemKind = {
Text = 1,
Method = 2,
Function = 3,
Constructor = 4,
Field = 5,
Variable = 6,
Class = 7,
Interface = 8,
Module = 9,
Property = 10,
Unit = 11,
Value = 12,
Enum = 13,
Keyword = 14,
Snippet = 15,
Color = 16,
File = 17,
Reference = 18,
Folder = 19,
EnumMember = 20,
Constant = 21,
Struct = 22,
Event = 23,
Operator = 24,
TypeParameter = 25,
},
-- How a completion was triggered
CompletionTriggerKind = {
-- Completion was triggered by typing an identifier (24x7 code
-- complete), manual invocation (e.g Ctrl+Space) or via API.
Invoked = 1,
-- Completion was triggered by a trigger character specified by
-- the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
TriggerCharacter =
|