diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f55b847c..45e4eb9b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -19,11 +19,6 @@ unavailable as they have been refactored out of the main none-ls repository upstream. -- `vim.useSystemClipboard` has been deprecated as a part of removing most - top-level convenience options, and should instead be configured in the new - module interface. You may set [](#opt-vim.clipboard.registers) appropriately - to configure Neovim to use the system clipboard. - [NotAShelf](https://github.com/notashelf): [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim @@ -96,11 +91,6 @@ options for `vim.diagnostic.config()` can now be customized through the [](#opt-vim.diagnostics.config) in nvf. -- Add `vim.clipboard` module for easily managing Neovim clipboard providers and - relevant packages in a simple UI. - - This deprecates `vim.useSystemClipboard` as well, see breaking changes - section above for migration options. - [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim @@ -387,8 +377,3 @@ - Add missing `right_align` option for existing `renderer.icons` options. - Add missing `render.icons` options (`hidden_placement`, `diagnostics_placement`, and `bookmarks_placement`). - -[cramt](https://github.com/cramt): - -- Add `rubylsp` option in `vim.languages.ruby.lsp.server` to use shopify's - ruby-lsp language server diff --git a/flake/blink/default.nix b/flake/blink/default.nix index ef1498d8..08c87073 100644 --- a/flake/blink/default.nix +++ b/flake/blink/default.nix @@ -14,15 +14,8 @@ rustPlatform.buildRustPackage (finalAttrs: { hash = "sha256-bKe8SSg1HPWE7b4iRQJwiOVCrvvgttuHCOIa4U/38AY="; }; - forceShare = [ - "man" - "info" - ]; - postInstall = '' cp -r {lua,plugin} "$out" - mkdir -p "$out/doc" - cp 'doc/'*'.txt' "$out/doc/" mkdir -p "$out/target" mv "$out/lib" "$out/target/release" ''; diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index 91d8ef28..86497130 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -111,15 +111,6 @@ in { under the diagnostics module. Please consider using one of 'vim.diagnostics.config' or 'vim.luaConfigRC' to configure LSP lines for Neovim through its own diagnostics API. '') - - # 2025-05-04 - (mkRemovedOptionModule ["vim" "useSystemClipboard"] '' - Clipboard behaviour should now be controlled through the new, more fine-grained module - interface found in 'vim.clipboard'. To replicate previous behaviour, you may either - add 'vim.opt.clipboard:append("unnamedplus")' in luaConfigRC, or preferably set it - in 'vim.clipboard.registers'. Please see the documentation for the new module for more - details, or open an issue if you are confused. - '') ] # Migrated via batchRenameOptions. Further batch renames must be below this line. diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index 195ef5e7..47bfe500 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -34,6 +34,12 @@ in { description = "Enable syntax highlighting"; }; + useSystemClipboard = mkOption { + type = bool; + default = false; + description = "Make use of the clipboard for default yank and paste operations. Don't use * and +"; + }; + lineNumberMode = mkOption { type = enum ["relative" "number" "relNumber" "none"]; default = "relNumber"; @@ -138,6 +144,10 @@ in { # to pre-set Neovim options. Fear not, though as the Lua DAG is still as powerful as it # could be. luaConfigRC.basic = entryAfter ["globalsScript"] '' + ${optionalString cfg.useSystemClipboard '' + vim.opt.clipboard:append("unnamedplus") + ''} + ${optionalString cfg.syntaxHighlighting '' vim.cmd("syntax on") ''} diff --git a/modules/neovim/init/clipboard.nix b/modules/neovim/init/clipboard.nix deleted file mode 100644 index 011effaf..00000000 --- a/modules/neovim/init/clipboard.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - inherit (lib.modules) mkIf; - inherit (lib.options) mkOption mkEnableOption mkPackageOption; - inherit (lib.types) nullOr either str listOf submodule; - inherit (lib.attrsets) mapAttrs mapAttrsToList filterAttrs; - cfg = config.vim.clipboard; -in { - options = { - vim = { - clipboard = { - enable = mkEnableOption '' - clipboard management for Neovim. Users may still choose to manage their - clipboard through [](#opt-vim.options) should they wish to avoid using - this module. - ''; - - registers = mkOption { - type = either str (listOf str); - default = ""; - example = "unnamedplus"; - description = '' - The register to be used by the Neovim clipboard. Recognized types are: - - * unnamed: Vim will use the clipboard register `"*"` for all yank, delete, - change and put operations which would normally go to the unnamed register. - - * unnamedplus: A variant of the "unnamed" flag which uses the clipboard register - `"+"` ({command}`:h quoteplus`) instead of register `"*"` for all yank, delete, - change and put operations which would normally go to the unnamed register. - - When `unnamed` and `unnamedplus` is included simultaneously yank and delete - operations (but not put) will additionally copy the text into register `"*"`. - - Please see {command}`:h clipboard` for more details. - - ''; - }; - - providers = mkOption { - type = submodule { - options = let - clipboards = { - # name = "package name"; - wl-copy = "wl-clipboard"; - xclip = "xclip"; - xsel = "xsel"; - }; - in - mapAttrs (name: pname: { - enable = mkEnableOption name; - package = mkPackageOption pkgs pname {nullable = true;}; - }) - clipboards; - }; - default = {}; - description = '' - Clipboard providers for which packages will be added to nvf's - {option}`extraPackages`. The `package` field may be set to `null` - if related packages are already found in system packages to - potentially reduce closure sizes. - ''; - }; - }; - }; - }; - - config = mkIf cfg.enable { - vim = { - options.clipboard = cfg.registers; - extraPackages = mapAttrsToList (_: v: v.package) ( - filterAttrs (_: v: v.enable && v.package != null) cfg.providers - ); - }; - }; -} diff --git a/modules/neovim/init/default.nix b/modules/neovim/init/default.nix index 30a481a1..7db6f2ef 100644 --- a/modules/neovim/init/default.nix +++ b/modules/neovim/init/default.nix @@ -2,7 +2,6 @@ imports = [ ./autocmds.nix ./basic.nix - ./clipboard.nix ./debug.nix ./diagnostics.nix ./highlight.nix diff --git a/modules/plugins/languages/ruby.nix b/modules/plugins/languages/ruby.nix index 1f3ce82f..ab0e0905 100644 --- a/modules/plugins/languages/ruby.nix +++ b/modules/plugins/languages/ruby.nix @@ -9,8 +9,6 @@ inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; inherit (lib.nvim.types) mkGrammarOption diagnostics; - inherit (lib.nvim.lua) expToLua; - inherit (lib.lists) isList; inherit (lib.types) either listOf package str enum; cfg = config.vim.languages.ruby; @@ -26,25 +24,7 @@ flags = { debounce_text_changes = 150, }, - cmd = ${ - if isList cfg.lsp.package - then expToLua cfg.lsp.package - else ''{ "${cfg.lsp.package}/bin/solargraph", "stdio" }'' - } - } - ''; - }; - rubylsp = { - package = pkgs.ruby-lsp; - lspConfig = '' - lspconfig.ruby_lsp.setup { - capabilities = capabilities, - on_attach = default_on_attach, - cmd = ${ - if isList cfg.lsp.package - then expToLua cfg.lsp.package - else ''{ "${cfg.lsp.package}/bin/ruby-lsp" }'' - } + cmd = { "${pkgs.solargraph}/bin/solargraph", "stdio" } } ''; };