plugins/quarto: init

Use neovim-plugin.mkNeovimPlugin and move quarto-nvim to quarto

Rename tests to match convention

Passing tests locally, add required dependencies

Utilize `let` - `in` block

Remove extraPlugins

plugins/quarto: init

plugin/quarto: init

plugins/quarto: init

plugins/quarto: init
This commit is contained in:
bpatel347 2024-11-08 16:56:53 -05:00 committed by nix-infra-bot
parent 9d99d7cfdb
commit 5bc3fa6996
2 changed files with 176 additions and 0 deletions

View file

@ -0,0 +1,101 @@
{ lib, pkgs, ... }:
let
inherit (lib.nixvim) defaultNullOpts;
inherit (lib) types;
in
lib.nixvim.neovim-plugin.mkNeovimPlugin {
name = "quarto";
originalName = "quarto-nvim";
package = "quarto-nvim";
maintainers = [ lib.maintainers.BoneyPatel ];
settingsOptions = {
debug = defaultNullOpts.mkBool false ''
Enables or disables debugging.
'';
closePreviewOnExit = defaultNullOpts.mkBool true ''
Closes preview on exit.
'';
lspFeatures = {
enabled = defaultNullOpts.mkBool true ''
Enables LSP features.
'';
chunks = defaultNullOpts.mkStr "curly" ''
Sets chunk delimiter style.
'';
languages =
defaultNullOpts.mkListOf types.str
[
"r"
"python"
"julia"
"bash"
"html"
]
''
List of supported languages.
'';
diagnostics = {
enabled = defaultNullOpts.mkBool true ''
Enables diagnostics.
'';
triggers = defaultNullOpts.mkListOf types.str [ "BufWritePost" ] ''
Sets triggers for diagnostics.
'';
};
completion = {
enabled = defaultNullOpts.mkBool true ''
Enables completion.
'';
};
};
codeRunner = {
enabled = defaultNullOpts.mkBool false ''
Enables or disables the code runner.
'';
default_method =
defaultNullOpts.mkEnum
[
"molten"
"slime"
]
null
''
Sets the default code runner method. Either "molten", "slime", or `null`.
'';
ft_runners = defaultNullOpts.mkAttrsOf types.str { } ''
Specifies filetype to runner mappings.
'';
never_run = defaultNullOpts.mkListOf types.str [ "yaml" ] ''
List of filetypes that are never sent to a code runner.
'';
};
};
settingsExample = {
debug = false;
lspFeatures = {
enabled = false;
diagnostics = {
enabled = true;
triggers = [ "BufWritePost" ];
};
};
codeRunner = {
enabled = false;
default_method = "vim-slime";
};
};
}

View file

@ -0,0 +1,75 @@
{
empty = {
plugins.quarto.enable = true;
};
defaults = {
plugins.quarto = {
enable = true;
settings = {
debug = false;
closePreviewOnExit = true;
lspFeatures = {
enabled = true;
chunks = "curly";
languages = [
"r"
"python"
"julia"
"bash"
"html"
];
diagnostics = {
enabled = true;
triggers = [ "BufWritePost" ];
};
completion = {
enabled = true;
};
};
codeRunner = {
enabled = false;
default_method = null;
ft_runners = { };
never_run = [ "yaml" ];
};
};
};
};
example = {
plugins.quarto = {
enable = true;
settings = {
debug = true;
closePreviewOnExit = false;
lspFeatures = {
enabled = true;
chunks = "curly";
languages = [
"r"
"python"
"julia"
];
diagnostics = {
enabled = true;
triggers = [ "BufWritePost" ];
};
completion = {
enabled = true;
};
};
codeRunner = {
enabled = true;
default_method = "molten";
ft_runners = {
python = "molten";
};
never_run = [ "yaml" ];
};
};
};
};
}