feat(ui/config): Add config option to change icons and highlights

Closes #37
Kinda related to #19
This commit is contained in:
simrat39
2021-07-17 20:28:50 -07:00
parent fea9ce74e2
commit 3e9e019b03
4 changed files with 72 additions and 32 deletions

View File

@@ -1,31 +1,6 @@
local M = {}
local config = require('symbols-outline.config')
M.File = {icon = "", hl = "TSURI"}
M.Module = {icon = "", hl = "TSNamespace"}
M.Namespace = {icon = "", hl = "TSNamespace"}
M.Package = {icon = "", hl = "TSNamespace"}
M.Class = {icon = "𝓒", hl = "TSType"}
M.Method = {icon = "ƒ", hl = "TSMethod"}
M.Property = {icon = "", hl = "TSMethod"}
M.Field = {icon = "", hl = "TSField"}
M.Constructor = {icon = "", hl = "TSConstructor"}
M.Enum = {icon = "", hl = "TSType"}
M.Interface = {icon = "", hl = "TSType"}
M.Function = {icon = "", hl = "TSFunction"}
M.Variable = {icon = "", hl = "TSConstant"}
M.Constant = {icon = "", hl = "TSConstant"}
M.String = {icon = "𝓐", hl = "TSString"}
M.Number = {icon = "#", hl = "TSNumber"}
M.Boolean = {icon = "", hl = "TSBoolean"}
M.Array = {icon = "", hl = "TSConstant"}
M.Object = {icon = "⦿", hl = "TSType"}
M.Key = {icon = "🔐", hl = "TSType"}
M.Null = {icon = "NULL", hl = "TSType"}
M.EnumMember = {icon = "", hl = "TSField"}
M.Struct = {icon = "𝓢", hl = "TSType"}
M.Event = {icon = "🗲", hl = "TSType"}
M.Operator = {icon = "+", hl = "TSOperator"}
M.TypeParameter = {icon = "𝙏", hl = "TSParameter"}
local M = {}
M.kinds = {
"File", "Module", "Namespace", "Package", "Class", "Method", "Property",
@@ -35,9 +10,11 @@ M.kinds = {
}
function M.icon_from_kind(kind)
local symbols = config.options.symbols
-- If the kind is higher than the available ones then default to 'Object'
if kind > #M.kinds then kind = 19 end
return M[M.kinds[kind]].icon
return symbols[M.kinds[kind]].icon
end
return M