mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 08:35:43 +02:00
plugins/overseer: init
This commit is contained in:
parent
a20d95625b
commit
add9aca76e
2 changed files with 309 additions and 0 deletions
132
plugins/by-name/overseer/default.nix
Normal file
132
plugins/by-name/overseer/default.nix
Normal file
|
@ -0,0 +1,132 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.nixvim) defaultNullOpts;
|
||||
inherit (lib) types;
|
||||
in
|
||||
lib.nixvim.neovim-plugin.mkNeovimPlugin {
|
||||
name = "overseer";
|
||||
originalName = "overseer.nvim";
|
||||
package = "overseer-nvim";
|
||||
|
||||
maintainers = [ lib.maintainers.khaneliman ];
|
||||
|
||||
settingsOptions = {
|
||||
strategy = defaultNullOpts.mkStr "terminal" ''
|
||||
Default task strategy.
|
||||
'';
|
||||
|
||||
templates = defaultNullOpts.mkListOf types.str [ "builtin" ] ''
|
||||
Template modules to load.
|
||||
'';
|
||||
|
||||
auto_detect_success_color = defaultNullOpts.mkBool true ''
|
||||
When true, tries to detect a green color from your colorscheme to use for success highlight.
|
||||
'';
|
||||
|
||||
dap = defaultNullOpts.mkBool true ''
|
||||
Whether to patch nvim-dap to support preLaunchTask and postDebugTask
|
||||
'';
|
||||
|
||||
task_list =
|
||||
defaultNullOpts.mkAttrsOf types.anything
|
||||
{
|
||||
default_detail = 1;
|
||||
max_width = [
|
||||
100
|
||||
0.2
|
||||
];
|
||||
min_width = [
|
||||
40
|
||||
0.1
|
||||
];
|
||||
width = null;
|
||||
max_height = [
|
||||
20
|
||||
0.1
|
||||
];
|
||||
min_height = 8;
|
||||
height = null;
|
||||
separator = "────────────────────────────────────────";
|
||||
direction = "bottom";
|
||||
bindings = {
|
||||
"?" = "ShowHelp";
|
||||
"g?" = "ShowHelp";
|
||||
"<CR>" = "RunAction";
|
||||
"<C-e>" = "Edit";
|
||||
"o" = "Open";
|
||||
"<C-v>" = "OpenVsplit";
|
||||
"<C-s>" = "OpenSplit";
|
||||
"<C-f>" = "OpenFloat";
|
||||
"<C-q>" = "OpenQuickFix";
|
||||
"p" = "TogglePreview";
|
||||
"<C-l>" = "IncreaseDetail";
|
||||
"<C-h>" = "DecreaseDetail";
|
||||
"L" = "IncreaseAllDetail";
|
||||
"H" = "DecreaseAllDetail";
|
||||
"[" = "DecreaseWidth";
|
||||
"]" = "IncreaseWidth";
|
||||
"{" = "PrevTask";
|
||||
"}" = "NextTask";
|
||||
"<C-k>" = "ScrollOutputUp";
|
||||
"<C-j>" = "ScrollOutputDown";
|
||||
"q" = "Close";
|
||||
};
|
||||
}
|
||||
''The task list displays all tasks that have been created. It shows the task status, name, and a summary of the task output.'';
|
||||
|
||||
task_editor = {
|
||||
bindings =
|
||||
defaultNullOpts.mkAttrsOf types.anything
|
||||
{
|
||||
i = {
|
||||
"<CR>" = "NextOrSubmit";
|
||||
"<C-s>" = "Submit";
|
||||
"<Tab>" = "Next";
|
||||
"<S-Tab>" = "Prev";
|
||||
"<C-c>" = "Cancel";
|
||||
};
|
||||
n = {
|
||||
"<CR>" = "NextOrSubmit";
|
||||
"<C-s>" = "Submit";
|
||||
"<Tab>" = "Next";
|
||||
"<S-Tab>" = "Prev";
|
||||
"q" = "Cancel";
|
||||
"?" = "ShowHelp";
|
||||
};
|
||||
}
|
||||
''
|
||||
Set keymap to false to remove default behavior.
|
||||
You can add custom keymaps here as well (anything vim.keymap.set accepts).
|
||||
'';
|
||||
};
|
||||
|
||||
task_launcher = {
|
||||
bindings =
|
||||
defaultNullOpts.mkAttrsOf types.anything
|
||||
{
|
||||
i = {
|
||||
"<C-s>" = "Submit";
|
||||
"<C-c>" = "Cancel";
|
||||
};
|
||||
n = {
|
||||
"<CR>" = "Submit";
|
||||
"<C-s>" = "Submit";
|
||||
"q" = "Cancel";
|
||||
"?" = "ShowHelp";
|
||||
};
|
||||
}
|
||||
''
|
||||
Set keymap to false to remove default behavior.
|
||||
You can add custom keymaps here as well (anything vim.keymap.set accepts).
|
||||
'';
|
||||
};
|
||||
|
||||
actions = defaultNullOpts.mkAttrsOf types.anything { } ''
|
||||
They are simply a custom function that will do something to or with a task.
|
||||
Please refer to the documentation for details of available builtin actions.
|
||||
'';
|
||||
};
|
||||
}
|
177
tests/test-sources/plugins/by-name/overseer/default.nix
Normal file
177
tests/test-sources/plugins/by-name/overseer/default.nix
Normal file
|
@ -0,0 +1,177 @@
|
|||
{
|
||||
empty = {
|
||||
plugins.overseer.enable = true;
|
||||
};
|
||||
|
||||
default = {
|
||||
plugins.overseer = {
|
||||
settings = {
|
||||
strategy = "terminal";
|
||||
templates = [ "builtin" ];
|
||||
auto_detect_success_color = true;
|
||||
dap = true;
|
||||
task_list = {
|
||||
default_detail = 1;
|
||||
max_width = [
|
||||
100
|
||||
0.2
|
||||
];
|
||||
min_width = [
|
||||
40
|
||||
0.1
|
||||
];
|
||||
width = null;
|
||||
max_height = [
|
||||
20
|
||||
0.1
|
||||
];
|
||||
min_height = 8;
|
||||
height = null;
|
||||
separator = "────────────────────────────────────────";
|
||||
direction = "bottom";
|
||||
bindings = {
|
||||
"?" = "ShowHelp";
|
||||
"g?" = "ShowHelp";
|
||||
"<CR>" = "RunAction";
|
||||
"<C-e>" = "Edit";
|
||||
"o" = "Open";
|
||||
"<C-v>" = "OpenVsplit";
|
||||
"<C-s>" = "OpenSplit";
|
||||
"<C-f>" = "OpenFloat";
|
||||
"<C-q>" = "OpenQuickFix";
|
||||
"p" = "TogglePreview";
|
||||
"<C-l>" = "IncreaseDetail";
|
||||
"<C-h>" = "DecreaseDetail";
|
||||
"L" = "IncreaseAllDetail";
|
||||
"H" = "DecreaseAllDetail";
|
||||
"[" = "DecreaseWidth";
|
||||
"]" = "IncreaseWidth";
|
||||
"{" = "PrevTask";
|
||||
"}" = "NextTask";
|
||||
"<C-k>" = "ScrollOutputUp";
|
||||
"<C-j>" = "ScrollOutputDown";
|
||||
"q" = "Close";
|
||||
};
|
||||
};
|
||||
actions = { };
|
||||
form = {
|
||||
border = "rounded";
|
||||
zindex = 40;
|
||||
min_width = 80;
|
||||
max_width = 0.9;
|
||||
width = null;
|
||||
min_height = 10;
|
||||
max_height = 0.9;
|
||||
height = null;
|
||||
win_opts = {
|
||||
winblend = 0;
|
||||
};
|
||||
};
|
||||
task_launcher = {
|
||||
bindings = {
|
||||
i = {
|
||||
"<C-s>" = "Submit";
|
||||
"<C-c>" = "Cancel";
|
||||
};
|
||||
n = {
|
||||
"<CR>" = "Submit";
|
||||
"<C-s>" = "Submit";
|
||||
"q" = "Cancel";
|
||||
"?" = "ShowHelp";
|
||||
};
|
||||
};
|
||||
};
|
||||
task_editor = {
|
||||
bindings = {
|
||||
i = {
|
||||
"<CR>" = "NextOrSubmit";
|
||||
"<C-s>" = "Submit";
|
||||
"<Tab>" = "Next";
|
||||
"<S-Tab>" = "Prev";
|
||||
"<C-c>" = "Cancel";
|
||||
};
|
||||
n = {
|
||||
"<CR>" = "NextOrSubmit";
|
||||
"<C-s>" = "Submit";
|
||||
"<Tab>" = "Next";
|
||||
"<S-Tab>" = "Prev";
|
||||
"q" = "Cancel";
|
||||
"?" = "ShowHelp";
|
||||
};
|
||||
};
|
||||
};
|
||||
confirm = {
|
||||
border = "rounded";
|
||||
zindex = 40;
|
||||
min_width = 20;
|
||||
max_width = 0.5;
|
||||
width = null;
|
||||
min_height = 6;
|
||||
max_height = 0.9;
|
||||
height = null;
|
||||
win_opts = {
|
||||
winblend = 0;
|
||||
};
|
||||
};
|
||||
task_win = {
|
||||
padding = 2;
|
||||
border = "rounded";
|
||||
win_opts = {
|
||||
winblend = 0;
|
||||
};
|
||||
};
|
||||
help_win = {
|
||||
border = "rounded";
|
||||
win_opts = { };
|
||||
};
|
||||
component_aliases = {
|
||||
default = [
|
||||
{
|
||||
__unkeyed-1 = "display_duration";
|
||||
detail_level = 2;
|
||||
}
|
||||
"on_output_summarize"
|
||||
"on_exit_set_status"
|
||||
"on_complete_notify"
|
||||
{
|
||||
__unkeyed-2 = "on_complete_dispose";
|
||||
require_view = [
|
||||
"SUCCESS"
|
||||
"FAILURE"
|
||||
];
|
||||
}
|
||||
];
|
||||
default_vscode = [
|
||||
"default"
|
||||
"on_result_diagnostics"
|
||||
];
|
||||
};
|
||||
bundles = {
|
||||
save_task_opts = {
|
||||
bundleable = true;
|
||||
};
|
||||
autostart_on_load = true;
|
||||
};
|
||||
preload_components = [ ];
|
||||
default_template_prompt = "allow";
|
||||
template_timeout = 3000;
|
||||
template_cache_threshold = 100;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = {
|
||||
plugins.overseer = {
|
||||
enable = true;
|
||||
settings = {
|
||||
task_launcher = {
|
||||
"<C-s>" = false;
|
||||
"<C-m>" = {
|
||||
action = "<cmd>make<CR>";
|
||||
options.silent = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue