diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 03d4d010..36209ff7 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -13,8 +13,4 @@ [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim -- Add Haskell support under `vim.languages.haskell` using [haskell-tools.nvim]. - -[diniamo](https://github.com/diniamo): - -- Add Odin support under `vim.languages.odin`. +- Add Haskell support under `vim.languages.haskell` using [haskell-tools.nvim] diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index ee9f55e1..48945b38 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -37,7 +37,6 @@ in { ./csharp.nix ./julia.nix ./nu.nix - ./odin.nix ]; options.vim.languages = { diff --git a/modules/plugins/languages/haskell.nix b/modules/plugins/languages/haskell.nix index 62f4cd41..f8e17b75 100644 --- a/modules/plugins/languages/haskell.nix +++ b/modules/plugins/languages/haskell.nix @@ -92,7 +92,7 @@ in { cmd = ${ if isList cfg.dap.package then expToLua cfg.dap.package - else ''{"${cfg.dap.package}/bin/haskell-debug-adapter"}'' + else ''${cfg.dap.package}/bin/haskell-debug-adapter'' }, }, ''} diff --git a/modules/plugins/languages/odin.nix b/modules/plugins/languages/odin.nix deleted file mode 100644 index 7a32db93..00000000 --- a/modules/plugins/languages/odin.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - inherit (builtins) attrNames; - inherit (lib.options) mkEnableOption mkOption; - inherit (lib.modules) mkIf mkMerge; - inherit (lib.lists) isList; - inherit (lib.types) either listOf package str enum; - inherit (lib.nvim.lua) expToLua; - inherit (lib.nvim.types) mkGrammarOption; - - defaultServer = "ols"; - servers = { - ols = { - package = pkgs.ols; - lspConfig = '' - lspconfig.ols.setup { - capabilities = capabilities, - on_attach = default_on_attach, - cmd = ${ - if isList cfg.lsp.package - then expToLua cfg.lsp.package - else "{'${cfg.lsp.package}/bin/ols'}" - } - } - ''; - }; - }; - - cfg = config.vim.languages.odin; -in { - options.vim.languages.odin = { - enable = mkEnableOption "Odin language support"; - - treesitter = { - enable = mkEnableOption "Odin treesitter" // {default = config.vim.languages.enableTreesitter;}; - package = mkGrammarOption pkgs "odin"; - }; - - lsp = { - enable = mkEnableOption "Odin LSP support" // {default = config.vim.languages.enableLSP;}; - - server = mkOption { - type = enum (attrNames servers); - default = defaultServer; - description = "Odin LSP server to use"; - }; - - package = mkOption { - description = "Ols package, or the command to run as a list of strings"; - type = either package (listOf str); - default = pkgs.ols; - }; - }; - }; - - 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.odin-lsp = servers.${cfg.lsp.server}.lspConfig; - }) - ]); -} diff --git a/modules/plugins/languages/zig.nix b/modules/plugins/languages/zig.nix index 3618d6d8..7ae8a5c2 100644 --- a/modules/plugins/languages/zig.nix +++ b/modules/plugins/languages/zig.nix @@ -57,7 +57,6 @@ in { }; }; }; - config = mkIf cfg.enable (mkMerge [ (mkIf cfg.treesitter.enable { vim.treesitter.enable = true; diff --git a/modules/plugins/utility/surround/config.nix b/modules/plugins/utility/surround/config.nix index 31b4033d..7161cf6b 100644 --- a/modules/plugins/utility/surround/config.nix +++ b/modules/plugins/utility/surround/config.nix @@ -4,33 +4,51 @@ ... }: let inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.utility.surround; mkLznKey = mode: key: { - inherit mode key; + inherit key mode; }; in { config = mkIf cfg.enable { vim = { + startPlugins = ["nvim-surround"]; + pluginRC.surround = entryAnywhere "require('nvim-surround').setup(${toLuaObject cfg.setupOpts})"; + lazy.plugins.nvim-surround = { package = "nvim-surround"; - setupModule = "nvim-surround"; inherit (cfg) setupOpts; - keys = [ - (mkLznKey "i" cfg.setupOpts.keymaps.insert) - (mkLznKey "i" cfg.setupOpts.keymaps.insert_line) - (mkLznKey "x" cfg.setupOpts.keymaps.visual) - (mkLznKey "x" cfg.setupOpts.keymaps.visual_line) - (mkLznKey "n" cfg.setupOpts.keymaps.normal) - (mkLznKey "n" cfg.setupOpts.keymaps.normal_cur) - (mkLznKey "n" cfg.setupOpts.keymaps.normal_line) - (mkLznKey "n" cfg.setupOpts.keymaps.normal_cur_line) - (mkLznKey "n" cfg.setupOpts.keymaps.delete) - (mkLznKey "n" cfg.setupOpts.keymaps.change) - (mkLznKey "n" cfg.setupOpts.keymaps.change_line) - ]; + keys = + [ + (mkLznKey ["i"] cfg.setupOpts.keymaps.insert) + (mkLznKey ["i"] cfg.setupOpts.keymaps.insert_line) + (mkLznKey ["x"] cfg.setupOpts.keymaps.visual) + (mkLznKey ["x"] cfg.setupOpts.keymaps.visual_line) + (mkLznKey ["n"] cfg.setupOpts.keymaps.normal) + (mkLznKey ["n"] cfg.setupOpts.keymaps.normal_cur) + (mkLznKey ["n"] cfg.setupOpts.keymaps.normal_line) + (mkLznKey ["n"] cfg.setupOpts.keymaps.normal_cur_line) + (mkLznKey ["n"] cfg.setupOpts.keymaps.delete) + (mkLznKey ["n"] cfg.setupOpts.keymaps.change) + (mkLznKey ["n"] cfg.setupOpts.keymaps.change_line) + ] + ++ map (mkLznKey ["n" "i" "v"]) [ + "(nvim-surround-insert)" + "(nvim-surround-insert-line)" + "(nvim-surround-normal)" + "(nvim-surround-normal-cur)" + "(nvim-surround-normal-line)" + "(nvim-surround-normal-cur-line)" + "(nvim-surround-visual)" + "(nvim-surround-visual-line)" + "(nvim-surround-delete)" + "(nvim-surround-change)" + "(nvim-surround-change-line)" + ]; }; }; }; diff --git a/modules/wrapper/lazy/config.nix b/modules/wrapper/lazy/config.nix index 3468d5ec..6a9a6ea2 100644 --- a/modules/wrapper/lazy/config.nix +++ b/modules/wrapper/lazy/config.nix @@ -76,7 +76,6 @@ else mkLuaInline '' function() - ${optionalString (spec.beforeSetup != null) spec.beforeSetup} ${ optionalString (spec.setupModule != null) "require(${toJSON spec.setupModule}).setup(${toLuaObject spec.setupOpts})" diff --git a/modules/wrapper/lazy/lazy.nix b/modules/wrapper/lazy/lazy.nix index 730bf267..e0dbea85 100644 --- a/modules/wrapper/lazy/lazy.nix +++ b/modules/wrapper/lazy/lazy.nix @@ -74,15 +74,6 @@ ''; }; - beforeSetup = mkOption { - type = nullOr lines; - default = null; - description = '' - Lua code to run after the plugin is loaded, but before the setup - function is called. - ''; - }; - setupModule = mkOption { type = nullOr str; default = null;