mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +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