From d2091eea7c36d4e8245d311775e2a1f2b633e68e Mon Sep 17 00:00:00 2001
From: goodhumored <goodhumored@vk.com>
Date: Fri, 16 Aug 2024 11:08:22 +0300
Subject: [PATCH] nvim plugins

- comment blocks keymaps updated to gc+...
- nvim spider plugin
- git config plugin
- conflict marker plugin
- tint plugin
- visual multi plugin
---
 .../goodhumored/plugins/comment-blocks.lua    |  6 ++--
 .../goodhumored/plugins/conflict-marker.lua   |  3 ++
 .../lua/goodhumored/plugins/git-conflict.lua  |  5 +++
 .../nvim/lua/goodhumored/plugins/spider.lua   | 26 +++++++++++++++
 .../plugins/vimade-window-fade.lua            | 23 +++++++++++++
 .../lua/goodhumored/plugins/visual-multi.lua  | 32 +++++++++++++++++++
 6 files changed, 92 insertions(+), 3 deletions(-)
 create mode 100644 .config/nvim/lua/goodhumored/plugins/conflict-marker.lua
 create mode 100644 .config/nvim/lua/goodhumored/plugins/git-conflict.lua
 create mode 100644 .config/nvim/lua/goodhumored/plugins/spider.lua
 create mode 100644 .config/nvim/lua/goodhumored/plugins/vimade-window-fade.lua
 create mode 100644 .config/nvim/lua/goodhumored/plugins/visual-multi.lua

diff --git a/.config/nvim/lua/goodhumored/plugins/comment-blocks.lua b/.config/nvim/lua/goodhumored/plugins/comment-blocks.lua
index 7b1f854..12fcc35 100644
--- a/.config/nvim/lua/goodhumored/plugins/comment-blocks.lua
+++ b/.config/nvim/lua/goodhumored/plugins/comment-blocks.lua
@@ -1,8 +1,8 @@
 return {
 	"LudoPinelli/comment-box.nvim",
 	config = function()
-		vim.keymap.set({ "n", "v" }, "<leader>cb", "<cmd>CBccbox<CR>", { desc = "[C]omment [B]lock" })
-		vim.keymap.set({ "n", "v" }, "<leader>cl", "<cmd>CBccline<CR>", { desc = "[C]omment [L]ine" })
-		vim.keymap.set({ "n", "v" }, "<leader>cc", "<cmd>CBline<CR>", { desc = "[C]omment Simple [L]ine" })
+		vim.keymap.set({ "n", "v" }, "gcb", "<cmd>CBccbox<CR>", { desc = "[C]omment [B]lock" })
+		vim.keymap.set({ "n", "v" }, "gcl", "<cmd>CBccline<CR>", { desc = "[C]omment [L]ine" })
+		vim.keymap.set({ "n", "v" }, "gc-", "<cmd>CBline<CR>", { desc = "[C]omment Simple [L]ine" })
 	end,
 }
