diff --git a/configuration.nix b/configuration.nix index 3b8e3d25..01a99524 100644 --- a/configuration.nix +++ b/configuration.nix @@ -76,7 +76,6 @@ isMaximal: { csharp.enable = isMaximal; julia.enable = isMaximal; vala.enable = isMaximal; - nu.enable = false; }; visuals = { diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index 9f7fba87..dccece29 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -315,7 +315,6 @@ To migrate to `nixfmt`, simply change `vim.languages.nix.format.type` to the Typst language module. - Add LSP and Treesitter support for Assembly under `vim.languages.assembly` - Move [which-key](https://github.com/folke/which-key.nvim) to the new spec -- Add LSP and Treesitter support for Nushell under `vim.languages.nu` [Bloxx12](https://github.com/Bloxx12) diff --git a/flake.lock b/flake.lock index 5e201d89..816412e5 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732617236, - "narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=", + "lastModified": 1730958623, + "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e", + "rev": "85f7e662eda4fa3a995556527c87b2524b691933", "type": "github" }, "original": { diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index 58662354..d074cb8c 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -33,7 +33,6 @@ in { ./zig.nix ./csharp.nix ./julia.nix - ./nu.nix ]; options.vim.languages = { diff --git a/modules/plugins/languages/nu.nix b/modules/plugins/languages/nu.nix deleted file mode 100644 index eab0385c..00000000 --- a/modules/plugins/languages/nu.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ - lib, - pkgs, - config, - ... -}: let - inherit (lib.options) mkEnableOption mkOption; - inherit (lib.types) str either package listOf; - inherit (lib.modules) mkIf mkMerge; - inherit (lib.nvim.lua) expToLua; - inherit (lib.nvim.types) mkGrammarOption; - inherit (builtins) isList; - - defaultServer = "nushell"; - servers = { - nushell = { - package = pkgs.nushell; - lspConfig = '' - lspconfig.nushell.setup{ - capabilities = capabilities, - on_attach = default_on_attach, - cmd = ${ - if isList cfg.lsp.package - then expToLua cfg.lsp.package - else ''{"${cfg.lsp.package}/bin/nu", "--no-config-file", "--lsp"}'' - } - } - ''; - }; - }; - - cfg = config.vim.languages.nu; -in { - options.vim.languages.nu = { - enable = mkEnableOption "Nu language support"; - - treesitter = { - enable = mkEnableOption "Nu treesitter" // {default = config.vim.languages.enableTreesitter;}; - package = mkGrammarOption pkgs "nu"; - }; - - lsp = { - enable = mkEnableOption "Nu LSP support" // {default = config.vim.languages.enableLSP;}; - server = mkOption { - type = str; - default = defaultServer; - description = "Nu LSP server to use"; - }; - - package = mkOption { - type = either package (listOf str); - default = servers.${cfg.lsp.server}.package; - example = ''[(lib.getExe pkgs.nushell) "--lsp"]''; - description = "Nu LSP server package, or the command to run as a list of strings"; - }; - }; - }; - - config = mkIf cfg.enable (mkMerge [ - (mkIf cfg.treesitter.enable { - vim.treesitter.enable = true; - vim.treesitter.grammars = [cfg.treesitter.package]; - }) - - (mkIf cfg.lsp.enable { - vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources.nu-lsp = servers.${cfg.lsp.server}.lspConfig; - }) - ]); -} diff --git a/modules/wrapper/lazy/config.nix b/modules/wrapper/lazy/config.nix index 6a9a6ea2..9675e030 100644 --- a/modules/wrapper/lazy/config.nix +++ b/modules/wrapper/lazy/config.nix @@ -3,7 +3,7 @@ config, ... }: let - inherit (builtins) toJSON typeOf head length filter concatLists concatStringsSep tryEval; + inherit (builtins) toJSON typeOf head length filter concatLists concatStringsSep; inherit (lib.attrsets) mapAttrsToList; inherit (lib.modules) mkIf mkMerge; inherit (lib.generators) mkLuaInline; @@ -21,36 +21,10 @@ else keySpec.action; }; - toLuaLznSpec = name: spec: let - packageName = - if typeOf spec.package == "string" - then spec.package - else if (spec.package ? pname && (tryEval spec.package.pname).success) - then spec.package.pname - else spec.package.name; - in + toLuaLznSpec = name: spec: (removeAttrs spec ["package" "setupModule" "setupOpts" "keys"]) // { - "@1" = - if spec.package != null && packageName != name && spec.load == null - then - abort '' - vim.lazy.plugins.${name} does not match the package name ${packageName}. - - Please either: - - rename it to vim.lazy.plugins.${packageName}, or - - if you intend to use a custom loader, specify a - vim.lazy.plugins.${name}.load function. - '' - else if spec.package == null && spec.load == null - then - abort '' - vim.lazy.plugins.${name} has null package but no load function given. - - Please either specify a package, or (if you know what you're doing) provide a - custom load function. - '' - else name; + "@1" = name; beforeAll = if spec.beforeAll != null then @@ -88,7 +62,7 @@ if spec.load != null then mkLuaInline '' - function(name) + funcion() ${spec.load} end '' @@ -102,7 +76,7 @@ }; lznSpecs = mapAttrsToList toLuaLznSpec cfg.plugins; - pluginPackages = filter (x: x != null) (mapAttrsToList (_: plugin: plugin.package) cfg.plugins); + pluginPackages = mapAttrsToList (_: plugin: plugin.package) cfg.plugins; specToNotLazyConfig = _: spec: '' do diff --git a/modules/wrapper/lazy/lazy.nix b/modules/wrapper/lazy/lazy.nix index e0dbea85..56ec0022 100644 --- a/modules/wrapper/lazy/lazy.nix +++ b/modules/wrapper/lazy/lazy.nix @@ -66,12 +66,8 @@ lznPluginType = submodule { options = { package = mkOption { - type = nullOr pluginType; - description = '' - Plugin package. - - If null, a custom load function must be provided - ''; + type = pluginType; + description = "Plugin package"; }; setupModule = mkOption { @@ -177,7 +173,7 @@ description = '' Lua code to override the `vim.g.lz_n.load()` function for a single plugin. - This will be wrapped in a `function(name) ... end`. + This will be wrapped in a function. ''; }; };