diff --git a/flake.lock b/flake.lock index 270f0f656f..c880a41377 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -66,11 +66,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1738797219, - "narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=", + "lastModified": 1742237028, + "narHash": "sha256-xlpHmgBxUnvHo8FNnju0sgnEyasb4gC607b+keqjmX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1da52dd49a127ad74486b135898da2cef8c62665", + "rev": "9bc8a90931262245919a26f995c1f24c6c70d3fe", "type": "github" }, "original": { @@ -89,11 +89,11 @@ ] }, "locked": { - "lastModified": 1738508923, - "narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=", + "lastModified": 1741886583, + "narHash": "sha256-sScfYKtxp3CYv5fJcHQDvQjqBL+tPNQqS9yf9Putd+s=", "owner": "NuschtOS", "repo": "search", - "rev": "86e2038290859006e05ca7201425ea5b5de4aecb", + "rev": "2974bc5fa3441a319fba943f3ca41f7dcd1a1467", "type": "github" }, "original": { diff --git a/flake/dev/flake.lock b/flake/dev/flake.lock index a4189bf254..511daa9880 100644 --- a/flake/dev/flake.lock +++ b/flake/dev/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1735644329, - "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", + "lastModified": 1741473158, + "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", "owner": "numtide", "repo": "devshell", - "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", + "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", "type": "github" }, "original": { @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "lastModified": 1742300892, + "narHash": "sha256-QmF0proyjXI9YyZO9GZmc7/uEu5KVwCtcdLsKSoxPAI=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "rev": "ea26a82dda75bee6783baca6894040c8e6599728", "type": "github" }, "original": { @@ -86,11 +86,11 @@ ] }, "locked": { - "lastModified": 1738878603, - "narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=", + "lastModified": 1742326330, + "narHash": "sha256-Tumt3tcMXJniSh7tw2gW+WAnVLeB3WWm+E+yYFnLBXo=", "owner": "nix-community", "repo": "home-manager", - "rev": "433799271274c9f2ab520a49527ebfe2992dcfbd", + "rev": "22a36aa709de7dd42b562a433b9cefecf104a6ee", "type": "github" }, "original": { @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1738743987, - "narHash": "sha256-O3bnAfsObto6l2tQOmQlrO6Z2kD6yKwOWfs7pA0CpOc=", + "lastModified": 1742165923, + "narHash": "sha256-WKzuVsHXjuxYjS9KxKdpoPWpT37LofyS5llSssEw058=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "ae406c04577ff9a64087018c79b4fdc02468c87c", + "rev": "95eac71bf52b271523d0ca81dbbeb3182990fc24", "type": "github" }, "original": { @@ -121,11 +121,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1738797219, - "narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=", + "lastModified": 1742237028, + "narHash": "sha256-xlpHmgBxUnvHo8FNnju0sgnEyasb4gC607b+keqjmX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1da52dd49a127ad74486b135898da2cef8c62665", + "rev": "9bc8a90931262245919a26f995c1f24c6c70d3fe", "type": "github" }, "original": { @@ -153,11 +153,11 @@ ] }, "locked": { - "lastModified": 1738680491, - "narHash": "sha256-8X7tR3kFGkE7WEF5EXVkt4apgaN85oHZdoTGutCFs6I=", + "lastModified": 1742303424, + "narHash": "sha256-2R7cGdcA2npQQcIWu2cTlU63veTzwVZe78BliIuJT00=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "64dbb922d51a42c0ced6a7668ca008dded61c483", + "rev": "b3b938ab8ba2e8a0ce9ee9b30ccfa5e903ae5753", "type": "github" }, "original": { diff --git a/generated/efmls-configs.nix b/generated/efmls-configs.nix index 237e78a41f..5da7c83fe2 100644 --- a/generated/efmls-configs.nix +++ b/generated/efmls-configs.nix @@ -1292,6 +1292,7 @@ possible = [ "sql-formatter" "sqlfluff" + "sqruff" ]; }; linter = { diff --git a/generated/lspconfig-servers.json b/generated/lspconfig-servers.json index 8b081d3497..b4e3fbfaa8 100644 --- a/generated/lspconfig-servers.json +++ b/generated/lspconfig-servers.json @@ -14,6 +14,11 @@ "desc": "https://github.com/aiken-lang/aiken\n\nA language server for Aiken Programming Language.\n[Installation](https://aiken-lang.org/installation-instructions)\n\nIt can be i\n", "name": "aiken" }, + { + "cmd": ["air", "language-server"], + "desc": "https://github.com/posit-dev/air\n\nAir is an R formatter and language server, written in Rust.\n\nRefer to the [documentation](https://posit-dev.github.io/air/editors.html) for more details.\n\n ", + "name": "air" + }, { "cmd": ["alloy", "lsp"], "desc": "https://github.com/AlloyTools/org.alloytools.alloy\n\nAlloy is a formal specification language for describing structures and a tool for exploring them.\n\nYou may also need to configure the filetype for Alloy (*.als) files:\n\n```\nautocmd BufNewFile,BufRead *.als set filetype=alloy\n```\n\nor\n\n```lua\nvim.filetype.add({\n pattern = {\n ['.*/*.als'] = 'alloy',\n },\n})\n```\n\nAlternatively, you may use a syntax plugin like https://github.com/runoshun/vim-alloy.\n", @@ -31,6 +36,8 @@ "--tsProbeLocations", "", "--ngProbeLocations", + "", + "--angularCoreVersion", "" ], "desc": "https://github.com/angular/vscode-ng-language-service\n\n`angular-language-server` can be installed via npm `npm install -g @angular/language-server`.\n\nNote, that if you override the default `cmd`, you must also update `on_new_config` to set `new_config.cmd` during startup.\n\n```lua\nlocal project_library_path = \"/path/to/project/lib\"\nlocal cmd = {\"ngserver\", \"--stdio\", \"--tsProbeLocations\", project_library_path , \"--ngProbeLocations\", project_library_path}\n\nrequire'lspconfig'.angularls.setup{\n cmd = cmd,\n on_new_config = function(new_config,new_root_dir)\n new_config.cmd = cmd\n end,\n}\n```\n ", @@ -72,7 +79,7 @@ }, { "cmd": ["atlas", "tool", "lsp", "--stdio"], - "desc": "https://github.com/ariga/atlas\n\nLanguage server for Atlas config and scheme files.\n\nYou may also need to configure the filetype for *.hcl files:\n\n`autocmd BufNewFile,BufRead atlas.hcl set filetype=atlas-config`\n`autocmd BufNewFile,BufRead *.my.hcl set filetype=atlas-schema-mysql`\n`autocmd BufNewFile,BufRead *.pg.hcl set filetype=atlas-schema-postgresql`\n`autocmd BufNewFile,BufRead *.lt.hcl set filetype=atlas-schema-sqlite`\n`autocmd BufNewFile,BufRead *.ch.hcl set filetype=atlas-schema-clickhouse`\n`autocmd BufNewFile,BufRead *.ms.hcl set filetype=atlas-schema-mssql`\n`autocmd BufNewFile,BufRead *.rs.hcl set filetype=atlas-schema-redshift`\n`autocmd BufNewFile,BufRead *.test.hcl set filetype=atlas-test`\n`autocmd BufNewFile,BufRead *.plan.hcl set filetype=atlas-plan`\n\nor\n\n```lua\nvim.filetype.add({\n filename = {\n ['atlas.hcl'] = 'atlas-config',\n },\n pattern = {\n ['.*/*.my.hcl'] = 'atlas-schema-mysql',\n ['.*/*.pg.hcl'] = 'atlas-schema-postgresql',\n ['.*/*.lt.hcl'] = 'atlas-schema-sqlite',\n ['.*/*.ch.hcl'] = 'atlas-schema-clickhouse',\n ['.*/*.ms.hcl'] = 'atlas-schema-mssql',\n ['.*/*.rs.hcl'] = 'atlas-schema-redshift',\n ['.*/*.test.hcl'] = 'atlas-test',\n ['.*/*.plan.hcl'] = 'atlas-plan',\n },\n})\n```\n\n", + "desc": "https://github.com/ariga/atlas\n\nLanguage server for Atlas config and scheme files.\n\nYou may also need to configure the filetype for *.hcl files:\n\n`autocmd BufNewFile,BufRead atlas.hcl set filetype=atlas-config`\n`autocmd BufNewFile,BufRead *.my.hcl set filetype=atlas-schema-mysql`\n`autocmd BufNewFile,BufRead *.pg.hcl set filetype=atlas-schema-postgresql`\n`autocmd BufNewFile,BufRead *.lt.hcl set filetype=atlas-schema-sqlite`\n`autocmd BufNewFile,BufRead *.ch.hcl set filetype=atlas-schema-clickhouse`\n`autocmd BufNewFile,BufRead *.ms.hcl set filetype=atlas-schema-mssql`\n`autocmd BufNewFile,BufRead *.rs.hcl set filetype=atlas-schema-redshift`\n`autocmd BufNewFile,BufRead *.test.hcl set filetype=atlas-test`\n`autocmd BufNewFile,BufRead *.plan.hcl set filetype=atlas-plan`\n\nor\n\n```lua\nvim.filetype.add({\n filename = {\n ['atlas.hcl'] = 'atlas-config',\n },\n pattern = {\n ['.*/*.my.hcl'] = 'atlas-schema-mysql',\n ['.*/*.pg.hcl'] = 'atlas-schema-postgresql',\n ['.*/*.lt.hcl'] = 'atlas-schema-sqlite',\n ['.*/*.ch.hcl'] = 'atlas-schema-clickhouse',\n ['.*/*.ms.hcl'] = 'atlas-schema-mssql',\n ['.*/*.rs.hcl'] = 'atlas-schema-redshift',\n ['.*/*.test.hcl'] = 'atlas-test',\n ['.*/*.plan.hcl'] = 'atlas-plan',\n },\n})\n```\n\nOptionally, tell treesitter to treat Atlas filetypes as HCL for better syntax highlighting:\n\n```lua\nvim.treesitter.language.register('hcl', 'atlas-config')\nvim.treesitter.language.register('hcl', 'atlas-schema-mysql')\nvim.treesitter.language.register('hcl', 'atlas-schema-postgresql')\nvim.treesitter.language.register('hcl', 'atlas-schema-sqlite')\nvim.treesitter.language.register('hcl', 'atlas-schema-clickhouse')\nvim.treesitter.language.register('hcl', 'atlas-schema-mssql')\nvim.treesitter.language.register('hcl', 'atlas-schema-redshift')\nvim.treesitter.language.register('hcl', 'atlas-test')\nvim.treesitter.language.register('hcl', 'atlas-plan')\n```\n\n", "name": "atlas" }, { @@ -97,7 +104,7 @@ }, { "cmd": ["bacon-ls"], - "desc": "https://github.com/crisidev/bacon-ls\n\nA Language Server Protocol wrapper for [bacon](https://dystroy.org/bacon/).\nIt offers textDocument/diagnostic and workspace/diagnostic capabilities for Rust\nworkspaces using the Bacon export locations file.\n\nIt requires `bacon` and `bacon-ls` to be installed on the system using\n[mason.nvim](https://github.com/williamboman/mason.nvim) or manually:util\n\n```sh\n$ cargo install --locked bacon bacon-ls\n```\n\nSettings can be changed using the `settings` dictionary:util\n\n```lua\nsettings = {\n -- Bacon export filename, default .bacon-locations\n locationsFile = \".bacon-locations\",\n -- Maximum time in seconds the LSP server waits for Bacon to update the\n -- export file before loading the new diagnostics\n waitTimeSeconds = 10\n}\n```\n ", + "desc": "https://github.com/crisidev/bacon-ls\n\nA Language Server Protocol wrapper for [bacon](https://dystroy.org/bacon/).\nIt offers textDocument/diagnostic and workspace/diagnostic capabilities for Rust\nworkspaces using the Bacon export locations file.\n\nIt requires `bacon` and `bacon-ls` to be installed on the system using\n[mason.nvim](https://github.com/williamboman/mason.nvim) or manually\n\n```sh\n$ cargo install --locked bacon bacon-ls\n```\n\nSettings can be changed using the `init_options` dictionary:util\n\n```lua\ninit_options = {\n -- Bacon export filename (default: .bacon-locations).\n locationsFile = \".bacon-locations\",\n -- Try to update diagnostics every time the file is saved (default: true).\n updateOnSave = true,\n -- How many milliseconds to wait before updating diagnostics after a save (default: 1000).\n updateOnSaveWaitMillis = 1000,\n -- Try to update diagnostics every time the file changes (default: true).\n updateOnChange = true,\n -- Try to validate that bacon preferences are setup correctly to work with bacon-ls (default: true).\n validateBaconPreferences = true,\n -- f no bacon preferences file is found, create a new preferences file with the bacon-ls job definition (default: true).\n createBaconPreferencesFile = true,\n -- Run bacon in background for the bacon-ls job (default: true)\n runBaconInBackground = true,\n -- Command line arguments to pass to bacon running in background (default \"--headless -j bacon-ls\")\n runBaconInBackgroundCommandArguments = \"--headless -j bacon-ls\",\n -- How many milliseconds to wait between background diagnostics check to synchronize all open files (default: 2000).\n synchronizeAllOpenFilesWaitMillis = 2000,\n}\n```\n ", "name": "bacon_ls" }, { @@ -121,7 +128,7 @@ "name": "basics_ls" }, { - "cmd": ["bazelrc-lsp"], + "cmd": ["bazelrc-lsp", "lsp"], "desc": "https://github.com/salesforce-misc/bazelrc-lsp\n\n`bazelrc-lsp` is a LSP for `.bazelrc` configuration files.\n\nThe `.bazelrc` file type is not detected automatically, you can register it manually (see below) or override the filetypes:\n\n```lua\nvim.filetype.add {\n pattern = {\n ['.*.bazelrc'] = 'bazelrc',\n },\n}\n```\n", "name": "bazelrc_lsp" }, @@ -410,6 +417,11 @@ "desc": "https://github.com/iamcco/ds-pinyin-lsp\nDead simple Pinyin language server for input Chinese without IME(input method).\nTo install, download the latest [release](https://github.com/iamcco/ds-pinyin-lsp/releases) and ensure `ds-pinyin-lsp` is on your path.\nAnd make ensure the database file `dict.db3` is also downloaded. And put the path to `dict.dbs` in the following code.\n\n```lua\n\nrequire('lspconfig').ds_pinyin_lsp.setup {\n init_options = {\n db_path = \"your_path_to_database\"\n }\n}\n\n```\n", "name": "ds_pinyin_lsp" }, + { + "cmd": ["dts-lsp"], + "desc": "`dts-lsp` is an LSP for Devicetree files built on top of tree-sitter-devicetree grammar.\nLanguage servers can be used in many editors, such as Visual Studio Code, Emacs\nor Vim\n\nInstall `dts-lsp` from https://github.com/igor-prusov/dts-lsp and add it to path\n\n`dts-lsp` doesn't require any configuration.\n\nMore about Devicetree:\nhttps://www.devicetree.org/\nhttps://docs.zephyrproject.org/latest/build/dts/index.html\n\n", + "name": "dts_lsp" + }, { "cmd": ["earthlyls"], "desc": "https://github.com/glehmann/earthlyls\n\nA fast language server for earthly.\n", @@ -582,7 +594,7 @@ }, { "cmd": ["gleam", "lsp"], - "desc": "https://github.com/gleam-lang/gleam\n\nA language server for Gleam Programming Language.\n[Installation](https://gleam.run/getting-started/installing/)\n\nIt can be i\n", + "desc": "https://github.com/gleam-lang/gleam\n\nA language server for Gleam Programming Language.\n\nIt comes with the Gleam compiler, for installation see: [Installing Gleam](https://gleam.run/getting-started/installing/)\n", "name": "gleam" }, { @@ -637,7 +649,7 @@ }, { "cmd": ["harper-ls", "--stdio"], - "desc": "https://github.com/elijah-potter/harper\n\nThe language server for Harper, the slim, clean language checker for\ndevelopers.\n\nSee\n[docs](https://github.com/elijah-potter/harper/blob/master/harper-ls/README.md#configuration)\nfor more information on settings.\n\nIn short, however, they should look something like this:\n\n``` lua\nlspconfig.harper_ls.setup {\n settings = {\n [\"harper-ls\"] = {\n userDictPath = \"~/dict.txt\"\n }\n },\n}\n```\n", + "desc": "https://github.com/automattic/harper\n\nThe language server for Harper, the slim, clean language checker for developers.\n\nSee our [documentation](https://writewithharper.com/docs/integrations/neovim) for more information on settings.\n\nIn short, they should look something like this:\n```lua\nlspconfig.harper_ls.setup {\n settings = {\n [\"harper-ls\"] = {\n userDictPath = \"~/dict.txt\"\n }\n },\n}\n```\n ", "name": "harper_ls" }, { @@ -835,7 +847,7 @@ }, { "cmd": ["lua-language-server"], - "desc": "https://github.com/luals/lua-language-server\n\nLua language server.\n\n`lua-language-server` can be installed by following the instructions\n[here](https://luals.github.io/#neovim-install).\n\nThe default `cmd` assumes that the `lua-language-server` binary can be\nfound in `$PATH`.\n\nIf you primarily use `lua-language-server` for Neovim, and want to\nprovide completions, analysis, and location handling for plugins on\nruntime path, you can use the following settings.\n\n``` lua\nrequire'lspconfig'.lua_ls.setup {\n on_init = function(client)\n if client.workspace_folders then\n local path = client.workspace_folders[1].name\n if vim.loop.fs_stat(path..'/.luarc.json') or vim.loop.fs_stat(path..'/.luarc.jsonc') then\n return\n end\n end\n\n client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {\n runtime = {\n -- Tell the language server which version of Lua you're using\n -- (most likely LuaJIT in the case of Neovim)\n version = 'LuaJIT'\n },\n -- Make the server aware of Neovim runtime files\n workspace = {\n checkThirdParty = false,\n library = {\n vim.env.VIMRUNTIME\n -- Depending on the usage, you might want to add additional paths here.\n -- \"${3rd}/luv/library\"\n -- \"${3rd}/busted/library\",\n }\n -- or pull in all of 'runtimepath'. NOTE: this is a lot slower and will cause issues when working on your own configuration (see https://github.com/neovim/nvim-lspconfig/issues/3189)\n -- library = vim.api.nvim_get_runtime_file(\"\", true)\n }\n })\n end,\n settings = {\n Lua = {}\n }\n}\n```\n\nSee `lua-language-server`'s\n[documentation](https://luals.github.io/wiki/settings/) for an\nexplanation of the above fields: \\*\n[Lua.runtime.path](https://luals.github.io/wiki/settings/#runtimepath)\n\\*\n[Lua.workspace.library](https://luals.github.io/wiki/settings/#workspacelibrary)\n", + "desc": "https://github.com/luals/lua-language-server\n\nLua language server.\n\n`lua-language-server` can be installed by following the instructions\n[here](https://luals.github.io/#neovim-install).\n\nThe default `cmd` assumes that the `lua-language-server` binary can be\nfound in `$PATH`.\n\nIf you primarily use `lua-language-server` for Neovim, and want to\nprovide completions, analysis, and location handling for plugins on\nruntime path, you can use the following settings.\n\n``` lua\nrequire'lspconfig'.lua_ls.setup {\n on_init = function(client)\n if client.workspace_folders then\n local path = client.workspace_folders[1].name\n if path ~= vim.fn.stdpath('config') and (vim.loop.fs_stat(path..'/.luarc.json') or vim.loop.fs_stat(path..'/.luarc.jsonc')) then\n return\n end\n end\n\n client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {\n runtime = {\n -- Tell the language server which version of Lua you're using\n -- (most likely LuaJIT in the case of Neovim)\n version = 'LuaJIT'\n },\n -- Make the server aware of Neovim runtime files\n workspace = {\n checkThirdParty = false,\n library = {\n vim.env.VIMRUNTIME\n -- Depending on the usage, you might want to add additional paths here.\n -- \"${3rd}/luv/library\"\n -- \"${3rd}/busted/library\",\n }\n -- or pull in all of 'runtimepath'. NOTE: this is a lot slower and will cause issues when working on your own configuration (see https://github.com/neovim/nvim-lspconfig/issues/3189)\n -- library = vim.api.nvim_get_runtime_file(\"\", true)\n }\n })\n end,\n settings = {\n Lua = {}\n }\n}\n```\n\nSee `lua-language-server`'s\n[documentation](https://luals.github.io/wiki/settings/) for an\nexplanation of the above fields: \\*\n[Lua.runtime.path](https://luals.github.io/wiki/settings/#runtimepath)\n\\*\n[Lua.workspace.library](https://luals.github.io/wiki/settings/#workspacelibrary)\n", "name": "lua_ls" }, { "cmd": ["luau-lsp", "lsp"], "name": "luau_lsp" }, @@ -1130,7 +1142,7 @@ "name": "poryscript_pls" }, { - "cmd": ["postgres_lsp"], + "cmd": ["postgres_lsp", "lsp-proxy"], "desc": "https://github.com/supabase/postgres_lsp\n\nA Language Server for Postgres\n ", "name": "postgres_lsp" }, @@ -1325,7 +1337,7 @@ }, { "cmd": ["rust-analyzer"], - "desc": "https://github.com/rust-lang/rust-analyzer\n\nrust-analyzer (aka rls 2.0), a language server for Rust\n\nSee\n[docs](https://github.com/rust-lang/rust-analyzer/blob/master/docs/user/generated_config.adoc)\nfor extra settings. The settings can be used like this:\n\n``` lua\nrequire'lspconfig'.rust_analyzer.setup{\n settings = {\n ['rust-analyzer'] = {\n diagnostics = {\n enable = false;\n }\n }\n }\n}\n```\n\nNote: do not set `init_options` for this LS config, it will be\nautomatically populated by the contents of settings\\[\"rust-analyzer\"\\]\nper\nhttps://github.com/rust-lang/rust-analyzer/blob/eb5da56d839ae0a9e9f50774fa3eb78eb0964550/docs/dev/lsp-extensions.md?plain=1#L26.\n", + "desc": "https://github.com/rust-lang/rust-analyzer\n\nrust-analyzer (aka rls 2.0), a language server for Rust\n\nSee [docs](https://rust-analyzer.github.io/book/configuration.html) for\nextra settings. The settings can be used like this:\n\n``` lua\nrequire'lspconfig'.rust_analyzer.setup{\n settings = {\n ['rust-analyzer'] = {\n diagnostics = {\n enable = false;\n }\n }\n }\n}\n```\n\nNote: do not set `init_options` for this LS config, it will be\nautomatically populated by the contents of settings\\[\"rust-analyzer\"\\]\nper\nhttps://github.com/rust-lang/rust-analyzer/blob/eb5da56d839ae0a9e9f50774fa3eb78eb0964550/docs/dev/lsp-extensions.md?plain=1#L26.\n", "name": "rust_analyzer" }, { @@ -1538,6 +1550,11 @@ "desc": "https://ruby-syntax-tree.github.io/syntax_tree/\n\nA fast Ruby parser and formatter.\n\nSyntax Tree is a suite of tools built on top of the internal CRuby parser. It\nprovides the ability to generate a syntax tree from source, as well as the\ntools necessary to inspect and manipulate that syntax tree. It can be used to\nbuild formatters, linters, language servers, and more.\n\n```sh\ngem install syntax_tree\n```\n ", "name": "syntax_tree" }, + { + "cmd": ["systemd-language-server"], + "desc": "https://github.com/psacawa/systemd-language-server\n\n`systemd-language-server` can be installed via `pip`:\n```sh\npip install systemd-language-server\n```\n\nLanguage Server for Systemd unit files\n", + "name": "systemd_ls" + }, { "cmd": ["tabby-agent", "--lsp", "--stdio"], "desc": "https://tabby.tabbyml.com/blog/running-tabby-as-a-language-server\n\nLanguage server for Tabby, an opensource, self-hosted AI coding assistant.\n\n`tabby-agent` can be installed via `npm`:\n\n```sh\nnpm install --global tabby-agent\n```\n", @@ -1633,6 +1650,11 @@ "desc": "https://github.com/npezza93/ttags\n ", "name": "ttags" }, + { + "cmd": ["turbo-language-server", "--stdio"], + "desc": "https://www.npmjs.com/package/turbo-language-server\n\n`turbo-language-server` can be installed via `npm`:\n\n```sh\nnpm install -g turbo-language-server\n```\n\nor via `yarn`:\n\n```sh\nyarn global add turbo-language-server\n```\n", + "name": "turbo_ls" + }, { "cmd": ["node", null, "--stdio"], "desc": "https://github.com/stardog-union/stardog-language-servers/tree/master/packages/turtle-language-server\n`turtle-language-server`, An editor-agnostic server providing language intelligence (diagnostics, hover tooltips, etc.) for the W3C standard Turtle RDF syntax via the Language Server Protocol.\ninstallable via npm install -g turtle-language-server or yarn global add turtle-language-server.\nrequires node.\n", @@ -1720,7 +1742,7 @@ }, { "cmd": ["veridian"], - "desc": "https://github.com/vivekmalneedi/veridian\n\nA SystemVerilog LanguageServer.\n\nDownload the latest release for your OS from the releases page\n\n**install with slang feature, if C++17 compiler is available**\n\ncargo install --git https://github.com/vivekmalneedi/veridian.git\n--all-features \\# install if C++17 compiler is not available cargo\ninstall --git https://github.com/vivekmalneedi/veridian.git\n", + "desc": "https://github.com/vivekmalneedi/veridian\n\nA SystemVerilog LanguageServer.\n\nDownload the latest release for your OS from the releases page\n\nInstall with slang feature, if C++17 compiler is available:\n```\ncargo install --git https://github.com/vivekmalneedi/veridian.git --all-features\n```\n\nInstall if C++17 compiler is not available:\n```\ncargo install --git https://github.com/vivekmalneedi/veridian.git\n```\n ", "name": "veridian" }, { @@ -1767,6 +1789,11 @@ "desc": "https://github.com/vuejs/vetur/tree/master/server\n\nVue language server(vls)\n`vue-language-server` can be installed via `npm`:\n```sh\nnpm install -g vls\n```\n", "name": "vuels" }, + { + "cmd": ["wat_server"], + "desc": "https://github.com/g-plane/wasm-language-tools\n\nWebAssembly Language Tools aims to provide and improve the editing experience of WebAssembly Text Format.\nIt also provides an out-of-the-box formatter (a.k.a. pretty printer) for WebAssembly Text Format.\n", + "name": "wasm_language_tools" + }, { "cmd": ["wgsl_analyzer"], "desc": "https://github.com/wgsl-analyzer/wgsl-analyzer\n\n`wgsl_analyzer` can be installed via `cargo`:\n```sh\ncargo install --git https://github.com/wgsl-analyzer/wgsl-analyzer wgsl_analyzer\n```\n", diff --git a/generated/none-ls.nix b/generated/none-ls.nix index 51cdea3923..e83639ee32 100644 --- a/generated/none-ls.nix +++ b/generated/none-ls.nix @@ -126,6 +126,7 @@ "buildifier" "cbfmt" "clang_format" + "cljfmt" "cljstyle" "cmake_format" "codespell" diff --git a/generated/rust-analyzer.nix b/generated/rust-analyzer.nix index 26ba306fce..292d8710ac 100644 --- a/generated/rust-analyzer.nix +++ b/generated/rust-analyzer.nix @@ -186,6 +186,10 @@ "rust-analyzer.cargo.cfgs" = { description = '' List of cfg options to enable with the given values. + + To enable a name without a value, use `"key"`. + To enable a name with a value, use `"key=value"`. + To disable, prefix the entry with a `!`. ''; pluginDefault = [ "debug_assertions" @@ -531,6 +535,24 @@ kind = "boolean"; }; }; + "rust-analyzer.completion.autoAwait.enable" = { + description = '' + Toggles the additional completions that automatically show method calls and field accesses with `await` prefixed to them when completing on a future. + ''; + pluginDefault = true; + type = { + kind = "boolean"; + }; + }; + "rust-analyzer.completion.autoIter.enable" = { + description = '' + Toggles the additional completions that automatically show method calls with `iter()` or `into_iter()` prefixed to them when completing on a type that has them. + ''; + pluginDefault = true; + type = { + kind = "boolean"; + }; + }; "rust-analyzer.completion.autoimport.enable" = { description = '' Toggles the additional completions that automatically add imports when completed. @@ -833,9 +855,9 @@ kind = "list"; }; }; - "rust-analyzer.files.excludeDirs" = { + "rust-analyzer.files.exclude" = { description = '' - These directories will be ignored by rust-analyzer. They are + These paths (file/directories) will be ignored by rust-analyzer. They are relative to the workspace root, and globs are not supported. You may also need to add the folders to Code's `files.watcherExclude`. ''; @@ -997,6 +1019,15 @@ kind = "boolean"; }; }; + "rust-analyzer.hover.dropGlue.enable" = { + description = '' + Whether to show drop glue information on hover. + ''; + pluginDefault = true; + type = { + kind = "boolean"; + }; + }; "rust-analyzer.hover.links.enable" = { description = '' Use markdown syntax for links on hover. @@ -1558,6 +1589,15 @@ kind = "boolean"; }; }; + "rust-analyzer.inlayHints.typeHints.hideClosureParameter" = { + description = '' + Whether to hide inlay parameter type hints for closures. + ''; + pluginDefault = false; + type = { + kind = "boolean"; + }; + }; "rust-analyzer.inlayHints.typeHints.hideNamedConstructor" = { description = '' Whether to hide inlay type hints for constructors. diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 71785be21e..d11ca2fd50 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -124,12 +124,4 @@ githubId = 38228372; name = "Katie Janzen"; }; - jolars = { - email = "jolars@posteo.com"; - matrix = "@jola:mozilla.org"; - github = "jolars"; - githubId = 13087841; - name = "Johan Larsson"; - keys = [ { fingerprint = "F0D6 BDE7 C7D1 6B3F 7883 73E7 2A41 C0FE DD6F F540"; } ]; - }; } diff --git a/plugins/by-name/efmls-configs/packages.nix b/plugins/by-name/efmls-configs/packages.nix index e52eeaa850..8453879601 100644 --- a/plugins/by-name/efmls-configs/packages.nix +++ b/plugins/by-name/efmls-configs/packages.nix @@ -87,8 +87,9 @@ in "shellharden" "shfmt" "smlfmt" - "sqlfluff" "sql-formatter" + "sqlfluff" + "sqruff" "statix" "stylua" "taplo" diff --git a/plugins/by-name/markview/default.nix b/plugins/by-name/markview/default.nix index 1272b0a721..c04924c5e2 100644 --- a/plugins/by-name/markview/default.nix +++ b/plugins/by-name/markview/default.nix @@ -21,78 +21,80 @@ lib.nixvim.plugins.mkNeovimPlugin { ''; settingsOptions = { - buf_ignore = defaultNullOpts.mkListOf types.str [ "nofile" ] '' - Buftypes to disable markview-nvim. - ''; + preview = { + enable = defaultNullOpts.mkBool true '' + Enable preview functionality. + ''; - modes = - defaultNullOpts.mkListOf types.str - [ - "n" - "no" - ] - '' - Modes where preview is enabled. - ''; + enable_hybrid_mode = defaultNullOpts.mkBool true '' + Enable hybrid mode functionality. + ''; - hybrid_modes = defaultNullOpts.mkListOf types.str null '' - Modes where hybrid mode is enabled. - ''; + buf_ignore = defaultNullOpts.mkListOf types.str [ "nofile" ] '' + Buftypes to disable markview-nvim. + ''; - callback = { - on_enable = defaultNullOpts.mkLuaFn' { - pluginDefault = # Lua + modes = + defaultNullOpts.mkListOf types.str + [ + "n" + "no" + "c" + ] '' - function(buf, win) - vim.wo[window].conceallevel = 2; - vim.wo[window].concealcursor = "nc"; - end + Modes where preview is enabled. ''; - description = '' - Action to perform when markview is enabled. - ''; - }; - on_disable = defaultNullOpts.mkLuaFn' { - pluginDefault = # Lua - '' - function(buf, win) - vim.wo[window].conceallevel = 0; - vim.wo[window].concealcursor = ""; - end - ''; - description = '' - Action to perform when markview is disabled. - ''; - }; + hybrid_modes = defaultNullOpts.mkListOf types.str null '' + Modes where hybrid mode is enabled. + ''; - on_mode_change = defaultNullOpts.mkLuaFn' { - pluginDefault = # Lua - '' - function(buf, win, mode) - if vim.list_contains(markview.configuration.modes, mode) then - vim.wo[window].conceallevel = 2; - else - vim.wo[window].conceallevel = 0; - end - end - ''; - description = '' - Action to perform when mode is changed, while the plugin is enabled. - ''; - }; + icon_provider = defaultNullOpts.mkEnum [ "devicons" "internal" "mini" ] "internal" '' + Provider for icons. + Available options: + - "devicons": Use nvim-web-devicons + - "internal": Use internal icons (default) + - "mini": Use mini.icons + ''; }; }; settingsExample = { - buf_ignore = [ ]; - modes = [ - "n" - "x" - ]; - hybrid_modes = [ - "i" - "r" - ]; + preview = { + buf_ignore = [ ]; + modes = [ + "n" + "x" + ]; + hybrid_modes = [ + "i" + "r" + ]; + }; + }; + + extraConfig = cfg: { + # v25 migration warning added 2025-03-04 + warnings = lib.nixvim.mkWarnings "plugins.markview" ( + lib.map + (name: { + when = cfg.settings ? ${name}; + message = '' + v25 had a complete spec redesign. `${name}` had been moved to `preview.${ + if name == "callback" then "callbacks" else name + }`. + See https://github.com/OXY2DEV/markview.nvim/blob/v25.0.0/doc/migration.txt#L155 + ''; + }) + [ + "buf_ignore" + "callback" + "callbacks" + "debounce" + "filetypes" + "hybrid_modes" + "modes" + ] + ); }; } diff --git a/plugins/by-name/none-ls/packages.nix b/plugins/by-name/none-ls/packages.nix index 4d60ccf017..2cd5781e9c 100644 --- a/plugins/by-name/none-ls/packages.nix +++ b/plugins/by-name/none-ls/packages.nix @@ -39,6 +39,7 @@ in "checkmake" "checkstyle" "clazy" + "cljfmt" "codespell" "commitlint" "cppcheck" @@ -90,6 +91,7 @@ in "stylua" "tfsec" "topiary" + "treefmt" "trivy" "typstfmt" "typstyle" @@ -235,7 +237,6 @@ in terragrunt_fmt = "terragrunt"; terragrunt_validate = "terragrunt"; tidy = "html-tidy"; - treefmt = "treefmt2"; verible_verilog_format = "verible"; vint = "vim-vint"; write_good = "write-good"; diff --git a/plugins/lsp/language-servers/pylsp.nix b/plugins/lsp/language-servers/pylsp.nix index 73ef9e1c34..a23ac61577 100644 --- a/plugins/lsp/language-servers/pylsp.nix +++ b/plugins/lsp/language-servers/pylsp.nix @@ -609,6 +609,11 @@ in # Those tests fail when third-party plugins are loaded "test_notebook_document__did_open" "test_notebook_document__did_change" + + # test/plugins/test_autoimport.py:322: AssertionError + # E assert False + # E + where False = any(. at 0x7fff54a2eb20>) + "test_autoimport_code_actions_and_completions_for_notebook_document" ]; }) ); diff --git a/plugins/lsp/lsp-packages.nix b/plugins/lsp/lsp-packages.nix index e522cb3227..381d02fc3d 100644 --- a/plugins/lsp/lsp-packages.nix +++ b/plugins/lsp/lsp-packages.nix @@ -30,6 +30,8 @@ "codeqlls" "coffeesense" "contextive" + # coqPackages.coq-lsp is unavailable since the bump to coq 9.0: https://github.com/NixOS/nixpkgs/pull/389454 + "coq_lsp" "css_variables" "cssmodules_ls" "cucumber_language_server" @@ -43,6 +45,7 @@ "dolmenls" "drools_lsp" "ds_pinyin_lsp" + "dts_lsp" "ecsact" "ember" "esbonio" @@ -60,6 +63,7 @@ "glint" "gradle_ls" "grammarly" + "graphql" # nodePackages.graphql-language-service-cli was removed in https://github.com/NixOS/nixpkgs/pull/382557 "groovyls" "guile_ls" "haxe_language_server" @@ -123,13 +127,13 @@ "reason_ls" "relay_lsp" "remark_ls" - "rescriptls" "rnix" "robotcode" "robotframework_ls" "roc_ls" "rome" "salt_ls" + "scry" # deprecated and removed from nixpkgs "selene3p_ls" "sixtyfps" "slangd" @@ -154,6 +158,7 @@ "textlsp" "theme_check" "tsp_server" + "turbo_ls" "turtle_ls" # typst-lsp has been removed from nixpkgs as the project is archived "typst_lsp" @@ -167,7 +172,10 @@ "vdmj" "veridian" "visualforce_ls" + # coqPackages.vscoq-language-server is unavailable since the bump to coq 9.0: https://github.com/NixOS/nixpkgs/pull/389454 + "vscoqtop" "vuels" + "wasm_language_tools" "yang_lsp" "yls" "ziggy" @@ -176,6 +184,7 @@ packages = { aiken = "aiken"; + air = "air-formatter"; angularls = "angular-language-server"; ansiblels = "ansible-language-server"; arduino_language_server = "arduino-language-server"; @@ -197,10 +206,6 @@ clangd = "clang-tools"; clojure_lsp = "clojure-lsp"; cmake = "cmake-language-server"; - coq_lsp = [ - "coqPackages" - "coq-lsp" - ]; crystalline = "crystalline"; csharp_ls = "csharp-ls"; cssls = "vscode-langservers-extracted"; @@ -245,10 +250,6 @@ gleam = "gleam"; glsl_analyzer = "glsl_analyzer"; glslls = "glslls"; - graphql = [ - "nodePackages" - "graphql-language-service-cli" - ]; golangci_lint_ls = "golangci-lint-langserver"; gopls = "gopls"; harper_ls = "harper"; @@ -331,6 +332,7 @@ quick_lint_js = "quick-lint-js"; regal = "regal"; regols = "regols"; + rescriptls = "rescript-language-server"; # This is not entirely true, but the server is deprecated rls = "rustup"; rubocop = "rubocop"; @@ -343,7 +345,6 @@ "akkuPackages" "scheme-langserver" ]; - scry = "scry"; serve_d = "serve-d"; shopify_theme_ls = "shopify-cli"; slint_lsp = "slint-lsp"; @@ -371,6 +372,7 @@ "rubyPackages" "syntax_tree" ]; + systemd_ls = "systemd-language-server"; tailwindcss = "tailwindcss-language-server"; taplo = "taplo"; tblgen_lsp_server = [ @@ -404,13 +406,9 @@ vimls = "vim-language-server"; vls = "vlang"; volar = "vue-language-server"; - vscoqtop = [ - "coqPackages" - "vscoq-language-server" - ]; vtsls = "vtsls"; wgsl_analyzer = "wgsl-analyzer"; - yamlls = "yaml-language-server"; + yamlls = "yaml-language-server"; # Not available in coq 9.0: https://github.com/NixOS/nixpkgs/pull/389454 zk = "zk"; zls = "zls"; }; diff --git a/tests/lsp-servers.nix b/tests/lsp-servers.nix index c54ee84480..ad04a5e2b5 100644 --- a/tests/lsp-servers.nix +++ b/tests/lsp-servers.nix @@ -43,20 +43,13 @@ let "ruff_lsp" "bufls" "typst_lsp" - - # TODO: 2025-01-22 python312Packages.anytree is broken (dependency of bitbake-language-server) - "bitbake_language_server" - ] - ++ lib.optionals pkgs.stdenv.isAarch64 [ - # Broken - "scheme_langserver" ] ++ lib.optionals (pkgs.stdenv.hostPlatform.system == "aarch64-linux") [ - # TODO: 2025-01-09 python312Packages.tree-sitter (dependency of autotools-language-server) is broken - # https://github.com/NixOS/nixpkgs/issues/372375 - "autotools_ls" # TODO: 2024-10-05 build failure "fstar" + + # TODO: 2025-03-04 marked as broken + "nickel_ls" ]; in { diff --git a/tests/test-sources/plugins/by-name/copilot-chat/default.nix b/tests/test-sources/plugins/by-name/copilot-chat/default.nix index 98471d1f34..246217f3ea 100644 --- a/tests/test-sources/plugins/by-name/copilot-chat/default.nix +++ b/tests/test-sources/plugins/by-name/copilot-chat/default.nix @@ -8,63 +8,24 @@ plugins.copilot-chat = { enable = true; + # https://github.com/CopilotC-Nvim/CopilotChat.nvim/blob/main/lua/CopilotChat/config.lua settings = { - debug = false; - proxy = null; - allow_insecure = false; - system_prompt = "require('CopilotChat.prompts').COPILOT_INSTRUCTIONS"; - model = "gpt-4"; - temperature = 0.1; - question_header = "## User "; - answer_header = "## Copilot "; - error_header = "## Error "; - separator = "───"; - show_folds = true; - show_help = true; - auto_follow_cursor = true; - auto_insert_mode = false; - clear_chat_on_new_prompt = false; - highlight_selection = true; + system_prompt = "require('CopilotChat.config.prompts').COPILOT_INSTRUCTIONS"; + model = "gpt-4-o"; + agent = "none"; context = null; - history_path.__raw = "vim.fn.stdpath('data') .. '/copilotchat_history'"; + sticky = null; + + temperature = 0.1; + headless = false; callback = null; - selection = '' + + selection.__raw = '' function(source) local select = require('CopilotChat.select') - return select.visual(source) or select.line(source) + return select.visual(source) or select.buffer(source) end ''; - prompts = { - Explain.prompt = "/COPILOT_EXPLAIN Write an explanation for the active selection as paragraphs of text."; - Review = { - prompt = "/COPILOT_REVIEW Review the selected code."; - callback = '' - function(response, source) - -- see config.lua for implementation - end - ''; - }; - Fix.prompt = "/COPILOT_GENERATE There is a problem in this code. Rewrite the code to show it with the bug fixed."; - Optimize.prompt = "/COPILOT_GENERATE Optimize the selected code to improve performance and readablilty."; - Docs.prompt = "/COPILOT_GENERATE Please add documentation comment for the selection."; - Tests.prompt = "/COPILOT_GENERATE Please generate tests for my code."; - FixDiagnostic = { - prompt = "Please assist with the following diagnostic issue in file:"; - selection = "require('CopilotChat.select').diagnostics"; - }; - Commit = { - prompt = "Write commit message for the change with commitizen convention. Make sure the title has maximum 50 characters and message is wrapped at 72 characters. Wrap the whole message in code block with language gitcommit."; - selection = "require('CopilotChat.select').gitdiff"; - }; - CommitStaged = { - prompt = "Write commit message for the change with commitizen convention. Make sure the title has maximum 50 characters and message is wrapped at 72 characters. Wrap the whole message in code block with language gitcommit."; - selection = '' - function(source) - return select.gitdiff(source, true) - end - ''; - }; - }; window = { layout = "vertical"; @@ -78,39 +39,29 @@ footer = null; zindex = 1; }; - mappings = { - complete.insert = ""; - close = { - normal = "q"; - insert = ""; - }; - reset = { - normal = ""; - insert = ""; - }; - submit_prompt = { - normal = ""; - insert = ""; - }; - toggle_sticky = { - detail = "Makes line under cursor sticky or deletes sticky line."; - normal = "gr"; - }; - accept_diff = { - normal = ""; - insert = ""; - }; - jump_to_diff.normal = "gj"; - quickfix_diffs.normal = "gq"; - yank_diff = { - normal = "gy"; - register = "\""; - }; - show_diff.normal = "gd"; - show_info.normal = "gi"; - show_context.normal = "gc"; - show_help.normal = "gh"; - }; + + show_help = true; + show_folds = true; + highlight_selection = true; + highlight_headers = true; + auto_follow_cursor = true; + auto_insert_mode = false; + insert_at_end = false; + + debug = false; + log_level = "info"; + proxy = null; + allow_insecure = false; + + chat_autocomplete = true; + + log_path.__raw = "vim.fn.stdpath('state') .. '/CopilotChat.log'"; + history_path.__raw = "vim.fn.stdpath('data') .. '/copilotchat_history'"; + + question_header = "## User "; + answer_header = "## Copilot "; + error_header = "## Error "; + separator = "───"; }; }; }; diff --git a/tests/test-sources/plugins/by-name/efmls-configs/default.nix b/tests/test-sources/plugins/by-name/efmls-configs/default.nix index e99fdbd6ec..d4cd8e52cb 100644 --- a/tests/test-sources/plugins/by-name/efmls-configs/default.nix +++ b/tests/test-sources/plugins/by-name/efmls-configs/default.nix @@ -11,7 +11,7 @@ ... }: let - inherit (pkgs.stdenv.hostPlatform) system; + inherit (pkgs.stdenv) hostPlatform; inherit (options.plugins.efmls-configs) setup; # toolOptions is an attrsets of the form: @@ -23,13 +23,18 @@ ]; brokenTools = - lib.optionals pkgs.stdenv.isDarwin [ + lib.optionals hostPlatform.isDarwin [ # As of 2024-01-04, texliveMedium is broken on darwin # TODO: re-enable those tests when fixed "chktex" "latexindent" ] - ++ lib.optionals (system == "x86_64-darwin") [ + ++ lib.optionals (hostPlatform.isDarwin && hostPlatform.isAarch64) [ + # As of 2025-03-18, several python311Packages.* dependencies of bashate fail on aarch64-darwin + # TODO: re-enable this test when fixed + "bashate" + ] + ++ lib.optionals (hostPlatform.isDarwin && hostPlatform.isx86_64) [ # As of 2024-07-31, dmd is broken on x86_64-darwin # https://github.com/NixOS/nixpkgs/pull/331373 # TODO: re-enable this test when fixed diff --git a/tests/test-sources/plugins/by-name/headlines/default.nix b/tests/test-sources/plugins/by-name/headlines/default.nix index da572d57a1..bedbbf9cf9 100644 --- a/tests/test-sources/plugins/by-name/headlines/default.nix +++ b/tests/test-sources/plugins/by-name/headlines/default.nix @@ -168,55 +168,58 @@ fat_headline_upper_string = "▃"; fat_headline_lower_string = "🬂"; }; - org = { - query.__raw = '' - vim.treesitter.query.parse( - "org", - [[ - (headline (stars) @headline) + # Fails with: + # no parser for 'org' language, see :help treesitter-parsers + # TODO: re-enable when possible + # org = { + # query.__raw = '' + # vim.treesitter.query.parse( + # "org", + # [[ + # (headline (stars) @headline) - ( - (expr) @dash - (#match? @dash "^-----+$") - ) + # ( + # (expr) @dash + # (#match? @dash "^-----+$") + # ) - (block - name: (expr) @_name - (#match? @_name "(SRC|src)") - ) @codeblock + # (block + # name: (expr) @_name + # (#match? @_name "(SRC|src)") + # ) @codeblock - (paragraph . (expr) @quote - (#eq? @quote ">") - ) - ]] - ) - ''; - headline_highlights = [ "Headline" ]; - bullet_highlights = [ - "@org.headline.level1" - "@org.headline.level2" - "@org.headline.level3" - "@org.headline.level4" - "@org.headline.level5" - "@org.headline.level6" - "@org.headline.level7" - "@org.headline.level8" - ]; - bullets = [ - "◉" - "○" - "✸" - "✿" - ]; - codeblock_highlight = "CodeBlock"; - dash_highlight = "Dash"; - dash_string = "-"; - quote_highlight = "Quote"; - quote_string = "┃"; - fat_headlines = true; - fat_headline_upper_string = "▃"; - fat_headline_lower_string = "🬂"; - }; + # (paragraph . (expr) @quote + # (#eq? @quote ">") + # ) + # ]] + # ) + # ''; + # headline_highlights = [ "Headline" ]; + # bullet_highlights = [ + # "@org.headline.level1" + # "@org.headline.level2" + # "@org.headline.level3" + # "@org.headline.level4" + # "@org.headline.level5" + # "@org.headline.level6" + # "@org.headline.level7" + # "@org.headline.level8" + # ]; + # bullets = [ + # "◉" + # "○" + # "✸" + # "✿" + # ]; + # codeblock_highlight = "CodeBlock"; + # dash_highlight = "Dash"; + # dash_string = "-"; + # quote_highlight = "Quote"; + # quote_string = "┃"; + # fat_headlines = true; + # fat_headline_upper_string = "▃"; + # fat_headline_lower_string = "🬂"; + # }; }; }; }; diff --git a/tests/test-sources/plugins/by-name/markview/default.nix b/tests/test-sources/plugins/by-name/markview/default.nix index 6209dd4fc3..91a31d66a7 100644 --- a/tests/test-sources/plugins/by-name/markview/default.nix +++ b/tests/test-sources/plugins/by-name/markview/default.nix @@ -8,37 +8,20 @@ enable = true; settings = { - buf_ignore = [ "nofile" ]; - modes = [ - "n" - "no" - ]; - hybrid_modes = [ ]; - callback = { - on_enable = # Lua - '' - function(buf, win) - vim.wo[window].conceallevel = 2; - vim.wo[window].concealcursor = "nc"; - end - ''; - on_disable = # Lua - '' - function(buf, win) - vim.wo[window].conceallevel = 0; - vim.wo[window].concealcursor = ""; - end - ''; - on_mode_change = # Lua - '' - function(buf, win, mode) - if vim.list_contains(markview.configuration.modes, mode) then - vim.wo[window].conceallevel = 2; - else - vim.wo[window].conceallevel = 0; - end - end - ''; + preview = { + enable = true; + buf_ignore = [ ]; + icon_provider = "internal"; + filetypes = [ ]; + hybrid_modes = [ ]; + ignore_previews = [ ]; + max_buf_lines = 1000; + modes = [ ]; + render_distance = [ + 200 + 200 + ]; + splitview_winopts = { }; }; }; }; diff --git a/tests/test-sources/plugins/by-name/none-ls/default.nix b/tests/test-sources/plugins/by-name/none-ls/default.nix index 645e67387b..e03880a474 100644 --- a/tests/test-sources/plugins/by-name/none-ls/default.nix +++ b/tests/test-sources/plugins/by-name/none-ls/default.nix @@ -105,10 +105,23 @@ sources = let - disabled = lib.optionals (hostPlatform.isLinux && hostPlatform.isAarch64) [ - # Not available on aarch64-linux - "smlfmt" - ]; + disabled = + [ + # Added 2025-03-18 + # Dependency python3Packages.click-option-group is broken + # TODO: re-enable when the fix lands in nixpkgs-unstable + # https://github.com/NixOS/nixpkgs/pull/389579 + "semgrep" + + # Added 2025-03-18 + # TODO: re-enable at the next bump + "terragrunt_fmt" + "terragrunt_validate" + ] + ++ lib.optionals (hostPlatform.isLinux && hostPlatform.isAarch64) [ + # Not available on aarch64-linux + "smlfmt" + ]; in # Enable every none-ls source that has an option lib.mapAttrs (