{ empty = { plugins.rustaceanvim.enable = true; }; defaults = { plugins.rustaceanvim = { enable = true; settings = { tools = { executor = "termopen"; test_executor = "background"; crate_test_executor = "background"; cargo_override = null; enable_nextest = true; enable_clippy = true; on_initialized = null; reload_workspace_from_cargo_toml = true; hover_actions = { replace_builtin_hover = true; }; code_actions = { group_icon = " ▶"; ui_select_fallback = false; }; float_win_config = { auto_focus = false; open_split = "horizontal"; }; crate_graph = { backend = "x11"; output = null; full = true; enabled_graphviz_backends = [ "bmp" "cgimage" "canon" "dot" "gv" "xdot" "xdot1.2" "xdot1.4" "eps" "exr" "fig" "gd" "gd2" "gif" "gtk" "ico" "cmap" "ismap" "imap" "cmapx" "imap_np" "cmapx_np" "jpg" "jpeg" "jpe" "jp2" "json" "json0" "dot_json" "xdot_json" "pdf" "pic" "pct" "pict" "plain" "plain-ext" "png" "pov" "ps" "ps2" "psd" "sgi" "svg" "svgz" "tga" "tiff" "tif" "tk" "vml" "vmlz" "wbmp" "webp" "xlib" "x11" ]; pipe = null; }; open_url = "require('rustaceanvim.os').open_url"; }; server = { auto_attach = '' function(bufnr) if #vim.bo[bufnr].buftype > 0 then return false end local path = vim.api.nvim_buf_get_name(bufnr) if not os.is_valid_file_path(path) then return false end local cmd = types.evaluate(RustaceanConfig.server.cmd) ---@cast cmd string[] local rs_bin = cmd[1] return vim.fn.executable(rs_bin) == 1 end ''; on_attach = null; cmd = '' function() return { 'rust-analyzer', '--log-file', RustaceanConfig.server.logfile } end ''; default_settings = '' function(project_root, default_settings) return require('rustaceanvim.config.server').load_rust_analyzer_settings(project_root, { default_settings = default_settings }) end ''; standalone = true; logfile.__raw = "vim.fn.tempname() .. '-rust-analyzer.log'"; load_vscode_settings = false; }; dap = { autoload_configurations = true; adapter = null; }; }; }; }; with-lspconfig = { plugins = { lsp.enable = true; rustaceanvim.enable = true; }; }; rust-analyzer-settings = { plugins.rustaceanvim = { enable = true; settings.server.default_settings.rust-analyzer = { linkedProjects = [ "foo/bar/hello" ]; numThreads = 42; joinLines.joinElseIf = true; runnables.extraArgs = [ "--release" ]; }; }; }; dap-executable = { plugins.rustaceanvim = { enable = true; settings.dap.adapter = { type = "executable"; name = "lldb"; command = "lldb-vscode"; args = ""; }; }; }; dap-server = { plugins.rustaceanvim = { enable = true; settings.dap.adapter = { type = "server"; name = "my-dap-server"; host = "127.0.0.1"; port = "888"; executable = { command = "foo"; args = [ "-l" "--foo" ]; }; }; }; }; }