diff options
author | Michael Smith <mikesmiffy128@gmail.com> | 2024-07-15 20:05:47 +0100 |
---|---|---|
committer | Michael Smith <mikesmiffy128@gmail.com> | 2024-07-15 20:05:47 +0100 |
commit | 522d56557b00246286d803425751a4334f3a94a5 (patch) | |
tree | 23ca335a3526197c2a6327ce10bfd58411b0a609 /start/lspconfig-0.1.3/lua/lspconfig/server_configurations/rust_analyzer.lua | |
parent | a7b72fc27edac2305dbf0af807981bd703835b25 (diff) |
indent-blankline is probably old because I've actually been using it for
ages, but I have a strict if-it-ain't-broke policy, so I'm not going to
update it.
lspconfig *was* broke though with nvim 0.10, so now it's fixed.
Diffstat (limited to 'start/lspconfig-0.1.3/lua/lspconfig/server_configurations/rust_analyzer.lua')
-rw-r--r-- | start/lspconfig-0.1.3/lua/lspconfig/server_configurations/rust_analyzer.lua | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/rust_analyzer.lua b/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/rust_analyzer.lua deleted file mode 100644 index 6331cf5..0000000 --- a/start/lspconfig-0.1.3/lua/lspconfig/server_configurations/rust_analyzer.lua +++ /dev/null @@ -1,79 +0,0 @@ -local util = require 'lspconfig.util' - -local function reload_workspace(bufnr) - bufnr = util.validate_bufnr(bufnr) - vim.lsp.buf_request(bufnr, 'rust-analyzer/reloadWorkspace', nil, function(err) - if err then - error(tostring(err)) - end - vim.notify 'Cargo workspace reloaded' - end) -end - -return { - default_config = { - cmd = { 'rust-analyzer' }, - filetypes = { 'rust' }, - root_dir = function(fname) - local cargo_crate_dir = util.root_pattern 'Cargo.toml'(fname) - local cmd = { 'cargo', 'metadata', '--no-deps', '--format-version', '1' } - if cargo_crate_dir ~= nil then - cmd[#cmd + 1] = '--manifest-path' - cmd[#cmd + 1] = util.path.join(cargo_crate_dir, 'Cargo.toml') - end - local cargo_metadata = '' - local cargo_metadata_err = '' - local cm = vim.fn.jobstart(cmd, { - on_stdout = function(_, d, _) - cargo_metadata = table.concat(d, '\n') - end, - on_stderr = function(_, d, _) - cargo_metadata_err = table.concat(d, '\n') - end, - stdout_buffered = true, - stderr_buffered = true, - }) - if cm > 0 then - cm = vim.fn.jobwait({ cm })[1] - else - cm = -1 - end - local cargo_workspace_dir = nil - if cm == 0 then - cargo_workspace_dir = vim.fn.json_decode(cargo_metadata)['workspace_root'] - else - vim.notify( - string.format('[lspconfig] cmd (%q) failed:\n%s', table.concat(cmd, ' '), cargo_metadata_err), - vim.log.levels.WARN - ) - end - return cargo_workspace_dir - or cargo_crate_dir - or util.root_pattern 'rust-project.json'(fname) - or util.find_git_ancestor(fname) - end, - settings = { - ['rust-analyzer'] = {}, - }, - }, - commands = { - CargoReload = { - function() - reload_workspace(0) - end, - description = 'Reload current cargo workspace', - }, - }, - docs = { - description = [[ -https://github.com/rust-analyzer/rust-analyzer - -rust-analyzer (aka rls 2.0), a language server for Rust - -See [docs](https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user#settings) for extra settings. - ]], - default_config = { - root_dir = [[root_pattern("Cargo.toml", "rust-project.json")]], - }, - }, -} |