diff --git a/.config/nvim/lua/goodhumored/plugins/conflict-marker.lua b/.config/nvim/lua/goodhumored/plugins/conflict-marker.lua
new file mode 100644
index 0000000..ed12350
--- /dev/null
+++ b/.config/nvim/lua/goodhumored/plugins/conflict-marker.lua
@@ -0,0 +1,3 @@
+return {
+	"rhysd/conflict-marker.vim",
+}
diff --git a/.config/nvim/lua/goodhumored/plugins/git-conflict.lua b/.config/nvim/lua/goodhumored/plugins/git-conflict.lua
new file mode 100644
index 0000000..6662a64
--- /dev/null
+++ b/.config/nvim/lua/goodhumored/plugins/git-conflict.lua
@@ -0,0 +1,5 @@
+--          ╭─────────────────────────────────────────────────────────╮
+--          │                      git-conflict                       │
+--          │  A plugin to visualise and resolve conflicts in neovim  │
+--          ╰─────────────────────────────────────────────────────────╯
+return { "akinsho/git-conflict.nvim", version = "*", config = true }
diff --git a/.config/nvim/lua/goodhumored/plugins/spider.lua b/.config/nvim/lua/goodhumored/plugins/spider.lua
new file mode 100644
index 0000000..33763fd
--- /dev/null
+++ b/.config/nvim/lua/goodhumored/plugins/spider.lua
@@ -0,0 +1,26 @@
+--          ╭─────────────────────────────────────────────────────────╮
+--          │                chrisgrieser/nvim-spider                 │
+--          │                      ------------                       │
+--          │    Replaces word jump mappings to improve horizontal    │
+--          │                       navigation                        │
+--          ╰─────────────────────────────────────────────────────────╯
+return {
+	"chrisgrieser/nvim-spider",
+	keys = {
+		{
+			"e",
+			"<cmd>lua require('spider').motion('e')<CR>",
+			mode = { "n", "o", "x" },
+		},
+		{
+			"w",
+			"<cmd>lua require('spider').motion('w')<CR>",
+			mode = { "n", "o", "x" },
+		},
+		{
+			"b",
+			"<cmd>lua require('spider').motion('b')<CR>",
+			mode = { "n", "o", "x" },
+		},
+	},
+}
diff --git a/.config/nvim/lua/goodhumored/plugins/vimade-window-fade.lua b/.config/nvim/lua/goodhumored/plugins/vimade-window-fade.lua
new file mode 100644
index 0000000..f6d24a8
--- /dev/null
+++ b/.config/nvim/lua/goodhumored/plugins/vimade-window-fade.lua
@@ -0,0 +1,23 @@
+--          ╭─────────────────────────────────────────────────────────╮
+--          │                         Vimade                          │
+--          │                 Fades unfocused windows                 │
+--          ╰─────────────────────────────────────────────────────────╯
+return {
+	"levouh/tint.nvim",
+	config = function()
+		require("tint").setup({
+			tint = -40, -- Darken colors, use a positive value to brighten
+			saturation = 1, -- Saturation to preserve
+			transforms = require("tint").transforms.SATURATE_TINT, -- Showing default behavior, but value here can be predefined set of transforms
+			highlight_ignore_patterns = { "WinSeparator", "Status.*" }, -- Highlight group patterns to ignore, see `string.find`
+			window_ignore_function = function(winid)
+				local bufid = vim.api.nvim_win_get_buf(winid)
+				local buftype = vim.api.nvim_buf_get_option(bufid, "buftype")
+				local floating = vim.api.nvim_win_get_config(winid).relative ~= ""
+
+				-- Do not tint `terminal` or floating windows, tint everything else
+				return buftype == "terminal" or floating
+			end,
+		})
+	end,
+}
diff --git a/.config/nvim/lua/goodhumored/plugins/visual-multi.lua b/.config/nvim/lua/goodhumored/plugins/visual-multi.lua
new file mode 100644
index 0000000..fdaee07
--- /dev/null
+++ b/.config/nvim/lua/goodhumored/plugins/visual-multi.lua
@@ -0,0 +1,32 @@
+--          ╭─────────────────────────────────────────────────────────╮
+--          │                    Vvim visual multi                    │
+--          │                multi cursor vscode like                 │
+--          │        https://github.com/mg979/vim-visual-multi        │
+--          ╰─────────────────────────────────────────────────────────╯
+-- Basic usage:
+--
+--     select words with Ctrl-N (like Ctrl-d in Sublime Text/VS Code)
+--     create cursors vertically with Ctrl-Down/Ctrl-Up
+--     select one character at a time with Shift-Arrows
+--     press n/N to get next/previous occurrence
+--     press [/] to select next/previous cursor
+--     press q to skip current and get next occurrence
+--     press Q to remove current cursor/selection
+--     start insert mode with i,a,I,A
+--
+-- Two main modes:
+--
+--     in cursor mode commands work as they would in normal mode
+--     in extend mode commands work as they would in visual mode
+--     press Tab to switch between «cursor» and «extend» mode
+--
+-- Most vim commands work as expected (motions, r to replace characters, ~ to change case, etc). Additionally you can:
+--
+--     run macros/ex/normal commands at cursors
+--     align cursors
+--     transpose selections
+--     add patterns with regex, or from visual mode
+--
+return {
+	"mg979/vim-visual-multi",
+}