From 91efc5bfcdac3ce6935dbc6b59784344acdef546 Mon Sep 17 00:00:00 2001 From: pika Date: Mon, 17 Mar 2025 13:22:05 +0100 Subject: [PATCH] addet: colorscheme, git signs and merge tool helper --- README.md | 2 +- init.lua | 2 +- lua/pika/plugins/colorschemes.lua | 1 + lua/pika/plugins/explorer.lua | 28 ++-- lua/pika/plugins/git.lua | 212 ++++++++++++++++++++++++++++++ lua/pika/plugins/gitsigns.lua | 56 -------- 6 files changed, 231 insertions(+), 70 deletions(-) create mode 100644 lua/pika/plugins/git.lua delete mode 100644 lua/pika/plugins/gitsigns.lua diff --git a/README.md b/README.md index cbced68..5e77df0 100644 --- a/README.md +++ b/README.md @@ -28,5 +28,5 @@ git clone --depth=1 https://git.k4li.de/dotfiles/nvim.git $HOME/.config/nvim/ Colorscheme-plugins are defined in [colorschemes.lua](lua/pika/plugins/colorschemes.lua) > [!TIP] -> default theme is [nordic](https://github.com/AlexvZyl/nordic.nvim)
+> default theme is `monet`
> you can change the theme in the colorscheme function in the [init.lua](./init.lua) diff --git a/init.lua b/init.lua index 78be682..68f2a4d 100644 --- a/init.lua +++ b/init.lua @@ -6,7 +6,7 @@ require("pika.lazy") -- │ themes are under ./lua/pika/plugins/colorschemes.lua │ -- ╰──────────────────────────────────────────────────────╯ -vim.cmd.colorscheme("monet") +vim.cmd.colorscheme("oldschool") -- Keybind for saving clipboard screenshot and inserting a Markdown link vim.api.nvim_set_keymap("n", "ps", ":lua SaveScreenshotAndInsertLink()", { noremap = true, silent = true }) diff --git a/lua/pika/plugins/colorschemes.lua b/lua/pika/plugins/colorschemes.lua index f9e5ccd..d977b29 100644 --- a/lua/pika/plugins/colorschemes.lua +++ b/lua/pika/plugins/colorschemes.lua @@ -1,6 +1,7 @@ return { { "folke/tokyonight.nvim" }, { "fynnfluegge/monet.nvim", name = "monet" }, + { "L-Colombo/oldschool.nvim", config = "true" }, -- { "catppuccin/nvim", name = "catppuccin" }, -- { "EdenEast/nightfox.nvim" }, -- { "DanWlker/primeppuccin", name = "primeppuccin" }, diff --git a/lua/pika/plugins/explorer.lua b/lua/pika/plugins/explorer.lua index 68cda6b..6791427 100644 --- a/lua/pika/plugins/explorer.lua +++ b/lua/pika/plugins/explorer.lua @@ -1,16 +1,20 @@ return { -- ─< neotree - fallback >──────────────────────────────────────────────────────────────────────── - -- { - -- "nvim-neo-tree/neo-tree.nvim", - -- branch = "v3.x", - -- dependencies = { - -- "nvim-lua/plenary.nvim", - -- "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended - -- "MunifTanjim/nui.nvim", - -- -- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information - -- }, - -- vim.keymap.set("n", "e", ":Neotree toggle"), - -- }, + { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended + "MunifTanjim/nui.nvim", + -- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information + }, + vim.keymap.set("n", "e", ":Neotree toggle"), + vim.keymap.set("n", "Ee", ":Neotree left"), + vim.keymap.set("n", "Ef", ":Neotree float"), + vim.keymap.set("n", "Eg", ":Neotree git_status float"), + vim.keymap.set("n", "Eb", ":Neotree buffers position=top"), + }, ---@type LazySpec { @@ -40,7 +44,7 @@ return { ---@type YaziConfig opts = { -- if you want to open yazi instead of netrw, see below for more info - open_for_directories = false, + open_for_directories = true, keymaps = { show_help = "", }, diff --git a/lua/pika/plugins/git.lua b/lua/pika/plugins/git.lua new file mode 100644 index 0000000..ace065d --- /dev/null +++ b/lua/pika/plugins/git.lua @@ -0,0 +1,212 @@ +return { + { + "tanvirtin/vgit.nvim", + dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons" }, + -- Lazy loading on 'VimEnter' event is necessary. + event = "VimEnter", + config = function() + require("vgit").setup( + -- keymaps = { + -- ["n "] = { + -- function() + -- require("vgit").hunk_up() + -- end, + -- desc = "VGit Hunk Up", + -- }, + -- ["n "] = { + -- function() + -- require("vgit").hunk_down() + -- end, + -- desc = "VGit Hunk Down", + -- }, + -- ["n gs"] = { + -- function() + -- require("vgit").buffer_hunk_stage() + -- end, + -- desc = "VGit Stage Hunk", + -- }, + -- ["n gr"] = { + -- function() + -- require("vgit").buffer_hunk_reset() + -- end, + -- desc = "VGit Reset Hunk", + -- }, + -- ["n gp"] = { + -- function() + -- require("vgit").buffer_hunk_preview() + -- end, + -- desc = "VGit Preview Hunk", + -- }, + -- ["n gb"] = { + -- function() + -- require("vgit").buffer_blame_preview() + -- end, + -- desc = "VGit Blame Preview", + -- }, + -- ["n gf"] = { + -- function() + -- require("vgit").buffer_diff_preview() + -- end, + -- desc = "VGit Diff Preview", + -- }, + -- ["n gh"] = { + -- function() + -- require("vgit").buffer_history_preview() + -- end, + -- desc = "VGit History Preview", + -- }, + -- ["n gu"] = { + -- function() + -- require("vgit").buffer_reset() + -- end, + -- desc = "VGit Reset Buffer", + -- }, + -- ["n gcm"] = { + -- function() + -- require("vgit").project_commit_preview() + -- end, + -- desc = "VGit Commit Preview", + -- }, + -- ["n gcc"] = { + -- function() + -- require("vgit").project_commits_preview() + -- end, + -- desc = "VGit Commits Preview", + -- }, + -- ["n gcl"] = { + -- function() + -- require("vgit").project_logs_preview() + -- end, + -- desc = "VGit Logs Preview", + -- }, + -- ["n gd"] = { + -- function() + -- require("vgit").project_diff_preview() + -- end, + -- desc = "VGit Project Diff", + -- }, + -- ["n gx"] = { + -- function() + -- require("vgit").toggle_diff_preference() + -- end, + -- desc = "VGit Toggle Diff Preference", + -- }, + -- }, + ) + end, + + vim.keymap.set("n", "", function() + require("vgit").hunk_up() + end, { desc = "VGit Hunk Up" }), + + vim.keymap.set("n", "", function() + require("vgit").hunk_down() + end, { desc = "VGit Hunk Down" }), + + vim.keymap.set("n", "gs", function() + require("vgit").buffer_hunk_stage() + end, { desc = "VGit Stage Hunk" }), + + vim.keymap.set("n", "gr", function() + require("vgit").buffer_hunk_reset() + end, { desc = "VGit Reset Hunk" }), + + vim.keymap.set("n", "gp", function() + require("vgit").buffer_hunk_preview() + end, { desc = "VGit Preview Hunk" }), + + vim.keymap.set("n", "gb", function() + require("vgit").buffer_blame_preview() + end, { desc = "VGit Blame Preview" }), + + vim.keymap.set("n", "gf", function() + require("vgit").buffer_diff_preview() + end, { desc = "VGit Diff Preview" }), + + vim.keymap.set("n", "gh", function() + require("vgit").buffer_history_preview() + end, { desc = "VGit History Preview" }), + + vim.keymap.set("n", "gu", function() + require("vgit").buffer_reset() + end, { desc = "VGit Reset Buffer" }), + + vim.keymap.set("n", "gcm", function() + require("vgit").project_commit_preview() + end, { desc = "VGit Commit Preview" }), + + vim.keymap.set("n", "gcc", function() + require("vgit").project_commits_preview() + end, { desc = "VGit Commits Preview" }), + + vim.keymap.set("n", "gcl", function() + require("vgit").project_logs_preview() + end, { desc = "VGit Logs Preview" }), + + vim.keymap.set("n", "gd", function() + require("vgit").project_diff_preview() + end, { desc = "VGit Project Diff" }), + + vim.keymap.set("n", "gx", function() + require("vgit").toggle_diff_preference() + end, { desc = "VGit Toggle Diff Preference" }), + }, + + { + "lewis6991/gitsigns.nvim", + opts = { + signs = { + add = { text = "┃" }, + change = { text = "┃" }, + delete = { text = "_" }, + topdelete = { text = "‾" }, + changedelete = { text = "~" }, + untracked = { text = "┆" }, + }, + signs_staged = { + add = { text = "┃" }, + change = { text = "┃" }, + delete = { text = "_" }, + topdelete = { text = "‾" }, + changedelete = { text = "~" }, + untracked = { text = "┆" }, + }, + signs_staged_enable = true, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = true, -- Toggle with `:Gitsigns toggle_numhl` + linehl = true, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + watch_gitdir = { + follow_files = true, + }, + auto_attach = true, + attach_to_untracked = false, + current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align' + delay = 300, + ignore_whitespace = true, + virt_text_priority = 100, + }, + current_line_blame_formatter = ", - ", + sign_priority = 6, + update_debounce = 100, + status_formatter = nil, -- Use default + max_file_length = 40000, -- Disable if file is longer than this (in lines) + preview_config = { + -- Options passed to nvim_open_win + border = "single", + style = "minimal", + relative = "cursor", + row = 0, + col = 1, + }, + + vim.keymap.set("n", "gr", "Gitsigns refresh", { desc = "Gitsigns Refresh" }), + vim.keymap.set("n", "gs", "Gitsigns toggle_signs", { desc = "Gitsigns ToggleSigns" }), + vim.keymap.set("n", "gl", "Gitsigns toggle_linehl", { desc = "Gitsigns ToggleLine" }), + vim.keymap.set("n", "gw", "Gitsigns toggle_word_diff", { desc = "Gitsigns ToggleWord" }), + }, + }, +} diff --git a/lua/pika/plugins/gitsigns.lua b/lua/pika/plugins/gitsigns.lua deleted file mode 100644 index f2ee1bf..0000000 --- a/lua/pika/plugins/gitsigns.lua +++ /dev/null @@ -1,56 +0,0 @@ -return { - "lewis6991/gitsigns.nvim", - opts = { - signs = { - add = { text = "┃" }, - change = { text = "┃" }, - delete = { text = "_" }, - topdelete = { text = "‾" }, - changedelete = { text = "~" }, - untracked = { text = "┆" }, - }, - signs_staged = { - add = { text = "┃" }, - change = { text = "┃" }, - delete = { text = "_" }, - topdelete = { text = "‾" }, - changedelete = { text = "~" }, - untracked = { text = "┆" }, - }, - signs_staged_enable = true, - signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` - numhl = true, -- Toggle with `:Gitsigns toggle_numhl` - linehl = false, -- Toggle with `:Gitsigns toggle_linehl` - word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` - watch_gitdir = { - follow_files = true, - }, - auto_attach = true, - attach_to_untracked = false, - current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame` - current_line_blame_opts = { - virt_text = true, - virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align' - delay = 1000, - ignore_whitespace = true, - virt_text_priority = 100, - }, - current_line_blame_formatter = ", - ", - sign_priority = 6, - update_debounce = 100, - status_formatter = nil, -- Use default - max_file_length = 40000, -- Disable if file is longer than this (in lines) - preview_config = { - -- Options passed to nvim_open_win - border = "single", - style = "minimal", - relative = "cursor", - row = 0, - col = 1, - }, - vim.keymap.set("n", "gs", "Gitsigns toggle_signs"), - vim.keymap.set("n", "gr", "Gitsigns refresh"), - vim.keymap.set("n", "gl", "Gitsigns toggle_linehl"), - vim.keymap.set("n", "gw", "Gitsigns toggle_word_diff"), - }, -}