| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -22,7 +22,6 @@ Works great for: “show me the last N commits, let me pick one (or two) and ope | |||
| 22 | 22 | - Git available on your `$PATH` | |
| 23 | 23 | - Dependencies: | |
| 24 | 24 | - [sindrets/diffview.nvim] | |
| 25 | - - [folke/snacks.nvim] | ||
| 26 | 25 | ||
| 27 | 26 | ## Installation | |
| 28 | 27 | ||
@@ -36,7 +35,6 @@ Works great for: “show me the last N commits, let me pick one (or two) and ope | |||
| 36 | 35 | main = "gitlogdiff", | |
| 37 | 36 | dependencies = { | |
| 38 | 37 | "sindrets/diffview.nvim", | |
| 39 | - "folke/snacks.nvim", | ||
| 40 | 38 | }, | |
| 41 | 39 | cmd = "GitLogDiff", | |
| 42 | 40 | opts = { max_count = 300 }, | |
@@ -52,7 +50,6 @@ use({ | |||
| 52 | 50 | "Salanoid/gitlogdiff.nvim", | |
| 53 | 51 | requires = { | |
| 54 | 52 | "sindrets/diffview.nvim", | |
| 55 | - "folke/snacks.nvim", | ||
| 56 | 53 | }, | |
| 57 | 54 | config = function() | |
| 58 | 55 | require("gitlogdiff").setup({ | |
@@ -87,12 +84,10 @@ require("gitlogdiff").setup({ | |||
| 87 | 84 | ||
| 88 | 85 | ## Roadmap / Notes | |
| 89 | 86 | ||
| 90 | - - Remove snacks as a dependency. | ||
| 91 | 87 | - Should work with other diff viwers plugins for example with: [esmuellert/codediff.nvim]: https://github.com/esmuellert/codediff.nvim | |
| 92 | 88 | ||
| 93 | 89 | ## License | |
| 94 | 90 | ||
| 95 | 91 | MIT — see [LICENSE](./LICENSE). | |
| 96 | 92 | ||
| 97 | 93 | [sindrets/diffview.nvim]: https://github.com/sindrets/diffview.nvim | |
| 98 | - [folke/snacks.nvim]: https://github.com/folke/snacks.nvim | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -9,6 +9,8 @@ A tiny Neovim plugin that shows a simple, keyboard‑driven list of recent Git c | |||
| 9 | 9 | ||
| 10 | 10 | Works great for: “show me the last N commits, let me pick one (or two) and open the diff”. | |
| 11 | 11 | ||
| 12 | + !Preview | ||
| 13 | + | ||
| 12 | 14 | ||
| 13 | 15 | ============================================================================== | |
| 14 | 16 | FEATURES *gitlogdiff-features* | |
@@ -29,7 +31,6 @@ REQUIREMENTS *gitlogdiff-requirements* | |||
| 29 | 31 | - Git available on your $PATH | |
| 30 | 32 | - Dependencies: | |
| 31 | 33 | - sindrets/diffview.nvim | |
| 32 | - - folke/snacks.nvim | ||
| 33 | 34 | ||
| 34 | 35 | ||
| 35 | 36 | ============================================================================== | |
@@ -47,7 +48,6 @@ lazy.nvim *gitlogdiff-lazy.nvim* | |||
| 47 | 48 | main = "gitlogdiff", | |
| 48 | 49 | dependencies = { | |
| 49 | 50 | "sindrets/diffview.nvim", | |
| 50 | - "folke/snacks.nvim", | ||
| 51 | 51 | }, | |
| 52 | 52 | cmd = "GitLogDiff", | |
| 53 | 53 | opts = { max_count = 300 }, | |
@@ -64,7 +64,6 @@ use({ | |||
| 64 | 64 | "Salanoid/gitlogdiff.nvim", | |
| 65 | 65 | requires = { | |
| 66 | 66 | "sindrets/diffview.nvim", | |
| 67 | - "folke/snacks.nvim", | ||
| 68 | 67 | }, | |
| 69 | 68 | config = function() | |
| 70 | 69 | require("gitlogdiff").setup({ | |
@@ -111,7 +110,7 @@ TROUBLESHOOTING *gitlogdiff-troubleshooting* | |||
| 111 | 110 | ROADMAP / NOTES *gitlogdiff-roadmap-notes* | |
| 112 | 111 | ||
| 113 | 112 | ||
| 114 | - - Currently, selecting two commits diffs A..B. Selecting more than two is not supported and may yield unexpected results. | ||
| 113 | + - Should work with other diff viwers plugins for example with: esmuellert/codediff.nvim: https://github.com/esmuellert/codediff.nvim | ||
| 115 | 114 | ||
| 116 | 115 | ||
| 117 | 116 | ============================================================================== | |
@@ -121,6 +120,5 @@ LICENSE *gitlogdiff-license* | |||
| 121 | 120 | MIT — see LICENSE. | |
| 122 | 121 | ||
| 123 | 122 | sindrets/diffview.nvim: https://github.com/sindrets/diffview.nvim | |
| 124 | - folke/snacks.nvim: https://github.com/folke/snacks.nvim | ||
| 125 | 123 | ||
| 126 | 124 | vim:tw=78:ts=8:ft=help:norl: | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -8,7 +8,6 @@ function M.suggested() | |||
| 8 | 8 | main = "gitlogdiff", | |
| 9 | 9 | dependencies = { | |
| 10 | 10 | "sindrets/diffview.nvim", | |
| 11 | - "folke/snacks.nvim", | ||
| 12 | 11 | }, | |
| 13 | 12 | cmd = "GitLogDiff", | |
| 14 | 13 | opts = { max_count = 300 }, | |
@@ -26,7 +25,6 @@ function M.update() | |||
| 26 | 25 | main = "gitlogdiff", | |
| 27 | 26 | dependencies = { | |
| 28 | 27 | "sindrets/diffview.nvim", | |
| 29 | - "folke/snacks.nvim", | ||
| 30 | 28 | }, | |
| 31 | 29 | cmd = "GitLogDiff", | |
| 32 | 30 | opts = { max_count = 300 }, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,6 +1,4 @@ | |||
| 1 | 1 | local api = vim.api | |
| 2 | - local snacks = require("snacks") | ||
| 3 | - | ||
| 4 | 2 | local M = {} | |
| 5 | 3 | ||
| 6 | 4 | M.state = { | |
@@ -22,14 +20,23 @@ function M.open(commits) | |||
| 22 | 20 | vim.bo[M.state.buf].swapfile = false | |
| 23 | 21 | vim.bo[M.state.buf].filetype = "gitlogdiff" | |
| 24 | 22 | ||
| 25 | - M.state.win_obj = snacks.win({ | ||
| 26 | - buf = M.state.buf, | ||
| 27 | - width = 90, | ||
| 28 | - height = math.min(#commits + 2, 30), | ||
| 29 | - title = "Git Commits", | ||
| 23 | + local width = 90 | ||
| 24 | + local height = math.min(#commits + 2, 30) | ||
| 25 | + local row = math.floor((vim.o.lines - height) / 2) | ||
| 26 | + local col = math.floor((vim.o.columns - width) / 2) | ||
| 27 | + | ||
| 28 | + M.state.win = api.nvim_open_win(M.state.buf, true, { | ||
| 29 | + relative = "editor", | ||
| 30 | + width = width, | ||
| 31 | + height = height, | ||
| 32 | + row = row, | ||
| 33 | + col = col, | ||
| 34 | + style = "minimal", | ||
| 30 | 35 | border = "rounded", | |
| 36 | + title = "Git Commits", | ||
| 37 | + title_pos = "center", | ||
| 31 | 38 | }) | |
| 32 | - M.state.win = M.state.win_obj.win | ||
| 39 | + | ||
| 33 | 40 | vim.wo[M.state.win].cursorline = true | |
| 34 | 41 | ||
| 35 | 42 | M.render() | |
@@ -87,7 +94,9 @@ function M.keymaps() | |||
| 87 | 94 | end, opts) | |
| 88 | 95 | ||
| 89 | 96 | vim.keymap.set("n", "q", function() | |
| 90 | - M.state.win_obj:close() | ||
| 97 | + if M.state.win and api.nvim_win_is_valid(M.state.win) then | ||
| 98 | + api.nvim_win_close(M.state.win, true) | ||
| 99 | + end | ||
| 91 | 100 | end, opts) | |
| 92 | 101 | end | |
| 93 | 102 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,16 +1,5 @@ | |||
| 1 | 1 | local T = MiniTest.new_set() | |
| 2 | 2 | ||
| 3 | - package.loaded["snacks"] = { | ||
| 4 | - win = function(opts) | ||
| 5 | - local win = vim.api.nvim_get_current_win() | ||
| 6 | - vim.api.nvim_win_set_buf(win, opts.buf) | ||
| 7 | - return { | ||
| 8 | - win = win, | ||
| 9 | - close = function() end, | ||
| 10 | - } | ||
| 11 | - end, | ||
| 12 | - } | ||
| 13 | - | ||
| 14 | 3 | T.before_each = function() | |
| 15 | 4 | package.loaded["gitlogdiff.ui"] = nil | |
| 16 | 5 | end | |
| Back | FazBrowse Home | New Git URL |
0 commit comments