diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index cb2c63e6..79633e00 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -208,9 +208,6 @@ - Added [`golangci-lint`](https://golangci-lint.run/) for more diagnostics. -- Added [`gopher.nvim`](https://github.com/olexsmir/gopher.nvim) for extra - actions in `languages.go`. - - updated default filetypes for [harper-ls](https://github.com/Automattic/harper) to match what they are supposed to be. diff --git a/flake/pkgs/by-name/json2go/package.nix b/flake/pkgs/by-name/json2go/package.nix deleted file mode 100644 index 0c7eff1a..00000000 --- a/flake/pkgs/by-name/json2go/package.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - lib, - buildGoModule, - fetchFromGitHub, -}: -buildGoModule (finalAttrs: { - pname = "json2go"; - version = "0.1.3"; - - src = fetchFromGitHub { - owner = "olexsmir"; - repo = "json2go"; - tag = "v${finalAttrs.version}"; - hash = "sha256-2QGvPLQ7CADRNURTdnHgTCK2vyRHgtdR6YFPuTL9Ymo="; - }; - - vendorHash = null; - - meta = { - description = "convert json to go type annotations"; - mainProgram = "json2go"; - homepage = "https://github.com/olexsmir/json2go"; - license = lib.licenses.unlicense; - changelog = "${finalAttrs.meta.homepage}/releases/tag/${finalAttrs.version}"; - }; -}) diff --git a/modules/plugins/languages/go.nix b/modules/plugins/languages/go.nix index 7c83ebf2..da3700a7 100644 --- a/modules/plugins/languages/go.nix +++ b/modules/plugins/languages/go.nix @@ -1,17 +1,16 @@ { - inputs, config, pkgs, lib, ... }: let inherit (builtins) attrNames; - inherit (lib.options) mkEnableOption mkOption literalMD literalExpression; + inherit (lib.options) mkEnableOption mkOption literalMD; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.generators) mkLuaInline; - inherit (lib.types) bool enum package str; - inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf mkPluginSetupOption; + inherit (lib.types) bool enum package; + inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryAfter; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -65,11 +64,9 @@ gofmt = { command = "${pkgs.go}/bin/gofmt"; }; - gofumpt = { command = getExe pkgs.gofumpt; }; - golines = { command = "${pkgs.golines}/bin/golines"; }; @@ -171,12 +168,7 @@ in { enable = mkEnableOption "Go language support"; treesitter = { - enable = - mkEnableOption "Go treesitter" - // { - default = config.vim.languages.enableTreesitter; - defaultText = literalExpression "config.vim.languages.enableTreesitter"; - }; + enable = mkEnableOption "Go treesitter" // {default = config.vim.languages.enableTreesitter;}; goPackage = mkGrammarOption pkgs "go"; gomodPackage = mkGrammarOption pkgs "gomod"; @@ -186,12 +178,7 @@ in { }; lsp = { - enable = - mkEnableOption "Go LSP support" - // { - default = config.vim.lsp.enable; - defaultText = literalExpression "config.vim.lsp.enable"; - }; + enable = mkEnableOption "Go LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { type = deprecatedSingleOrListOf "vim.language.go.lsp.servers" (enum (attrNames servers)); @@ -211,111 +198,51 @@ in { }; type = mkOption { + description = "Go formatter to use"; type = deprecatedSingleOrListOf "vim.language.go.format.type" (enum (attrNames formats)); default = defaultFormat; - description = "Go formatter to use"; }; }; dap = { - enable = - mkEnableOption "Go Debug Adapter (DAP) via `nvim-dap-go" - // { - default = config.vim.languages.enableDAP; - defaultText = literalExpression "config.vim.languages.enableDAP"; - }; + enable = mkOption { + description = "Enable Go Debug Adapter via nvim-dap-go plugin"; + type = bool; + default = config.vim.languages.enableDAP; + }; debugger = mkOption { + description = "Go debugger to use"; type = enum (attrNames debuggers); default = defaultDebugger; - description = "Go debugger to use"; }; package = mkOption { + description = "Go debugger package."; type = package; default = debuggers.${cfg.dap.debugger}.package; - description = "Go debugger package."; }; }; - extraDiagnostics = { - enable = - mkEnableOption "extra Go diagnostics" - // { - default = config.vim.languages.enableExtraDiagnostics; - defaultText = literalExpression "config.vim.languages.enableExtraDiagnostic"; - }; - + enable = mkEnableOption "extra Go diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; types = diagnostics { langDesc = "Go"; inherit diagnosticsProviders; inherit defaultDiagnosticsProvider; }; }; - - extensions = { - gopher-nvim = { - enable = mkEnableOption "Minimalistic plugin for Go development"; - setupOpts = mkPluginSetupOption "gopher-nvim" { - commands = { - go = mkOption { - type = str; - default = "go"; - description = "Go binary to use"; - }; - - gomodifytags = mkOption { - type = str; - default = getExe pkgs.gomodifytags; - defaultText = literalExpression "getExe pkgs.gomodifytags"; - description = "gomodifytags binary to use"; - }; - - gotests = mkOption { - type = str; - default = getExe pkgs.gotests; - defaultText = literalExpression "getExe pkgs.gotests"; - description = "gotests binary to use"; - }; - - impl = mkOption { - type = str; - default = getExe pkgs.impl; - defaultText = literalExpression "getExe pkgs.impl"; - description = "impl binary to use"; - }; - - iferr = mkOption { - type = str; - default = getExe pkgs.iferr; - defaultText = literalExpression "getExe pkgs.iferr"; - description = "iferr binary to use"; - }; - - json2go = mkOption { - type = str; - default = getExe inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.json2go; - defaultText = literalExpression "getExe inputs.self.packages.$${pkgs.stdenv.hostPlatform.system}.json2go"; - description = "json2go binary to use"; - }; - }; - }; - }; - }; }; config = mkIf cfg.enable (mkMerge [ (mkIf cfg.treesitter.enable { - vim.treesitter = { - enable = true; - grammars = [ - cfg.treesitter.goPackage - cfg.treesitter.gomodPackage - cfg.treesitter.gosumPackage - cfg.treesitter.goworkPackage - cfg.treesitter.gotmplPackage - ]; - }; + vim.treesitter.enable = true; + vim.treesitter.grammars = [ + cfg.treesitter.goPackage + cfg.treesitter.gomodPackage + cfg.treesitter.gosumPackage + cfg.treesitter.goworkPackage + cfg.treesitter.gotmplPackage + ]; }) (mkIf cfg.lsp.enable { @@ -365,14 +292,5 @@ in { cfg.extraDiagnostics.types); }; }) - - (mkIf cfg.extensions.gopher-nvim.enable { - vim.lazy.plugins.gopher-nvim = { - package = "gopher-nvim"; - setupModule = "gopher"; - inherit (cfg.extensions.gopher-nvim) setupOpts; - ft = ["go"]; - }; - }) ]); } diff --git a/npins/sources.json b/npins/sources.json index 2fe8b904..05b662ff 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -656,22 +656,6 @@ "url": "https://github.com/ellisonleao/glow.nvim/archive/5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2.tar.gz", "hash": "sha256-CvBcmVWBgI+m+PS7p7PmsiPtTEfqx2kpIzz4mImONIc=" }, - "gopher-nvim": { - "type": "GitRelease", - "repository": { - "type": "GitHub", - "owner": "olexsmir", - "repo": "gopher.nvim" - }, - "pre_releases": false, - "version_upper_bound": null, - "release_prefix": null, - "submodules": false, - "version": "v0.6.0", - "revision": "95fdeb571d837af9efae27fea1c0131fa756ab43", - "url": "https://api.github.com/repos/olexsmir/gopher.nvim/tarball/refs/tags/v0.6.0", - "hash": "sha256-7aDjMFMCiqub/zCDJIWUIX9Zc6+vyPQOczuOFdc/6S0=" - }, "grug-far-nvim": { "type": "Git", "repository": {