nixvim/config/lsp/nvim-metals.nix

41 lines
974 B
Nix

{ pkgs, helpers, ... }:
{
extraPlugins = [
pkgs.vimPlugins.nvim-metals
pkgs.vimPlugins.plenary-nvim
];
extraPackages = [
pkgs.metals
];
autoGroups.nvim_metals_group = {
clear = true;
};
autoCmd = [
{
event = "FileType";
group = "nvim_metals_group";
desc = "Initialize nvim-metals";
callback = helpers.mkRaw ''
function()
metals_config = require("metals").bare_config()
metals_config.init_options.statusBarProvider = "off"
metals_config.settings = {
showInferredType = true,
showImplicitArguments = false,
showImplicitConversionsAndClasses = false,
metalsBinaryPath = "${pkgs.lib.getExe pkgs.metals}",
useGlobalExecutable = true
}
vim.lsp.inlay_hint.enable(true)
require("metals").initialize_or_attach(metals_config)
end
'';
}
];
plugins.fidget.enable = true;
}