1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-11-27 04:31:04 +01:00
nixvim/plugins/by-name/aerial/default.nix
saygo-png fd66a5c5be plugins/aerial: remove most settings declarations
Signed-off-by: saygo-png <saygo.mail@proton.me>
2025-11-14 21:52:24 +00:00

104 lines
3 KiB
Nix

{ lib, ... }:
let
inherit (lib.nixvim) defaultNullOpts;
in
lib.nixvim.plugins.mkNeovimPlugin {
name = "aerial";
package = "aerial-nvim";
description = "A code outline window for skimming and quick navigation.";
maintainers = [ lib.maintainers.GaetanLepage ];
settingsOptions = {
on_attach = defaultNullOpts.mkRaw "function(bufnr) end" ''
Call this function when aerial attaches to a buffer.
'';
on_first_symbols = defaultNullOpts.mkRaw "function(bufnr) end" ''
Call this function when aerial first sets symbols on a buffer.
'';
post_parse_symbol =
defaultNullOpts.mkRaw
''
function(bufnr, item, ctx)
return true
end
''
''
Invoked after each symbol is parsed, can be used to modify the parsed item, or to filter
it by returning `false`.
Arguments:
- `bufnr`: a neovim buffer number
- `item`: of type `aerial.Symbol`
- `ctx`: a record containing the following fields:
- `backend_name`: treesitter, lsp, man...
- `lang`: info about the language
- `symbols?`: specific to the lsp backend
- `symbol?`: specific to the lsp backend
- `syntax_tree?`: specific to the treesitter backend
- `match?`: specific to the treesitter backend, TS query match
'';
post_add_all_symbols =
defaultNullOpts.mkRaw
''
function(bufnr, items, ctx)
return items
end
''
''
Invoked after all symbols have been parsed and post-processed, allows to modify the
symbol structure before final display.
- `bufnr`: a neovim buffer number
- `items`: a collection of `aerial.Symbol` items, organized in a tree, with 'parent' and
'children' fields
- `ctx`: a record containing the following fields:
- `backend_name`: treesitter, lsp, man...
- `lang`: info about the language
- `symbols?`: specific to the lsp backend
- `syntax_tree?`: specific to the treesitter backend
'';
get_highlight =
defaultNullOpts.mkRaw
''
function(symbol, is_icon, is_collapsed)
-- return "MyHighlight" .. symbol.kind
end
''
''
Set this function to override the highlight groups for certain symbols.
'';
float = {
override =
defaultNullOpts.mkRaw
''
function(conf, source_winid)
-- This is the config that will be passed to nvim_open_win.
-- Change values here to customize the layout
return conf
end
''
''
Override the config for a specific window.
'';
};
};
settingsExample = {
backends = [
"treesitter"
"lsp"
"markdown"
"man"
];
attach_mode = "global";
disable_max_lines = 5000;
highlight_on_hover = true;
ignore.filetypes = [ "gomod" ];
};
}