2023-02-19 23:01:47 +01:00
|
|
|
return {
|
2023-02-19 23:19:01 +01:00
|
|
|
-- NOTE: Theme
|
|
|
|
{
|
2023-02-24 11:04:06 +01:00
|
|
|
'sainnhe/gruvbox-material',
|
2023-02-19 23:19:01 +01:00
|
|
|
priority = 1000,
|
|
|
|
config = function()
|
2023-02-24 11:04:06 +01:00
|
|
|
vim.g.gruvbox_material_background = 'soft'
|
|
|
|
vim.g.gruvbox_material_better_performance = 1
|
2023-04-03 16:36:15 +02:00
|
|
|
vim.g.gruvbox_material_enable_italic = 1
|
2023-02-24 11:04:06 +01:00
|
|
|
|
|
|
|
vim.cmd.colorscheme 'gruvbox-material'
|
2023-02-19 23:19:01 +01:00
|
|
|
end,
|
|
|
|
},
|
|
|
|
|
2023-02-19 23:01:47 +01:00
|
|
|
-- 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',
|
|
|
|
|
2023-02-24 11:04:06 +01:00
|
|
|
-- NOTE: Second, plugins that require setup call (done via opts)
|
2023-02-19 23:01:47 +01:00
|
|
|
|
|
|
|
-- 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
|
2023-03-27 14:42:59 +02:00
|
|
|
{ 'norcalli/nvim-colorizer.lua', opts = {} },
|
2023-02-19 23:01:47 +01:00
|
|
|
|
2023-03-29 13:58:18 +02:00
|
|
|
-- autopairs on newline
|
|
|
|
{ 'windwp/nvim-autopairs', opts = {} },
|
|
|
|
|
2023-02-19 23:01:47 +01:00
|
|
|
-- highlighting for comments
|
2023-03-27 14:42:59 +02:00
|
|
|
{ 'folke/todo-comments.nvim', dependencies = 'nvim-lua/plenary.nvim', opts = {} },
|
2023-02-19 23:01:47 +01:00
|
|
|
|
2023-04-09 21:59:58 +02:00
|
|
|
-- newage search plugin
|
|
|
|
{
|
|
|
|
'ggandor/leap.nvim',
|
|
|
|
dependencies = { 'tpope/vim-repeat' },
|
|
|
|
config = function()
|
|
|
|
require('leap').add_default_mappings()
|
|
|
|
end,
|
|
|
|
},
|
|
|
|
|
2023-03-21 16:00:47 +01:00
|
|
|
-- permanent links to fileranges
|
2023-03-27 14:42:59 +02:00
|
|
|
{
|
|
|
|
'ruifm/gitlinker.nvim',
|
2023-03-21 16:00:47 +01:00
|
|
|
config = function()
|
2023-03-27 14:42:59 +02:00
|
|
|
require('gitlinker').setup {
|
|
|
|
callbacks = {
|
|
|
|
['git.aflabs.org'] = require('gitlinker.hosts').get_gitlab_type_url,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
end,
|
2023-03-21 16:00:47 +01:00
|
|
|
},
|
|
|
|
|
2023-02-19 23:01:47 +01:00
|
|
|
-- NOTE: Third, plugins that require some setup, but not enugh for separate file
|
|
|
|
|
2023-03-27 14:42:59 +02:00
|
|
|
{
|
|
|
|
-- Adds git releated signs to the gutter, as well as utilities for managing changes
|
2023-02-19 23:01:47 +01:00
|
|
|
'lewis6991/gitsigns.nvim',
|
|
|
|
opts = {
|
|
|
|
-- See `:help gitsigns.txt`
|
|
|
|
signs = {
|
|
|
|
add = { text = '+' },
|
|
|
|
change = { text = '~' },
|
|
|
|
delete = { text = '_' },
|
|
|
|
topdelete = { text = '‾' },
|
|
|
|
changedelete = { text = '~' },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
2023-03-27 14:42:59 +02:00
|
|
|
{
|
|
|
|
-- Set lualine as statusline
|
2023-02-19 23:01:47 +01:00
|
|
|
'nvim-lualine/lualine.nvim',
|
|
|
|
-- See `:help lualine.txt`
|
|
|
|
opts = {
|
|
|
|
options = {
|
|
|
|
icons_enabled = false,
|
2023-02-24 11:04:06 +01:00
|
|
|
theme = 'gruvbox-material',
|
2023-02-20 22:58:19 +01:00
|
|
|
statusline_style = 'mix',
|
2023-02-19 23:01:47 +01:00
|
|
|
component_separators = '|',
|
|
|
|
section_separators = '',
|
|
|
|
},
|
2023-03-29 11:54:47 +02:00
|
|
|
sections = {
|
|
|
|
lualine_c = {
|
|
|
|
{
|
|
|
|
'filename',
|
|
|
|
file_status = true,
|
|
|
|
path = 1,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
2023-02-19 23:01:47 +01:00
|
|
|
},
|
|
|
|
},
|
|
|
|
|
2023-03-27 14:42:59 +02:00
|
|
|
{
|
|
|
|
-- Add indentation guides even on blank lines
|
2023-02-19 23:01:47 +01:00
|
|
|
'lukas-reineke/indent-blankline.nvim',
|
|
|
|
-- Enable `lukas-reineke/indent-blankline.nvim`
|
|
|
|
-- See `:help indent_blankline.txt`
|
|
|
|
opts = {
|
|
|
|
char = '┊',
|
|
|
|
show_trailing_blankline_indent = false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
2023-03-27 14:42:59 +02:00
|
|
|
{
|
|
|
|
-- git blame annotations
|
2023-02-19 23:01:47 +01:00
|
|
|
'f-person/git-blame.nvim',
|
|
|
|
config = function()
|
2023-04-03 16:36:15 +02:00
|
|
|
-- disable on startup
|
|
|
|
vim.g.gitblame_enabled = 0
|
|
|
|
|
2023-02-19 23:01:47 +01:00
|
|
|
vim.api.nvim_set_keymap('n', '<leader>gt', ':GitBlameToggle<CR>', { desc = '[G]it Blame [T]oggle', noremap = true })
|
|
|
|
vim.api.nvim_set_keymap('n', '<leader>gu', ':GitBlameOpenCommitURL<CR>',
|
2023-03-27 14:42:59 +02:00
|
|
|
{ desc = '[G]it Blame Open Commit [U]rl', noremap = true })
|
|
|
|
end,
|
2023-02-19 23:01:47 +01:00
|
|
|
},
|
|
|
|
|
2023-03-27 14:42:59 +02:00
|
|
|
{
|
|
|
|
-- a more adventurous wildmenu
|
2023-02-19 23:01:47 +01:00
|
|
|
'gelguy/wilder.nvim',
|
|
|
|
dependencies = { 'romgrk/fzy-lua-native' },
|
|
|
|
config = function()
|
2023-03-27 14:42:59 +02:00
|
|
|
local wilder = require 'wilder'
|
|
|
|
wilder.setup { modes = { ':', '/', '?' } }
|
2023-02-19 23:01:47 +01:00
|
|
|
-- Disable Python remote plugin
|
|
|
|
wilder.set_option('use_python_remote_plugin', 0)
|
|
|
|
|
|
|
|
wilder.set_option('pipeline', {
|
|
|
|
wilder.branch(
|
2023-03-27 14:42:59 +02:00
|
|
|
wilder.cmdline_pipeline {
|
2023-02-19 23:01:47 +01:00
|
|
|
fuzzy = 1,
|
|
|
|
fuzzy_filter = wilder.lua_fzy_filter(),
|
2023-03-27 14:42:59 +02:00
|
|
|
},
|
2023-02-19 23:01:47 +01:00
|
|
|
wilder.vim_search_pipeline()
|
2023-03-27 14:42:59 +02:00
|
|
|
),
|
2023-02-19 23:01:47 +01:00
|
|
|
})
|
|
|
|
|
2023-03-27 14:42:59 +02:00
|
|
|
wilder.set_option(
|
|
|
|
'renderer',
|
|
|
|
wilder.popupmenu_renderer(wilder.popupmenu_border_theme {
|
2023-02-19 23:01:47 +01:00
|
|
|
highlights = {
|
|
|
|
border = 'Normal',
|
|
|
|
},
|
|
|
|
border = 'rounded',
|
|
|
|
highlighter = wilder.lua_fzy_highlighter(),
|
|
|
|
left = { ' ', wilder.popupmenu_devicons() },
|
|
|
|
right = { ' ', wilder.popupmenu_scrollbar() },
|
|
|
|
})
|
2023-03-27 14:42:59 +02:00
|
|
|
)
|
2023-02-19 23:01:47 +01:00
|
|
|
end,
|
|
|
|
},
|
|
|
|
|
2023-03-27 14:42:59 +02:00
|
|
|
{
|
2023-03-27 15:17:58 +02:00
|
|
|
'projekt0n/circles.nvim',
|
|
|
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
|
|
|
opts = {
|
|
|
|
icons = { empty = '●', filled = '○', lsp_prefix = '●' },
|
2023-02-19 23:18:06 +01:00
|
|
|
},
|
2023-03-27 15:17:58 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
-- file menu
|
|
|
|
{
|
|
|
|
'nvim-tree/nvim-tree.lua',
|
2023-02-20 22:58:19 +01:00
|
|
|
config = function()
|
2023-03-27 15:17:58 +02:00
|
|
|
require('nvim-tree').setup {
|
|
|
|
renderer = {
|
|
|
|
icons = {
|
|
|
|
glyphs = require('circles').get_nvimtree_glyphs(),
|
2023-03-21 16:00:33 +01:00
|
|
|
},
|
2023-03-27 14:42:59 +02:00
|
|
|
},
|
2023-03-21 16:00:33 +01:00
|
|
|
}
|
2023-02-19 23:18:06 +01:00
|
|
|
end,
|
|
|
|
},
|
2023-02-19 23:01:47 +01:00
|
|
|
}
|