mirror of
https://github.com/nix-community/nixvim.git
synced 2025-12-17 22:41:13 +01:00
generated: Update
- Updated lspconfig-servers.json - Updated rust-analyzer-options.json
This commit is contained in:
parent
ced61cb918
commit
9f310be2da
2 changed files with 35 additions and 12 deletions
|
|
@ -165,7 +165,7 @@
|
||||||
"lean3ls": "https://github.com/leanprover/lean-client-js/tree/master/lean-language-server\nLean installation instructions can be found\n[here](https://leanprover-community.github.io/get_started.html#regular-install).\nOnce Lean is installed, you can install the Lean 3 language server by\nrunning\n\n``` sh\nnpm install -g lean-language-server\n```\n\nNote: that if you're using\n[lean.nvim](https://github.com/Julian/lean.nvim), that plugin fully\nhandles the setup of the Lean language server, and you shouldn't set up\n`lean3ls` both with it and `lspconfig`.",
|
"lean3ls": "https://github.com/leanprover/lean-client-js/tree/master/lean-language-server\nLean installation instructions can be found\n[here](https://leanprover-community.github.io/get_started.html#regular-install).\nOnce Lean is installed, you can install the Lean 3 language server by\nrunning\n\n``` sh\nnpm install -g lean-language-server\n```\n\nNote: that if you're using\n[lean.nvim](https://github.com/Julian/lean.nvim), that plugin fully\nhandles the setup of the Lean language server, and you shouldn't set up\n`lean3ls` both with it and `lspconfig`.",
|
||||||
"lelwel_ls": "https://github.com/0x2a-42/lelwel Language server for lelwel grammars.\nYou can install `lelwel-ls` via cargo:\n\n``` sh\ncargo install --features=\"lsp\" lelwel\n```",
|
"lelwel_ls": "https://github.com/0x2a-42/lelwel Language server for lelwel grammars.\nYou can install `lelwel-ls` via cargo:\n\n``` sh\ncargo install --features=\"lsp\" lelwel\n```",
|
||||||
"lemminx": "https://github.com/eclipse/lemminx The easiest way to install the server\nis to get a binary from\nhttps://github.com/redhat-developer/vscode-xml/releases and place it on\nyour PATH. NOTE to macOS users: Binaries from unidentified developers\nare blocked by default. If you trust the downloaded binary, run it once,\ncancel the prompt, then remove the binary from Gatekeeper quarantine\nwith `xattr -d com.apple.quarantine lemminx`. It should now run without\nbeing blocked.",
|
"lemminx": "https://github.com/eclipse/lemminx The easiest way to install the server\nis to get a binary from\nhttps://github.com/redhat-developer/vscode-xml/releases and place it on\nyour PATH. NOTE to macOS users: Binaries from unidentified developers\nare blocked by default. If you trust the downloaded binary, run it once,\ncancel the prompt, then remove the binary from Gatekeeper quarantine\nwith `xattr -d com.apple.quarantine lemminx`. It should now run without\nbeing blocked.",
|
||||||
"lexical": "https://github.com/lexical-lsp/lexical Lexical is a next-generation\nlanguage server for the Elixir programming language. Follow the\n[Detailed Installation\nInstructions](https://github.com/lexical-lsp/lexical/blob/main/pages/installation.md)\n**By default, `lexical` doesn't have a `cmd` set.** This is because\nnvim-lspconfig does not make assumptions about your path.",
|
"lexical": "https://github.com/lexical-lsp/lexical Lexical is a next-generation\nlanguage server for the Elixir programming language. To install from\nsource, follow the [Detailed Installation\nInstructions](https://github.com/lexical-lsp/lexical/blob/main/pages/installation.md).\nEnsure to point `cmd` to the generated\n`_build/dev/package/lexical/start_lexical.sh` executable.",
|
||||||
"lsp_ai": "https://github.com/SilasMarvin/lsp-ai LSP-AI is an open source language\nserver that serves as a backend for AI-powered functionality in your\nfavorite code editors. It offers features like in-editor chatting with\nLLMs and code completions. You will need to provide configuration for\nthe inference backends and models you want to use, as well as configure\ncompletion/code actions. See the [wiki\ndocs](https://github.com/SilasMarvin/lsp-ai/wiki/Configuration) and\n[examples](https://github.com/SilasMarvin/lsp-ai/blob/main/examples/nvim)\nfor more information.",
|
"lsp_ai": "https://github.com/SilasMarvin/lsp-ai LSP-AI is an open source language\nserver that serves as a backend for AI-powered functionality in your\nfavorite code editors. It offers features like in-editor chatting with\nLLMs and code completions. You will need to provide configuration for\nthe inference backends and models you want to use, as well as configure\ncompletion/code actions. See the [wiki\ndocs](https://github.com/SilasMarvin/lsp-ai/wiki/Configuration) and\n[examples](https://github.com/SilasMarvin/lsp-ai/blob/main/examples/nvim)\nfor more information.",
|
||||||
"ltex": "https://github.com/valentjn/ltex-ls LTeX Language Server: LSP language\nserver for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and\nothers To install, download the latest\n[release](https://github.com/valentjn/ltex-ls/releases) and ensure\n`ltex-ls` is on your path. This server accepts configuration via the\n`settings` key.\n\n``` lua\n settings = {\n ltex = {\n language = \"en-GB\",\n },\n },\n```\n\nTo support org files or R sweave, users can define a custom filetype\nautocommand (or use a plugin which defines these filetypes):\n\n``` lua\nvim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]\n```",
|
"ltex": "https://github.com/valentjn/ltex-ls LTeX Language Server: LSP language\nserver for LanguageTool 🔍✔️ with support for LaTeX 🎓, Markdown 📝, and\nothers To install, download the latest\n[release](https://github.com/valentjn/ltex-ls/releases) and ensure\n`ltex-ls` is on your path. This server accepts configuration via the\n`settings` key.\n\n``` lua\n settings = {\n ltex = {\n language = \"en-GB\",\n },\n },\n```\n\nTo support org files or R sweave, users can define a custom filetype\nautocommand (or use a plugin which defines these filetypes):\n\n``` lua\nvim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]\n```",
|
||||||
"ltex_plus": "https://github.com/ltex-plus/ltex-ls-plus LTeX Language Server: LSP\nlanguage server for LanguageTool 🔍✔️ with support for LaTeX 🎓,\nMarkdown 📝, and others To install, download the latest\n[release](https://github.com/ltex-plus/ltex-ls-plus) and ensure\n`ltex-ls-plus` is on your path. This server accepts configuration via\nthe `settings` key.\n\n``` lua\n settings = {\n ltex = {\n language = \"en-GB\",\n },\n },\n```\n\nTo support org files or R sweave, users can define a custom filetype\nautocommand (or use a plugin which defines these filetypes):\n\n``` lua\nvim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]\n```",
|
"ltex_plus": "https://github.com/ltex-plus/ltex-ls-plus LTeX Language Server: LSP\nlanguage server for LanguageTool 🔍✔️ with support for LaTeX 🎓,\nMarkdown 📝, and others To install, download the latest\n[release](https://github.com/ltex-plus/ltex-ls-plus) and ensure\n`ltex-ls-plus` is on your path. This server accepts configuration via\nthe `settings` key.\n\n``` lua\n settings = {\n ltex = {\n language = \"en-GB\",\n },\n },\n```\n\nTo support org files or R sweave, users can define a custom filetype\nautocommand (or use a plugin which defines these filetypes):\n\n``` lua\nvim.cmd [[ autocmd BufRead,BufNewFile *.org set filetype=org ]]\n```",
|
||||||
|
|
@ -194,7 +194,7 @@
|
||||||
"nelua_lsp": "",
|
"nelua_lsp": "",
|
||||||
"neocmake": "https://github.com/neocmakelsp/neocmakelsp CMake LSP Implementation\nNeovim does not currently include built-in snippets. `neocmakelsp` only\nprovides completions when snippet support is enabled. To enable\ncompletion, install a snippet plugin and add the following override to\nyour 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('neocmake', {\n capabilities = capabilities,\n})\n```",
|
"neocmake": "https://github.com/neocmakelsp/neocmakelsp CMake LSP Implementation\nNeovim does not currently include built-in snippets. `neocmakelsp` only\nprovides completions when snippet support is enabled. To enable\ncompletion, install a snippet plugin and add the following override to\nyour 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('neocmake', {\n capabilities = capabilities,\n})\n```",
|
||||||
"nextflow_ls": "https://github.com/nextflow-io/language-server Requirements: - Java 17+\n`nextflow_ls` can be installed by following the instructions\n[here](https://github.com/nextflow-io/language-server#development). If\nyou have installed nextflow language server, you can set the `cmd`\ncustom path as follow:\n\n``` lua\nvim.lsp.config('nextflow_ls', {\n cmd = { 'java', '-jar', 'nextflow-language-server-all.jar' },\n filetypes = { 'nextflow' },\n settings = {\n nextflow = {\n files = {\n exclude = { '.git', '.nf-test', 'work' },\n },\n },\n },\n})\n```",
|
"nextflow_ls": "https://github.com/nextflow-io/language-server Requirements: - Java 17+\n`nextflow_ls` can be installed by following the instructions\n[here](https://github.com/nextflow-io/language-server#development). If\nyou have installed nextflow language server, you can set the `cmd`\ncustom path as follow:\n\n``` lua\nvim.lsp.config('nextflow_ls', {\n cmd = { 'java', '-jar', 'nextflow-language-server-all.jar' },\n filetypes = { 'nextflow' },\n settings = {\n nextflow = {\n files = {\n exclude = { '.git', '.nf-test', 'work' },\n },\n },\n },\n})\n```",
|
||||||
"nextls": "https://github.com/elixir-tools/next-ls **By default, next-ls does not\nset its `cmd`. Please see the following [detailed\ninstructions](https://www.elixir-tools.dev/docs/next-ls/installation/)\nfor possible installation methods.**",
|
"nextls": "https://github.com/elixir-tools/next-ls **Please see the following\n[detailed\ninstructions](https://www.elixir-tools.dev/docs/next-ls/installation/)\nfor possible installation methods.**",
|
||||||
"nginx_language_server": "https://pypi.org/project/nginx-language-server/ `nginx-language-server`\ncan be installed via pip:\n\n``` sh\npip install -U nginx-language-server\n```",
|
"nginx_language_server": "https://pypi.org/project/nginx-language-server/ `nginx-language-server`\ncan be installed via pip:\n\n``` sh\npip install -U nginx-language-server\n```",
|
||||||
"nickel_ls": "Nickel Language Server https://github.com/tweag/nickel `nls` can be\ninstalled with nix, or cargo, from the Nickel repository.\n\n``` sh\ngit clone https://github.com/tweag/nickel.git\n```\n\nNix:\n\n``` sh\ncd nickel\nnix-env -f . -i\n```\n\ncargo:\n\n``` sh\ncd nickel/lsp/nls\ncargo install --path .\n```\n\nIn order to have lspconfig detect Nickel filetypes (a prerequisite for\nautostarting a server), install the [Nickel vim\nplugin](https://github.com/nickel-lang/vim-nickel).",
|
"nickel_ls": "Nickel Language Server https://github.com/tweag/nickel `nls` can be\ninstalled with nix, or cargo, from the Nickel repository.\n\n``` sh\ngit clone https://github.com/tweag/nickel.git\n```\n\nNix:\n\n``` sh\ncd nickel\nnix-env -f . -i\n```\n\ncargo:\n\n``` sh\ncd nickel/lsp/nls\ncargo install --path .\n```\n\nIn order to have lspconfig detect Nickel filetypes (a prerequisite for\nautostarting a server), install the [Nickel vim\nplugin](https://github.com/nickel-lang/vim-nickel).",
|
||||||
"nil_ls": "https://github.com/oxalica/nil A new language server for Nix Expression\nLanguage. If you are using Nix with Flakes support, run\n`nix profile install github:oxalica/nil` to install. Check the\nrepository README for more information. *See an example config at\nhttps://github.com/oxalica/nil/blob/main/dev/nvim-lsp.nix.*",
|
"nil_ls": "https://github.com/oxalica/nil A new language server for Nix Expression\nLanguage. If you are using Nix with Flakes support, run\n`nix profile install github:oxalica/nil` to install. Check the\nrepository README for more information. *See an example config at\nhttps://github.com/oxalica/nil/blob/main/dev/nvim-lsp.nix.*",
|
||||||
|
|
@ -207,7 +207,7 @@
|
||||||
"nxls": "https://github.com/nrwl/nx-console/tree/master/apps/nxls nxls, a\nlanguage server for Nx Workspaces `nxls` can be installed via `npm`:\n\n``` sh\nnpm i -g nxls\n```",
|
"nxls": "https://github.com/nrwl/nx-console/tree/master/apps/nxls nxls, a\nlanguage server for Nx Workspaces `nxls` can be installed via `npm`:\n\n``` sh\nnpm i -g nxls\n```",
|
||||||
"ocamllsp": "https://github.com/ocaml/ocaml-lsp `ocaml-lsp` can be installed as\ndescribed in [installation\nguide](https://github.com/ocaml/ocaml-lsp#installation). To install the\nlsp server in a particular opam switch:\n\n``` sh\nopam install ocaml-lsp-server\n```",
|
"ocamllsp": "https://github.com/ocaml/ocaml-lsp `ocaml-lsp` can be installed as\ndescribed in [installation\nguide](https://github.com/ocaml/ocaml-lsp#installation). To install the\nlsp server in a particular opam switch:\n\n``` sh\nopam install ocaml-lsp-server\n```",
|
||||||
"ols": "https://github.com/DanielGavin/ols `Odin Language Server`.",
|
"ols": "https://github.com/DanielGavin/ols `Odin Language Server`.",
|
||||||
"omnisharp": "https://github.com/omnisharp/omnisharp-roslyn OmniSharp server based on\nRoslyn workspaces `omnisharp-roslyn` can be installed by downloading and\nextracting a release from\n[here](https://github.com/OmniSharp/omnisharp-roslyn/releases).\nOmniSharp can also be built from source by following the instructions\n[here](https://github.com/omnisharp/omnisharp-roslyn#downloading-omnisharp).\nOmniSharp requires the\n[dotnet-sdk](https://dotnet.microsoft.com/download) to be installed.\n**By default, omnisharp-roslyn doesn't have a `cmd` set.** This is\nbecause nvim-lspconfig does not make assumptions about your path. You\nmust add the following to your init.vim or init.lua to set `cmd` to the\nabsolute path (\\$HOME and \\~ are not expanded) of the unzipped run\nscript or binary. For `go_to_definition` to work fully, extended\n`textDocument/definition` handler is needed, for example see\n[omnisharp-extended-lsp.nvim](https://github.com/Hoffs/omnisharp-extended-lsp.nvim)",
|
"omnisharp": "https://github.com/omnisharp/omnisharp-roslyn OmniSharp server based on\nRoslyn workspaces `omnisharp-roslyn` can be installed by downloading and\nextracting a release from\n[here](https://github.com/OmniSharp/omnisharp-roslyn/releases).\nOmniSharp can also be built from source by following the instructions\n[here](https://github.com/omnisharp/omnisharp-roslyn#downloading-omnisharp).\nOmniSharp requires the\n[dotnet-sdk](https://dotnet.microsoft.com/download) to be installed. For\n`go_to_definition` to work fully, extended `textDocument/definition`\nhandler is needed, for example see\n[omnisharp-extended-lsp.nvim](https://github.com/Hoffs/omnisharp-extended-lsp.nvim)",
|
||||||
"opencl_ls": "https://github.com/Galarius/opencl-language-server Build instructions\ncan be found\n[here](https://github.com/Galarius/opencl-language-server/blob/main/_dev/build.md).\nPrebuilt binaries are available for Linux, macOS and Windows\n[here](https://github.com/Galarius/opencl-language-server/releases).",
|
"opencl_ls": "https://github.com/Galarius/opencl-language-server Build instructions\ncan be found\n[here](https://github.com/Galarius/opencl-language-server/blob/main/_dev/build.md).\nPrebuilt binaries are available for Linux, macOS and Windows\n[here](https://github.com/Galarius/opencl-language-server/releases).",
|
||||||
"openscad_ls": "https://github.com/dzhu/openscad-language-server A Language Server\nProtocol server for OpenSCAD You can build and install\n`openscad-language-server` binary with `cargo`:\n\n``` sh\ncargo install openscad-language-server\n```\n\nVim does not have built-in syntax for the `openscad` filetype currently.\nThis can be added via an autocmd:\n\n``` lua\nvim.cmd [[ autocmd BufRead,BufNewFile *.scad set filetype=openscad ]]\n```\n\nor by installing a filetype plugin such as\nhttps://github.com/sirtaj/vim-openscad",
|
"openscad_ls": "https://github.com/dzhu/openscad-language-server A Language Server\nProtocol server for OpenSCAD You can build and install\n`openscad-language-server` binary with `cargo`:\n\n``` sh\ncargo install openscad-language-server\n```\n\nVim does not have built-in syntax for the `openscad` filetype currently.\nThis can be added via an autocmd:\n\n``` lua\nvim.cmd [[ autocmd BufRead,BufNewFile *.scad set filetype=openscad ]]\n```\n\nor by installing a filetype plugin such as\nhttps://github.com/sirtaj/vim-openscad",
|
||||||
"openscad_lsp": "https://github.com/Leathong/openscad-LSP A Language Server Protocol\nserver for OpenSCAD You can build and install `openscad-lsp` binary with\n`cargo`:\n\n``` sh\ncargo install openscad-lsp\n```",
|
"openscad_lsp": "https://github.com/Leathong/openscad-LSP A Language Server Protocol\nserver for OpenSCAD You can build and install `openscad-lsp` binary with\n`cargo`:\n\n``` sh\ncargo install openscad-lsp\n```",
|
||||||
|
|
|
||||||
|
|
@ -607,6 +607,13 @@
|
||||||
"values": ["client", "server"]
|
"values": ["client", "server"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-analyzer.gotoImplementations.filterAdjacentDerives": {
|
||||||
|
"description": "If this is `true`, when \"Goto Implementations\" and in \"Implementations\" lens, are triggered on a `struct` or `enum` or `union`, we filter out trait implementations that originate from `derive`s above the type.\n",
|
||||||
|
"pluginDefault": false,
|
||||||
|
"type": {
|
||||||
|
"kind": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
"rust-analyzer.highlightRelated.branchExitPoints.enable": {
|
"rust-analyzer.highlightRelated.branchExitPoints.enable": {
|
||||||
"description": "Highlight related return values while the cursor is on any `match`, `if`, or match arm\narrow (`=>`).\n",
|
"description": "Highlight related return values while the cursor is on any `match`, `if`, or match arm\narrow (`=>`).\n",
|
||||||
"pluginDefault": true,
|
"pluginDefault": true,
|
||||||
|
|
@ -845,16 +852,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer.imports.granularity.group": {
|
"rust-analyzer.imports.granularity.group": {
|
||||||
"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",
|
"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- preserve: Deprecated - unless `enforceGranularity` is `true`, the style of the current file is preferred over this setting. Behaves like `item`.\n",
|
||||||
"pluginDefault": "crate",
|
"pluginDefault": "crate",
|
||||||
"type": {
|
"type": {
|
||||||
"kind": "oneOf",
|
|
||||||
"subTypes": [
|
|
||||||
{
|
|
||||||
"kind": "enum",
|
"kind": "enum",
|
||||||
"values": ["crate", "module", "item", "one"]
|
"values": ["crate", "module", "item", "one", "preserve"]
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer.imports.group.enable": {
|
"rust-analyzer.imports.group.enable": {
|
||||||
|
|
@ -1026,6 +1028,13 @@
|
||||||
"kind": "boolean"
|
"kind": "boolean"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-analyzer.inlayHints.impliedDynTraitHints.enable": {
|
||||||
|
"description": "Show inlay hints for the implied `dyn` keyword in trait object types.\n",
|
||||||
|
"pluginDefault": true,
|
||||||
|
"type": {
|
||||||
|
"kind": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
"rust-analyzer.inlayHints.lifetimeElisionHints.enable": {
|
"rust-analyzer.inlayHints.lifetimeElisionHints.enable": {
|
||||||
"description": "Show inlay type hints for elided lifetimes in function signatures.\n\nValues:\n- always: Always show lifetime elision hints.\n- never: Never show lifetime elision hints.\n- skip_trivial: Only show lifetime elision hints if a return type is involved.\n",
|
"description": "Show inlay type hints for elided lifetimes in function signatures.\n\nValues:\n- always: Always show lifetime elision hints.\n- never: Never show lifetime elision hints.\n- skip_trivial: Only show lifetime elision hints if a return type is involved.\n",
|
||||||
"pluginDefault": "never",
|
"pluginDefault": "never",
|
||||||
|
|
@ -1100,6 +1109,13 @@
|
||||||
"kind": "boolean"
|
"kind": "boolean"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-analyzer.inlayHints.typeHints.hideInferredTypes": {
|
||||||
|
"description": "Hide inlay type hints for inferred types.\n",
|
||||||
|
"pluginDefault": false,
|
||||||
|
"type": {
|
||||||
|
"kind": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
"rust-analyzer.inlayHints.typeHints.hideNamedConstructor": {
|
"rust-analyzer.inlayHints.typeHints.hideNamedConstructor": {
|
||||||
"description": "Hide inlay type hints for constructors.\n",
|
"description": "Hide inlay type hints for constructors.\n",
|
||||||
"pluginDefault": false,
|
"pluginDefault": false,
|
||||||
|
|
@ -1300,6 +1316,13 @@
|
||||||
"kind": "string"
|
"kind": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-analyzer.profiling.memoryProfile": {
|
||||||
|
"description": "The path where to save memory profiling output.\n\n**Note:** Memory profiling is not enabled by default in rust-analyzer builds, you need to build\nfrom source for it.\n",
|
||||||
|
"pluginDefault": null,
|
||||||
|
"type": {
|
||||||
|
"kind": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
"rust-analyzer.references.excludeImports": {
|
"rust-analyzer.references.excludeImports": {
|
||||||
"description": "Exclude imports from find-all-references.\n",
|
"description": "Exclude imports from find-all-references.\n",
|
||||||
"pluginDefault": false,
|
"pluginDefault": false,
|
||||||
|
|
@ -1471,7 +1494,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer.workspace.discoverConfig": {
|
"rust-analyzer.workspace.discoverConfig": {
|
||||||
"description": "Enables automatic discovery of projects using\n\\[`DiscoverWorkspaceConfig::command`\\].\n\n\\[`DiscoverWorkspaceConfig`\\] also requires setting `progress_label` and\n`files_to_watch`. `progress_label` is used for the title in progress\nindicators, whereas `files_to_watch` is used to determine which build\nsystem-specific files should be watched in order to reload\nrust-analyzer.\n\nBelow is an example of a valid configuration:\n\n``` json\n\"rust-analyzer.workspace.discoverConfig\": {\n \"command\": [\n \"rust-project\",\n \"develop-json\"\n ],\n \"progressLabel\": \"rust-analyzer\",\n \"filesToWatch\": [\n \"BUCK\"\n ]\n}\n```\n\n**On `DiscoverWorkspaceConfig::command`**\n\n**Warning**: This format is provisional and subject to change.\n\n\\[`DiscoverWorkspaceConfig::command`\\] *must* return a JSON object\ncorresponding to `DiscoverProjectData::Finished`:\n\n``` norun\n#[derive(Debug, Clone, Deserialize, Serialize)]\n#[serde(tag = \"kind\")]\n#[serde(rename_all = \"snake_case\")]\nenum DiscoverProjectData {\n Finished { buildfile: Utf8PathBuf, project: ProjectJsonData },\n Error { error: String, source: Option<String> },\n Progress { message: String },\n}\n```\n\nAs JSON, `DiscoverProjectData::Finished` is:\n\n``` json\n{\n // the internally-tagged representation of the enum.\n \"kind\": \"finished\",\n // the file used by a non-Cargo build system to define\n // a package or target.\n \"buildfile\": \"rust-analyzer/BUILD\",\n // the contents of a rust-project.json, elided for brevity\n \"project\": {\n \"sysroot\": \"foo\",\n \"crates\": []\n }\n}\n```\n\nIt is encouraged, but not required, to use the other variants on\n`DiscoverProjectData` to provide a more polished end-user experience.\n\n`DiscoverWorkspaceConfig::command` may *optionally* include an `{arg}`,\nwhich will be substituted with the JSON-serialized form of the following\nenum:\n\n``` norun\n#[derive(PartialEq, Clone, Debug, Serialize)]\n#[serde(rename_all = \"camelCase\")]\npub enum DiscoverArgument {\n Path(AbsPathBuf),\n Buildfile(AbsPathBuf),\n}\n```\n\nThe JSON representation of `DiscoverArgument::Path` is:\n\n``` json\n{\n \"path\": \"src/main.rs\"\n}\n```\n\nSimilarly, the JSON representation of `DiscoverArgument::Buildfile` is:\n\n``` json\n{\n \"buildfile\": \"BUILD\"\n}\n```\n\n`DiscoverArgument::Path` is used to find and generate a\n`rust-project.json`, and therefore, a workspace, whereas\n`DiscoverArgument::buildfile` is used to to update an existing\nworkspace. As a reference for implementors, buck2's `rust-project` will\nlikely be useful:\nhttps://github.com/facebook/buck2/tree/main/integrations/rust-project.\n\n",
|
"description": "Enables automatic discovery of projects using\n\\[`DiscoverWorkspaceConfig::command`\\].\n\n\\[`DiscoverWorkspaceConfig`\\] also requires setting `progress_label` and\n`files_to_watch`. `progress_label` is used for the title in progress\nindicators, whereas `files_to_watch` is used to determine which build\nsystem-specific files should be watched in order to reload\nrust-analyzer.\n\nBelow is an example of a valid configuration:\n\n``` json\n\"rust-analyzer.workspace.discoverConfig\": {\n \"command\": [\n \"rust-project\",\n \"develop-json\"\n ],\n \"progressLabel\": \"rust-analyzer\",\n \"filesToWatch\": [\n \"BUCK\"\n ]\n}\n```\n\n**On `DiscoverWorkspaceConfig::command`**\n\n**Warning**: This format is provisional and subject to change.\n\n\\[`DiscoverWorkspaceConfig::command`\\] *must* return a JSON object\ncorresponding to `DiscoverProjectData::Finished`:\n\n``` norun\n#[derive(Debug, Clone, Deserialize, Serialize)]\n#[serde(tag = \"kind\")]\n#[serde(rename_all = \"snake_case\")]\nenum DiscoverProjectData {\n Finished { buildfile: Utf8PathBuf, project: ProjectJsonData },\n Error { error: String, source: Option<String> },\n Progress { message: String },\n}\n```\n\nAs JSON, `DiscoverProjectData::Finished` is:\n\n``` json\n{\n // the internally-tagged representation of the enum.\n \"kind\": \"finished\",\n // the file used by a non-Cargo build system to define\n // a package or target.\n \"buildfile\": \"rust-analyzer/BUILD\",\n // the contents of a rust-project.json, elided for brevity\n \"project\": {\n \"sysroot\": \"foo\",\n \"crates\": []\n }\n}\n```\n\nIt is encouraged, but not required, to use the other variants on\n`DiscoverProjectData` to provide a more polished end-user experience.\n\n`DiscoverWorkspaceConfig::command` may *optionally* include an `{arg}`,\nwhich will be substituted with the JSON-serialized form of the following\nenum:\n\n``` norun\n#[derive(PartialEq, Clone, Debug, Serialize)]\n#[serde(rename_all = \"camelCase\")]\npub enum DiscoverArgument {\n Path(AbsPathBuf),\n Buildfile(AbsPathBuf),\n}\n```\n\nThe JSON representation of `DiscoverArgument::Path` is:\n\n``` json\n{\n \"path\": \"src/main.rs\"\n}\n```\n\nSimilarly, the JSON representation of `DiscoverArgument::Buildfile` is:\n\n``` json\n{\n \"buildfile\": \"BUILD\"\n}\n```\n\n`DiscoverArgument::Path` is used to find and generate a\n`rust-project.json`, and therefore, a workspace, whereas\n`DiscoverArgument::buildfile` is used to to update an existing\nworkspace. As a reference for implementors, buck2's `rust-project` will\nlikely be useful:\n<https://github.com/facebook/buck2/tree/main/integrations/rust-project>.\n\n",
|
||||||
"pluginDefault": null,
|
"pluginDefault": null,
|
||||||
"type": {
|
"type": {
|
||||||
"kind": "oneOf",
|
"kind": "oneOf",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue