mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-03-07 17:26:00 +00:00
Compare commits
No commits in common. "750dbfaf6eb62db8e67afc03a3ae3078bfd8f098" and "a72c204d2cba61ead60bbf02bb6a6a98b9bd3721" have entirely different histories.
750dbfaf6e
...
a72c204d2c
4 changed files with 22 additions and 149 deletions
|
|
@ -208,9 +208,6 @@
|
||||||
|
|
||||||
- Added [`golangci-lint`](https://golangci-lint.run/) for more diagnostics.
|
- 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
|
- updated default filetypes for
|
||||||
[harper-ls](https://github.com/Automattic/harper) to match what they are
|
[harper-ls](https://github.com/Automattic/harper) to match what they are
|
||||||
supposed to be.
|
supposed to be.
|
||||||
|
|
|
||||||
|
|
@ -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}";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
|
|
@ -1,17 +1,16 @@
|
||||||
{
|
{
|
||||||
inputs,
|
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (builtins) attrNames;
|
inherit (builtins) attrNames;
|
||||||
inherit (lib.options) mkEnableOption mkOption literalMD literalExpression;
|
inherit (lib.options) mkEnableOption mkOption literalMD;
|
||||||
inherit (lib.modules) mkIf mkMerge;
|
inherit (lib.modules) mkIf mkMerge;
|
||||||
inherit (lib.meta) getExe;
|
inherit (lib.meta) getExe;
|
||||||
inherit (lib.generators) mkLuaInline;
|
inherit (lib.generators) mkLuaInline;
|
||||||
inherit (lib.types) bool enum package str;
|
inherit (lib.types) bool enum package;
|
||||||
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf mkPluginSetupOption;
|
inherit (lib.nvim.types) mkGrammarOption diagnostics deprecatedSingleOrListOf;
|
||||||
inherit (lib.nvim.dag) entryAfter;
|
inherit (lib.nvim.dag) entryAfter;
|
||||||
inherit (lib.nvim.attrsets) mapListToAttrs;
|
inherit (lib.nvim.attrsets) mapListToAttrs;
|
||||||
|
|
||||||
|
|
@ -65,11 +64,9 @@
|
||||||
gofmt = {
|
gofmt = {
|
||||||
command = "${pkgs.go}/bin/gofmt";
|
command = "${pkgs.go}/bin/gofmt";
|
||||||
};
|
};
|
||||||
|
|
||||||
gofumpt = {
|
gofumpt = {
|
||||||
command = getExe pkgs.gofumpt;
|
command = getExe pkgs.gofumpt;
|
||||||
};
|
};
|
||||||
|
|
||||||
golines = {
|
golines = {
|
||||||
command = "${pkgs.golines}/bin/golines";
|
command = "${pkgs.golines}/bin/golines";
|
||||||
};
|
};
|
||||||
|
|
@ -171,12 +168,7 @@ in {
|
||||||
enable = mkEnableOption "Go language support";
|
enable = mkEnableOption "Go language support";
|
||||||
|
|
||||||
treesitter = {
|
treesitter = {
|
||||||
enable =
|
enable = mkEnableOption "Go treesitter" // {default = config.vim.languages.enableTreesitter;};
|
||||||
mkEnableOption "Go treesitter"
|
|
||||||
// {
|
|
||||||
default = config.vim.languages.enableTreesitter;
|
|
||||||
defaultText = literalExpression "config.vim.languages.enableTreesitter";
|
|
||||||
};
|
|
||||||
|
|
||||||
goPackage = mkGrammarOption pkgs "go";
|
goPackage = mkGrammarOption pkgs "go";
|
||||||
gomodPackage = mkGrammarOption pkgs "gomod";
|
gomodPackage = mkGrammarOption pkgs "gomod";
|
||||||
|
|
@ -186,12 +178,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
lsp = {
|
lsp = {
|
||||||
enable =
|
enable = mkEnableOption "Go LSP support" // {default = config.vim.lsp.enable;};
|
||||||
mkEnableOption "Go LSP support"
|
|
||||||
// {
|
|
||||||
default = config.vim.lsp.enable;
|
|
||||||
defaultText = literalExpression "config.vim.lsp.enable";
|
|
||||||
};
|
|
||||||
|
|
||||||
servers = mkOption {
|
servers = mkOption {
|
||||||
type = deprecatedSingleOrListOf "vim.language.go.lsp.servers" (enum (attrNames servers));
|
type = deprecatedSingleOrListOf "vim.language.go.lsp.servers" (enum (attrNames servers));
|
||||||
|
|
@ -211,111 +198,51 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
type = mkOption {
|
type = mkOption {
|
||||||
|
description = "Go formatter to use";
|
||||||
type = deprecatedSingleOrListOf "vim.language.go.format.type" (enum (attrNames formats));
|
type = deprecatedSingleOrListOf "vim.language.go.format.type" (enum (attrNames formats));
|
||||||
default = defaultFormat;
|
default = defaultFormat;
|
||||||
description = "Go formatter to use";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
dap = {
|
dap = {
|
||||||
enable =
|
enable = mkOption {
|
||||||
mkEnableOption "Go Debug Adapter (DAP) via `nvim-dap-go"
|
description = "Enable Go Debug Adapter via nvim-dap-go plugin";
|
||||||
// {
|
type = bool;
|
||||||
default = config.vim.languages.enableDAP;
|
default = config.vim.languages.enableDAP;
|
||||||
defaultText = literalExpression "config.vim.languages.enableDAP";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
debugger = mkOption {
|
debugger = mkOption {
|
||||||
|
description = "Go debugger to use";
|
||||||
type = enum (attrNames debuggers);
|
type = enum (attrNames debuggers);
|
||||||
default = defaultDebugger;
|
default = defaultDebugger;
|
||||||
description = "Go debugger to use";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
|
description = "Go debugger package.";
|
||||||
type = package;
|
type = package;
|
||||||
default = debuggers.${cfg.dap.debugger}.package;
|
default = debuggers.${cfg.dap.debugger}.package;
|
||||||
description = "Go debugger package.";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extraDiagnostics = {
|
extraDiagnostics = {
|
||||||
enable =
|
enable = mkEnableOption "extra Go diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;};
|
||||||
mkEnableOption "extra Go diagnostics"
|
|
||||||
// {
|
|
||||||
default = config.vim.languages.enableExtraDiagnostics;
|
|
||||||
defaultText = literalExpression "config.vim.languages.enableExtraDiagnostic";
|
|
||||||
};
|
|
||||||
|
|
||||||
types = diagnostics {
|
types = diagnostics {
|
||||||
langDesc = "Go";
|
langDesc = "Go";
|
||||||
inherit diagnosticsProviders;
|
inherit diagnosticsProviders;
|
||||||
inherit defaultDiagnosticsProvider;
|
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 [
|
config = mkIf cfg.enable (mkMerge [
|
||||||
(mkIf cfg.treesitter.enable {
|
(mkIf cfg.treesitter.enable {
|
||||||
vim.treesitter = {
|
vim.treesitter.enable = true;
|
||||||
enable = true;
|
vim.treesitter.grammars = [
|
||||||
grammars = [
|
cfg.treesitter.goPackage
|
||||||
cfg.treesitter.goPackage
|
cfg.treesitter.gomodPackage
|
||||||
cfg.treesitter.gomodPackage
|
cfg.treesitter.gosumPackage
|
||||||
cfg.treesitter.gosumPackage
|
cfg.treesitter.goworkPackage
|
||||||
cfg.treesitter.goworkPackage
|
cfg.treesitter.gotmplPackage
|
||||||
cfg.treesitter.gotmplPackage
|
];
|
||||||
];
|
|
||||||
};
|
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf cfg.lsp.enable {
|
(mkIf cfg.lsp.enable {
|
||||||
|
|
@ -365,14 +292,5 @@ in {
|
||||||
cfg.extraDiagnostics.types);
|
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"];
|
|
||||||
};
|
|
||||||
})
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -656,22 +656,6 @@
|
||||||
"url": "https://github.com/ellisonleao/glow.nvim/archive/5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2.tar.gz",
|
"url": "https://github.com/ellisonleao/glow.nvim/archive/5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2.tar.gz",
|
||||||
"hash": "sha256-CvBcmVWBgI+m+PS7p7PmsiPtTEfqx2kpIzz4mImONIc="
|
"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": {
|
"grug-far-nvim": {
|
||||||
"type": "Git",
|
"type": "Git",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue