mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
125 lines
3.3 KiB
Nix
125 lines
3.3 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
...
|
|
} @ args: let
|
|
helpers = import ../helpers.nix {inherit lib;};
|
|
in
|
|
with lib;
|
|
with helpers.vim-plugin;
|
|
mkPlugin args {
|
|
name = "vim-slime";
|
|
package = pkgs.vimPlugins.vim-slime;
|
|
globalPrefix = "slime_";
|
|
|
|
options = {
|
|
target = mkDefaultOpt {
|
|
type = types.enum [
|
|
"dtach"
|
|
"kitty"
|
|
"neovim"
|
|
"screen"
|
|
"tmux"
|
|
"vimterminal"
|
|
"wezterm"
|
|
"whimrepl"
|
|
"x11"
|
|
"zellij"
|
|
];
|
|
description = ''
|
|
Which backend vim-slime should use.
|
|
|
|
Default: "screen"
|
|
'';
|
|
example = "dtach";
|
|
};
|
|
|
|
vimterminalCmd = mkDefaultOpt {
|
|
global = "vimterminal_cmd";
|
|
type = types.str;
|
|
description = "The vim terminal command to execute.";
|
|
};
|
|
|
|
noMappings = mkDefaultOpt {
|
|
global = "no_mappings";
|
|
type = types.bool;
|
|
description = ''
|
|
Whether to disable the default mappings.
|
|
|
|
Default: `false`
|
|
'';
|
|
};
|
|
|
|
pasteFile = mkDefaultOpt {
|
|
global = "paste_file";
|
|
type = types.str;
|
|
description = ''
|
|
Required to transfer data from vim to GNU screen or tmux.
|
|
Setting this explicitly can work around some occasional portability issues.
|
|
whimrepl does not require or support this setting.
|
|
|
|
Default: "$HOME/.slime_paste"
|
|
'';
|
|
};
|
|
|
|
preserveCurpos = mkDefaultOpt {
|
|
global = "preserve_curpos";
|
|
type = types.bool;
|
|
description = ''
|
|
Whether to preserve cursor position when sending a line or paragraph.
|
|
|
|
Default: `true`
|
|
'';
|
|
};
|
|
|
|
defaultConfig = mkDefaultOpt {
|
|
global = "default_config";
|
|
type = with helpers.nixvimTypes; attrsOf (either str rawLua);
|
|
description = ''
|
|
Pre-filled prompt answer.
|
|
|
|
Default: `null`
|
|
|
|
Examples:
|
|
- `tmux`:
|
|
```nix
|
|
{
|
|
socket_name = "default";
|
|
target_pane = "{last}";
|
|
}
|
|
```
|
|
- `zellij`:
|
|
```nix
|
|
{
|
|
session_id = "current";
|
|
relative_pane = "right";
|
|
}
|
|
```
|
|
'';
|
|
};
|
|
|
|
dontAskDefault = mkDefaultOpt {
|
|
global = "dont_ask_default";
|
|
type = types.bool;
|
|
description = ''
|
|
Whether to bypass the prompt and use the specified default configuration options.
|
|
|
|
Default: `false`
|
|
'';
|
|
};
|
|
|
|
bracketedPaste = mkDefaultOpt {
|
|
global = "bracketed_paste";
|
|
type = with types; nullOr bool;
|
|
description = ''
|
|
Sometimes REPL are too smart for their own good, e.g. autocompleting a bracket that should
|
|
not be autocompleted when pasting code from a file.
|
|
In this case it can be useful to rely on bracketed-paste
|
|
(https://cirw.in/blog/bracketed-paste).
|
|
Luckily, tmux knows how to handle that. See tmux's manual.
|
|
|
|
Default: `false`
|
|
'';
|
|
};
|
|
};
|
|
}
|