This commit is contained in:
2025-06-05 23:51:04 -05:00
parent 5d3ed8b12a
commit 2c8a6eb948
3 changed files with 283 additions and 260 deletions

View File

@@ -1,78 +1,78 @@
return {
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
config = function()
require('catppuccin').setup ({
flavour = "mocha", -- latte, frappe, macchiato, mocha
custom_highlights = function(colors)
return {
LineNr = { fg = '#838DA0', bg = '#495060' }
}
end,
})
-- load the colorscheme here
vim.cmd([[colorscheme catppuccin]])
end,
},
-- {
-- "folke/tokyonight.nvim",
-- priority = 1000, -- make sure to load this before all the other start plugins
-- config = function()
-- local bg = "#011628"
-- local bg_dark = "#011423"
-- local bg_highlight = "#143652"
-- local bg_search = "#0A64AC"
-- local bg_visual = "#275378"
-- local fg = "#CBE0F0"
-- local fg_dark = "#B4D0E9"
-- local fg_gutter = "#838DA0"
-- local bg_gutter = "#495060"
-- local border = "#547998"
--
-- require("tokyonight").setup({
-- style = "night",
-- on_colors = function(colors)
-- colors.bg = bg
-- colors.bg_dark = bg_dark
-- colors.bg_float = bg_dark
-- colors.bg_highlight = bg_highlight
-- colors.bg_popup = bg_dark
-- colors.bg_search = bg_search
-- colors.bg_sidebar = bg_dark
-- colors.bg_statusline = bg_dark
-- colors.bg_visual = bg_visual
-- colors.border = border
-- colors.fg = fg
-- colors.fg_dark = fg_dark
-- colors.fg_float = fg
-- colors.fg_gutter = fg_gutter
-- colors.bg_gutter = bg_gutter
-- colors.fg_sidebar = fg_dark
-- end,
-- })
-- -- load the colorscheme here
-- vim.cmd([[colorscheme tokyonight]])
-- end,
-- },
-- {
-- "navarasu/onedark.nvim",
-- priority = 1000, -- make sure to load this before all the other start plugins
-- config = function()
-- require('onedark').setup {
-- style = 'deep',
-- -- Custom Highlights --
-- colors = {
-- line_bg = "#495060", -- define a new color
-- line_fg = "#838DA0", -- define a new color
-- }, -- Override default colors
-- highlights = {
-- ["LineNr"] = {fg = '$line_fg', bg = '$line_bg', fmt = 'none'},
-- }, -- Override highlight groups
-- }
-- -- Enable theme
-- require('onedark').load()
-- end
-- }
{
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
config = function()
require("catppuccin").setup({
flavour = "mocha", -- latte, frappe, macchiato, mocha
custom_highlights = function(colors)
return {
LineNr = { fg = "#838DA0", bg = "#495060" },
}
end,
})
-- load the colorscheme here
vim.cmd([[colorscheme catppuccin]])
end,
},
-- {
-- "folke/tokyonight.nvim",
-- priority = 1000, -- make sure to load this before all the other start plugins
-- config = function()
-- local bg = "#011628"
-- local bg_dark = "#011423"
-- local bg_highlight = "#143652"
-- local bg_search = "#0A64AC"
-- local bg_visual = "#275378"
-- local fg = "#CBE0F0"
-- local fg_dark = "#B4D0E9"
-- local fg_gutter = "#838DA0"
-- local bg_gutter = "#495060"
-- local border = "#547998"
--
-- require("tokyonight").setup({
-- style = "night",
-- on_colors = function(colors)
-- colors.bg = bg
-- colors.bg_dark = bg_dark
-- colors.bg_float = bg_dark
-- colors.bg_highlight = bg_highlight
-- colors.bg_popup = bg_dark
-- colors.bg_search = bg_search
-- colors.bg_sidebar = bg_dark
-- colors.bg_statusline = bg_dark
-- colors.bg_visual = bg_visual
-- colors.border = border
-- colors.fg = fg
-- colors.fg_dark = fg_dark
-- colors.fg_float = fg
-- colors.fg_gutter = fg_gutter
-- colors.bg_gutter = bg_gutter
-- colors.fg_sidebar = fg_dark
-- end,
-- })
-- -- load the colorscheme here
-- vim.cmd([[colorscheme tokyonight]])
-- end,
-- },
-- {
-- "navarasu/onedark.nvim",
-- priority = 1000, -- make sure to load this before all the other start plugins
-- config = function()
-- require('onedark').setup {
-- style = 'deep',
-- -- Custom Highlights --
-- colors = {
-- line_bg = "#495060", -- define a new color
-- line_fg = "#838DA0", -- define a new color
-- }, -- Override default colors
-- highlights = {
-- ["LineNr"] = {fg = '$line_fg', bg = '$line_bg', fmt = 'none'},
-- }, -- Override highlight groups
-- }
-- -- Enable theme
-- require('onedark').load()
-- end
-- }
}

