Compare commits
3 commits
4ca81595ba
...
8add88a989
Author | SHA1 | Date | |
---|---|---|---|
8add88a989 | |||
7284e679ab | |||
7b5241304b |
6 changed files with 88 additions and 5 deletions
|
@ -3,5 +3,6 @@
|
||||||
./lsp.nix
|
./lsp.nix
|
||||||
./lsp-format.nix
|
./lsp-format.nix
|
||||||
./lspkind.nix
|
./lspkind.nix
|
||||||
|
./nvim-metals.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }:
|
{ helpers, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
plugins.lsp = {
|
plugins.lsp = {
|
||||||
|
@ -16,9 +16,6 @@
|
||||||
nixd = {
|
nixd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
metals = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
inlayHints = true;
|
inlayHints = true;
|
||||||
keymaps = {
|
keymaps = {
|
||||||
|
@ -73,4 +70,19 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
mode = [ "n" ];
|
||||||
|
key = "<leader>th";
|
||||||
|
action = helpers.mkRaw ''
|
||||||
|
function()
|
||||||
|
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "Toggle inlay hints";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
41
config/lsp/nvim-metals.nix
Normal file
41
config/lsp/nvim-metals.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{ 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;
|
||||||
|
}
|
|
@ -25,7 +25,6 @@
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
window.mappings."s" = "";
|
|
||||||
window.mappings."<space>" = "";
|
window.mappings."<space>" = "";
|
||||||
};
|
};
|
||||||
keymaps = [
|
keymaps = [
|
||||||
|
|
|
@ -1,6 +1,27 @@
|
||||||
|
{ helpers, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
plugins.project-nvim = {
|
plugins.project-nvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableTelescope = true;
|
enableTelescope = true;
|
||||||
|
silentChdir = false;
|
||||||
|
scopeChdir = "tab";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
autoGroups.project_nvim_group = {
|
||||||
|
clear = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
autoCmd = [
|
||||||
|
{
|
||||||
|
event = "VimEnter";
|
||||||
|
group = "project_nvim_group";
|
||||||
|
desc = "Startup with project.nvim";
|
||||||
|
callback = helpers.mkRaw ''
|
||||||
|
function()
|
||||||
|
require("telescope").extensions.projects.projects{}
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,5 +17,14 @@
|
||||||
desc = "Find files with telescope";
|
desc = "Find files with telescope";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
mode = [ "n" "i" ];
|
||||||
|
key = "<C-S-p>";
|
||||||
|
action = helpers.mkRaw ''
|
||||||
|
function()
|
||||||
|
require("telescope.builtin").help_tags()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue