diff options
Diffstat (limited to 'pkgs/old-custom-neovim/config/lua/plugins/mini')
8 files changed, 189 insertions, 0 deletions
diff --git a/pkgs/old-custom-neovim/config/lua/plugins/mini/clue.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/clue.lua new file mode 100644 index 0000000..3dcac1b --- /dev/null +++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/clue.lua @@ -0,0 +1,66 @@ +local miniclue = require('mini.clue') +miniclue.setup({ + triggers = { + -- Leader triggers + { mode = 'n', keys = '<Leader>' }, + { mode = 'v', keys = '<Leader>' }, + + -- Built-in completion + { mode = 'i', keys = '<C-x>' }, + + -- `g` key + { mode = 'n', keys = 'g' }, + { mode = 'v', keys = 'g' }, + + -- Marks + { mode = 'n', keys = "'" }, + { mode = 'v', keys = "'" }, + { mode = 'n', keys = '`' }, + { mode = 'v', keys = '`' }, + + -- Registers + { mode = 'n', keys = '"' }, + { mode = 'v', keys = '"' }, + { mode = 'i', keys = '<C-r>' }, + { mode = 'c', keys = '<C-r>' }, + + -- Window commands + { mode = 'n', keys = '<C-w>' }, + -- { mode = 'n', keys = '<leader>w' }, + + -- `z` key + { mode = 'v', keys = 'z' }, + { mode = 'n', keys = 'z' }, + }, + + clues = { + { mode = {'n', 'v'}, keys = '<Leader>' }, + miniclue.gen_clues.builtin_completion(), + miniclue.gen_clues.g(), + miniclue.gen_clues.marks(), + miniclue.gen_clues.registers(), + miniclue.gen_clues.windows(), + Utils.replaceInTable(miniclue.gen_clues.windows(), "<C%-w>", "<leader>w"), + miniclue.gen_clues.z(), + }, + + window = { + delay = 0, + + scroll_down = "<C-d>", + scroll_up = "<C-u>", + }, +}) + +vim.api.nvim_create_autocmd("TermOpen", { + callback = function() + vim.cmd.lua("MiniClue.ensure_buf_triggers()") + end, +}) + +vim.api.nvim_create_autocmd("User", { + pattern = "MiniFilesWindowOpen", + callback = function() + vim.cmd.lua("MiniClue.ensure_buf_triggers()") + end, +}) diff --git a/pkgs/old-custom-neovim/config/lua/plugins/mini/cursorword.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/cursorword.lua new file mode 100644 index 0000000..530b88b --- /dev/null +++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/cursorword.lua @@ -0,0 +1 @@ +require("mini.cursorword").setup() diff --git a/pkgs/old-custom-neovim/config/lua/plugins/mini/files.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/files.lua new file mode 100644 index 0000000..1dc1c3e --- /dev/null +++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/files.lua @@ -0,0 +1,91 @@ +require("mini.files").setup { + mappings = { + close = '<esc>', + go_in = 'L', + go_in_plus = "<cr>", + go_out = 'H', + go_out_plus = '<c-h>', + mark_goto = "'", + mark_set = 'm', + reset = '<bs>', + reveal_cwd = '@', + show_help = 'g?', + synchronize = '=', + trim_left = '<', + trim_right = '>', + }, + windows = { + preview = true, + }, +} + +-- Set focused directory as current working directory +local set_cwd = function() + local path = (MiniFiles.get_fs_entry() or {}).path + if path == nil then return vim.notify('Cursor is not on valid entry') end + vim.fn.chdir(vim.fs.dirname(path)) +end + +-- Yank in register full path of entry under cursor +local yank_path = function() + local path = (MiniFiles.get_fs_entry() or {}).path + if path == nil then return vim.notify('Cursor is not on valid entry') end + vim.fn.setreg(vim.v.register, path) +end + +-- Open path with system default handler (useful for non-text files) +local ui_open = function() vim.ui.open(MiniFiles.get_fs_entry().path) end + +vim.api.nvim_create_autocmd('User', { + pattern = 'MiniFilesBufferCreate', + callback = function(args) + local b = args.data.buf_id + vim.keymap.set('n', 'g~', set_cwd, { buffer = b, desc = 'Set cwd' }) + vim.keymap.set('n', 'gX', ui_open, { buffer = b, desc = 'OS open' }) + vim.keymap.set('n', 'gy', yank_path, { buffer = b, desc = 'Yank path' }) + end, +}) + +-- Add custom bookmarks. +local set_mark = function(id, path, desc) + MiniFiles.set_bookmark(id, path, { desc = desc }) +end + +vim.api.nvim_create_autocmd('User', { + pattern = 'MiniFilesExplorerOpen', + callback = function() + set_mark('w', vim.fn.getcwd, 'Working directory') -- callable + set_mark('~', '~', 'Home directory') + end, +}) + +-- Add split keys +local map_split = function(buf_id, lhs, direction) + local rhs = function() + -- Make new window and set it as target + local cur_target = MiniFiles.get_explorer_state().target_window + local new_target = vim.api.nvim_win_call(cur_target, function() + vim.cmd(direction .. ' split') + return vim.api.nvim_get_current_win() + end) + + MiniFiles.set_target_window(new_target) + + MiniFiles.go_in() + end + + -- Adding `desc` will result into `show_help` entries + local desc = 'Split ' .. direction + vim.keymap.set('n', lhs, rhs, { buffer = buf_id, desc = desc }) +end + +vim.api.nvim_create_autocmd('User', { + pattern = 'MiniFilesBufferCreate', + callback = function(args) + local buf_id = args.data.buf_id + -- Tweak keys to your liking + map_split(buf_id, '<C-s>', 'belowright horizontal') + map_split(buf_id, '<C-v>', 'belowright vertical') + map_split(buf_id, '<C-t>', 'tab') + end, +}) diff --git a/pkgs/old-custom-neovim/config/lua/plugins/mini/git.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/git.lua new file mode 100644 index 0000000..943f91d --- /dev/null +++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/git.lua @@ -0,0 +1 @@ +require("mini.git").setup() diff --git a/pkgs/old-custom-neovim/config/lua/plugins/mini/icons.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/icons.lua new file mode 100644 index 0000000..fd2c5f9 --- /dev/null +++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/icons.lua @@ -0,0 +1,3 @@ +require("mini.icons").setup() + +MiniIcons.mock_nvim_web_devicons() diff --git a/pkgs/old-custom-neovim/config/lua/plugins/mini/indentscope.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/indentscope.lua new file mode 100644 index 0000000..2543c40 --- /dev/null +++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/indentscope.lua @@ -0,0 +1,6 @@ +require("mini.indentscope").setup() + +-- Don't work in terminal or help windows. +local f = function(args) vim.b[args.buf].miniindentscope_disable = true end +vim.api.nvim_create_autocmd('Filetype', { pattern = 'help', callback = f }) +vim.api.nvim_create_autocmd('TermOpen', {callback = f}) diff --git a/pkgs/old-custom-neovim/config/lua/plugins/mini/pairs.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/pairs.lua new file mode 100644 index 0000000..493c4d0 --- /dev/null +++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/pairs.lua @@ -0,0 +1 @@ +require("mini.pairs").setup() diff --git a/pkgs/old-custom-neovim/config/lua/plugins/mini/tabline.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/tabline.lua new file mode 100644 index 0000000..1ec6e7f --- /dev/null +++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/tabline.lua @@ -0,0 +1,20 @@ +require("mini.tabline").setup { + format = function(buf_id, label) + local suffix = vim.bo[buf_id].modified and '[+] ' or '' + return MiniTabline.default_format(buf_id, label) .. suffix + end +} + +local link_hl = Utils.link_highlight + +vim.api.nvim_create_autocmd({"Colorscheme", "VimEnter"}, { + + callback = function() + -- Change colors. + + -- Make modified buffers the same color. + link_hl("MiniTablineModifiedHidden", "MiniTablineHidden") + link_hl("MiniTablineModifiedVisible", "MiniTablineVisible") + link_hl("MiniTablineModifiedCurrent", "MiniTablineCurrent") + end, +}) |