View File

@@ -1,136 +1,162 @@
return {
"neovim/nvim-lspconfig",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"hrsh7th/cmp-nvim-lsp",
{ "antosha417/nvim-lsp-file-operations", config = true },
{ "folke/neodev.nvim", opts = {} },
},
config = function()
-- import lspconfig plugin
local lspconfig = require("lspconfig")
-- import mason_lspconfig plugin
local mason_lspconfig = require("mason-lspconfig")
-- import cmp-nvim-lsp plugin
local cmp_nvim_lsp = require("cmp_nvim_lsp")
local keymap = vim.keymap -- for conciseness
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
-- Buffer local mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions
local opts = { buffer = ev.buf, silent = true }
-- set keybinds
opts.desc = "Show LSP references"
keymap.set("n", "gR", "<cmd>Telescope lsp_references<CR>", opts) -- show definition, references
opts.desc = "Go to declaration"
keymap.set("n", "gD", vim.lsp.buf.declaration, opts) -- go to declaration
opts.desc = "Show LSP definitions"
keymap.set("n", "gd", "<cmd>Telescope lsp_definitions<CR>", opts) -- show lsp definitions
opts.desc = "Show LSP implementations"
keymap.set("n", "gi", "<cmd>Telescope lsp_implementations<CR>", opts) -- show lsp implementations
opts.desc = "Show LSP type definitions"
keymap.set("n", "gt", "<cmd>Telescope lsp_type_definitions<CR>", opts) -- show lsp type definitions
opts.desc = "See available code actions"
keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, opts) -- see available code actions, in visual mode will apply to selection
opts.desc = "Smart rename"
keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts) -- smart rename
opts.desc = "Show buffer diagnostics"
keymap.set("n", "<leader>D", "<cmd>Telescope diagnostics bufnr=0<CR>", opts) -- show diagnostics for file
opts.desc = "Show line diagnostics"
keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts) -- show diagnostics for line
opts.desc = "Go to previous diagnostic"
keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) -- jump to previous diagnostic in buffer
opts.desc = "Go to next diagnostic"
keymap.set("n", "]d", vim.diagnostic.goto_next, opts) -- jump to next diagnostic in buffer
opts.desc = "Show documentation for what is under cursor"
keymap.set("n", "K", vim.lsp.buf.hover, opts) -- show documentation for what is under cursor
opts.desc = "Restart LSP"
keymap.set("n", "<leader>rs", ":LspRestart<CR>", opts) -- mapping to restart lsp if necessary
end,
})
-- used to enable autocompletion (assign to every lsp server config)
local capabilities = cmp_nvim_lsp.default_capabilities()
-- Change the Diagnostic symbols in the sign column (gutter)
-- (not in youtube nvim video)
local signs = { Error = "", Warn = "", Hint = "󰠠 ", Info = "" }
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
end
mason_lspconfig.setup_handlers({
-- default handler for installed servers
function(server_name)
lspconfig[server_name].setup({
capabilities = capabilities,
})
end,
["svelte"] = function()
-- configure svelte server
lspconfig["svelte"].setup({
capabilities = capabilities,
on_attach = function(client, bufnr)
vim.api.nvim_create_autocmd("BufWritePost", {
pattern = { "*.js", "*.ts" },
callback = function(ctx)
-- Here use ctx.match instead of ctx.file
client.notify("$/onDidChangeTsOrJsFile", { uri = ctx.match })
end,
})
end,
})
end,
["graphql"] = function()
-- configure graphql language server
lspconfig["graphql"].setup({
capabilities = capabilities,
filetypes = { "graphql", "gql", "svelte", "typescriptreact", "javascriptreact" },
})
end,
["emmet_ls"] = function()
-- configure emmet language server
lspconfig["emmet_ls"].setup({
capabilities = capabilities,
filetypes = { "html", "htmldjango", "typescriptreact", "javascriptreact", "css", "sass", "scss", "less", "svelte", "php" },
})
end,
["lua_ls"] = function()
-- configure lua server (with special settings)
lspconfig["lua_ls"].setup({
capabilities = capabilities,
settings = {
Lua = {
-- make the language server recognize "vim" global
diagnostics = {
globals = { "vim" },
},
completion = {
callSnippet = "Replace",
},
},
},
})
end,
})
end,
"neovim/nvim-lspconfig",
dependencies = {
{ "williamboman/mason.nvim" },
{ "williamboman/mason-lspconfig.nvim" },
},
lazy = false,
config = function()
require("mason").setup()
require("mason-lspconfig").setup({
automatic_enable = true,
})
end,
}
-- return {
-- "neovim/nvim-lspconfig",
-- event = { "BufReadPre", "BufNewFile" },
-- dependencies = {
-- "hrsh7th/cmp-nvim-lsp",
-- { "antosha417/nvim-lsp-file-operations", config = true },
-- { "folke/neodev.nvim", opts = {} },
-- "williamboman/mason.nvim",
-- },
-- config = function()
-- -- import lspconfig plugin
-- local lspconfig = require("lspconfig")
--
-- -- import mason_lspconfig plugin
-- local mason_lspconfig = require("mason-lspconfig")
--
-- -- import cmp-nvim-lsp plugin
-- local cmp_nvim_lsp = require("cmp_nvim_lsp")
--
-- local keymap = vim.keymap -- for conciseness
--
-- vim.api.nvim_create_autocmd("LspAttach", {
-- group = vim.api.nvim_create_augroup("UserLspConfig", {}),
-- callback = function(ev)
-- -- Buffer local mappings.
-- -- See `:help vim.lsp.*` for documentation on any of the below functions
-- local opts = { buffer = ev.buf, silent = true }
--
-- -- set keybinds
-- opts.desc = "Show LSP references"
-- keymap.set("n", "gR", "<cmd>Telescope lsp_references<CR>", opts) -- show definition, references
--
-- opts.desc = "Go to declaration"
-- keymap.set("n", "gD", vim.lsp.buf.declaration, opts) -- go to declaration
--
-- opts.desc = "Show LSP definitions"
-- keymap.set("n", "gd", "<cmd>Telescope lsp_definitions<CR>", opts) -- show lsp definitions
--
-- opts.desc = "Show LSP implementations"
-- keymap.set("n", "gi", "<cmd>Telescope lsp_implementations<CR>", opts) -- show lsp implementations
--
-- opts.desc = "Show LSP type definitions"
-- keymap.set("n", "gt", "<cmd>Telescope lsp_type_definitions<CR>", opts) -- show lsp type definitions
--
-- opts.desc = "See available code actions"
-- keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, opts) -- see available code actions, in visual mode will apply to selection
--
-- opts.desc = "Smart rename"
-- keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts) -- smart rename
--
-- opts.desc = "Show buffer diagnostics"
-- keymap.set("n", "<leader>D", "<cmd>Telescope diagnostics bufnr=0<CR>", opts) -- show diagnostics for file
--
-- opts.desc = "Show line diagnostics"
-- keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts) -- show diagnostics for line
--
-- opts.desc = "Go to previous diagnostic"
-- keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) -- jump to previous diagnostic in buffer
--
-- opts.desc = "Go to next diagnostic"
-- keymap.set("n", "]d", vim.diagnostic.goto_next, opts) -- jump to next diagnostic in buffer
--
-- opts.desc = "Show documentation for what is under cursor"
-- keymap.set("n", "K", vim.lsp.buf.hover, opts) -- show documentation for what is under cursor
--
-- opts.desc = "Restart LSP"
-- keymap.set("n", "<leader>rs", ":LspRestart<CR>", opts) -- mapping to restart lsp if necessary
-- end,
-- })
--
-- -- used to enable autocompletion (assign to every lsp server config)
-- local capabilities = cmp_nvim_lsp.default_capabilities()
--
-- -- Change the Diagnostic symbols in the sign column (gutter)
-- -- (not in youtube nvim video)
-- local signs = { Error = " ", Warn = " ", Hint = "󰠠 ", Info = " " }
-- for type, icon in pairs(signs) do
-- local hl = "DiagnosticSign" .. type
-- vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
-- end
--
-- mason_lspconfig.setup_handlers({
-- -- default handler for installed servers
-- function(server_name)
-- lspconfig[server_name].setup({
-- capabilities = capabilities,
-- })
-- end,
-- ["svelte"] = function()
-- -- configure svelte server
-- lspconfig["svelte"].setup({
-- capabilities = capabilities,
-- on_attach = function(client, bufnr)
-- vim.api.nvim_create_autocmd("BufWritePost", {
-- pattern = { "*.js", "*.ts" },
-- callback = function(ctx)
-- -- Here use ctx.match instead of ctx.file
-- client.notify("$/onDidChangeTsOrJsFile", { uri = ctx.match })
-- end,
-- })
-- end,
-- })
-- end,
-- ["graphql"] = function()
-- -- configure graphql language server
-- lspconfig["graphql"].setup({
-- capabilities = capabilities,
-- filetypes = { "graphql", "gql", "svelte", "typescriptreact", "javascriptreact" },
-- })
-- end,
-- ["emmet_ls"] = function()
-- -- configure emmet language server
-- lspconfig["emmet_ls"].setup({
-- capabilities = capabilities,
-- filetypes = {
-- "html",
-- "htmldjango",
-- "typescriptreact",
-- "javascriptreact",
-- "css",
-- "sass",
-- "scss",
-- "less",
-- "svelte",
-- "php",
-- },
-- })
-- end,
-- ["lua_ls"] = function()
-- -- configure lua server (with special settings)
-- lspconfig["lua_ls"].setup({
-- capabilities = capabilities,
-- settings = {
-- Lua = {
-- -- make the language server recognize "vim" global
-- diagnostics = {
-- globals = { "vim" },
-- },
-- completion = {
-- callSnippet = "Replace",
-- },
-- },
-- },
-- })
-- end,
-- })
-- end,
-- }

