diff --git a/lazy-lock.json b/lazy-lock.json index d84775c..0b9efeb 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,27 +1,27 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" }, + "LuaSnip": { "branch": "master", "commit": "a62e1083a3cfe8b6b206e7d3d33a51091df25357" }, "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" }, + "conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, - "gitsigns.nvim": { "branch": "main", "commit": "0a80125bace82d82847d40bc2c38a22d62c6dc2d" }, + "gitsigns.nvim": { "branch": "main", "commit": "6d808f99bd63303646794406e270bd553ad7792e" }, "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, - "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a979821a975897b88493843301950c456a725982" }, - "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, - "mini.tabline": { "branch": "main", "commit": "d03f10bf562cef57bd9f80f82c54269ff4816a15" }, - "moonfly": { "branch": "master", "commit": "d11b3d04cc1cb71a778d67a4df73283a5a6d66f4" }, + "lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "0c2823e0418f3d9230ff8b201c976e84de1cb401" }, + "mason.nvim": { "branch": "main", "commit": "cb8445f8ce85d957416c106b780efd51c6298f89" }, + "mini.tabline": { "branch": "main", "commit": "169af955ad2ed0ffcc3d2c83e850bcc7eaac2f0e" }, + "moonfly": { "branch": "master", "commit": "4ed07bc0c6083cdd547c63f5c245e02c068b0c45" }, "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, - "nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" }, + "nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" }, "nvim-jdtls": { "branch": "master", "commit": "77ccaeb422f8c81b647605da5ddb4a7f725cda90" }, - "nvim-lspconfig": { "branch": "master", "commit": "841c6d4139aedb8a3f2baf30cef5327371385b93" }, - "nvim-tree.lua": { "branch": "master", "commit": "e16cd38962bc40c22a51ee004aa4f43726d74a16" }, - "nvim-treesitter": { "branch": "main", "commit": "6620ae1c44dfa8623b22d0cbf873a9e8d073b849" }, - "nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" }, - "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "telescope.nvim": { "branch": "master", "commit": "5255aa27c422de944791318024167ad5d40aad20" }, + "nvim-lspconfig": { "branch": "master", "commit": "bf5abe69c1874531f359a822d0cff4d73e26113f" }, + "nvim-tree.lua": { "branch": "master", "commit": "85d1145ac71c1b8e1423862c78165a1f609faf60" }, + "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, + "nvim-web-devicons": { "branch": "master", "commit": "4fc505ac7bd7692824a142e96e5f529c133862f8" }, + "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, + "telescope.nvim": { "branch": "master", "commit": "506338434fec5ad19cb1f8d45bf92d66c4917393" }, "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }, "zeavim.vim": { "branch": "master", "commit": "298e52ad683680b4aa19b53d009cf0e6b9197664" } } diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua index a86c234..cb8b11d 100644 --- a/lua/config/lazy.lua +++ b/lua/config/lazy.lua @@ -29,7 +29,14 @@ require("lazy").setup({ }, -- Configure any other settings here. See the documentation for more details. -- colorscheme that will be used when installing plugins. - install = { colorscheme = { "habamax" } }, + install = { colorscheme = { "habamax" }, missing = true }, -- automatically check for plugin updates checker = { enabled = true }, }) + +-- Auto sync plugins on startup +vim.api.nvim_create_autocmd("VimEnter", { + callback = function() + vim.cmd("Lazy sync") + end, +}) diff --git a/lua/plugins/coding.lua b/lua/plugins/coding.lua index d5e6faa..cf8c638 100644 --- a/lua/plugins/coding.lua +++ b/lua/plugins/coding.lua @@ -28,6 +28,8 @@ return { "julia", "python", "zig", + "asm", + "html-lsp", }, }) end, diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index c81ecdf..05345a0 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -10,7 +10,7 @@ return { dependencies = { "williamboman/mason.nvim" }, opts = { -- installs these via Mason (so you don't have to) - ensure_installed = { "gopls", "ts_ls", "lua_ls", "clangd", "rust_analyzer", "omnisharp", "jdtls", "julials", "pyright", "zls" }, + ensure_installed = { "gopls", "ts_ls", "lua_ls", "clangd", "rust_analyzer", "omnisharp", "jdtls", "julials", "pyright", "ruff", "zls", "asm_lsp" }, -- optional: automatically call vim.lsp.enable() for installed servers automatic_enable = true, @@ -22,6 +22,16 @@ return { "neovim/nvim-lspconfig", dependencies = { "mason-org/mason-lspconfig.nvim" }, config = function() + -- Disable hover for ruff (Pyright provides better documentation) + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client and client.name == "ruff" then + client.server_capabilities.hoverProvider = false + end + end, + }) + -- LSP keymaps when a server attaches vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) @@ -34,6 +44,7 @@ return { map("n", "K", vim.lsp.buf.hover, "Hover") map("n", "rn", vim.lsp.buf.rename, "Rename") map("n", "ca", vim.lsp.buf.code_action, "Code action") + map("i", "", vim.lsp.buf.signature_help, "Signature help") end, }) @@ -99,6 +110,27 @@ return { vim.lsp.config("pyright", { capabilities = capabilities, + settings = { + python = { + analysis = { + typeCheckingMode = "standard", + autoSearchPaths = true, + useLibraryCodeForTypes = true, + diagnosticMode = "workspace", + }, + }, + }, + }) + + vim.lsp.config("ruff", { + capabilities = capabilities, + init_options = { + settings = { + lint = { + ignore = { "E701", "E702", "E703" }, + }, + }, + }, }) vim.lsp.config("zls", { @@ -111,6 +143,10 @@ return { }, }, }) + + vim.lsp.config("asm_lsp", { + capabilities = capabilities, + }) end, }, @@ -236,7 +272,7 @@ return { rust = { "rustfmt" }, cs = { "csharpier" }, java = { "google-java-format" }, - python = { "black" }, + python = { "ruff_fix" }, zig = { "zigfmt" }, }, })