in internal/lsp/symbols.go [67:87]
func symbolKind(symbol decoder.Symbol, supported []lsp.SymbolKind) (lsp.SymbolKind, bool) {
switch s := symbol.(type) {
case *decoder.BlockSymbol:
kind, ok := supportedSymbolKind(supported, lsp.Class)
if ok {
return kind, true
}
case *decoder.AttributeSymbol:
kind, ok := exprSymbolKind(s.ExprKind, supported)
if ok {
return kind, true
}
case *decoder.ExprSymbol:
kind, ok := exprSymbolKind(s.ExprKind, supported)
if ok {
return kind, true
}
}
return lsp.SymbolKind(0), false
}