diff --git a/config/default.nix b/config/default.nix index 3d227e0..81e0077 100644 --- a/config/default.nix +++ b/config/default.nix @@ -1,3 +1,4 @@ +{ lib, ... }: { # Import all your configuration modules here imports = [ @@ -32,14 +33,49 @@ globals = { mapleader = " "; }; - diagnostic.settings = { - virtual_lines = { - current_line = true; + diagnostic.settings = + let + diagnostic = { + error = " "; + warning = " "; + hint = " "; + info = " "; + }; + in + { + virtual_lines = { + current_line = true; + }; + virtual_text = { + source = "if_many"; + prefix = lib.nixvim.mkRaw '' + function (diagnostic, index, total) + if diagnostic.severity == vim.diagnostic.severity.ERROR then + return "${diagnostic.error}" + end + if diagnostic.severity == vim.diagnostic.severity.WARN then + return "${diagnostic.warning}" + end + if diagnostic.severity == vim.diagnostic.severity.HINT then + return "${diagnostic.hint}" + end + if diagnostic.severity == vim.diagnostic.severity.INFO then + return "${diagnostic.info}" + end + end + ''; + }; + update_in_insert = true; + severity_sort = true; + signs = { + text = lib.nixvim.utils.toRawKeys { + "vim.diagnostic.severity.ERROR" = diagnostic.error; + "vim.diagnostic.severity.WARN" = diagnostic.warning; + "vim.diagnostic.severity.HINT" = diagnostic.hint; + "vim.diagnostic.severity.INFO" = diagnostic.info; + }; + }; }; - virtual_text = true; - update_in_insert = true; - severity_sort = true; - }; extraConfigLua = '' vim.keymap.set("n", "pb", ":Pick buffers", {desc = "Pick buffers"}) vim.keymap.set("n", "pd", ":Pick diagnostic", {desc = "Pick diagnostic"})