From ad205a6812ddbcfb73c73a7e6b7a9acbb5267d53 Mon Sep 17 00:00:00 2001 From: awy Date: Sun, 16 Nov 2025 18:12:11 +0300 Subject: nvim --- .config/nvim/lua/plugins/comment.lua | 8 +++++ .config/nvim/lua/plugins/completions.lua | 44 +++++++++++++++++++++++++ .config/nvim/lua/plugins/gitsigns.lua | 11 +++++++ .config/nvim/lua/plugins/indent.lua | 8 +++++ .config/nvim/lua/plugins/lsp.lua | 56 ++++++++++++++++++++++++++++++++ .config/nvim/lua/plugins/lualine.lua | 9 +++++ .config/nvim/lua/plugins/neotree.lua | 13 ++++++++ .config/nvim/lua/plugins/telescope.lua | 25 ++++++++++++++ .config/nvim/lua/plugins/theme.lua | 9 +++++ .config/nvim/lua/plugins/treesitter.lua | 14 ++++++++ .config/nvim/lua/plugins/trim.lua | 8 +++++ 11 files changed, 205 insertions(+) create mode 100644 .config/nvim/lua/plugins/comment.lua create mode 100644 .config/nvim/lua/plugins/completions.lua create mode 100644 .config/nvim/lua/plugins/gitsigns.lua create mode 100644 .config/nvim/lua/plugins/indent.lua create mode 100644 .config/nvim/lua/plugins/lsp.lua create mode 100644 .config/nvim/lua/plugins/lualine.lua create mode 100644 .config/nvim/lua/plugins/neotree.lua create mode 100644 .config/nvim/lua/plugins/telescope.lua create mode 100644 .config/nvim/lua/plugins/theme.lua create mode 100644 .config/nvim/lua/plugins/treesitter.lua create mode 100644 .config/nvim/lua/plugins/trim.lua (limited to '.config/nvim/lua/plugins') diff --git a/.config/nvim/lua/plugins/comment.lua b/.config/nvim/lua/plugins/comment.lua new file mode 100644 index 0000000..aa8e8b7 --- /dev/null +++ b/.config/nvim/lua/plugins/comment.lua @@ -0,0 +1,8 @@ +return { + { + "numToStr/Comment.nvim", + config = function() + require('Comment').setup() + end + } +} diff --git a/.config/nvim/lua/plugins/completions.lua b/.config/nvim/lua/plugins/completions.lua new file mode 100644 index 0000000..2e7396a --- /dev/null +++ b/.config/nvim/lua/plugins/completions.lua @@ -0,0 +1,44 @@ +return { + { + "hrsh7th/cmp-nvim-lsp" + }, + { + "L3MON4D3/LuaSnip", + dependencies = { + "saadparwaiz1/cmp_luasnip", + "rafamadriz/friendly-snippets", + }, + }, + { + "hrsh7th/nvim-cmp", + config = function() + local cmp = require("cmp") + require("luasnip.loaders.from_vscode").lazy_load() + + cmp.setup({ + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.abort(), + [""] = cmp.mapping.confirm({ select = true }), + }), + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, -- For luasnip users. + }, { + { name = "buffer" }, + }), + }) + end, + }, +} diff --git a/.config/nvim/lua/plugins/gitsigns.lua b/.config/nvim/lua/plugins/gitsigns.lua new file mode 100644 index 0000000..687fd25 --- /dev/null +++ b/.config/nvim/lua/plugins/gitsigns.lua @@ -0,0 +1,11 @@ +return { + { + "tpope/vim-fugitive", + }, + { + "lewis6991/gitsigns.nvim", + config = function() + require("gitsigns").setup() + end, + } +} diff --git a/.config/nvim/lua/plugins/indent.lua b/.config/nvim/lua/plugins/indent.lua new file mode 100644 index 0000000..3741ad6 --- /dev/null +++ b/.config/nvim/lua/plugins/indent.lua @@ -0,0 +1,8 @@ +return { + { + "lukas-reineke/indent-blankline.nvim", + config = function() + require("ibl").setup() + end, + } +} diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua new file mode 100644 index 0000000..3f691d6 --- /dev/null +++ b/.config/nvim/lua/plugins/lsp.lua @@ -0,0 +1,56 @@ +return { + { + "williamboman/mason.nvim", + lazy = false, + config = function() + require("mason").setup() + end, + }, + { + "williamboman/mason-lspconfig.nvim", + lazy = false, + opts = { + auto_install = true, + ensure_installed = { "helm_ls", "dockerls" }, + }, + }, + { + "neovim/nvim-lspconfig", + lazy = false, + config = function() + local capabilities = require('cmp_nvim_lsp').default_capabilities() + + vim.lsp.enable({ + "lua_ls", "clangd", "rust_analyzer", "bashls", + "html", "cssls", "jsonls", "helm_ls", "yamlls", + "dockerfile-language-server" + }) + + vim.lsp.config("*", { + capabilities = capabilities + }) + + vim.diagnostic.config({ + virtual_text = { + prefix = '', + spacing = 4, + }, + signs = { + text = { + [vim.diagnostic.severity.ERROR] = '', + [vim.diagnostic.severity.WARN] = '', + }, + }, + underline = true, + update_in_insert = true, + severity_sort = true, + }) + + vim.keymap.set('n', 'lf', vim.lsp.buf.format) + -- vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) + -- vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) + -- vim.keymap.set("n", "gr", vim.lsp.buf.references, {}) + -- vim.keymap.set("n", "ca", vim.lsp.buf.code_action, {}) + end, + }, +} diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..097478c --- /dev/null +++ b/.config/nvim/lua/plugins/lualine.lua @@ -0,0 +1,9 @@ +return { + { + 'nvim-lualine/lualine.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + config = function() + require('lualine').setup() + end, + } +} diff --git a/.config/nvim/lua/plugins/neotree.lua b/.config/nvim/lua/plugins/neotree.lua new file mode 100644 index 0000000..904ce46 --- /dev/null +++ b/.config/nvim/lua/plugins/neotree.lua @@ -0,0 +1,13 @@ +return { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + "MunifTanjim/nui.nvim", + }, + config = function() + vim.keymap.set("n", "", ":Neotree filesystem reveal left", {}) + vim.keymap.set("n", "bf", ":Neotree buffers reveal float", {}) + end, +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..d616425 --- /dev/null +++ b/.config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,25 @@ +return { + { + "nvim-telescope/telescope-ui-select.nvim", + }, + { + "nvim-telescope/telescope.nvim", + tag = "0.1.9", + dependencies = { "nvim-lua/plenary.nvim" }, + config = function() + require("telescope").setup({ + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown({}), + }, + }, + }) + local builtin = require("telescope.builtin") + vim.keymap.set("n", "", builtin.find_files, {}) + vim.keymap.set("n", "fg", builtin.live_grep, {}) + vim.keymap.set("n", "", builtin.oldfiles, {}) + + require("telescope").load_extension("ui-select") + end, + }, +} diff --git a/.config/nvim/lua/plugins/theme.lua b/.config/nvim/lua/plugins/theme.lua new file mode 100644 index 0000000..2be3d8e --- /dev/null +++ b/.config/nvim/lua/plugins/theme.lua @@ -0,0 +1,9 @@ +return { + { + "ellisonleao/gruvbox.nvim", + priority = 1000, + config = function() + vim.cmd.colorscheme "gruvbox" + end + } +} diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..6312070 --- /dev/null +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,14 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function() + local config = require("nvim-treesitter.configs") + config.setup({ + auto_install = true, + highlight = { enable = true }, + indent = { enable = true }, + }) + end + } +} diff --git a/.config/nvim/lua/plugins/trim.lua b/.config/nvim/lua/plugins/trim.lua new file mode 100644 index 0000000..148ed5d --- /dev/null +++ b/.config/nvim/lua/plugins/trim.lua @@ -0,0 +1,8 @@ +return { + { + "cappyzawa/trim.nvim", + config = function() + require('trim').setup() + end + } +} -- cgit v1.2.3