2024-01-17 11:20:42 +01:00
|
|
|
{
|
|
|
|
empty = {
|
|
|
|
plugins.rustaceanvim.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
defaults = {
|
|
|
|
plugins.rustaceanvim = {
|
|
|
|
enable = true;
|
|
|
|
|
2024-05-17 14:06:15 +02:00
|
|
|
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";
|
2024-01-17 11:20:42 +01:00
|
|
|
};
|
2024-05-17 14:06:15 +02:00
|
|
|
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
|
|
|
|
'';
|
|
|
|
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;
|
2024-01-17 11:20:42 +01:00
|
|
|
};
|
2024-05-17 14:06:15 +02:00
|
|
|
dap = {
|
|
|
|
autoload_configurations = true;
|
|
|
|
adapter = null;
|
2024-01-17 11:20:42 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-05-17 14:06:15 +02:00
|
|
|
with-lspconfig = {
|
|
|
|
plugins = {
|
|
|
|
lsp.enable = true;
|
|
|
|
rustaceanvim.enable = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-01-17 11:20:42 +01:00
|
|
|
rust-analyzer-settings = {
|
|
|
|
plugins.rustaceanvim = {
|
|
|
|
enable = true;
|
|
|
|
|
2024-05-17 14:06:15 +02:00
|
|
|
settings.server.settings = {
|
2024-05-05 19:39:35 +02:00
|
|
|
linkedProjects = [ "foo/bar/hello" ];
|
2024-01-17 11:20:42 +01:00
|
|
|
numThreads = 42;
|
|
|
|
joinLines.joinElseIf = true;
|
2024-05-05 19:39:35 +02:00
|
|
|
runnables.extraArgs = [ "--release" ];
|
2024-01-17 11:20:42 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
dap-executable = {
|
|
|
|
plugins.rustaceanvim = {
|
|
|
|
enable = true;
|
|
|
|
|
2024-05-17 14:06:15 +02:00
|
|
|
settings.dap.adapter = {
|
2024-01-17 11:20:42 +01:00
|
|
|
type = "executable";
|
|
|
|
name = "lldb";
|
|
|
|
command = "lldb-vscode";
|
|
|
|
args = "";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
dap-server = {
|
|
|
|
plugins.rustaceanvim = {
|
|
|
|
enable = true;
|
|
|
|
|
2024-05-17 14:06:15 +02:00
|
|
|
settings.dap.adapter = {
|
2024-01-17 11:20:42 +01:00
|
|
|
type = "server";
|
|
|
|
name = "my-dap-server";
|
|
|
|
host = "127.0.0.1";
|
|
|
|
port = "888";
|
|
|
|
executable = {
|
|
|
|
command = "foo";
|
|
|
|
args = [
|
|
|
|
"-l"
|
|
|
|
"--foo"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|