AutoYADM commit: 2025-02-05 23:00:03

This commit is contained in:
Daniel Fichtinger 2025-02-05 23:00:03 -05:00
parent 681b1162ff
commit 20f26d3b8e

View file

@ -1,114 +1,55 @@
return { return {
"jake-stewart/multicursor.nvim", "jake-stewart/multicursor.nvim",
branch = "1.0", branch = "1.0",
config = function() enabled = false,
local mc = require("multicursor-nvim") keys = {
mc.setup() {
local set = vim.keymap.set "<Esc>",
function()
-- Add or skip cursor above/below the main cursor. local mc = require("multicursor-nvim")
set({ "n", "v" }, "<S-up>", function() if not mc.cursorsEnabled() then
mc.lineAddCursor(-1) mc.enableCursors()
end) print("enabling")
set({ "n", "v" }, "<S-down>", function() elseif mc.hasCursors() then
mc.lineAddCursor(1) mc.clearCursors()
end) print("clearing")
set({ "n", "v" }, "<leader><up>", function() else
mc.lineSkipCursor(-1) -- Default <esc> handler.
end) print("def")
set({ "n", "v" }, "<leader><down>", function() vim.cmd("noh")
mc.lineSkipCursor(1) LazyVim.cmp.actions.snippet_stop()
end) return "<esc>"
end
-- Add or skip adding a new cursor by matching word/selection end,
-- set({ "n", "v" }, "<leader>n", function() },
-- mc.matchAddCursor(1) {
-- end) { "n", "v" },
set({ "n", "v" }, "<leader>s", function() "<S-up>",
mc.matchSkipCursor(1) function()
end) require("multicursor-nvim").lineAddCursor(-1)
set({ "n", "v" }, "<leader>N", function() end,
mc.matchAddCursor(-1) },
end) {
set({ "n", "v" }, "<leader>S", function() { "n", "v" },
mc.matchSkipCursor(-1) "<S-down>",
end) function()
require("multicursor-nvim").lineAddCursor(1)
-- Add all matches in the document end,
set({ "n", "v" }, "<leader>A", mc.matchAllAddCursors) },
{
-- You can also add cursors with any motion you prefer: { "n", "v" },
-- set("n", "<right>", function() "<leader><up>",
-- mc.addCursor("w") function()
-- end) require("multicursor-nvim").lineSkipCursor(-1)
-- set("n", "<leader><right>", function() end,
-- mc.skipCursor("w") },
-- end) {
{ "n", "v" },
-- Rotate the main cursor. "<leader><down>",
set({ "n", "v" }, "<left>", mc.nextCursor) function()
set({ "n", "v" }, "<right>", mc.prevCursor) require("multicursor-nvim").lineSkipCursor(1)
end,
-- Delete the main cursor. },
set({ "n", "v" }, "<leader>x", mc.deleteCursor) },
config = true,
-- Add and remove cursors with control + left click.
set("n", "<c-leftmouse>", mc.handleMouse)
-- Easy way to add and remove cursors using the main cursor.
set({ "n", "v" }, "<c-q>", mc.toggleCursor)
-- Clone every cursor and disable the originals.
set({ "n", "v" }, "<leader><c-q>", mc.duplicateCursors)
set("n", "<esc>", function()
if not mc.cursorsEnabled() then
mc.enableCursors()
print("enabling")
elseif mc.hasCursors() then
mc.clearCursors()
print("clearing")
else
-- Default <esc> handler.
print("def")
end
end)
-- bring back cursors if you accidentally clear them
set("n", "<leader>gv", mc.restoreCursors)
-- Align cursor columns.
set("n", "<leader>a", mc.alignCursors)
-- Split visual selections by regex.
set("v", "S", mc.splitCursors)
-- Append/insert for each line of visual selections.
set("v", "I", mc.insertVisual)
set("v", "A", mc.appendVisual)
-- match new cursors within visual selections by regex.
set("v", "M", mc.matchCursors)
-- Rotate visual selection contents.
set("v", "<leader>t", function()
mc.transposeCursors(1)
end)
set("v", "<leader>T", function()
mc.transposeCursors(-1)
end)
-- Jumplist support
set({ "v", "n" }, "<c-i>", mc.jumpForward)
set({ "v", "n" }, "<c-o>", mc.jumpBackward)
-- Customize how cursors look.
local hl = vim.api.nvim_set_hl
hl(0, "MultiCursorCursor", { link = "Cursor" })
hl(0, "MultiCursorVisual", { link = "Visual" })
hl(0, "MultiCursorSign", { link = "SignColumn" })
hl(0, "MultiCursorDisabledCursor", { link = "Visual" })
hl(0, "MultiCursorDisabledVisual", { link = "Visual" })
hl(0, "MultiCursorDisabledSign", { link = "SignColumn" })
end,
} }