From 2c8a6eb948eb095e444a4239b1fe5cd58ec6321e Mon Sep 17 00:00:00 2001 From: Steven Crawford Date: Thu, 5 Jun 2025 23:51:04 -0500 Subject: [PATCH] updates --- lua/shelbybark/plugins/colorscheme.lua | 152 ++++++------ lua/shelbybark/plugins/lsp/lspconfig.lua | 294 ++++++++++++----------- lua/shelbybark/plugins/lsp/mason.lua | 97 ++++---- 3 files changed, 283 insertions(+), 260 deletions(-) diff --git a/lua/shelbybark/plugins/colorscheme.lua b/lua/shelbybark/plugins/colorscheme.lua index aea9124..a28b272 100644 --- a/lua/shelbybark/plugins/colorscheme.lua +++ b/lua/shelbybark/plugins/colorscheme.lua @@ -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 + -- } } diff --git a/lua/shelbybark/plugins/lsp/lspconfig.lua b/lua/shelbybark/plugins/lsp/lspconfig.lua index 52ac73f..6c747d8 100644 --- a/lua/shelbybark/plugins/lsp/lspconfig.lua +++ b/lua/shelbybark/plugins/lsp/lspconfig.lua @@ -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", "Telescope lsp_references", 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", "Telescope lsp_definitions", opts) -- show lsp definitions - - opts.desc = "Show LSP implementations" - keymap.set("n", "gi", "Telescope lsp_implementations", opts) -- show lsp implementations - - opts.desc = "Show LSP type definitions" - keymap.set("n", "gt", "Telescope lsp_type_definitions", opts) -- show lsp type definitions - - opts.desc = "See available code actions" - keymap.set({ "n", "v" }, "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", "rn", vim.lsp.buf.rename, opts) -- smart rename - - opts.desc = "Show buffer diagnostics" - keymap.set("n", "D", "Telescope diagnostics bufnr=0", opts) -- show diagnostics for file - - opts.desc = "Show line diagnostics" - keymap.set("n", "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", "rs", ":LspRestart", 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", "Telescope lsp_references", 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", "Telescope lsp_definitions", opts) -- show lsp definitions +-- +-- opts.desc = "Show LSP implementations" +-- keymap.set("n", "gi", "Telescope lsp_implementations", opts) -- show lsp implementations +-- +-- opts.desc = "Show LSP type definitions" +-- keymap.set("n", "gt", "Telescope lsp_type_definitions", opts) -- show lsp type definitions +-- +-- opts.desc = "See available code actions" +-- keymap.set({ "n", "v" }, "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", "rn", vim.lsp.buf.rename, opts) -- smart rename +-- +-- opts.desc = "Show buffer diagnostics" +-- keymap.set("n", "D", "Telescope diagnostics bufnr=0", opts) -- show diagnostics for file +-- +-- opts.desc = "Show line diagnostics" +-- keymap.set("n", "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", "rs", ":LspRestart", 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, +-- } diff --git a/lua/shelbybark/plugins/lsp/mason.lua b/lua/shelbybark/plugins/lsp/mason.lua index 35639d7..1907bfb 100644 --- a/lua/shelbybark/plugins/lsp/mason.lua +++ b/lua/shelbybark/plugins/lsp/mason.lua @@ -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, }