diff --git a/nvim/dotfyle.json b/nvim/dotfyle.json index 8142ac8..4e5a8c7 100644 --- a/nvim/dotfyle.json +++ b/nvim/dotfyle.json @@ -153,8 +153,8 @@ "voldikss/vim-floaterm", "vuki656/package-info.nvim", "wakatime/vim-wakatime", - "williamboman/mason-lspconfig.nvim", - "williamboman/mason.nvim", + "mason-org/mason-lspconfig.nvim", + "mason-org/mason.nvim", "windwp/nvim-ts-autotag", "zapling/mason-lock.nvim", "zeioth/garbage-day.nvim", diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index d8deb53..5575258 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,57 +1,57 @@ { - "LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" }, - "SchemaStore.nvim": { "branch": "main", "commit": "c957914d75b4a008ce09f4116e57e59fe6e3fae1" }, + "LazyVim": { "branch": "main", "commit": "92b7fcf7b156600b86952bf6f2c777adc68fd0b8" }, + "SchemaStore.nvim": { "branch": "main", "commit": "fea7b3eb30d6e7261529ae7e8e94bf717f9c428f" }, "autolist.nvim": { "branch": "main", "commit": "5f70a5f99e96c8fe3069de042abd2a8ed2deb855" }, - "blink.cmp": { "branch": "main", "commit": "586ee87534f5bf65f1c8dea2d1da2a57e8cddd36" }, + "blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, - "catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" }, - "conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" }, - "dial.nvim": { "branch": "master", "commit": "78bd73aaf2b9c8f80715a878feaf56f7ffa8b6ff" }, + "catppuccin": { "branch": "main", "commit": "5af9374957a65be8770696da295dc9016b96f241" }, + "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, + "dial.nvim": { "branch": "master", "commit": "f0404ec1f83a03f2c3457e60087c6331d1cbb83f" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "edgy.nvim": { "branch": "main", "commit": "7e8dedc39abebe40c289b8012cc89b11c69aa7a0" }, - "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, + "flash.nvim": { "branch": "main", "commit": "b68bda044d68e4026c4e1ec6df3c5afd7eb8e341" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gitsigns.nvim": { "branch": "main", "commit": "0cb5a7753d3c4b8e9cfdc9d88d9110cb8d4b1544" }, + "gitsigns.nvim": { "branch": "main", "commit": "23ae90a2a52fdc9b8c50dc61d6c30ebb18521343" }, "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, - "grug-far.nvim": { "branch": "main", "commit": "45981a9af7f4e666a3cdaedb1d21d2ab926727a2" }, + "grug-far.nvim": { "branch": "main", "commit": "50d9ee2b5a19634670441948e7e4afaa042f1059" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, - "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, + "lazydev.nvim": { "branch": "main", "commit": "258d2a5ef4a3e3d6d9ba9da72c9725c53e9afcbd" }, + "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, - "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, - "mini.ai": { "branch": "main", "commit": "6a8e0b151d39b293cfa483cdea785e448c2e0e11" }, - "mini.icons": { "branch": "main", "commit": "94848dad1589a199f876539bd79befb0c5e3abf0" }, - "mini.pairs": { "branch": "main", "commit": "42407ccb80ec59c84e7c91d815f42ed90a8cc093" }, - "mini.surround": { "branch": "main", "commit": "d510a830e81a1b436e821c9a038eefb314b58b5d" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a1067cf84b4ff81b66d2bf4d01f4cbdb5de40bd0" }, + "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, + "mini.ai": { "branch": "main", "commit": "e0d00c227112e942ed2789dd4c21d651002831c0" }, + "mini.icons": { "branch": "main", "commit": "e8fae66cb400744daeedf6e387347df50271c252" }, + "mini.pairs": { "branch": "main", "commit": "bada72fe4ec607f882a098d15aa4a3279bc6883d" }, + "mini.surround": { "branch": "main", "commit": "aec6ed2902a2fd809e3c2fe79ee4568791285201" }, "neo-tree.nvim": { "branch": "main", "commit": "8c6349bceb1d8a863964dd25dc7944d588a56aaa" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" }, + "nvim-highlight-colors": { "branch": "main", "commit": "e0c4a58ec8c3ca7c92d3ee4eb3bc1dd0f7be317e" }, "nvim-jqx": { "branch": "master", "commit": "07393e80fa8097e82f9038fec05e948fe8a60fd1" }, - "nvim-lint": { "branch": "master", "commit": "3c5e34c24834a67b1cb37600ab7663eefd2b0390" }, - "nvim-lspconfig": { "branch": "master", "commit": "dbfd8da6206b4ab0e2fe9b72a538f82e2b410102" }, - "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" }, - "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, - "nvim_context_vt": { "branch": "master", "commit": "4ee3f8fe1b3aacacd31eaf77378dffcad0ff9465" }, + "nvim-lint": { "branch": "master", "commit": "335a6044be16d7701001059cba9baa36fbeef422" }, + "nvim-lspconfig": { "branch": "master", "commit": "336b388c272555d2ae94627a50df4c2f89a5e257" }, + "nvim-treesitter": { "branch": "main", "commit": "5a70b1eb8cbdf6c7f0a59dfb7356ad198421b620" }, + "nvim-treesitter-textobjects": { "branch": "main", "commit": "1b2d85d3de6114c4bcea89ffb2cd1ce9e3a19931" }, + "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, + "nvim_context_vt": { "branch": "master", "commit": "fadbd9e57af72f6df3dd33df32ee733aa01cdbc0" }, "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, - "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, - "py-requirements.nvim": { "branch": "main", "commit": "b30abd4a879c06669bf744630f81627d4cdec6a9" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "py-requirements.nvim": { "branch": "main", "commit": "f48846401504da04e195abcf5766ea1de4576fad" }, "refactoring.nvim": { "branch": "master", "commit": "74b608dfee827c2372250519d433cc21cb083407" }, - "render-markdown.nvim": { "branch": "main", "commit": "12d951dfe3c884063e874bdfc0b4c86e0843237c" }, - "smart-splits.nvim": { "branch": "master", "commit": "c2744fd80d4735134f96f50acaccc4fa9f48d6cb" }, - "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, + "render-markdown.nvim": { "branch": "main", "commit": "9ab9dade85d8c7d411cc89b592028da3d1b7955a" }, + "smart-splits.nvim": { "branch": "master", "commit": "652fbde8a997b9c9d32030dfaf2e7e1319dda7a3" }, + "snacks.nvim": { "branch": "main", "commit": "5e0e8698526f350f1280ad1ef7a8670f857c9445" }, "suda.vim": { "branch": "master", "commit": "9adda7d195222d4e2854efb2a88005a120296c47" }, "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }, - "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, + "tokyonight.nvim": { "branch": "main", "commit": "ca56e536f565293b83a075971fb5880cfe41d6de" }, + "trouble.nvim": { "branch": "main", "commit": "f176232e7759c4f8abd923c21e3e5a5c76cd6837" }, "ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" }, "ts-error-translator.nvim": { "branch": "main", "commit": "47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4" }, "ts-node-action": { "branch": "master", "commit": "b0850ecd82a508ad846ba250ea13485b0e13321e" }, "tsc.nvim": { "branch": "main", "commit": "8c1b4ec6a48d038a79ced8674cb15e7db6dd8ef0" }, - "vim-wakatime": { "branch": "master", "commit": "f39c4a201ae350aaba713b59d4a4fdd88e0811aa" }, - "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }, + "venv-selector.nvim": { "branch": "main", "commit": "2b49d1f8b8fcf5cfbd0913136f48f118225cca5d" }, + "which-key.nvim": { "branch": "main", "commit": "904308e6885bbb7b60714c80ab3daf0c071c1492" }, "yanky.nvim": { "branch": "main", "commit": "04775cc6e10ef038c397c407bc17f00a2f52b378" }, - "yazi.nvim": { "branch": "main", "commit": "d293ec2611356e98d59f03bc3da191c9da23afde" } + "yazi.nvim": { "branch": "main", "commit": "f23643431529e5f72ad1bb62b2f35572e30f6a0c" } } diff --git a/nvim/lazyvim.json b/nvim/lazyvim.json index ced54f7..f2afcb9 100644 --- a/nvim/lazyvim.json +++ b/nvim/lazyvim.json @@ -32,12 +32,11 @@ "plugins.extras.util.persistence-extended", "plugins.extras.util.smart-splits", "plugins.extras.util.snacks-extended", - "plugins.extras.util.wakatime", "plugins.extras.util.yazi" ], "install_version": 7, "news": { - "NEWS.md": "10960" + "NEWS.md": "11866" }, "version": 8 } \ No newline at end of file diff --git a/nvim/lua/plugins/extras/editor/git/github-extended.lua b/nvim/lua/plugins/extras/editor/git/github-extended.lua index 5015a8c..220b6dc 100644 --- a/nvim/lua/plugins/extras/editor/git/github-extended.lua +++ b/nvim/lua/plugins/extras/editor/git/github-extended.lua @@ -4,7 +4,7 @@ return { { import = "lazyvim.plugins.extras.util.octo" }, { import = "plugins.extras.lang.git-extended" }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = function(_, opts) opts.ensure_installed = opts.ensure_installed or {} vim.list_extend(opts.ensure_installed, { "gh" }) diff --git a/nvim/lua/plugins/extras/formatting/prettier-extended.lua b/nvim/lua/plugins/extras/formatting/prettier-extended.lua index d4afb7d..3bd596b 100644 --- a/nvim/lua/plugins/extras/formatting/prettier-extended.lua +++ b/nvim/lua/plugins/extras/formatting/prettier-extended.lua @@ -3,7 +3,7 @@ local prettier = { "prettierd", "prettier", stop_after_first = true } return { { import = "lazyvim.plugins.extras.formatting.prettier" }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "prettierd", diff --git a/nvim/lua/plugins/extras/formatting/ruff.lua b/nvim/lua/plugins/extras/formatting/ruff.lua index e1b576a..db4bd68 100644 --- a/nvim/lua/plugins/extras/formatting/ruff.lua +++ b/nvim/lua/plugins/extras/formatting/ruff.lua @@ -9,7 +9,7 @@ return { end, }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "ruff", diff --git a/nvim/lua/plugins/extras/formatting/rustywind.lua b/nvim/lua/plugins/extras/formatting/rustywind.lua index e5ff380..3ff45c2 100644 --- a/nvim/lua/plugins/extras/formatting/rustywind.lua +++ b/nvim/lua/plugins/extras/formatting/rustywind.lua @@ -1,6 +1,6 @@ return { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "rustywind", diff --git a/nvim/lua/plugins/extras/formatting/shfmt.lua b/nvim/lua/plugins/extras/formatting/shfmt.lua index db1ce36..71eba01 100644 --- a/nvim/lua/plugins/extras/formatting/shfmt.lua +++ b/nvim/lua/plugins/extras/formatting/shfmt.lua @@ -20,7 +20,7 @@ return { end, }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "shfmt", diff --git a/nvim/lua/plugins/extras/lang/ansible-extended.lua b/nvim/lua/plugins/extras/lang/ansible-extended.lua index 42ac6a3..e363085 100644 --- a/nvim/lua/plugins/extras/lang/ansible-extended.lua +++ b/nvim/lua/plugins/extras/lang/ansible-extended.lua @@ -21,7 +21,7 @@ return { { import = "plugins.extras.lang.yaml-extended" }, { import = "lazyvim.plugins.extras.lang.ansible" }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "ansible-language-server", diff --git a/nvim/lua/plugins/extras/lang/bash.lua b/nvim/lua/plugins/extras/lang/bash.lua index 3232f13..c6b8112 100644 --- a/nvim/lua/plugins/extras/lang/bash.lua +++ b/nvim/lua/plugins/extras/lang/bash.lua @@ -16,7 +16,7 @@ return { }, }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "bash-language-server", diff --git a/nvim/lua/plugins/extras/lang/go-extended.lua b/nvim/lua/plugins/extras/lang/go-extended.lua index 72a84cf..c94ab3f 100644 --- a/nvim/lua/plugins/extras/lang/go-extended.lua +++ b/nvim/lua/plugins/extras/lang/go-extended.lua @@ -1,7 +1,7 @@ return { { import = "lazyvim.plugins.extras.lang.go" }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "golangci-lint", diff --git a/nvim/lua/plugins/extras/lang/julia.lua b/nvim/lua/plugins/extras/lang/julia.lua index 9f00915..79f10bd 100644 --- a/nvim/lua/plugins/extras/lang/julia.lua +++ b/nvim/lua/plugins/extras/lang/julia.lua @@ -16,7 +16,7 @@ return { }, }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "julia-lsp", diff --git a/nvim/lua/plugins/extras/lang/web/graphql.lua b/nvim/lua/plugins/extras/lang/web/graphql.lua index caeeea7..d690ed9 100644 --- a/nvim/lua/plugins/extras/lang/web/graphql.lua +++ b/nvim/lua/plugins/extras/lang/web/graphql.lua @@ -1,7 +1,7 @@ return { { import = "plugins.extras.lang.web.typescript-extended" }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "graphql-language-service-cli", diff --git a/nvim/lua/plugins/extras/lang/web/html-css.lua b/nvim/lua/plugins/extras/lang/web/html-css.lua index 44dca9d..be49946 100644 --- a/nvim/lua/plugins/extras/lang/web/html-css.lua +++ b/nvim/lua/plugins/extras/lang/web/html-css.lua @@ -41,7 +41,7 @@ return { }, }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "emmet-language-server", diff --git a/nvim/lua/plugins/extras/lang/web/htmx.lua b/nvim/lua/plugins/extras/lang/web/htmx.lua index 265b69b..d30b5b1 100644 --- a/nvim/lua/plugins/extras/lang/web/htmx.lua +++ b/nvim/lua/plugins/extras/lang/web/htmx.lua @@ -8,7 +8,7 @@ return { }, }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "htmx-lsp", diff --git a/nvim/lua/plugins/extras/lang/web/vue-2.lua b/nvim/lua/plugins/extras/lang/web/vue-2.lua index 075385a..cc6ac10 100644 --- a/nvim/lua/plugins/extras/lang/web/vue-2.lua +++ b/nvim/lua/plugins/extras/lang/web/vue-2.lua @@ -19,7 +19,7 @@ return { }, }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "vetur-vls", diff --git a/nvim/lua/plugins/extras/lang/xml.lua b/nvim/lua/plugins/extras/lang/xml.lua index a93cd7c..613b285 100644 --- a/nvim/lua/plugins/extras/lang/xml.lua +++ b/nvim/lua/plugins/extras/lang/xml.lua @@ -16,7 +16,7 @@ return { }, }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "lemminx", diff --git a/nvim/lua/plugins/extras/lang/zig.lua b/nvim/lua/plugins/extras/lang/zig.lua index 9e3d375..fdac2fc 100644 --- a/nvim/lua/plugins/extras/lang/zig.lua +++ b/nvim/lua/plugins/extras/lang/zig.lua @@ -1,7 +1,7 @@ return { { import = "lazyvim.plugins.extras.lang.zig" }, { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "codelldb", diff --git a/nvim/lua/plugins/extras/linting/biome.lua b/nvim/lua/plugins/extras/linting/biome.lua index a0aea82..49d7660 100644 --- a/nvim/lua/plugins/extras/linting/biome.lua +++ b/nvim/lua/plugins/extras/linting/biome.lua @@ -1,6 +1,6 @@ return { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "biome", diff --git a/nvim/lua/plugins/extras/linting/pylint.lua b/nvim/lua/plugins/extras/linting/pylint.lua index 5bb4288..de6f950 100644 --- a/nvim/lua/plugins/extras/linting/pylint.lua +++ b/nvim/lua/plugins/extras/linting/pylint.lua @@ -1,6 +1,6 @@ return { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "pylint", diff --git a/nvim/lua/plugins/extras/linting/selene.lua b/nvim/lua/plugins/extras/linting/selene.lua index 2aa4dce..300ba7a 100644 --- a/nvim/lua/plugins/extras/linting/selene.lua +++ b/nvim/lua/plugins/extras/linting/selene.lua @@ -1,6 +1,6 @@ return { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "selene", diff --git a/nvim/lua/plugins/extras/linting/typos.lua b/nvim/lua/plugins/extras/linting/typos.lua index 633d46e..beeb905 100644 --- a/nvim/lua/plugins/extras/linting/typos.lua +++ b/nvim/lua/plugins/extras/linting/typos.lua @@ -1,6 +1,6 @@ return { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "typos", diff --git a/nvim/lua/plugins/extras/linting/vale.lua b/nvim/lua/plugins/extras/linting/vale.lua index b17f5cc..59bb098 100644 --- a/nvim/lua/plugins/extras/linting/vale.lua +++ b/nvim/lua/plugins/extras/linting/vale.lua @@ -1,6 +1,6 @@ return { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "vale", diff --git a/nvim/lua/plugins/extras/lsp/lsp.lua b/nvim/lua/plugins/extras/lsp/lsp.lua new file mode 100644 index 0000000..62d313d --- /dev/null +++ b/nvim/lua/plugins/extras/lsp/lsp.lua @@ -0,0 +1,203 @@ +local float = require("config.defaults").diagnostics_options.float +return { + { + "neovim/nvim-lspconfig", + event = { "BufReadPre", "BufNewFile" }, + dependencies = { + { + "ray-x/lsp_signature.nvim", + opts = { + bind = true, + max_height = float.max_height, + max_width = float.max_width, + hint_inline = function() + return vim.version.gt(vim.version(), { 0, 9, 0 }) + end, + handler_opts = { + border = float.border, + }, + }, + }, + { + "folke/neodev.nvim", + ft = "lua", + opts = { + pathStrict = true, + library = { plugins = { "nvim-dap-ui" }, types = true }, + }, + }, + }, + opts = { + -- LSP Server Settings + servers = { + -- cssls = {}, + -- html = {}, + -- jsonls = {}, + -- tailwindcss = {}, + -- tsserver = {}, + -- volar = {}, + bashls = { + filetypes = { "bash", "sh" }, + }, + mojo = {}, + -- use pylsp-mypy for mypy + -- use python-lsp-ruff for ruff + -- use pylsp-inlay-hints for inlay hints + pylsp = {}, + phan = {}, + phpactor = {}, + psalm = {}, + clangd = { + cmd = { + "clangd", + "--clang-tidy", + "-j=5", + "--malloc-trim", + }, + filetypes = { "c" }, -- "cpp" + }, + zls = {}, + rust_analyzer = { + settings = { + ["rust-analyzer"] = { + check = { + command = "clippy", + features = "all", + }, + }, + }, + }, + lua_ls = { + cmd = { + "lua-language-server", + "-E", + "/usr/share/lua-language-server/main.lua", + }, + on_init = function(client) + if client.workspace_folders then + local path = client.workspace_folders[1].name + if + vim.uv.fs_stat(path .. "/.luarc.json") + or vim.uv.fs_stat(path .. "/.luarc.jsonc") + then + return + end + end + end, + settings = { + Lua = { + runtime = { + -- LuaJIT in the case of Neovim + version = "LuaJIT", + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { "vim" }, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.env.VIMRUNTIME, + -- This feature causes the lsp to use the "environment emulation" feature to suggest + -- applying a library/framework when a certain keyword or filename has been found + checkThirdParty = false, + }, + -- disable lua_ls default formater since I use stylua + format = { enable = false }, + hint = { enable = true, setType = true }, + }, + }, + }, + }, + -- you can do any additional lsp server setup here + setup = { + lua_ls = function(server, opts) + require("lspconfig")[server].setup(opts) + end, + }, + }, + config = function(_, opts) + local on_attach = function(client, bufnr) + _ = client + _ = bufnr + -- if vim.filetype.match({ buf = bufnr }) == "lua" then + -- end + require("lspconfig.ui.windows").default_options = { + border = float.border, + } + end + + local function setup(server, server_config) + if opts.setup[server] then + if opts.setup[server](server, server_config) then + return + end + end + require("lspconfig")[server].setup(server_config) + end + + local servers = opts.servers + local capabilities = require("cmp_nvim_lsp").default_capabilities( + vim.lsp.protocol.make_client_capabilities() + ) + + for server, _ in pairs(servers) do + local server_config = vim.tbl_deep_extend("force", { + capabilities = vim.deepcopy(capabilities), + on_attach = on_attach, + }, servers[server] or {}) + + setup(server, server_config) + end + end, + }, + { + "nvimdev/lspsaga.nvim", + event = "LspAttach", + opts = { + ui = { + border = float.border, + }, + outline = { + layout = "float", + }, + }, + }, + { + "nvimtools/none-ls.nvim", + event = { "BufReadPre", "BufNewFile" }, + opts = function() + local null_ls = require("null-ls") + return { + diagnostics_format = "#{m} (#{s})", + sources = { + -- cpp + null_ls.builtins.diagnostics.cppcheck.with({ + extra_args = { + "--inconclusive", + }, + }), + -- lua + null_ls.builtins.diagnostics.selene, + null_ls.builtins.formatting.stylua, + -- php + null_ls.builtins.diagnostics.phpstan, + null_ls.builtins.formatting.phpcsfixer, + -- shell + null_ls.builtins.diagnostics.zsh.with({ + filetypes = { "zsh" }, + }), + null_ls.builtins.hover.printenv.with({ + filetypes = { "zsh", "bash", "sh", "dosbatch", "ps1" }, + }), + -- Docker + null_ls.builtins.diagnostics.hadolint, + -- opengl + null_ls.builtins.diagnostics.glslc.with({ + -- use opengl instead of vulkan1.0 + extra_args = { "--target-env=opengl" }, + }), + }, + } + end, + }, +} diff --git a/nvim/lua/plugins/extras/lsp/mason-extended.lua b/nvim/lua/plugins/extras/lsp/mason-extended.lua index cc2a18d..a7c88d4 100644 --- a/nvim/lua/plugins/extras/lsp/mason-extended.lua +++ b/nvim/lua/plugins/extras/lsp/mason-extended.lua @@ -1,5 +1,5 @@ return { - "williamboman/mason.nvim", + "mason-org/mason.nvim", keys = { { "cm", false }, { "cim", "Mason", desc = "Mason" }, diff --git a/nvim/lua/plugins/extras/ui/colorschemes/catppuccin.lua b/nvim/lua/plugins/extras/ui/colorschemes/catppuccin.lua index 7592c38..e564856 100644 --- a/nvim/lua/plugins/extras/ui/colorschemes/catppuccin.lua +++ b/nvim/lua/plugins/extras/ui/colorschemes/catppuccin.lua @@ -1,4 +1,5 @@ -local palette = require("catppuccin.palettes").get_palette("macchiato") -- Import your favorite catppuccin colors +local palette = require("catppuccin.palettes").get_palette("macchiato") +local transparent_bg = require("catppuccin").options.transparent_background and "NONE" or palette.mantle return { { @@ -6,6 +7,24 @@ return { lazy = false, name = "catppuccin", opts = { + custom_highlights = { + -- Blink Menu + Pmenu = { bg = palette.base }, + PmenuSel = { bg = palette.surface1, style = { "bold" } }, + PmenuBar = { bg = palette.surface1 }, + BlinkCmpMenuBorder = { bg = palette.base }, + + -- Snacks + SnacksNotifierInfo = { fg = palette.lavender }, + SnacksNotifierIconInfo = { fg = palette.lavender }, + SnacksNotifierTitleInfo = { fg = palette.lavender, style = { "italic" } }, + SnacksNotifierFooterInfo = { link = "DiagnosticInfo" }, + SnacksNotifierBorderInfo = { fg = palette.lavender }, + SnacksPickerPreviewTitle = { fg = palette.crust, bg = palette.lavender }, + SnacksDashboardHeader = { fg = palette.lavender }, + + ["@property"] = { fg = palette.lavender, style = require("catppuccin").options.styles.properties or {} }, + }, styles = { comments = { "italic" }, }, @@ -13,102 +32,25 @@ return { light = "latte", dark = "macchiato", }, + transparent_background = true, term_colors = true, - custom_highlights = function() - return { - Visual = { bg = palette.surface2 }, - FloatermBorder = { fg = palette.base }, - TelescopeMatching = { fg = palette.blue }, - TelescopeSelection = { fg = palette.text, bg = palette.surface0, bold = true }, - TelescopePromptPrefix = { bg = palette.surface0 }, - TelescopePromptNormal = { bg = palette.surface0 }, - TelescopeResultsNormal = { bg = palette.mantle }, - TelescopePreviewNormal = { bg = palette.mantle }, - TelescopePromptBorder = { bg = palette.surface0, fg = palette.surface0 }, - TelescopeResultsBorder = { bg = palette.mantle, fg = palette.mantle }, - TelescopePreviewBorder = { bg = palette.mantle, fg = palette.mantle }, - TelescopePromptTitle = { bg = palette.red, fg = palette.mantle }, - TelescopeResultsTitle = { fg = palette.mantle }, - TelescopePreviewTitle = { bg = palette.green, fg = palette.mantle }, - } - end, + auto_integrations = true, integrations = { - alpha = true, - cmp = true, - barbecue = { - dim_dirname = true, -- directory name is dimmed by default - bold_basename = true, - dim_context = false, - alt_background = false, - }, - colorful_winsep = { + snacks = { enabled = true, - color = "lavender", + indent_scope_color = "lavender", }, - dap = true, - dap_ui = true, - dashboard = true, - diffview = true, - flash = true, - headlines = true, - gitsigns = true, - grug_far = true, - harpoon = false, - illuminate = true, - indent_blankline = { - enabled = true, - scope_color = "lavender", -- catppuccin color (eg. `lavender`) Default: text - colored_indent_levels = false, - }, - render_markdown = true, - mason = true, - markdown = true, - mini = true, - native_lsp = { - enabled = true, - virtual_text = { - errors = { "italic" }, - hints = { "italic" }, - warnings = { "italic" }, - information = { "italic" }, - }, - underlines = { - errors = { "underline" }, - hints = { "underline" }, - warnings = { "underline" }, - information = { "underline" }, - }, - inlay_hints = { - background = true, - }, - }, - lsp_trouble = false, - navic = { enabled = false, custom_bg = "lualine" }, - neotest = true, - neogit = false, - neotree = true, - notify = true, - noice = true, - ufo = true, - overseer = false, - octo = false, - rainbow_delimiters = true, - semantic_tokens = true, - snacks = true, - telescope = { - enabled = true, - }, - symbols_outline = false, - treesitter = true, - treesitter_context = false, - which_key = true, + }, + float = { + transparent = true, -- enables transparency on floating windows + solid = true, -- use nvchad styling for floating windows }, }, }, { "akinsho/bufferline.nvim", opts = { - highlights = require("catppuccin.groups.integrations.bufferline").get({ + highlights = require("catppuccin.groups.integrations.bufferline").get_theme({ styles = { "italic", "bold" }, custom = { all = { @@ -158,4 +100,49 @@ return { }, }, }, + { + "nvim-lualine/lualine.nvim", + opts = { + options = { + theme = { + normal = { + a = { bg = palette.lavender, fg = palette.mantle, gui = "bold" }, + b = { bg = palette.surface0, fg = palette.lavender }, + c = { bg = transparent_bg, fg = palette.text }, + }, + + insert = { + a = { bg = palette.green, fg = palette.base, gui = "bold" }, + b = { bg = palette.surface0, fg = palette.green }, + }, + + terminal = { + a = { bg = palette.green, fg = palette.base, gui = "bold" }, + b = { bg = palette.surface0, fg = palette.green }, + }, + + command = { + a = { bg = palette.peach, fg = palette.base, gui = "bold" }, + b = { bg = palette.surface0, fg = palette.peach }, + }, + + visual = { + a = { bg = palette.mauve, fg = palette.base, gui = "bold" }, + b = { bg = palette.surface0, fg = palette.mauve }, + }, + + replace = { + a = { bg = palette.red, fg = palette.base, gui = "bold" }, + b = { bg = palette.surface0, fg = palette.red }, + }, + + inactive = { + a = { bg = transparent_bg, fg = palette.lavender }, + b = { bg = transparent_bg, fg = palette.surface1, gui = "bold" }, + c = { bg = transparent_bg, fg = palette.overlay0 }, + }, + }, + }, + }, + }, } diff --git a/nvim/lua/plugins/extras/ui/noice-extended.lua b/nvim/lua/plugins/extras/ui/noice-extended.lua index 3ee5781..5474c95 100644 --- a/nvim/lua/plugins/extras/ui/noice-extended.lua +++ b/nvim/lua/plugins/extras/ui/noice-extended.lua @@ -1,16 +1,17 @@ return { "folke/noice.nvim", - opts = function(_, opts) - table.insert(opts.routes, { - filter = { - event = "notify", - find = "No information available", + opts = { + cmdline = { + view = "cmdline", + }, + lsp = { + progress = { + enabled = false, }, - opts = { - skip = true, - }, - }) - opts.presets.lsp_doc_border = true - opts.presets.bottom_search = false - end, + }, + presets = { + lsp_doc_border = true, + bottom_search = false, + }, + }, } diff --git a/nvim/lua/plugins/extras/util/mason-lock.lua b/nvim/lua/plugins/extras/util/mason-lock.lua index f46a416..a33d6c5 100644 --- a/nvim/lua/plugins/extras/util/mason-lock.lua +++ b/nvim/lua/plugins/extras/util/mason-lock.lua @@ -1,5 +1,5 @@ return { - "williamboman/mason.nvim", + "mason-org/mason.nvim", dependencies = { "zapling/mason-lock.nvim", cmd = { "MasonLock", "MasonLockRestore" },