return { "hedyhli/outline.nvim", lazy = true, cmd = { "Outline", "OutlineOpen" }, keys = { { "o", "Outline", desc = "Toggle outline" }, }, opts = { outline_window = { position = "right", width = 25, relative_width = true, auto_close = false, show_numbers = true, show_relative_numbers = true, wrap = false, show_cursorline = true, hide_cursor = true, focus_on_open = false, }, outline_items = { show_symbol_details = true, show_symbol_lineno = false, highlight_hovered_item = true, auto_set_cursor = true, auto_update_events = { follow = { "CursorMoved" }, items = { "InsertLeave", "WinEnter", "BufEnter", "BufWinEnter", "TabEnter", "BufWritePost" }, }, }, keymaps = { show_help = "?", close = { "", "q" }, goto_location = "", peek_location = "o", goto_and_close = "", restore_location = "", hover_symbol = "", toggle_preview = "K", rename_symbol = "r", code_actions = "a", fold = "h", unfold = "l", fold_toggle = "", fold_toggle_all = "", fold_all = "W", unfold_all = "E", fold_reset = "R", down_and_jump = "", up_and_jump = "", }, symbols = { icons = { File = { icon = "󰈔", hl = "Identifier" }, Module = { icon = "󰆧", hl = "Include" }, Namespace = { icon = "ó°…Ș", hl = "Include" }, Package = { icon = "󰏗", hl = "Include" }, Class = { icon = "𝓒", hl = "Type" }, Method = { icon = "ƒ", hl = "Function" }, Property = { icon = "", hl = "Identifier" }, Field = { icon = "󰆹", hl = "Identifier" }, Constructor = { icon = "", hl = "Special" }, Enum = { icon = "ℰ", hl = "Type" }, Interface = { icon = "󰜰", hl = "Type" }, Function = { icon = "ƒ", hl = "Function" }, Variable = { icon = "", hl = "Constant" }, Constant = { icon = "", hl = "Constant" }, String = { icon = "𝓐", hl = "String" }, Number = { icon = "#", hl = "Number" }, Boolean = { icon = "⊹", hl = "Boolean" }, Array = { icon = "ó°…Ș", hl = "Constant" }, Object = { icon = "⊿", hl = "Type" }, Key = { icon = "🔐", hl = "Type" }, Null = { icon = "NULL", hl = "Type" }, EnumMember = { icon = "", hl = "Identifier" }, Struct = { icon = "𝓱", hl = "Structure" }, Event = { icon = "đŸ—Č", hl = "Type" }, Operator = { icon = "+", hl = "Identifier" }, TypeParameter = { icon = "𝙏", hl = "Identifier" }, Component = { icon = "󰅮", hl = "Function" }, Fragment = { icon = "󰅮", hl = "Constant" }, TypeAlias = { icon = " ", hl = "Type" }, Parameter = { icon = "îȘ’ ", hl = "Identifier" }, StaticMethod = { icon = "îȘŒ ", hl = "Function" }, Macro = { icon = " ", hl = "Function" }, }, }, }, }