View File

@@ -1,57 +1,54 @@
return {
"williamboman/mason.nvim",
dependencies = {
"williamboman/mason-lspconfig.nvim",
"WhoIsSethDaniel/mason-tool-installer.nvim",
},
cmd = { "Mason", "MasonInstall", "MasonInstallAll", "MasonUpdate" },
config = function()
-- import mason
local mason = require("mason")
"williamboman/mason.nvim",
dependencies = {
"williamboman/mason-lspconfig.nvim",
"WhoIsSethDaniel/mason-tool-installer.nvim",
},
config = function()
-- import mason
local mason = require("mason")
-- import mason-lspconfig
local mason_lspconfig = require("mason-lspconfig")
-- import mason-lspconfig
local mason_lspconfig = require("mason-lspconfig")
local mason_tool_installer = require("mason-tool-installer")
local mason_tool_installer = require("mason-tool-installer")
-- enable mason and configure icons
mason.setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
})
-- enable mason and configure icons
mason.setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
})
mason_lspconfig.setup({
-- list of servers for mason to install
ensure_installed = {
"tsserver",
"html",
"cssls",
"tailwindcss",
"svelte",
"lua_ls",
"graphql",
"emmet_ls",
"prismals",
"pyright",
"django-template-lsp",
},
})
mason_lspconfig.setup({
-- list of servers for mason to install
ensure_installed = {
-- "tsserver",
"html",
"cssls",
"tailwindcss",
"svelte",
"lua_ls",
"graphql",
"emmet_ls",
"prismals",
"pyright",
},
})
mason_tool_installer.setup({
ensure_installed = {
"prettier", -- prettier formatter
"stylua", -- lua formatter
"isort", -- python formatter
"black", -- python formatter
"pylint", -- python linter
"eslint_d", -- js linter
},
})
end,
mason_tool_installer.setup({
ensure_installed = {
"prettier", -- prettier formatter
"stylua", -- lua formatter
"isort", -- python formatter
"black", -- python formatter
"pylint", -- python linter
"eslint_d", -- js linter
},
})
end,
}