diff --git a/config/csharp/language.nix b/config/csharp/language.nix new file mode 100644 index 0000000..b04fed2 --- /dev/null +++ b/config/csharp/language.nix @@ -0,0 +1,14 @@ +{ + + # Couldn't get csharpier to work with nixvim -- package requires Dotnet SDK v6 + # but LSP requires v8. Workaround for now is to add csharpier as a tool in + # the solution itself, and add a hook here to reformat on save. + # TODO: Look at how to get rid of this hack + extraConfigLua = '' + vim.api.nvim_create_autocmd("BufWritePost", { + pattern = "*.cs", + command = "silent !dotnet dotnet-csharpier %" + }) + ''; +} + diff --git a/config/csharp/lsp.nix b/config/csharp/lsp.nix deleted file mode 100644 index 04bd723..0000000 --- a/config/csharp/lsp.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: { - plugins = { - conform-nvim = { - enable = true; - # settings = { formatters_by_ft.cs = [ "csharpier" ]; }; - }; - - lsp.servers.csharp-ls = { enable = true; }; - }; -} - diff --git a/config/keys.nix b/config/keys.nix index 7a49808..f9aaa07 100644 --- a/config/keys.nix +++ b/config/keys.nix @@ -39,6 +39,11 @@ group = "Debug"; icon = ""; } + { + __unkeyed-1 = "c"; + group = "Code Actions"; + icon = ""; + } ]; }; }; @@ -288,5 +293,19 @@ action = "BufferLineCloseLeft"; options = { desc = "Delete Buffers to the Left"; }; } + + # Code Actions + { + mode = "n"; + key = "H"; + action = "lua vim.diagnostic.open_float()"; + options = { desc = "Popup Diagnostics"; }; + } + { + mode = "n"; + key = "cd"; + action = "Trouble diagnostics toggle"; + options = { desc = "List All Diagnostics"; }; + } ]; } diff --git a/config/lsp.nix b/config/language.nix similarity index 98% rename from config/lsp.nix rename to config/language.nix index 83acde1..b68db75 100644 --- a/config/lsp.nix +++ b/config/language.nix @@ -138,7 +138,6 @@ in { pkgs, ... }: { enable = true; sources.formatting = { black.enable = true; - csharpier.enable = true; hclfmt.enable = true; just.enable = true; nixfmt.enable = true; @@ -242,5 +241,11 @@ in { pkgs, ... }: { omnisharp.enable = true; }; }; + + trouble = { + enable = true; + settings = { use_diagnostic_signs = true; }; + }; + }; } diff --git a/config/rust/lsp.nix b/config/rust/language.nix similarity index 100% rename from config/rust/lsp.nix rename to config/rust/language.nix diff --git a/config/sets.nix b/config/sets.nix index c58e3ef..9959536 100644 --- a/config/sets.nix +++ b/config/sets.nix @@ -60,7 +60,32 @@ neo-tree = { enable = true; + popupBorderStyle = "rounded"; extraOptions = { + default_component_configs = { + diagnostics = { + symbols = { + hint = ""; + info = ""; + warn = ""; + error = ""; + }; + }; + git_status = { + symbols = { + added = ""; + deleted = "󰗨"; + modified = ""; + renamed = ""; + untracked = ""; + ignored = ""; + unstaged = " "; + staged = ""; + unmerged = ""; + conflict = ""; + }; + }; + }; filesystem = { follow_current_file.enabled = true; filtered_items = { diff --git a/flake.nix b/flake.nix index b7f7ac6..888e40f 100644 --- a/flake.nix +++ b/flake.nix @@ -38,7 +38,7 @@ inherit pkgs; module = { pkgs, ... }: { imports = [ ./config ./config/csharp ]; - extraPackages = with pkgs; [ sops dotnet-sdk_8 csharpier ]; + extraPackages = with pkgs; [ sops ]; }; extraSpecialArgs = { }; };