100 lines
2.6 KiB
Nix
100 lines
2.6 KiB
Nix
{ lib, pkgs, ... }: {
|
|
programs.nvf.settings.vim = {
|
|
diagnostics = {
|
|
enable = true;
|
|
config = {
|
|
signs = {
|
|
text = {
|
|
"vim.diagnostic.severity.Error" = " ";
|
|
"vim.diagnostic.severity.Warn" = " ";
|
|
"vim.diagnostic.severity.Hint" = " ";
|
|
"vim.diagnostic.severity.Info" = " ";
|
|
};
|
|
};
|
|
underline = true;
|
|
update_in_insert = true;
|
|
virtual_text = {
|
|
format = lib.generators.mkLuaInline
|
|
# lua
|
|
''
|
|
function(diagnostic)
|
|
return string.format("%s", diagnostic.message)
|
|
--return string.format("%s (%s)", diagnostic.message, diagnostic.source)
|
|
end
|
|
'';
|
|
};
|
|
};
|
|
nvim-lint = { enable = true; };
|
|
};
|
|
syntaxHighlighting = true;
|
|
treesitter = {
|
|
enable = true;
|
|
autotagHtml = true;
|
|
context.enable = true;
|
|
highlight.enable = true;
|
|
grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars;
|
|
[
|
|
typescript # in language settings only tsx gets enabled, not typescript
|
|
];
|
|
};
|
|
lsp = {
|
|
enable = true;
|
|
trouble.enable = true;
|
|
lspSignature.enable = true;
|
|
lspconfig.enable = true;
|
|
formatOnSave = true;
|
|
inlayHints.enable = true;
|
|
null-ls.enable = true;
|
|
servers.nixd.settings.nil.nix.autoArchive = true;
|
|
otter-nvim = {
|
|
enable = true;
|
|
setupOpts = {
|
|
buffers.set_filetype = true;
|
|
lsp = { diagnostic_update_event = [ "BufWritePost" "InsertLeave" ]; };
|
|
};
|
|
};
|
|
lspkind.enable = true;
|
|
lspsaga = {
|
|
enable = true;
|
|
setupOpts = {
|
|
ui = { code_action = ""; };
|
|
lightbulb = {
|
|
sign = false;
|
|
virtual_text = true;
|
|
};
|
|
breadcrumbs.enable = false;
|
|
};
|
|
};
|
|
};
|
|
languages = {
|
|
enableDAP = true;
|
|
enableExtraDiagnostics = true;
|
|
enableFormat = true;
|
|
enableTreesitter = true;
|
|
|
|
php = {
|
|
enable = true;
|
|
server = "intelephense";
|
|
};
|
|
go.enable = true;
|
|
markdown = {
|
|
enable = true;
|
|
format.type = "prettierd";
|
|
extensions = { markview-nvim = { enable = true; }; };
|
|
extraDiagnostics.enable = true;
|
|
};
|
|
ts = {
|
|
enable = false;
|
|
extensions.ts-error-translator.enable = true;
|
|
};
|
|
css.enable = true;
|
|
sql.enable = true;
|
|
html.enable = true;
|
|
bash.enable = true;
|
|
nix.enable = true;
|
|
tailwind.enable = true;
|
|
};
|
|
formatter = { conform-nvim = { enable = true; }; };
|
|
};
|
|
}
|