added rust and cpp analyzer
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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" }
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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" })
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -9,7 +9,7 @@ return {
|
||||
end,
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"ruff",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"rustywind",
|
||||
|
||||
@@ -20,7 +20,7 @@ return {
|
||||
end,
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"shfmt",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -16,7 +16,7 @@ return {
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash-language-server",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.go" },
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"golangci-lint",
|
||||
|
||||
@@ -16,7 +16,7 @@ return {
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"julia-lsp",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -41,7 +41,7 @@ return {
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"emmet-language-server",
|
||||
|
||||
@@ -8,7 +8,7 @@ return {
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"htmx-lsp",
|
||||
|
||||
@@ -19,7 +19,7 @@ return {
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vetur-vls",
|
||||
|
||||
@@ -16,7 +16,7 @@ return {
|
||||
},
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"lemminx",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
return {
|
||||
{ import = "lazyvim.plugins.extras.lang.zig" },
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"codelldb",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"biome",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"pylint",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"selene",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"typos",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vale",
|
||||
|
||||
203
nvim/lua/plugins/extras/lsp/lsp.lua
Normal file
203
nvim/lua/plugins/extras/lsp/lsp.lua
Normal file
@@ -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,
|
||||
},
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
return {
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
keys = {
|
||||
{ "<leader>cm", false },
|
||||
{ "<leader>cim", "<cmd>Mason<cr>", desc = "Mason" },
|
||||
|
||||
@@ -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",
|
||||
},
|
||||
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,
|
||||
indent_scope_color = "lavender",
|
||||
},
|
||||
},
|
||||
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 },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
return {
|
||||
"folke/noice.nvim",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.routes, {
|
||||
filter = {
|
||||
event = "notify",
|
||||
find = "No information available",
|
||||
},
|
||||
opts = {
|
||||
skip = true,
|
||||
cmdline = {
|
||||
view = "cmdline",
|
||||
},
|
||||
lsp = {
|
||||
progress = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
presets = {
|
||||
lsp_doc_border = true,
|
||||
bottom_search = false,
|
||||
},
|
||||
},
|
||||
})
|
||||
opts.presets.lsp_doc_border = true
|
||||
opts.presets.bottom_search = false
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
return {
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
dependencies = {
|
||||
"zapling/mason-lock.nvim",
|
||||
cmd = { "MasonLock", "MasonLockRestore" },
|
||||
|
||||
Reference in New Issue
Block a user