langauges: add defaultText to all values dependent on toggles
Some checks are pending
Set up binary cache / cachix (default) (push) Waiting to run
Set up binary cache / cachix (maximal) (push) Waiting to run
Set up binary cache / cachix (nix) (push) Waiting to run
Treewide Checks / Validate flake (push) Waiting to run
Treewide Checks / Check formatting (push) Waiting to run
Treewide Checks / Check source tree for typos (push) Waiting to run
Treewide Checks / Validate documentation builds (push) Waiting to run
Treewide Checks / Validate documentation builds-1 (push) Waiting to run
Treewide Checks / Validate documentation builds-2 (push) Waiting to run
Treewide Checks / Validate documentation builds-3 (push) Waiting to run
Treewide Checks / Validate hyperlinks in documentation sources (push) Waiting to run
Treewide Checks / Validate Editorconfig conformance (push) Waiting to run
Build and deploy documentation / Check latest commit (push) Waiting to run
Build and deploy documentation / publish (push) Blocked by required conditions

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Idf55a40882e53006048fdd876c869f906a6a6964
This commit is contained in:
raf 2026-03-12 09:52:03 +03:00
commit c56ec752ba
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
55 changed files with 895 additions and 196 deletions

View file

@ -6,7 +6,7 @@
}: let
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) mkOption mkEnableOption literalMD;
inherit (lib.options) mkOption mkEnableOption literalMD literalExpression;
inherit (lib.strings) optionalString;
inherit (lib.lists) isList;
inherit (lib.attrsets) attrNames;
@ -29,12 +29,22 @@ in {
enable = mkEnableOption "Rust language support";
treesitter = {
enable = mkEnableOption "Rust treesitter" // {default = config.vim.languages.enableTreesitter;};
enable =
mkEnableOption "Rust treesitter"
// {
default = config.vim.languages.enableTreesitter;
defaultText = literalExpression "config.vim.languages.enableTreesitter";
};
package = mkGrammarOption pkgs "rust";
};
lsp = {
enable = mkEnableOption "Rust LSP support (rust-analyzer with extra tools)" // {default = config.vim.lsp.enable;};
enable =
mkEnableOption "Rust LSP support (rust-analyzer with extra tools)"
// {
default = config.vim.lsp.enable;
defaultText = literalExpression "config.vim.lsp.enable";
};
package = mkOption {
description = "rust-analyzer package, or the command to run as a list of strings";
example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]'';
@ -80,6 +90,7 @@ in {
description = "Rust Debug Adapter support";
type = bool;
default = config.vim.languages.enableDAP;
defaultText = literalExpression "config.vim.languages.enableDAP";
};
package = mkOption {
@ -108,14 +119,39 @@ in {
setupOpts = mkPluginSetupOption "crates-nvim" {
lsp = {
enabled = mkEnableOption "crates.nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
actions = mkEnableOption "actions for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
completion = mkEnableOption "completion for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
hover = mkEnableOption "hover actions for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
enabled =
mkEnableOption "crates.nvim's in-process language server"
// {
default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
actions =
mkEnableOption "actions for crates-nvim's in-process language server"
// {
default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
completion =
mkEnableOption "completion for crates-nvim's in-process language server"
// {
default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
hover =
mkEnableOption "hover actions for crates-nvim's in-process language server"
// {
default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
};
completion = {
crates = {
enabled = mkEnableOption "completion for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
enabled =
mkEnableOption "completion for crates-nvim's in-process language server"
// {
default = cfg.extensions.crates-nvim.enable;
defaultText = literalExpression "config.vim.languages.rust.extensions.crates-nvim.enable";
};
max_results = mkOption {
description = "The maximum number of search results to display";
type = int;