From 7d759edf68303c7681a6521fbc3675661204cd4f Mon Sep 17 00:00:00 2001 From: Ibrahim Muftee Date: Tue, 24 Jun 2025 11:26:15 -0500 Subject: feat(nvim): replace old config with new one --- dot_config/nvim.new/lua/ibrahim/plugins/lsp.lua | 377 ------------------------ 1 file changed, 377 deletions(-) delete mode 100644 dot_config/nvim.new/lua/ibrahim/plugins/lsp.lua (limited to 'dot_config/nvim.new/lua/ibrahim/plugins/lsp.lua') diff --git a/dot_config/nvim.new/lua/ibrahim/plugins/lsp.lua b/dot_config/nvim.new/lua/ibrahim/plugins/lsp.lua deleted file mode 100644 index a7fca1f..0000000 --- a/dot_config/nvim.new/lua/ibrahim/plugins/lsp.lua +++ /dev/null @@ -1,377 +0,0 @@ --- return { --- { --- "VonHeikemen/lsp-zero.nvim", --- branch = "v4.x", --- lazy = true, --- config = false, --- }, --- --- { --- "williamboman/mason.nvim", --- lazy = false, --- config = true, --- }, --- --- -- Autocompletion --- { --- "hrsh7th/nvim-cmp", --- event = { "InsertEnter", "CmdlineEnter" }, --- dependencies = { --- "L3MON4D3/LuaSnip", -- Snippet engine --- "onsails/lspkind.nvim", -- Pretty formatting in the completion menu --- --- -- Completion sources --- "hrsh7th/cmp-nvim-lsp", --- "hrsh7th/cmp-nvim-lsp-signature-help", --- "hrsh7th/cmp-buffer", --- "hrsh7th/cmp-path", --- "saadparwaiz1/cmp_luasnip", --- }, --- config = function() --- local cmp = require("cmp") --- local luasnip = require("luasnip") --- --- cmp.setup({ --- completion = { --- -- See :help completeopt --- completeopt = "menu,menuone,noinsert,preview", --- }, --- snippet = { --- expand = function(args) --- luasnip.lsp_expand(args.body) --- end, --- }, --- mapping = cmp.mapping.preset.insert({ --- [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), --- [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), --- [""] = cmp.mapping.scroll_docs(-4), --- [""] = cmp.mapping.scroll_docs(4), --- --- -- Ctrl+Space does not currently work in Neovim core on Windows --- -- https://github.com/neovim/neovim/issues/8435 --- -- [""] = cmp.mapping.complete(), --- [""] = cmp.mapping.complete(), --- --- [""] = cmp.mapping.abort(), --- [""] = cmp.mapping.confirm({ --- -- Accept currently selected item --- behavior = cmp.ConfirmBehavior.Insert, --- select = true, --- }), --- [""] = cmp.mapping.confirm({ --- -- Accept currently selected item, replacing stuff as needed --- behavior = cmp.ConfirmBehavior.Replace, --- select = true, --- }), --- [""] = cmp.mapping({ --- -- https://github.com/hrsh7th/nvim-cmp/wiki/Example-mappings#safely-select-entries-with-cr --- i = function(fallback) --- -- In insert mode, only use Enter to complete something if cmp --- -- is active and the user has explicitly selected an item --- if cmp.visible() and cmp.get_active_entry() then --- cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) --- else --- fallback() --- end --- end, --- s = cmp.mapping.confirm({ select = true }), --- c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), --- }), --- }), --- sorting = { --- priority_weight = 2, --- comparators = { --- cmp.config.compare.exact, --- --- -- Mostly default sort order from cmp --- cmp.config.compare.offset, --- -- cmp.config.compare.scopes, --this is commented in nvim-cmp too --- cmp.config.compare.score, --- cmp.config.compare.recently_used, --- cmp.config.compare.locality, --- cmp.config.compare.kind, --- cmp.config.compare.sort_text, --- cmp.config.compare.length, --- cmp.config.compare.order, --- }, --- }, --- sources = { --- -- LSP results should be first priority --- { name = "nvim_lsp", group_index = 1 }, --- --- { name = "nvim_lsp_signature_help", group_index = 2 }, --- { name = "lazydev", group_index = 2 }, --- { name = "luasnip", group_index = 2 }, --- { name = "path", group_index = 2 }, --- { name = "buffer", group_index = 2, keyword_length = 5 }, --- }, --- ---@diagnostic disable-next-line: missing-fields --- formatting = { --- format = require("lspkind").cmp_format({ --- mode = "symbol_text", --- maxwidth = function() --- return math.floor(0.45 * vim.o.columns) --- end, --- ellipsis_char = "...", --- show_labelDetails = true, --- }), --- }, --- experimental = { --- ghost_text = { --- hl_group = "LspCodeLens", --- }, --- }, --- window = { --- completion = cmp.config.window.bordered(), --- documentation = cmp.config.window.bordered(), --- }, --- }) --- end, --- }, --- --- -- LSP --- { --- "neovim/nvim-lspconfig", --- cmd = { "LspInfo", "LspInstall", "LspStart" }, --- event = { "BufReadPre", "BufNewFile" }, --- dependencies = { --- { "hrsh7th/cmp-nvim-lsp" }, --- { "williamboman/mason.nvim" }, --- { "williamboman/mason-lspconfig.nvim" }, --- }, --- config = function() --- local lsp_zero = require("lsp-zero") --- --- lsp_zero.extend_lspconfig({ --- sign_text = true, --- capabilities = require("cmp_nvim_lsp").default_capabilities(), --- }) --- --- local border = { --- { "🭽", "FloatBorder" }, --- { "▔", "FloatBorder" }, --- { "🭾", "FloatBorder" }, --- { "▕", "FloatBorder" }, --- { "🭿", "FloatBorder" }, --- { "▁", "FloatBorder" }, --- { "🭼", "FloatBorder" }, --- { "▏", "FloatBorder" }, --- } --- --- local border_handlers = { --- ["textDocument/hover"] = vim.lsp.buf.hover({ border = border }), --- ["textDocument/signatureHelp"] = vim.lsp.buf.signature_help({ border = border }) --- } --- --- require("mason-lspconfig").setup({ --- automatic_enable = { "basedpyright", "ruff", "lua_ls" }, --- handlers = { --- -- this first function is the "default handler" --- -- it applies to every language server without a "custom handler" --- function(server_name) --- require("lspconfig")[server_name].setup({ handlers = border_handlers }) --- end, --- --- ["basedpyright"] = function() --- local lspconfig = require("lspconfig") --- lspconfig.basedpyright.setup({ --- settings = { --- basedpyright = { --- typeCheckingMode = "standard", --- }, --- }, --- }) --- end, --- }, --- }) --- vim.lsp.inlay_hint.enable() --- end, --- }, --- --- -- Formatting --- { --- "stevearc/conform.nvim", --- config = function() --- local conform = require("conform") --- local prettier = { "prettierd", "prettier" } --- conform.setup({ --- formatters_by_ft = { --- lua = { "stylua" }, --- python = { "ruff_format", lsp_format = "fallback" }, --- go = { "gopls" }, --- rust = { "clippy", lsp_format = "fallback" }, --- markdown = prettier, --- }, --- format_after_save = { --- async = true, --- stop_after_first = true, --- lsp_format = "fallback", --- }, --- }) --- --- local function format() --- conform.format({ async = true, lsp_fallback = true }) --- end --- --- vim.keymap.set({ "n", "v" }, "rf", format, { desc = "Reformat" }) --- vim.api.nvim_create_user_command("Format", format, {}) --- end, --- }, --- --- -- Lint --- { --- "mfussenegger/nvim-lint", --- dependencies = { --- -- Additional lua configuration, makes nvim stuff amazing! --- "folke/neodev.nvim", --- }, --- event = { --- "BufReadPre", --- "BufNewFile", --- }, --- opts = { --- autocmd = { --- events = { "BufEnter", "BufWritePost" }, --- pattern = { "*.py", "*.lua", "*.js", "*.ts", }, --- linters_by_ft = { --- python = { "mypy" }, --- }, --- }, --- on_demand = { --- linters_by_ft = { --- python = { "mypy", "pylint" }, --- }, --- }, --- }, --- config = function(_, opts) --- local lint = require("lint") --- lint.linters_by_ft = { --- javascript = { "eslint_d" }, --- typescript = { "eslint_d" }, --- } --- --- local function lint_autocmd() --- local filetype = vim.bo.filetype --- local linter_names = opts.autocmd.linters_by_ft[filetype] or {} --- require("lint").try_lint(linter_names) --- end --- --- local function lint_on_demand() --- local filetype = vim.bo.filetype --- local linter_names = opts.on_demand.linters_by_ft[filetype] or {} --- require("lint").try_lint(linter_names) --- end --- --- local lint_augroup = vim.api.nvim_create_augroup("user-nvim-lint", { clear = true }) --- vim.api.nvim_create_autocmd(opts.autocmd.events, { --- group = lint_augroup, --- pattern = opts.autocmd.pattern, --- callback = lint_autocmd, --- }) --- --- vim.keymap.set("n", "cl", lint_on_demand, { desc = "[C]ode [l]int" }) --- --- -- Hate to remove this because I was pretty proud of it, but I'm removing --- -- Pylint altogether. Since this is just my code, I'm leaving it here --- -- as a reference if I want to mess with it again later. --- -- -- I use Pylint consistently, and I have some projects that enforce --- -- -- that Pylint must be passing. However, I don't always want to see --- -- -- low-severity Pylint warnings like "missing docstring" for things --- -- -- I'm still actively writing. They can be distracting. --- -- -- --- -- -- Build out a simple behavior that switches the Pylint arguments --- -- -- to include or exclude Pylint's complexity (C) and conventions (R) --- -- -- messages. --- -- -- --- -- -- I intentionally make this a global user command instead of a --- -- -- buffer-specific one. --- -- --- -- local default_pylint_args = vim.deepcopy(lint.linters.pylint.args) --- -- local simple_pylint_args = vim.deepcopy(lint.linters.pylint.args) --- -- table.insert(simple_pylint_args, "--disable=C,R") --- -- --- -- local disable_pylint_low_severity = false --- -- local function toggle_pylint_severity_mode() --- -- disable_pylint_low_severity = not disable_pylint_low_severity --- -- if disable_pylint_low_severity then --- -- lint.linters.pylint.args = simple_pylint_args --- -- print("Pylint mode changed to error/warning only") --- -- else --- -- lint.linters.pylint.args = default_pylint_args --- -- print("Pylint mode reset to default") --- -- end --- -- -- Run the linter again to remove leftover messages or restore --- -- -- newly added ones --- -- lint.try_lint() --- -- end --- -- --- -- vim.api.nvim_create_user_command("PylintSeverityToggle", toggle_pylint_severity_mode, {}) --- end, --- }, --- --- -- Code actions --- { --- "aznhe21/actions-preview.nvim", --- config = function() --- vim.keymap.set({ "v", "n" }, "ca", require("actions-preview").code_actions) --- end, --- }, --- --- -- Cool neovim dev stuff --- { --- "folke/lazydev.nvim", --- ft = "lua", -- only load on lua files --- opts = { --- library = { --- -- See the configuration section for more details --- -- Load luvit types when the `vim.uv` word is found --- { path = "luvit-meta/library", words = { "vim%.uv" } }, --- }, --- }, --- }, --- --- { "Bilal2453/luvit-meta", lazy = true }, -- optional `vim.uv` typings --- } -return { - - -- LSP - - { - "neovim/nvim-lspconfig" - }, - - { - "mason-org/mason.nvim", - opts = {} - }, - - { - "mason-org/mason-lspconfig.nvim", - dependencies = { - "neovim/nvim-lspconfig", - "mason-org/mason.nvim" - }, - opts = { - ensure_installed = { - "basedpyright", - "lua_ls", - "ruff", - "rust_analyzer" - } - } - }, - -- Cool neovim dev stuff - { - "folke/lazydev.nvim", - ft = "lua", -- only load on lua files - opts = { - library = { - -- See the configuration section for more details - -- Load luvit types when the `vim.uv` word is found - { path = "luvit-meta/library", words = { "vim%.uv" } }, - }, - }, - }, - - { "Bilal2453/luvit-meta", lazy = true }, -- optional `vim.uv` typings -} -- cgit v1.2.3