local icon = require('plugins.config.shared.icon')
require('symbols-outline').setup {
symbols = {
File = { icon = icon.symbol.file, hl = '@text.uri' },
Module = { icon = icon.symbol.module, hl = '@namespace' },
Namespace = { icon = icon.symbol.namespace, hl = '@namespace' },
Package = { icon = icon.symbol.package, hl = '@namespace' },
Class = { icon = icon.symbol.class, hl = '@type' },
Method = { icon = icon.symbol.method, hl = '@method' },
Property = { icon = icon.symbol.property, hl = '@method' },
Field = { icon = icon.symbol.field, hl = '@field' },
Constructor = { icon = icon.symbol.constructor, hl = '@constructor' },
Enum = { icon = icon.symbol.enum, hl = '@type' },
Interface = { icon = icon.symbol.interface, hl = '@type' },
Function = { icon = icon.symbol.func, hl = '@function' },
Variable = { icon = icon.symbol.variable, hl = '@constant' },
Constant = { icon = icon.symbol.constant, hl = '@constant' },
String = { icon = icon.symbol.string, hl = '@string' },
Number = { icon = icon.symbol.number, hl = '@number' },
Boolean = { icon = icon.symbol.boolean, hl = '@boolean' },
Array = { icon = icon.symbol.array, hl = '@constant' },
Object = { icon = icon.symbol.object, hl = '@type' },
Key = { icon = icon.symbol.keyword, hl = '@type' },
Null = { icon = icon.symbol.null, hl = '@type' },
EnumMember = { icon = icon.symbol.enum_member, hl = '@field' },
Struct = { icon = icon.symbol.struct, hl = '@type' },
Event = { icon = icon.symbol.event, hl = '@type' },
Operator = { icon = icon.symbol.operator, hl = '@operator' },
TypeParameter = { icon = icon.symbol.type_parameter, hl = '@parameter' },
Component = { icon = icon.symbol.component, hl = '@function' },
Fragment = { icon = icon.symbol.fragment, hl = '@constant' },
},
}
vim.keymap.set('n', '<Leader>so', '<Cmd>SymbolsOutline<CR>')