diff --git a/modules/home-manager/programs/neovim/.neoconf.json b/modules/home-manager/programs/neovim/.neoconf.json new file mode 100644 index 0000000..1a1be43 --- /dev/null +++ b/modules/home-manager/programs/neovim/.neoconf.json @@ -0,0 +1,14 @@ +{ + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + }, + "lspconfig": { + "lua_ls": { + "Lua.completion.callSnippet": "Replace" + } + } +} diff --git a/modules/home-manager/programs/neovim/.stylua.toml b/modules/home-manager/programs/neovim/.stylua.toml new file mode 100644 index 0000000..3ee0ae0 --- /dev/null +++ b/modules/home-manager/programs/neovim/.stylua.toml @@ -0,0 +1,5 @@ +quote_style = "AutoPreferDouble" +call_parentheses = "None" + +[sort_requires] +enabled = true diff --git a/modules/home-manager/programs/neovim/default.nix b/modules/home-manager/programs/neovim/default.nix index f99486b..86fa47f 100644 --- a/modules/home-manager/programs/neovim/default.nix +++ b/modules/home-manager/programs/neovim/default.nix @@ -69,12 +69,14 @@ in # Needed by LuaSnip luajitPackages.jsregexp + # Treesitter + gcc # For compiling languages + # CMAKE neocmakelsp # C/C++ clang-tools - gcc # Needed for treesitter vscode-extensions.ms-vscode.cpptools # C# diff --git a/modules/home-manager/programs/neovim/lsp.lua b/modules/home-manager/programs/neovim/lsp.lua index 65faa69..c44dcce 100644 --- a/modules/home-manager/programs/neovim/lsp.lua +++ b/modules/home-manager/programs/neovim/lsp.lua @@ -10,16 +10,16 @@ return { opts = { -- Configuration table of features provided by AstroLSP features = { - autoformat = true, -- enable or disable auto formatting on start - codelens = true, -- enable/disable codelens refresh on start - inlay_hints = false, -- enable/disable inlay hints on start + autoformat = true, -- enable or disable auto formatting on start + codelens = true, -- enable/disable codelens refresh on start + inlay_hints = false, -- enable/disable inlay hints on start semantic_tokens = true, -- enable/disable semantic token highlighting }, -- customize lsp formatting options formatting = { -- control auto formatting on save format_on_save = { - enabled = true, -- enable or disable format on save globally + enabled = true, -- enable or disable format on save globally allow_filetypes = { -- enable format on save for specified filetypes only -- "go", "c", @@ -76,6 +76,7 @@ return { ---@diagnostic disable: missing-fields config = { -- clangd = { capabilities = { offsetEncoding = "utf-8" } }, + ---@type lspconfig.Config nixd = { settings = { nixd = { @@ -94,6 +95,7 @@ return { }, }, }, + ---@type lspconfig.Config vtsls = { filetypes = { "typescript", "javascript", "javascriptreact", "typescriptreact", "vue" }, settings = { @@ -112,6 +114,7 @@ return { }, }, }, + ---@type lspconfig.Config rust_analyzer = { settings = { ["rust-analyzer"] = { @@ -123,6 +126,10 @@ return { }, }, }, + ---@type lspconfig.Config + omnisharp = { + cmd = { "OmniSharp" }, + }, }, -- customize how language servers are attached handlers = { diff --git a/modules/home-manager/programs/neovim/lua/plugins/user.lua b/modules/home-manager/programs/neovim/lua/plugins/user.lua index 60b0925..f2d900a 100644 --- a/modules/home-manager/programs/neovim/lua/plugins/user.lua +++ b/modules/home-manager/programs/neovim/lua/plugins/user.lua @@ -85,7 +85,7 @@ return { { "xiyaowong/transparent.nvim", opts = function(_, opts) - local transparent = require("transparent") + local transparent = require "transparent" opts.groups = { "Comment", @@ -150,9 +150,9 @@ return { "WinSeparator", } - transparent.clear_prefix("BufferLine") - transparent.clear_prefix("Diagnostic") - transparent.clear_prefix("NvimTree") + transparent.clear_prefix "BufferLine" + transparent.clear_prefix "Diagnostic" + transparent.clear_prefix "NvimTree" end, }, @@ -160,10 +160,9 @@ return { { "jmbuhr/otter.nvim", dependencies = { - "hrsh7th/nvim-cmp", - "neovim/nvim-lspconfig", "nvim-treesitter/nvim-treesitter", }, + opts = {}, }, -- Adds highlighting and custom commands for ledger files