diff --git a/plug.lua b/plug.lua index 1f752cb..07c9271 100644 --- a/plug.lua +++ b/plug.lua @@ -19,27 +19,74 @@ require('mini.comment').setup() -- for toggling comments inline require('mini.completion').setup() -- for providing autocompletion results TODO: not up-to-par for my normal things require('mini.move').setup() -- moving lines require('mini.operators').setup() -- duplicating lines and evaluating equations inline -require('mini.pairs').setup() -- automatic closing pairs +require('mini.pairs').setup() -- automatic closing pairs TODO: write logic for \033[ escape codes (again) require('mini.surround').setup() -- surround stuff -require('mini.clue').setup() -- shows available keybinds when performing keybind actions -require('mini.diff').setup() -- shows git diffs in the file -require('mini.files').setup({ -- file browser +require('mini.clue').setup({ -- shows available keybinds when performing keybind actions + window = { delay = 50 }, + -- TODO: have this appear more often + triggers = { + -- Leader triggers + { mode = 'n', keys = '' }, + { mode = 'x', keys = '' }, + + -- Built-in completion + { mode = 'i', keys = '' }, + + -- `g` key + { mode = 'n', keys = 'g' }, + { mode = 'x', keys = 'g' }, + + -- Marks + { mode = 'n', keys = "'" }, + { mode = 'n', keys = '`' }, + { mode = 'x', keys = "'" }, + { mode = 'x', keys = '`' }, + + -- Registers + { mode = 'n', keys = '"' }, + { mode = 'x', keys = '"' }, + { mode = 'i', keys = '' }, + { mode = 'c', keys = '' }, + + -- Window commands + { mode = 'n', keys = '' }, + + -- `z` key + { mode = 'n', keys = 'z' }, + { mode = 'x', keys = 'z' }, + }, + + clues = { + -- Enhance this by adding descriptions for mapping groups + require('mini.clue').gen_clues.builtin_completion(), + require('mini.clue').gen_clues.g(), + require('mini.clue').gen_clues.marks(), + require('mini.clue').gen_clues.registers(), + require('mini.clue').gen_clues.windows(), + require('mini.clue').gen_clues.z(), + }, +}) +require('mini.diff').setup({ -- shows git diffs in the file + style = 'sign', +}) +require('mini.files').setup({ -- file browser -- TODO: customise with some sensible keybindings }) require('mini.jump').setup() -- extends f,F,t,T to work across multiple lines require('mini.pick').setup() -- picker/browser for various occasions TODO: research to potentially replace telescope. require('mini.sessions').setup() -- for loading / creating sessions TODO: replace the AWFUL session management I keep bickering with with this, (I hope). -require('mini.cursorword').setup() -- highlight words beneath the cursor WARN: conflicts with the folke word thingie +require('mini.cursorword').setup() -- highlight words beneath the cursor require('mini.hipatterns').setup({ -- TODO: look into replacing folke todo comments with this }) -require('mini.icons').setup() +require('mini.icons').setup() -- TODO: replace devicons with it (telescope) require('mini.indentscope').setup({ -- shows our current indent level draw = { delay = 50, animation = require('mini.indentscope').gen_animation.none(), } }) +vim.api.nvim_set_hl(0, 'MiniIndentscopeSymbol', { link = 'Whitespace' }) require('mini.notify').setup() -- has more noticeable / utilitarian / aesthetically pleasing notifications require('mini.statusline').setup({ content = { @@ -75,17 +122,14 @@ require('mini.statusline').setup({ require('mini.tabline').setup({ -- TODO: port keybindings from the older configuration }) -require('mini.trailspace').setup() -- trailing space indication and removal. -- WARN: conflicts with whitespace thing +require('mini.trailspace').setup() -- trailing space indication and removal. -- Set up mini.deps, and add the plugins we'll need to use. require('mini.deps').setup({ path = { package = path_package } }) local add = MiniDeps.add add({ source = 'https://github.com/rmagatti/auto-session' }) -add({ source = 'https://github.com/windwp/nvim-autopairs' }) add({ source = 'https://github.com/saghen/blink.cmp' }) -add({ source = 'https://github.com/akinsho/bufferline.nvim', depends = { 'https://github.com/nvim-tree/nvim-web-devicons' } }) add({ source = 'https://github.com/stevearc/conform.nvim' }) -add({ source = 'https://github.com/lewis6991/gitsigns.nvim' }) add({ source = 'https://github.com/ellisonleao/gruvbox.nvim' }) add({ source = 'https://github.com/folke/lazydev.nvim' }) add({ source = 'https://github.com/lmburns/lf.nvim', depends = { 'https://github.com/akinsho/toggleterm.nvim' } }) @@ -94,9 +138,6 @@ add({ source = 'https://github.com/neovim/nvim-lspconfig' }) add({ source = 'https://github.com/L3MON4D3/LuaSnip' }) add({ source = 'https://github.com/mfussenegger/nvim-lint' }) add({ source = 'https://github.com/nvim-treesitter/nvim-treesitter' }) -add({ source = 'https://github.com/MeanderingProgrammer/render-markdown.nvim', depends = { 'https://github.com/nvim-tree/nvim-web-devicons' } }) -add({ source = 'https://github.com/folke/snacks.nvim', depends = { 'https://github.com/nvim-tree/nvim-web-devicons' } }) -add({ source = 'https://github.com/nvim-telescope/telescope.nvim', depends = { 'https://github.com/nvim-lua/plenary.nvim' } }) +add({ source = 'https://github.com/nvim-telescope/telescope.nvim', depends = { 'https://github.com/nvim-lua/plenary.nvim', 'nvim-telescope/telescope-ui-select.nvim', 'nvim-tree/nvim-web-devicons', 'nvim-telescope/telescope-fzf-native.nvim' } }) add({ source = 'https://github.com/folke/todo-comments.nvim', depends = { 'https://github.com/nvim-lua/plenary.nvim' } }) add({ source = 'https://github.com/akinsho/toggleterm.nvim' }) -add({ source = 'https://github.com/folke/which-key.nvim' })