diff options
| author | EnricoGuccii <partyka.003@proton.me> | 2026-05-22 14:15:10 +0200 |
|---|---|---|
| committer | EnricoGuccii <partyka.003@proton.me> | 2026-05-22 14:15:10 +0200 |
| commit | 2b25a9f82226696e8ee09a374a2fbdea78ed9be0 (patch) | |
| tree | cf9a28e096838f518747a89f96362bd2d5ecdd88 /.config | |
| parent | b82ef2657511a8d6c66a82ad0878396887ae1a73 (diff) | |
before debloating
Diffstat (limited to '.config')
| -rw-r--r-- | .config/nvim/init.lua | 273 |
1 files changed, 122 insertions, 151 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 645b9ca..f581eea 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,146 +1,135 @@ +vim.g.mapleader = " " + +vim.opt.number = true +vim.opt.relativenumber = true +vim.opt.clipboard = "unnamedplus" +vim.opt.termguicolors = true +vim.opt.expandtab = true +vim.opt.shiftwidth = 2 +vim.opt.tabstop = 2 +vim.opt.signcolumn = "yes" +vim.opt.scrolloff = 5 +vim.opt.showmode = false + + + vim.pack.add({ { src = "https://github.com/neovim/nvim-lspconfig" }, { src = "https://github.com/hrsh7th/nvim-cmp" }, { src = "https://github.com/hrsh7th/cmp-nvim-lsp" }, - { src = "https://github.com/L3MON4D3/LuaSnip" }, { src = "https://github.com/saadparwaiz1/cmp_luasnip" }, { src = "https://github.com/rafamadriz/friendly-snippets" }, - { src = "https://github.com/nvim-treesitter/nvim-treesitter", build = ":TSUpdate" }, - + { src = "https://github.com/nvim-treesitter/nvim-treesitter", build = ":TSUpdate" }, { src = "https://github.com/echasnovski/mini.nvim" }, { src = "https://github.com/stevearc/oil.nvim" }, - - { src = "https://github.com/nvim-telescope/telescope.nvim" }, { src = "https://github.com/nvim-lua/plenary.nvim" }, { src = "https://github.com/lukas-reineke/indent-blankline.nvim" }, { src = "https://github.com/folke/which-key.nvim" }, - { src = "https://github.com/stevearc/conform.nvim" }, { src = "https://github.com/windwp/nvim-autopairs" }, + { src = "https://github.com/nvim-tree/nvim-web-devicons" }, { src = "https://github.com/nvim-lualine/lualine.nvim" }, - { src = "https://github.com/WTFox/jellybeans.nvim" }, + { src = "https://github.com/norcalli/nvim-colorizer.lua" }, + + { src = "https://github.com/WTFox/jellybeans.nvim" }, }) -vim.g.mapleader = " " -vim.opt.number = true -vim.opt.relativenumber = true -vim.opt.clipboard = "unnamedplus" -vim.opt.termguicolors = true -vim.opt.expandtab = true -vim.opt.shiftwidth = 2 -vim.opt.tabstop = 2 -vim.opt.signcolumn = "yes" -vim.opt.scrolloff = 5 -vim.opt.showmode = false -vim.api.nvim_create_autocmd("TextYankPost", { - callback = function() - vim.highlight.on_yank({ timeout = 150 }) - end, -}) +vim.cmd("colorscheme jellybeans") -vim.api.nvim_create_autocmd('LspAttach', { - callback = function(args) - -- Unset 'formatexpr' - vim.bo[args.buf].formatexpr = nil - -- Unset 'omnifunc' - vim.bo[args.buf].omnifunc = nil - -- Disable document colors - vim.lsp.document_color.enable(false) - end, +require("lualine").setup({ + options = { section_separators = '', component_separators = '' }, + sections = { + lualine_a = { 'mode' }, + lualine_y = { 'branch' }, + lualine_z = { 'filename' }, + lualine_b = {}, lualine_c = {}, lualine_x = {}, + }, }) require("nvim-treesitter").setup({ - ensure_installed = { - "lua", "vim", "bash", "json", "python", - "cpp", "css", "java", "c", + ensure_installed = { + "lua", "vim", "bash", "json", "python", "cpp", "css", "java", "c" }, highlight = { enable = true }, + indent = { enable = true }, }) -require("colorizer").setup() +require("colorizer").setup() require("ibl").setup({ indent = { char = "▏" }, scope = { enabled = false }, }) - +require("mini.surround").setup() +require("which-key").setup() require("nvim-autopairs").setup() -local cmp_autopairs = require("nvim-autopairs.completion.cmp") - -local capabilities = require("cmp_nvim_lsp").default_capabilities() - -require("conform").setup({ - formatters_by_ft = { - python = { "isort", "black" }, - }, -}) - -vim.lsp.config("lua_ls", { - capabilities = capabilities, - settings = { - Lua = { - diagnostics = { globals = { "vim" } }, - }, - }, -}) require("oil").setup({ - view_options = { - -- Show files and directories that start with "." - show_hidden = true, - } + view_options = { show_hidden = true } }) -vim.lsp.config("pyright", { - capabilities = capabilities, +require('telescope').setup({ + defaults = { + border = true, + borderchars = { "─", "│", "─", "│", "┌", "┐", "┘", "└" }, + }, + pickers = { + find_files = { hidden = true } + } }) -vim.lsp.config("bashls", { - capabilities = capabilities, - filetypes = { "sh", "zsh" }, +require("conform").setup({ + formatters_by_ft = { + python = { "isort", "black" }, + }, }) -vim.lsp.config("clangd", { - capabilities = capabilities, - cmd = { "clangd", "--compile-commands-dir=." }, -}) -vim.lsp.config("html", { - capabilities = capabilities, -}) -vim.lsp.config("ts_ls", { - capabilities = capabilities, -}) -vim.lsp.config("cssls", { - capabilities = capabilities, -}) +local lspconfig = require("lspconfig") +local capabilities = require("cmp_nvim_lsp").default_capabilities() +local servers = { + pyright = {}, + html = {}, + ts_ls = {}, + cssls = {}, + bashls = { + filetypes = { "sh", "zsh" }, + }, + clangd = { + cmd = { "clangd", "--compile-commands-dir=." }, + }, + lua_ls = { + settings = { + Lua = { + diagnostics = { globals = { "vim" } }, + }, + }, + }, +} +for server, config in pairs(servers) do + config.capabilities = capabilities + lspconfig[server].setup(config) +end -vim.lsp.enable({ - "lua_ls", - "pyright", - "clangd", - "html", - "cssls", - "ts_ls", - "bashls", -}) -require("luasnip.loaders.from_vscode").lazy_load() local cmp = require("cmp") local luasnip = require("luasnip") +local cmp_autopairs = require("nvim-autopairs.completion.cmp") + +require("luasnip.loaders.from_vscode").lazy_load() cmp.setup({ snippet = { @@ -177,72 +166,9 @@ cmp.setup({ }, }) - cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) -require("which-key").setup() - -require('telescope').setup({ - defaults = { - border = true, - borderchars = { - "─", "│", "─", "│", "┌", "┐", "┘", "└" - }, - pickers = { - find_files = { - hidden = true - } - } - }, -}) - -local builtin = require('telescope.builtin') - - -vim.keymap.set("n", "<leader>o", "<CMD>Oil<CR>", { desc = "Open parent directory" }) -vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = "files" }) -vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = "grep" }) -vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = "buffers" }) -vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = "help" }) - -vim.keymap.set('n', 'gd', builtin.lsp_definitions, { desc = "go to definition" }) -vim.keymap.set('n', 'gr', builtin.lsp_references, { desc = "references" }) -vim.keymap.set('n', 'gi', builtin.lsp_implementations, { desc = "implementations" }) - -vim.keymap.set('n', '<leader>ds', builtin.lsp_document_symbols, { desc = "doc symbols" }) -vim.keymap.set('n', '<leader>ws', builtin.lsp_workspace_symbols, { desc = "workspace symbols" }) - -vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, { desc = "rename" }) - -vim.keymap.set('n', '<leader>]', vim.diagnostic.goto_next, { desc = "next diagnostic" }) -vim.keymap.set('n', '<leader>[', vim.diagnostic.goto_prev, { desc = "prev diagnostic" }) -vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = "line diagnostics" }) - -vim.keymap.set("n", "<leader>bd", "<cmd>bdelete<CR>", { desc = "delete buffer" }) -vim.keymap.set("n", "<Tab>", "<cmd>bnext<CR>", { desc = "next buffer" }) -vim.keymap.set("n", "<leader><Tab>", "<cmd>bprevious<CR>", { desc = "prev buffer" }) - -vim.keymap.set("n", "K", vim.lsp.buf.hover, { desc = "hover docs" }) -vim.keymap.set("n", "M", vim.lsp.buf.signature_help, { desc = "signature help" }) - -vim.keymap.set("n", "<leader>c", require("conform").format, { desc = "format" }) - - -require("lualine").setup({ - options = { section_separators = '', component_separators = '' }, - sections = { - lualine_a = { 'mode' }, - lualine_y = { 'branch' }, - lualine_z = { 'filename' }, - lualine_b = {}, - lualine_c = {}, - lualine_x = {}, - }, -}) - - -vim.cmd("colorscheme jellybeans") local s = luasnip.snippet local t = luasnip.text_node @@ -253,10 +179,55 @@ luasnip.add_snippets("markdown", { s("sc", { t("Switch(config)# "), i(0) }), s("sci", { t({ "", "Switch(config-if)# " }), i(0) }), s("scir", { t({ "", "Switch(config-if-range)# " }), i(0) }), - s("r#", { t("Router# "), i(0) }), s("rc", { t("Router(config)# "), i(0) }), s("rci", { t({ "", "Router(config-if)# " }), i(0) }), s("rcir", { t({ "", "Router(config-if-range)# " }), i(0) }), s("rcr", { t({ "", "Router(config-router)# " }), i(0) }), }) + + + +vim.api.nvim_create_autocmd("TextYankPost", { + callback = function() + vim.highlight.on_yank({ timeout = 150 }) + end, +}) + +-- vim.api.nvim_create_autocmd('LspAttach', { +-- callback = function(args) +-- vim.bo[args.buf].formatexpr = nil +-- vim.bo[args.buf].omnifunc = nil +-- vim.lsp.document_color.enable(false) +-- end, +-- }) + + + +local builtin = require('telescope.builtin') +local map = vim.keymap.set + +map("n", "<leader>o", "<CMD>Oil<CR>", { desc = "Open parent directory" }) +map("n", "<leader>c", require("conform").format, { desc = "Format code" }) + +map('n', '<leader>ff', builtin.find_files, { desc = "Find files" }) +map('n', '<leader>fg', builtin.live_grep, { desc = "Live grep" }) +map('n', '<leader>fb', builtin.buffers, { desc = "Find buffers" }) +map('n', '<leader>fh', builtin.help_tags, { desc = "Help tags" }) + +map('n', 'gd', builtin.lsp_definitions, { desc = "Go to definition" }) +map('n', 'gr', builtin.lsp_references, { desc = "References" }) +map('n', 'gi', builtin.lsp_implementations, { desc = "Implementations" }) +map('n', '<leader>ds', builtin.lsp_document_symbols, { desc = "Document symbols" }) +map('n', '<leader>ws', builtin.lsp_workspace_symbols, { desc = "Workspace symbols" }) +map('n', '<leader>rn', vim.lsp.buf.rename, { desc = "Rename symbol" }) +map("n", "K", vim.lsp.buf.hover, { desc = "Hover docs" }) +map("n", "M", vim.lsp.buf.signature_help, { desc = "Signature help" }) + +map('n', '<leader>]', vim.diagnostic.goto_next, { desc = "Next diagnostic" }) +map('n', '<leader>[', vim.diagnostic.goto_prev, { desc = "Prev diagnostic" }) +map('n', '<leader>e', vim.diagnostic.open_float, { desc = "Line diagnostics" }) + +map("n", "<leader>bd", "<cmd>bdelete<CR>", { desc = "Delete buffer" }) +map("n", "<Tab>", "<cmd>bnext<CR>", { desc = "Next buffer" }) +map("n", "<leader><Tab>", "<cmd>bprevious<CR>", { desc = "Prev buffer" }) |