nix-community.nixvim/tests/test-sources/plugins/by-name/rustaceanvim/default.nix
2024-09-09 14:34:18 -05:00

187 lines
4.4 KiB
Nix

{
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"
];
};
};
};
};
}