refactor: move LSP types to new module

This commit is contained in:
CJ van den Berg 2025-12-12 12:16:05 +01:00
parent e5894c1404
commit 308f46c8a2
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9
5 changed files with 136 additions and 162 deletions

121
src/lsp_types.zig Normal file
View file

@ -0,0 +1,121 @@
pub const SymbolKind = enum(u8) {
None = 0,
File = 1,
Module = 2,
Namespace = 3,
Package = 4,
Class = 5,
Method = 6,
Property = 7,
Field = 8,
Constructor = 9,
Enum = 10,
Interface = 11,
Function = 12,
Variable = 13,
Constant = 14,
String = 15,
Number = 16,
Boolean = 17,
Array = 18,
Object = 19,
Key = 20,
Null = 21,
EnumMember = 22,
Struct = 23,
Event = 24,
Operator = 25,
TypeParameter = 26,
pub fn icon(kind: SymbolKind) []const u8 {
return switch (kind) {
.None => " ",
.File => "",
.Module => "",
.Namespace => "",
.Package => "",
.Class => "",
.Method => "",
.Property => "",
.Field => "",
.Constructor => "",
.Enum => "",
.Interface => "",
.Function => "󰊕",
.Variable => "",
.Constant => "",
.String => "",
.Number => "",
.Boolean => "",
.Array => "",
.Object => "",
.Key => "",
.Null => "󰟢",
.EnumMember => "",
.Struct => "",
.Event => "",
.Operator => "",
.TypeParameter => "",
};
}
};
pub const CompletionItemKind = enum(u8) {
None = 0,
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,
pub fn icon(kind: CompletionItemKind) []const u8 {
return switch (kind) {
.None => " ",
.Text => "󰊄",
.Method => "",
.Function => "󰊕",
.Constructor => "",
.Field => "",
.Variable => "",
.Class => "",
.Interface => "",
.Module => "",
.Property => "",
.Unit => "󱔁",
.Value => "󱔁",
.Enum => "",
.Keyword => "",
.Snippet => "",
.Color => "",
.File => "",
.Reference => "",
.Folder => "🗀",
.EnumMember => "",
.Constant => "",
.Struct => "",
.Event => "",
.Operator => "",
.TypeParameter => "",
};
}
};