summaryrefslogtreecommitdiff
path: root/pkgs/old-custom-neovim/config/lua/plugins/mini
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/old-custom-neovim/config/lua/plugins/mini')
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/clue.lua66
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/cursorword.lua1
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/files.lua91
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/git.lua1
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/icons.lua3
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/indentscope.lua6
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/pairs.lua1
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/tabline.lua20
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,
+})