From 47d786ff470cd8a21154d4a80150ea1c750aa8f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Jane=C5=BEi=C4=8D?= Date: Thu, 25 May 2023 22:42:48 +0200 Subject: [PATCH] chore: move plugins to init.lua or per-plugin files --- init.lua | 44 +++++++++ lua/plugins/circles.lua | 7 ++ lua/plugins/common.lua | 148 ------------------------------- lua/plugins/gitblame.lua | 12 +++ lua/plugins/gitlinker.lua | 10 +++ lua/plugins/gitsigns.lua | 14 +++ lua/plugins/indent_blankline.lua | 10 +++ lua/plugins/leap.lua | 7 ++ lua/plugins/lualine.lua | 21 +++++ lua/plugins/oil.lua | 8 ++ 10 files changed, 133 insertions(+), 148 deletions(-) create mode 100644 lua/plugins/circles.lua delete mode 100644 lua/plugins/common.lua create mode 100644 lua/plugins/gitblame.lua create mode 100644 lua/plugins/gitlinker.lua create mode 100644 lua/plugins/gitsigns.lua create mode 100644 lua/plugins/indent_blankline.lua create mode 100644 lua/plugins/leap.lua create mode 100644 lua/plugins/lualine.lua create mode 100644 lua/plugins/oil.lua diff --git a/init.lua b/init.lua index 8f09367..0da5c30 100644 --- a/init.lua +++ b/init.lua @@ -24,6 +24,50 @@ require 'autocmd' require 'keymaps' require('lazy').setup({ + { + -- NOTE: Theme + 'sainnhe/gruvbox-material', + priority = 1000, + lazy = false, + config = function() + vim.g.gruvbox_material_background = 'soft' + vim.g.gruvbox_material_better_performance = 1 + vim.g.gruvbox_material_enable_italic = 1 + + vim.cmd.colorscheme 'gruvbox-material' + end, + }, + + -- NOTE: First, some plugins that don't require any configuration + + -- Git related plugins + 'tpope/vim-fugitive', + 'tpope/vim-rhubarb', + + -- Detect tabstop and shiftwidth automatically + 'tpope/vim-sleuth', + + -- NOTE: Second, plugins that require setup call (done via opts) + + -- Useful plugin to show you pending keybinds. + { 'folke/which-key.nvim', opts = {} }, + + -- "gc" to comment visual regions/lines + { 'numToStr/Comment.nvim', opts = {} }, + + -- colorize in files + { 'norcalli/nvim-colorizer.lua', opts = {} }, + + -- autopairs on newline + { 'windwp/nvim-autopairs', opts = {} }, + + -- highlighting for comments + { 'folke/todo-comments.nvim', dependencies = 'nvim-lua/plenary.nvim', opts = {} }, + + -- cargo crates + { 'saecki/crates.nvim', dependencies = 'nvim-lua/plenary.nvim', opts = {} }, + + -- import other plugins { import = 'plugins' }, }, {}) diff --git a/lua/plugins/circles.lua b/lua/plugins/circles.lua new file mode 100644 index 0000000..a2bd8af --- /dev/null +++ b/lua/plugins/circles.lua @@ -0,0 +1,7 @@ +return { + 'projekt0n/circles.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + opts = { + icons = { empty = '●', filled = '○', lsp_prefix = '●' }, + }, +} diff --git a/lua/plugins/common.lua b/lua/plugins/common.lua deleted file mode 100644 index 67dea25..0000000 --- a/lua/plugins/common.lua +++ /dev/null @@ -1,148 +0,0 @@ -return { - -- NOTE: Theme - { - 'sainnhe/gruvbox-material', - priority = 1000, - lazy = false, - config = function() - vim.g.gruvbox_material_background = 'soft' - vim.g.gruvbox_material_better_performance = 1 - vim.g.gruvbox_material_enable_italic = 1 - - vim.cmd.colorscheme 'gruvbox-material' - end, - }, - - -- NOTE: First, some plugins that don't require any configuration - - -- Git related plugins - 'tpope/vim-fugitive', - 'tpope/vim-rhubarb', - - -- Detect tabstop and shiftwidth automatically - 'tpope/vim-sleuth', - - -- NOTE: Second, plugins that require setup call (done via opts) - - -- Useful plugin to show you pending keybinds. - { 'folke/which-key.nvim', opts = {} }, - - -- "gc" to comment visual regions/lines - { 'numToStr/Comment.nvim', opts = {} }, - - -- colorize in files - { 'norcalli/nvim-colorizer.lua', opts = {} }, - - -- autopairs on newline - { 'windwp/nvim-autopairs', opts = {} }, - - -- highlighting for comments - { 'folke/todo-comments.nvim', dependencies = 'nvim-lua/plenary.nvim', opts = {} }, - - -- cargo crates - { 'saecki/crates.nvim', dependencies = 'nvim-lua/plenary.nvim', opts = {} }, - - -- - { - 'stevearc/oil.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons' }, - config = function() - require('oil').setup() - vim.keymap.set('n', '-', require('oil').open, { desc = 'Open parent directory' }) - end, - }, - - -- newage search plugin - { - 'ggandor/leap.nvim', - dependencies = { 'tpope/vim-repeat' }, - config = function() - require('leap').add_default_mappings() - end, - }, - - -- permanent links to fileranges - { - 'ruifm/gitlinker.nvim', - config = function() - require('gitlinker').setup { - callbacks = { - ['git.aflabs.org'] = require('gitlinker.hosts').get_gitlab_type_url, - }, - } - end, - }, - - -- NOTE: Third, plugins that require some setup, but not enugh for separate file - - { - -- Adds git releated signs to the gutter, as well as utilities for managing changes - 'lewis6991/gitsigns.nvim', - opts = { - -- See `:help gitsigns.txt` - signs = { - add = { text = '+' }, - change = { text = '~' }, - delete = { text = '_' }, - topdelete = { text = '‾' }, - changedelete = { text = '~' }, - }, - }, - }, - - { - -- Set lualine as statusline - 'nvim-lualine/lualine.nvim', - -- See `:help lualine.txt` - opts = { - options = { - icons_enabled = false, - theme = 'gruvbox-material', - statusline_style = 'mix', - component_separators = '|', - section_separators = '', - }, - sections = { - lualine_c = { - { - 'filename', - file_status = true, - path = 1, - }, - }, - }, - }, - }, - - { - -- Add indentation guides even on blank lines - 'lukas-reineke/indent-blankline.nvim', - -- Enable `lukas-reineke/indent-blankline.nvim` - -- See `:help indent_blankline.txt` - opts = { - char = '┊', - show_trailing_blankline_indent = false, - }, - }, - - { - -- git blame annotations - 'f-person/git-blame.nvim', - init = function() - -- disable on startup - vim.g.gitblame_enabled = 0 - end, - config = function() - vim.api.nvim_set_keymap('n', 'gt', ':GitBlameToggle', { desc = '[G]it Blame [T]oggle', noremap = true }) - vim.api.nvim_set_keymap('n', 'gu', ':GitBlameOpenCommitURL', { desc = '[G]it Blame Open Commit [U]rl', noremap = true }) - end, - }, - - { - 'projekt0n/circles.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons' }, - opts = { - icons = { empty = '●', filled = '○', lsp_prefix = '●' }, - }, - }, -} diff --git a/lua/plugins/gitblame.lua b/lua/plugins/gitblame.lua new file mode 100644 index 0000000..e5b5ebe --- /dev/null +++ b/lua/plugins/gitblame.lua @@ -0,0 +1,12 @@ +return { + -- git blame annotations + 'f-person/git-blame.nvim', + init = function() + -- disable on startup + vim.g.gitblame_enabled = 0 + end, + config = function() + vim.api.nvim_set_keymap('n', 'gt', ':GitBlameToggle', { desc = '[G]it Blame [T]oggle', noremap = true }) + vim.api.nvim_set_keymap('n', 'gu', ':GitBlameOpenCommitURL', { desc = '[G]it Blame Open Commit [U]rl', noremap = true }) + end, +} diff --git a/lua/plugins/gitlinker.lua b/lua/plugins/gitlinker.lua new file mode 100644 index 0000000..a11a9be --- /dev/null +++ b/lua/plugins/gitlinker.lua @@ -0,0 +1,10 @@ +return { + 'ruifm/gitlinker.nvim', + config = function() + require('gitlinker').setup { + callbacks = { + ['git.aflabs.org'] = require('gitlinker.hosts').get_gitlab_type_url, + }, + } + end, +} diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua new file mode 100644 index 0000000..c60a3ac --- /dev/null +++ b/lua/plugins/gitsigns.lua @@ -0,0 +1,14 @@ +return { + -- Adds git releated signs to the gutter, as well as utilities for managing changes + 'lewis6991/gitsigns.nvim', + opts = { + -- See `:help gitsigns.txt` + signs = { + add = { text = '+' }, + change = { text = '~' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + }, + }, +} diff --git a/lua/plugins/indent_blankline.lua b/lua/plugins/indent_blankline.lua new file mode 100644 index 0000000..732162f --- /dev/null +++ b/lua/plugins/indent_blankline.lua @@ -0,0 +1,10 @@ +return { + -- Add indentation guides even on blank lines + 'lukas-reineke/indent-blankline.nvim', + -- Enable `lukas-reineke/indent-blankline.nvim` + -- See `:help indent_blankline.txt` + opts = { + char = '┊', + show_trailing_blankline_indent = false, + }, +} diff --git a/lua/plugins/leap.lua b/lua/plugins/leap.lua new file mode 100644 index 0000000..e96d811 --- /dev/null +++ b/lua/plugins/leap.lua @@ -0,0 +1,7 @@ +return { + 'ggandor/leap.nvim', + dependencies = { 'tpope/vim-repeat' }, + config = function() + require('leap').add_default_mappings() + end, +} diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua new file mode 100644 index 0000000..6227400 --- /dev/null +++ b/lua/plugins/lualine.lua @@ -0,0 +1,21 @@ +return { + 'nvim-lualine/lualine.nvim', + opts = { + options = { + icons_enabled = false, + theme = 'gruvbox-material', + statusline_style = 'mix', + component_separators = '|', + section_separators = '', + }, + sections = { + lualine_c = { + { + 'filename', + file_status = true, + path = 1, + }, + }, + }, + }, +} diff --git a/lua/plugins/oil.lua b/lua/plugins/oil.lua new file mode 100644 index 0000000..ea165cb --- /dev/null +++ b/lua/plugins/oil.lua @@ -0,0 +1,8 @@ +return { + 'stevearc/oil.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + config = function() + require('oil').setup() + vim.keymap.set('n', '-', require('oil').open, { desc = 'Open parent directory' }) + end, +}