mirror of
https://github.com/nix-community/nixvim.git
synced 2025-11-08 11:36:07 +01:00
Compare commits
10 commits
d01e1c17e2
...
f0dceb449a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0dceb449a | ||
|
|
9256b49ec0 | ||
|
|
7c949f2faf | ||
|
|
4728aae7cf | ||
|
|
a38fba5880 | ||
|
|
6aa891918a | ||
|
|
0a875e2d8a | ||
|
|
4363d100ef | ||
|
|
a554f2b0f0 | ||
|
|
4dbcc266e7 |
16 changed files with 84 additions and 61 deletions
|
|
@ -58,7 +58,9 @@ let
|
|||
}
|
||||
else if anyOf != null then
|
||||
let
|
||||
possibleTypes = lib.filter (sub: !(sub.type == "null" && nullable)) anyOf;
|
||||
possibleTypes = lib.filter (
|
||||
sub: !(sub.type or null == "null" && nullable) && !(sub.deprecated or false)
|
||||
) anyOf;
|
||||
in
|
||||
{
|
||||
kind = "oneOf";
|
||||
|
|
@ -198,11 +200,12 @@ let
|
|||
enumDesc enum enumDescriptions
|
||||
else
|
||||
let
|
||||
subEnums = lib.filter (lib.hasAttr "enum") anyOf;
|
||||
subEnums = lib.filter (sub: sub ? enum && !(sub.deprecated or false)) anyOf;
|
||||
subEnum =
|
||||
assert lib.assertMsg (
|
||||
lib.length subEnums == 1
|
||||
) "anyOf types may currently only contain a single enum";
|
||||
assert lib.assertMsg (lib.length subEnums == 1)
|
||||
"anyOf types may currently only contain a single enum. Found ${
|
||||
lib.generators.toPretty { } subEnums
|
||||
}";
|
||||
lib.head subEnums;
|
||||
in
|
||||
if subEnum ? enumDescriptions then
|
||||
|
|
|
|||
12
flake.lock
generated
12
flake.lock
generated
|
|
@ -7,11 +7,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760948891,
|
||||
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
|
||||
"lastModified": 1762040540,
|
||||
"narHash": "sha256-z5PlZ47j50VNF3R+IMS9LmzI5fYRGY/Z5O5tol1c9I4=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
|
||||
"rev": "0010412d62a25d959151790968765a70c436598b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -66,11 +66,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1761656231,
|
||||
"narHash": "sha256-EiED5k6gXTWoAIS8yQqi5mAX6ojnzpHwAQTS3ykeYMg=",
|
||||
"lastModified": 1762156382,
|
||||
"narHash": "sha256-Yg7Ag7ov5+36jEFC1DaZh/12SEXo6OO3/8rqADRxiqs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e99366c665bdd53b7b500ccdc5226675cfc51f45",
|
||||
"rev": "7241bcbb4f099a66aafca120d37c65e8dda32717",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
18
flake/dev/flake.lock
generated
18
flake/dev/flake.lock
generated
|
|
@ -2,11 +2,11 @@
|
|||
"nodes": {
|
||||
"dev-nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1761656231,
|
||||
"narHash": "sha256-EiED5k6gXTWoAIS8yQqi5mAX6ojnzpHwAQTS3ykeYMg=",
|
||||
"lastModified": 1762156382,
|
||||
"narHash": "sha256-Yg7Ag7ov5+36jEFC1DaZh/12SEXo6OO3/8rqADRxiqs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e99366c665bdd53b7b500ccdc5226675cfc51f45",
|
||||
"rev": "7241bcbb4f099a66aafca120d37c65e8dda32717",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -104,11 +104,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761770832,
|
||||
"narHash": "sha256-IQIWG6kHxnUpx5KEb9r0BROL3/R6UQ/30aO2oHncBA8=",
|
||||
"lastModified": 1762204486,
|
||||
"narHash": "sha256-W7Db8gIAxMsaogJWqFBNSpYSFER8hJLGanEyl8PhC+k=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "124b99dbd1594dbebdd575ac7142752ee96a98a0",
|
||||
"rev": "95d65dddae7ae6300b22cf1d61cb5e71dca8da5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -124,11 +124,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761339987,
|
||||
"narHash": "sha256-IUaawVwItZKi64IA6kF6wQCLCzpXbk2R46dHn8sHkig=",
|
||||
"lastModified": 1762186368,
|
||||
"narHash": "sha256-dzLBZKccS0jMefj+WAYwsk7gKDluqavC7I4KfFwVh8k=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "7cd9aac79ee2924a85c211d21fafd394b06a38de",
|
||||
"rev": "69921864a70b58787abf5ba189095566c3f0ffd3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@
|
|||
"buck2": "https://github.com/facebook/buck2 Build system, successor to Buck To\nbetter detect Buck2 project files, the following can be added:\n\n vim.cmd [[ autocmd BufRead,BufNewFile *.bxl,BUCK,TARGETS set filetype=bzl ]]",
|
||||
"buddy_ls": "https://github.com/buddy-compiler/buddy-mlir#buddy-lsp-server The\nLanguage Server for the buddy-mlir, a drop-in replacement for\nmlir-lsp-server, supporting new dialects defined in buddy-mlir.\n`buddy-lsp-server` can be installed at the buddy-mlir repository\n(buddy-compiler/buddy-mlir)",
|
||||
"buf_ls": "",
|
||||
"bufls": "https://github.com/bufbuild/buf-language-server `buf-language-server`\ncan be installed via `go install`:\n\n``` sh\ngo install github.com/bufbuild/buf-language-server/cmd/bufls@latest\n```\n\nbufls is a Protobuf language server compatible with Buf modules and\nworkspaces",
|
||||
"bzl": "https://bzl.io/ https://docs.stack.build/docs/cli/installation\nhttps://docs.stack.build/docs/vscode/starlark-language-server",
|
||||
"c3_lsp": "https://github.com/pherrymason/c3-lsp Language Server for c3.",
|
||||
"cairo_ls": "[Cairo Language\nServer](https://github.com/starkware-libs/cairo/tree/main/crates/cairo-lang-language-server)\nFirst, install Cairo following [this\ntutorial](https://book.cairo-lang.org/ch01-01-installation.html) Then\nenable Cairo Language Server in your Lua configuration.\n\n``` lua\nvim.lsp.enable('cairo_ls')\n```\n\n*cairo-language-server is still under active development, some features\nmight not work yet !*",
|
||||
|
|
@ -154,7 +153,7 @@
|
|||
"jqls": "https://github.com/wader/jq-lsp Language server for jq, written using\nGo. You can install the server easily using go install:\n\n``` sh\n# install directly\ngo install github.com/wader/jq-lsp@master\n# copy binary to $PATH\ncp $(go env GOPATH)/bin/jq-lsp /usr/local/bin\n```\n\nNote: To activate properly nvim needs to know the jq filetype. You can\nadd it via:\n\n``` lua\nvim.cmd([[au BufRead,BufNewFile *.jq setfiletype jq]])\n```",
|
||||
"jsonls": "https://github.com/hrsh7th/vscode-langservers-extracted\nvscode-json-language-server, a language server for JSON and JSON schema\n`vscode-json-language-server` can be installed via `npm`:\n\n``` sh\nnpm i -g vscode-langservers-extracted\n```\n\n`vscode-json-language-server` only provides completions when snippet\nsupport is enabled. If you use Neovim older than v0.10 you need to\nenable completion, install a snippet plugin and add the following\noverride to your language client capabilities during setup.\n\n``` lua\n--Enable (broadcasting) snippet capability for completion\nlocal capabilities = vim.lsp.protocol.make_client_capabilities()\ncapabilities.textDocument.completion.completionItem.snippetSupport = true\nvim.lsp.config('jsonls', {\n capabilities = capabilities,\n})\n```",
|
||||
"jsonnet_ls": "",
|
||||
"julials": "https://github.com/julia-vscode/julia-vscode LanguageServer.jl can be\ninstalled with `julia` and `Pkg`:\n\n``` sh\njulia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add(\"LanguageServer\")'\n```\n\nwhere `~/.julia/environments/nvim-lspconfig` is the location where the\ndefault configuration expects LanguageServer.jl to be installed. To\nupdate an existing install, use the following command:\n\n``` sh\njulia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.update()'\n```\n\nNote: In order to have LanguageServer.jl pick up installed packages or\ndependencies in a Julia project, you must make sure that the project is\ninstantiated:\n\n``` sh\njulia --project=/path/to/my/project -e 'using Pkg; Pkg.instantiate()'\n```\n\nNote: The julia programming language searches for global environments\nwithin the `environments/` folder of `$JULIA_DEPOT_PATH` entries. By\ndefault this simply `~/.julia/environments`",
|
||||
"julials": "https://github.com/julia-vscode/julia-vscode LanguageServer.jl,\nSymbolServer.jl and StaticLint.jl can be installed with `julia` and\n`Pkg`:\n\n``` sh\njulia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add(\"LanguageServer\"); Pkg.add(\"SymbolServer\"); Pkg.add(\"StaticLint\")'\n```\n\nwhere `~/.julia/environments/nvim-lspconfig` is the location where the\ndefault configuration expects LanguageServer.jl, SymbolServer.jl and\nStaticLint.jl to be installed. To update an existing install, use the\nfollowing command:\n\n``` sh\njulia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.update()'\n```\n\nNote: In order to have LanguageServer.jl pick up installed packages or\ndependencies in a Julia project, you must make sure that the project is\ninstantiated:\n\n``` sh\njulia --project=/path/to/my/project -e 'using Pkg; Pkg.instantiate()'\n```\n\nNote: The julia programming language searches for global environments\nwithin the `environments/` folder of `$JULIA_DEPOT_PATH` entries. By\ndefault this simply `~/.julia/environments`",
|
||||
"just": "https://github.com/terror/just-lsp `just-lsp` is an LSP for just built\non top of the tree-sitter-just parser.",
|
||||
"kcl": "https://github.com/kcl-lang/kcl.nvim Language server for the KCL\nconfiguration and policy language.",
|
||||
"koka": "https://koka-lang.github.io/koka/doc/index.html Koka is a functional\nprogramming language with effect types and handlers.",
|
||||
|
|
@ -227,7 +226,7 @@
|
|||
"please": "https://github.com/thought-machine/please High-performance extensible\nbuild system for reproducible multi-language builds. The `plz` binary\nwill automatically install the LSP for you on first run",
|
||||
"pli": "`pli_language_server` is a language server for the PL/I language used on\nIBM SystemZ mainframes. To learn how to configure the PL/I language\nserver, see the [PL/I Language Support\ndocumentation](https://github.com/zowe/zowe-pli-language-support).",
|
||||
"poryscript_pls": "https://github.com/huderlem/poryscript-pls Language server for\nporyscript (a high level scripting language for GBA-era Pokémon\ndecompilation projects)",
|
||||
"postgres_lsp": "https://pgtools.dev A collection of language tools and a Language Server\nProtocol (LSP) implementation for Postgres, focusing on developer\nexperience and reliable SQL tooling.",
|
||||
"postgres_lsp": "https://pg-language-server.com A collection of language tools and a\nLanguage Server Protocol (LSP) implementation for Postgres, focusing on\ndeveloper experience and reliable SQL tooling.",
|
||||
"powershell_es": "",
|
||||
"prismals": "Language Server for the Prisma JavaScript and TypeScript ORM\n`@prisma/language-server` can be installed via npm\n\n``` sh\nnpm install -g @prisma/language-server\n```",
|
||||
"prolog_ls": "https://github.com/jamesnvc/lsp_server Language Server Protocol server\nfor SWI-Prolog",
|
||||
|
|
|
|||
|
|
@ -845,11 +845,16 @@
|
|||
}
|
||||
},
|
||||
"rust-analyzer.imports.granularity.group": {
|
||||
"description": "How imports should be grouped into use statements.\n\nValues:\n- preserve: Do not change the granularity of any imports and preserve the original structure written by the developer.\n- crate: Merge imports from the same crate into a single use statement. Conversely, imports from different crates are split into separate statements.\n- module: Merge imports from the same module into a single use statement. Conversely, imports from different modules are split into separate statements.\n- item: Flatten imports so that each has its own use statement.\n- one: Merge all imports into a single use statement as long as they have the same visibility and attributes.\n",
|
||||
"description": "How imports should be grouped into use statements.\n\nValues:\n- crate: Merge imports from the same crate into a single use statement. Conversely, imports from different crates are split into separate statements.\n- module: Merge imports from the same module into a single use statement. Conversely, imports from different modules are split into separate statements.\n- item: Flatten imports so that each has its own use statement.\n- one: Merge all imports into a single use statement as long as they have the same visibility and attributes.\n",
|
||||
"pluginDefault": "crate",
|
||||
"type": {
|
||||
"kind": "enum",
|
||||
"values": ["preserve", "crate", "module", "item", "one"]
|
||||
"kind": "oneOf",
|
||||
"subTypes": [
|
||||
{
|
||||
"kind": "enum",
|
||||
"values": ["crate", "module", "item", "one"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"rust-analyzer.imports.group.enable": {
|
||||
|
|
@ -956,6 +961,13 @@
|
|||
"values": ["always", "never", "fieldless"]
|
||||
}
|
||||
},
|
||||
"rust-analyzer.inlayHints.expressionAdjustmentHints.disableReborrows": {
|
||||
"description": "Disable reborrows in expression adjustments inlay hints.\n\nReborrows are a pair of a builtin deref then borrow, i.e. `&*`. They are inserted by the compiler but are mostly useless to the programmer.\n\nNote: if the deref is not builtin (an overloaded deref), or the borrow is `&raw const`/`&raw mut`, they are not removed.\n",
|
||||
"pluginDefault": true,
|
||||
"type": {
|
||||
"kind": "boolean"
|
||||
}
|
||||
},
|
||||
"rust-analyzer.inlayHints.expressionAdjustmentHints.enable": {
|
||||
"description": "Show inlay hints for type adjustments.\n\nValues:\n- always: Always show all adjustment hints.\n- never: Never show adjustment hints.\n- reborrow: Only show auto borrow and dereference adjustment hints.\n",
|
||||
"pluginDefault": "never",
|
||||
|
|
@ -1030,7 +1042,7 @@
|
|||
}
|
||||
},
|
||||
"rust-analyzer.inlayHints.maxLength": {
|
||||
"description": "Maximum length for inlay hints. Set to null to have an unlimited length.\n",
|
||||
"description": "Maximum length for inlay hints. Set to null to have an unlimited length.\n\n**Note:** This is mostly a hint, and we don't guarantee to strictly follow the limit.\n",
|
||||
"pluginDefault": 25,
|
||||
"type": {
|
||||
"kind": "integer",
|
||||
|
|
@ -1321,7 +1333,7 @@
|
|||
},
|
||||
"rust-analyzer.runnables.extraTestBinaryArgs": {
|
||||
"description": "Additional arguments to be passed through Cargo to launched tests, benchmarks, or\ndoc-tests.\n\nUnless the launched target uses a\n[custom test harness](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#the-harness-field),\nthey will end up being interpreted as options to\n[`rustc`’s built-in test harness (“libtest”)](https://doc.rust-lang.org/rustc/tests/index.html#cli-arguments).\n",
|
||||
"pluginDefault": ["--show-output"],
|
||||
"pluginDefault": ["--nocapture"],
|
||||
"type": {
|
||||
"item": {
|
||||
"kind": "string"
|
||||
|
|
@ -1363,6 +1375,13 @@
|
|||
"kind": "boolean"
|
||||
}
|
||||
},
|
||||
"rust-analyzer.semanticHighlighting.comments.enable": {
|
||||
"description": "Use semantic tokens for comments.\n\nIn some editors (e.g. vscode) semantic tokens override other highlighting grammars.\nBy disabling semantic tokens for comments, other grammars can be used to highlight\ntheir contents.\n",
|
||||
"pluginDefault": true,
|
||||
"type": {
|
||||
"kind": "boolean"
|
||||
}
|
||||
},
|
||||
"rust-analyzer.semanticHighlighting.doc.comment.inject.enable": {
|
||||
"description": "Inject additional highlighting into doc comments.\n\nWhen enabled, rust-analyzer will highlight rust source in doc comments as well as intra\ndoc links.\n",
|
||||
"pluginDefault": true,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
[
|
||||
"bitbake_ls",
|
||||
"bqnlsp",
|
||||
"bufls",
|
||||
"cadence",
|
||||
"clarity_lsp",
|
||||
"codeqlls",
|
||||
|
|
|
|||
|
|
@ -2,38 +2,32 @@
|
|||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) types;
|
||||
in
|
||||
lib.nixvim.plugins.mkNeovimPlugin {
|
||||
name = "leap";
|
||||
package = "leap-nvim";
|
||||
|
||||
maintainers = [ lib.maintainers.khaneliman ];
|
||||
|
||||
extraOptions = {
|
||||
addDefaultMappings = lib.mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Whether to enable the default mappings.";
|
||||
};
|
||||
};
|
||||
|
||||
callSetup = false;
|
||||
extraConfig = cfg: {
|
||||
plugins.leap.luaConfig.content =
|
||||
lib.optionalString cfg.addDefaultMappings ''
|
||||
require('leap').add_default_mappings()
|
||||
''
|
||||
+ lib.optionalString (cfg.settings != { }) ''
|
||||
require('leap').opts = vim.tbl_deep_extend(
|
||||
"keep",
|
||||
${lib.nixvim.toLuaObject cfg.settings},
|
||||
require('leap').opts
|
||||
)
|
||||
'';
|
||||
plugins.leap.luaConfig.content = lib.optionalString (cfg.settings != { }) ''
|
||||
require('leap').opts = vim.tbl_deep_extend(
|
||||
"keep",
|
||||
${lib.nixvim.toLuaObject cfg.settings},
|
||||
require('leap').opts
|
||||
)
|
||||
'';
|
||||
};
|
||||
|
||||
# TODO: Added 2025-11-07. Remove after 26.05
|
||||
imports = [
|
||||
(lib.mkRemovedOptionModule [
|
||||
"plugins"
|
||||
"leap"
|
||||
"addDefaultMappings"
|
||||
] "See `:help leap-mappings` to update your config")
|
||||
];
|
||||
|
||||
# TODO: Deprecated 2025-10-04
|
||||
inherit (import ./deprecations.nix)
|
||||
optionsRenamedToSettings
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, ... }:
|
||||
lib.nixvim.plugins.mkNeovimPlugin {
|
||||
name = "ethersync";
|
||||
name = "teamtype";
|
||||
|
||||
maintainers = [ lib.maintainers.GaetanLepage ];
|
||||
|
||||
|
|
@ -41,6 +41,8 @@ let
|
|||
surround = "vim-surround";
|
||||
# Added 2025-10-06
|
||||
presence-nvim = "presence";
|
||||
# Added 2025-11-07
|
||||
ethersync = "teamtype";
|
||||
};
|
||||
# Added 2024-09-21; remove after 24.11
|
||||
# `iconsPackage` options were briefly available in the following plugins for ~3 weeks
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
"bright_script"
|
||||
"bsl_ls"
|
||||
"buddy_ls"
|
||||
"bufls"
|
||||
"bzl"
|
||||
"c3_lsp"
|
||||
"cairo_ls"
|
||||
|
|
@ -326,7 +325,7 @@
|
|||
"phan"
|
||||
];
|
||||
phpactor = "phpactor";
|
||||
postgres_lsp = "postgres-lsp";
|
||||
postgres_lsp = "postgres-language-server";
|
||||
protols = "protols";
|
||||
psalm = [
|
||||
"phpPackages"
|
||||
|
|
|
|||
|
|
@ -15,6 +15,10 @@ let
|
|||
disabledTests = [
|
||||
# 2025-10-12 dependency mbedtls is marked as insecure
|
||||
"haxe"
|
||||
|
||||
# 2025-11-06 build failure
|
||||
# Fixed in https://github.com/NixOS/nixpkgs/pull/458418
|
||||
"docker-language-server"
|
||||
]
|
||||
++ lib.optionals (hostPlatform.isLinux && hostPlatform.isAarch64) [
|
||||
# "tabnine"
|
||||
|
|
|
|||
|
|
@ -40,10 +40,13 @@ let
|
|||
# TODO: 2025-07-25 build failure
|
||||
"mint"
|
||||
|
||||
# TODO: 2025-11-06 build failure
|
||||
# Fixed in https://github.com/NixOS/nixpkgs/pull/458418
|
||||
"docker_language_server"
|
||||
|
||||
# DEPRECATED SERVERS
|
||||
# See https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig.lua
|
||||
"ruff_lsp"
|
||||
"bufls"
|
||||
"typst_lsp"
|
||||
];
|
||||
in
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
empty = {
|
||||
plugins.ethersync.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -18,7 +18,6 @@
|
|||
example = {
|
||||
plugins.leap = {
|
||||
enable = true;
|
||||
addDefaultMappings = true;
|
||||
settings = {
|
||||
max_phase_one_targets = 10;
|
||||
highlight_unlabeled_phase_one_targets = false;
|
||||
|
|
|
|||
5
tests/test-sources/plugins/by-name/teamtype/default.nix
Normal file
5
tests/test-sources/plugins/by-name/teamtype/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
empty = {
|
||||
plugins.teamtype.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
# DO NOT MODIFY!
|
||||
# This file was generated by ci/version-info/default.nix
|
||||
nixpkgs_rev = "e99366c665bdd53b7b500ccdc5226675cfc51f45"
|
||||
nixpkgs_rev = "7241bcbb4f099a66aafca120d37c65e8dda32717"
|
||||
release = "25.11"
|
||||
unstable = true
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue