return {
  "stevearc/aerial.nvim",
  keys = {
    {'<F8>', '<cmd>AerialToggle<CR>', desc = 'toggle aerial window', mode = 'n'},
  },
  opts = {
    backends = {"lsp", "treesitter"},
    -- optionally use on_attach to set keymaps when aerial has attached to a buffer
    on_attach = function(bufnr)
      -- Jump forwards/backwards with '{' and '}'
      vim.keymap.set('n', '{', '<cmd>AerialPrev<CR>', {buffer = bufnr})
      vim.keymap.set('n', '}', '<cmd>AerialNext<CR>', {buffer = bufnr})
    end,
    -- filter_kind = false,
    filter_kind = {
      "Class",
      "Constructor",
      "Enum",
      "Function",
      "Interface",
      "Module",
      "Method",
      "Struct",
      "Variable",
      "Namespace",
      "Package",
      "Field",
      "Constant",
    },
    --manage_folds = true,
    link_tree_to_folds = false,
    -- Show box drawing characters for the tree hierarchy
    show_guides = true,

    -- Customize the characters used when show_guides = true
    guides = {
      -- When the child item has a sibling below it
      mid_item = "├─",
      -- When the child item is the last in the list
      last_item = "└─",
      -- When there are nested child guides to the right
      nested_top = "│ ",
      -- Raw indentation
      whitespace = "  ",
    },

  }
}
