nixvimConfig/plugins/aerial/default.nix

74 lines
1.8 KiB
Nix
Raw Normal View History

2024-08-22 09:54:35 +02:00
{ lib, pkgs, ...}:
{
extra = {
packages = [
(import ./package.nix { inherit lib pkgs; })
];
2024-09-09 11:48:10 +02:00
config = /*lua*/ ''
2024-08-22 09:54:35 +02:00
require("aerial").setup({
backends = { "lsp", "treesitter", "markdown", "man" },
2024-09-09 11:48:10 +02:00
layout = { min_width = 28, placement = "window", default_direction = "prefer_left" },
2024-08-22 09:54:35 +02:00
show_guides = true,
filter_kind = false,
guides = {
mid_item = " ",
last_item = " ",
nested_top = " ",
whitespace = " ",
},
autojump = true,
keymaps = {
["[y"] = "actions.prev",
["]y"] = "actions.next",
["[Y"] = "actions.prev_up",
["]Y"] = "actions.next_up",
2024-09-09 11:48:10 +02:00
["|"] = "actions.jump_vsplit",
["\\"] = "actions.jump_split",
2024-08-22 09:54:35 +02:00
["{"] = false,
["}"] = false,
["[["] = false,
["]]"] = false,
2024-09-09 11:48:10 +02:00
["<C-v>"] = false,
["<C-s>"] = false,
2024-08-22 09:54:35 +02:00
},
attach_mode = "global",
})
'';
};
rootOpts.keymaps = [
2024-08-30 11:48:39 +02:00
{
mode = "n";
key = "<leader>lO";
2024-09-09 11:48:10 +02:00
action.__raw = ''function() require("aerial").open() end'';
2024-08-30 11:48:39 +02:00
options.desc = "Symbols outline (left)";
}
2024-08-22 09:54:35 +02:00
{
mode = "n";
key = "<leader>lo";
2024-08-30 11:48:39 +02:00
action.__raw = ''function() require("aerial").open({direction = "float"}) end'';
options.desc = "Symbols outline (floating)";
}
{
mode = "n";
key = "]S";
action.__raw = ''function() require("aerial").next() end'';
options.desc = "Next symbol";
}
{
mode = "n";
key = "[S";
action.__raw = ''function() require("aerial").prev() end'';
options.desc = "Previous symbol";
2024-08-22 09:54:35 +02:00
}
{
mode = "n";
key = "<leader>fs";
action.__raw = ''require("telescope").extensions.aerial.aerial'';
options.desc = "Find symbols";
}
];
}