diff --git a/home/user/.config/nvim/lua/base/lazy.lua b/home/user/.config/nvim/lua/base/lazy.lua index 23d2e69..182088d 100644 --- a/home/user/.config/nvim/lua/base/lazy.lua +++ b/home/user/.config/nvim/lua/base/lazy.lua @@ -16,220 +16,17 @@ install_lazy_if_not_installed(lazypath) vim.opt.rtp:prepend(lazypath) -local plugins = { - { - 'nvim-lualine/lualine.nvim', - dependencies = { 'kyazdani42/nvim-web-devicons' } - }, - { - "max397574/better-escape.nvim", - config = function() - require("better_escape").setup({ - mapping = {'jf', 'оа'}, - timeout = vim.o.timeoutlen, - }) - end, - }, - { - 'chentoast/marks.nvim', - config = function() - require("marks").setup() - end - }, - { - 'karb94/neoscroll.nvim', - config = function() - require('neoscroll').setup() - end - }, - { - 'EdenEast/nightfox.nvim' -- colorscheme - }, - { - 'ellisonleao/gruvbox.nvim' -- colorscheme - }, - { - 'kana/vim-textobj-lastpat', -- text-object i/, operate under finding - dependencies = { 'kana/vim-textobj-user' } - }, - { - 'tpope/vim-surround' - }, - { - 'tpope/vim-repeat' - }, - { - 'google/vim-searchindex' - }, - { - 'tpope/vim-commentary' -- gcc to comment line - }, - { - 'norcalli/nvim-colorizer.lua', - config = function() - require('colorizer').setup() - end - }, - { - 'preservim/tagbar', - keys = { - { 't', 'TagbarToggle' } - }, - enabled = vim.fn.executable "ctags" == 1 - }, - { - 'preservim/vimux', - enabled = vim.fn.executable "tmux" == 1 - }, - { - 'rbgrouleff/bclose.vim' - }, - { - 'Pocco81/auto-save.nvim' -- autosave files - }, - { - 'windwp/nvim-autopairs' -- auto pair brackets and tags - }, - { - 'lewis6991/gitsigns.nvim' -- git integration - }, - { - 'windwp/nvim-ts-autotag' - }, - { - 'nvim-treesitter/nvim-treesitter', - build = ':TSUpdate' - }, - { - 'numToStr/Comment.nvim' - }, - { - 'neovim/nvim-lspconfig' - }, - { - 'folke/trouble.nvim', - dependencies = { 'kyazdani42/nvim-web-devicons' } - }, - { - 'hrsh7th/nvim-cmp', - dependencies = { - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - "hrsh7th/cmp-cmdline", - 'saadparwaiz1/cmp_luasnip', - 'hrsh7th/cmp-nvim-lsp', - } - }, - { - 'L3MON4D3/LuaSnip', - dependencies = 'hrsh7th/nvim-cmp', - }, - { - 'honza/vim-snippets' - }, - { - 'williamboman/mason.nvim', - dependencies = "williamboman/mason-lspconfig.nvim" - }, - { - 'folke/which-key.nvim', - config = function() - require("which-key").setup() - end - }, - { - 'nvim-telescope/telescope.nvim', - enabled = vim.fn.executable "fzf" == 1, - dependencies = { - 'nvim-lua/plenary.nvim', - { - 'nvim-telescope/telescope-fzf-native.nvim', - enabled = vim.fn.executable "make" == 1, - build = "make" - } - }, - keys = { - { 'ff', 'Telescope find_files' }, - { 'fg', 'Telescope live_grep' }, - } - }, - { - 'nmac427/guess-indent.nvim', - config = function() - require('guess-indent').setup() - end, - }, - { - "lukas-reineke/indent-blankline.nvim", - config = function() - require("ibl").setup({ - scope = { enabled = false }, - }) - end, - main = "ibl" - }, - { - "nvim-neo-tree/neo-tree.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - "MunifTanjim/nui.nvim", - }, - config = function() - require("neo-tree").setup({ - close_if_last_window = true, - filesystem = { - hide_gitignored = true, - hijack_netrw_behavior = "open_current", - }, - window = { - mappings = { - ["l"] = "open", - } - } - }) - end - }, - { - 'folke/neodev.nvim', - ft = {'lua'}, - dependencies = { - 'neovim/nvim-lspconfig' - }, - config = function() - require('neodev').setup() - end - }, - { - 'chaoren/vim-wordmotion', - }, - { - 'ggandor/leap.nvim', - keys = { - { 'gs', '(leap-forward-to)' }, - { 'gS', '(leap-backward-to)' }, - } - }, - { - 'toppair/peek.nvim', - enabled = vim.fn.executable "deno" == 1, - ft = {'markdown'}, - build = 'deno task --quiet build:fast', - config = function() - require('peek').setup({ - auto_load = true, - close_on_bdelete = true, - syntax = true, - theme = 'dark', - update_on_change = true, - app = 'webview', - filetype = {'markdown'}, - throttle_at = 200000, - throttle_time = 'auto', - vim.keymap.set('n', 'rr', "lua require('peek').open()", {noremap=true, silent=true}) - }) - end, - }, -} +local plugins = {} + +local modules = vim.split(vim.fn.glob(vim.fn.stdpath("config") .. '/lua/*/plugins/*lua'), '\n') + +for i, module_path in pairs(modules) do + splitted_path = vim.split(module_path, '/') + module_name = splitted_path[#splitted_path]:gsub(".lua", "") + + table.insert(plugins, require('base.plugins.' .. module_name)) +end + require("lazy").setup( plugins, diff --git a/home/user/.config/nvim/lua/base/plugins/better_escape.lua b/home/user/.config/nvim/lua/base/plugins/better_escape.lua new file mode 100644 index 0000000..f22b27d --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/better_escape.lua @@ -0,0 +1,9 @@ +return { + "max397574/better-escape.nvim", + config = function() + require("better_escape").setup({ + mapping = {'jf', 'оа'}, + timeout = vim.o.timeoutlen, + }) + end, +} diff --git a/home/user/.config/nvim/lua/base/plugins/colorschemes.lua b/home/user/.config/nvim/lua/base/plugins/colorschemes.lua new file mode 100644 index 0000000..b2461e8 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/colorschemes.lua @@ -0,0 +1,8 @@ +return { + { + 'EdenEast/nightfox.nvim' + }, + { + 'ellisonleao/gruvbox.nvim' + }, +} diff --git a/home/user/.config/nvim/lua/base/plugins/guess_indent.lua b/home/user/.config/nvim/lua/base/plugins/guess_indent.lua new file mode 100644 index 0000000..bd9f8b7 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/guess_indent.lua @@ -0,0 +1,6 @@ +return { + 'nmac427/guess-indent.nvim', + config = function() + require('guess-indent').setup() + end, +} diff --git a/home/user/.config/nvim/lua/base/plugins/indent_blankline.lua b/home/user/.config/nvim/lua/base/plugins/indent_blankline.lua new file mode 100644 index 0000000..d168936 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/indent_blankline.lua @@ -0,0 +1,9 @@ +return { + "lukas-reineke/indent-blankline.nvim", + config = function() + require("ibl").setup({ + scope = { enabled = false }, + }) + end, + main = "ibl" +} diff --git a/home/user/.config/nvim/lua/base/plugins/leap.lua b/home/user/.config/nvim/lua/base/plugins/leap.lua new file mode 100644 index 0000000..0b8625c --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/leap.lua @@ -0,0 +1,7 @@ +return { + 'ggandor/leap.nvim', + keys = { + { 'gs', '(leap-forward-to)' }, + { 'gS', '(leap-backward-to)' }, + } +} diff --git a/home/user/.config/nvim/lua/base/plugins/lualine.lua b/home/user/.config/nvim/lua/base/plugins/lualine.lua new file mode 100644 index 0000000..087908f --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/lualine.lua @@ -0,0 +1,4 @@ +return { + 'nvim-lualine/lualine.nvim', + dependencies = { 'kyazdani42/nvim-web-devicons' } +} diff --git a/home/user/.config/nvim/lua/base/plugins/marks.lua b/home/user/.config/nvim/lua/base/plugins/marks.lua new file mode 100644 index 0000000..750253c --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/marks.lua @@ -0,0 +1,6 @@ +return { + 'chentoast/marks.nvim', + config = function() + require("marks").setup() + end +} diff --git a/home/user/.config/nvim/lua/base/plugins/mason.lua b/home/user/.config/nvim/lua/base/plugins/mason.lua new file mode 100644 index 0000000..1239344 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/mason.lua @@ -0,0 +1,4 @@ +return { + 'williamboman/mason.nvim', + dependencies = "williamboman/mason-lspconfig.nvim" +} diff --git a/home/user/.config/nvim/lua/base/plugins/misc.lua b/home/user/.config/nvim/lua/base/plugins/misc.lua new file mode 100644 index 0000000..3e5dd21 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/misc.lua @@ -0,0 +1,37 @@ +return { + 'tpope/vim-surround', + 'tpope/vim-repeat', + 'google/vim-searchindex', + 'rbgrouleff/bclose.vim', + 'Pocco81/auto-save.nvim', -- autosave files + 'windwp/nvim-autopairs', -- auto pair brackets and tags + 'lewis6991/gitsigns.nvim', -- git integration + 'windwp/nvim-ts-autotag', + 'chaoren/vim-wordmotion', + 'numToStr/Comment.nvim', + { + 'norcalli/nvim-colorizer.lua', + config = function() + require('colorizer').setup() + end + }, + { + 'preservim/tagbar', + keys = { + { 't', 'TagbarToggle' } + }, + enabled = vim.fn.executable "ctags" == 1 + }, + { + 'preservim/vimux', + enabled = vim.fn.executable "tmux" == 1 + }, + { + 'nvim-treesitter/nvim-treesitter', + build = ':TSUpdate' + }, + { + 'folke/trouble.nvim', + dependencies = { 'kyazdani42/nvim-web-devicons' } + }, +} diff --git a/home/user/.config/nvim/lua/base/plugins/neodev.lua b/home/user/.config/nvim/lua/base/plugins/neodev.lua new file mode 100644 index 0000000..6280c6f --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/neodev.lua @@ -0,0 +1,10 @@ +return { + 'folke/neodev.nvim', + ft = {'lua'}, + dependencies = { + 'neovim/nvim-lspconfig' + }, + config = function() + require('neodev').setup() + end +} diff --git a/home/user/.config/nvim/lua/base/plugins/neoscroll.lua b/home/user/.config/nvim/lua/base/plugins/neoscroll.lua new file mode 100644 index 0000000..9aa4947 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/neoscroll.lua @@ -0,0 +1,6 @@ +return { + 'karb94/neoscroll.nvim', + config = function() + require('neoscroll').setup() + end +} diff --git a/home/user/.config/nvim/lua/base/plugins/neotree.lua b/home/user/.config/nvim/lua/base/plugins/neotree.lua new file mode 100644 index 0000000..057c92d --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/neotree.lua @@ -0,0 +1,21 @@ +return { + "nvim-neo-tree/neo-tree.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + }, + config = function() + require("neo-tree").setup({ + close_if_last_window = true, + filesystem = { + hide_gitignored = true, + hijack_netrw_behavior = "open_current", + }, + window = { + mappings = { + ["l"] = "open", + } + } + }) + end +} diff --git a/home/user/.config/nvim/lua/base/plugins/nvim_cmp.lua b/home/user/.config/nvim/lua/base/plugins/nvim_cmp.lua new file mode 100644 index 0000000..253caf6 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/nvim_cmp.lua @@ -0,0 +1,22 @@ +return { + { + 'hrsh7th/nvim-cmp', + dependencies = { + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + "hrsh7th/cmp-cmdline", + 'saadparwaiz1/cmp_luasnip', + 'hrsh7th/cmp-nvim-lsp', + }, + }, + { + 'neovim/nvim-lspconfig' + }, + { + 'L3MON4D3/LuaSnip', + dependencies = 'hrsh7th/nvim-cmp', + }, + { + 'honza/vim-snippets' + }, +} diff --git a/home/user/.config/nvim/lua/base/plugins/peek.lua b/home/user/.config/nvim/lua/base/plugins/peek.lua new file mode 100644 index 0000000..b7defcc --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/peek.lua @@ -0,0 +1,20 @@ +return { + 'toppair/peek.nvim', + enabled = vim.fn.executable "deno" == 1, + ft = {'markdown'}, + build = 'deno task --quiet build:fast', + config = function() + require('peek').setup({ + auto_load = true, + close_on_bdelete = true, + syntax = true, + theme = 'dark', + update_on_change = true, + app = 'webview', + filetype = {'markdown'}, + throttle_at = 200000, + throttle_time = 'auto', + vim.keymap.set('n', 'rr', "lua require('peek').open()", {noremap=true, silent=true}) + }) + end, +} diff --git a/home/user/.config/nvim/lua/base/plugins/telescope.lua b/home/user/.config/nvim/lua/base/plugins/telescope.lua new file mode 100644 index 0000000..5405622 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/telescope.lua @@ -0,0 +1,16 @@ +return { + 'nvim-telescope/telescope.nvim', + enabled = vim.fn.executable "fzf" == 1, + dependencies = { + 'nvim-lua/plenary.nvim', + { + 'nvim-telescope/telescope-fzf-native.nvim', + enabled = vim.fn.executable "make" == 1, + build = "make" + } + }, + keys = { + { 'ff', 'Telescope find_files' }, + { 'fg', 'Telescope live_grep' }, + } +} diff --git a/home/user/.config/nvim/lua/base/plugins/vim_textobj_lastpat.lua b/home/user/.config/nvim/lua/base/plugins/vim_textobj_lastpat.lua new file mode 100644 index 0000000..da77120 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/vim_textobj_lastpat.lua @@ -0,0 +1,4 @@ +return { + 'kana/vim-textobj-lastpat', -- text-object i/, operate under finding + dependencies = { 'kana/vim-textobj-user' } +} diff --git a/home/user/.config/nvim/lua/base/plugins/which_key.lua b/home/user/.config/nvim/lua/base/plugins/which_key.lua new file mode 100644 index 0000000..00c0d14 --- /dev/null +++ b/home/user/.config/nvim/lua/base/plugins/which_key.lua @@ -0,0 +1,6 @@ +return { + 'folke/which-key.nvim', + config = function() + require("which-key").setup() + end +}