diff --git a/config/nvim/init.lua b/config/nvim/init.lua index e1a915a..97b47d5 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -128,7 +128,6 @@ vim.pack.add({ { src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' }, { src = 'https://github.com/MunifTanjim/nui.nvim' }, { src = 'https://github.com/NeogitOrg/neogit' }, - { src = 'https://github.com/NicolasGB/jj.nvim' }, { src = 'https://github.com/PhantomYdn/fabric-ai.nvim' }, { src = 'https://github.com/Saecki/crates.nvim' }, { src = 'https://github.com/Saghen/blink.cmp', version = vim.version.range('1.*') }, @@ -137,7 +136,6 @@ vim.pack.add({ { src = 'https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim' }, { src = 'https://github.com/akinsho/org-bullets.nvim' }, { src = 'https://github.com/akinsho/toggleterm.nvim' }, - { src = 'https://github.com/al1-ce/just.nvim' }, { src = 'https://github.com/cairijun/codecompanion-agentskills.nvim' }, { src = 'https://github.com/carlos-algms/agentic.nvim' }, { src = 'https://github.com/chipsenkbeil/org-roam.nvim' }, diff --git a/config/nvim/plugin/jj.lua b/config/nvim/plugin/jj.lua index 657c515..18f9e28 100644 --- a/config/nvim/plugin/jj.lua +++ b/config/nvim/plugin/jj.lua @@ -1,78 +1,81 @@ +if vim.fn.executable("jj") == 1 then + vim.pack.add({ { src = 'https://github.com/NicolasGB/jj.nvim' } }) + + local cmd = require("jj.cmd") + local annotate = require("jj.annotate") -local cmd = require("jj.cmd") -local annotate = require("jj.annotate") - -vim.keymap.set("n", "vja", annotate.file, { desc = "JJ annotate file" }) -vim.keymap.set("n", "vjA", annotate.line, { desc = "JJ annotate line" }) -vim.keymap.set("n", "vjbc", cmd.bookmark_create, { desc = "JJ bookmark create" }) -vim.keymap.set("n", "vjbd", cmd.bookmark_delete, { desc = "JJ bookmark delete" }) -vim.keymap.set("n", "vjbm", cmd.bookmark_move, { desc = "JJ bookmark move" }) -vim.keymap.set("n", "vjd", cmd.describe, { desc = "JJ describe" }) -vim.keymap.set("n", "vjl", cmd.log, { desc = "JJ log" }) -vim.keymap.set("n", "vje", cmd.edit, { desc = "JJ edit" }) -vim.keymap.set("n", "vjn", cmd.new, { desc = "JJ new" }) ---vim.keymap.set("n", "vjs", cmd.status, { desc = "JJ status" }) -vim.keymap.set("n", "vjS", cmd.squash, { desc = "JJ squash" }) -vim.keymap.set("n", "vjju", cmd.undo, { desc = "JJ undo" }) -vim.keymap.set("n", "vjr", cmd.rebase, { desc = "JJ rebase" }) -vim.keymap.set("n", "vjR", cmd.redo, { desc = "JJ redo" }) -vim.keymap.set("n", "vjf", cmd.fetch, { desc = "JJ fetch" }) -vim.keymap.set("n", "vjx", cmd.abandon, { desc = "JJ abandon" }) -vim.keymap.set("n", "vjpp", cmd.push, { desc = "JJ push" }) -vim.keymap.set("n", "vjpr", cmd.open_pr, { desc = "JJ open PR from bookmark in current revision or parent" }) -vim.keymap.set("n", "vjpl", function() - cmd.open_pr { list_bookmarks = true } -end, { desc = "JJ open PR listing available bookmarks" }) + vim.keymap.set("n", "vja", annotate.file, { desc = "JJ annotate file" }) + vim.keymap.set("n", "vjA", annotate.line, { desc = "JJ annotate line" }) + vim.keymap.set("n", "vjbc", cmd.bookmark_create, { desc = "JJ bookmark create" }) + vim.keymap.set("n", "vjbd", cmd.bookmark_delete, { desc = "JJ bookmark delete" }) + vim.keymap.set("n", "vjbm", cmd.bookmark_move, { desc = "JJ bookmark move" }) + vim.keymap.set("n", "vjd", cmd.describe, { desc = "JJ describe" }) + vim.keymap.set("n", "vjl", cmd.log, { desc = "JJ log" }) + vim.keymap.set("n", "vje", cmd.edit, { desc = "JJ edit" }) + vim.keymap.set("n", "vjn", cmd.new, { desc = "JJ new" }) + --vim.keymap.set("n", "vjs", cmd.status, { desc = "JJ status" }) + vim.keymap.set("n", "vjS", cmd.squash, { desc = "JJ squash" }) + vim.keymap.set("n", "vjju", cmd.undo, { desc = "JJ undo" }) + vim.keymap.set("n", "vjr", cmd.rebase, { desc = "JJ rebase" }) + vim.keymap.set("n", "vjR", cmd.redo, { desc = "JJ redo" }) + vim.keymap.set("n", "vjf", cmd.fetch, { desc = "JJ fetch" }) + vim.keymap.set("n", "vjx", cmd.abandon, { desc = "JJ abandon" }) + vim.keymap.set("n", "vjpp", cmd.push, { desc = "JJ push" }) + vim.keymap.set("n", "vjpr", cmd.open_pr, { desc = "JJ open PR from bookmark in current revision or parent" }) + vim.keymap.set("n", "vjpl", function() + cmd.open_pr { list_bookmarks = true } + end, { desc = "JJ open PR listing available bookmarks" }) --- Diff commands -local diff = require("jj.diff") -vim.keymap.set("n", "vjdv", function() diff.open_vdiff() end, { desc = "JJ diff current buffer" }) -vim.keymap.set("n", "vjdh", function() diff.open_hsplit() end, { desc = "JJ hdiff current buffer" }) + -- Diff commands + local diff = require("jj.diff") + vim.keymap.set("n", "vjdv", function() diff.open_vdiff() end, { desc = "JJ diff current buffer" }) + vim.keymap.set("n", "vjdh", function() diff.open_hsplit() end, { desc = "JJ hdiff current buffer" }) --- Pickers -local picker = require("jj.picker") -vim.keymap.set("n", "vjs", function() picker.status() end, { desc = "JJ Picker status" }) -vim.keymap.set("n", "vjh", function() picker.file_history() end, { desc = "JJ Picker history" }) + -- Pickers + local picker = require("jj.picker") + vim.keymap.set("n", "vjs", function() picker.status() end, { desc = "JJ Picker status" }) + vim.keymap.set("n", "vjh", function() picker.file_history() end, { desc = "JJ Picker history" }) --- Some functions like `log` can take parameters -vim.keymap.set("n", "vjL", function() - cmd.log { - revisions = "all()", -- equivalent to jj log -r :: - } -end, { desc = "JJ log all" }) + -- Some functions like `log` can take parameters + vim.keymap.set("n", "vjL", function() + cmd.log { + revisions = "all()", -- equivalent to jj log -r :: + } + end, { desc = "JJ log all" }) --- This is an alias i use for moving bookmarks its so good -vim.keymap.set("n", "vjt", function() - cmd.j "tug" - cmd.log {} -end, { desc = "JJ tug" }) + -- This is an alias i use for moving bookmarks its so good + vim.keymap.set("n", "vjt", function() + cmd.j "tug" + cmd.log {} + end, { desc = "JJ tug" }) -require("jj").setup({ - diff = { - backend = "native", - }, - cmd = { + require("jj").setup({ + diff = { + backend = "native", + }, + cmd = { + describe = { + editor = { + type = "buffer", + } + } + }, describe = { editor = { type = "buffer", } } - }, - describe = { - editor = { - type = "buffer", + }) + + require("hunk").setup() + require('jjsigns').setup({ + enabled = true, + attach = { + auto = false, } - } -}) + }) -require("hunk").setup() -require('jjsigns').setup({ - enabled = true, - attach = { - auto = false, - } -}) - -vim.keymap.set("n", "uJ", function() require('jjsigns').toggle() end, { desc = "Toggle JJ signs" }) + vim.keymap.set("n", "uJ", function() require('jjsigns').toggle() end, { desc = "Toggle JJ signs" }) +end diff --git a/config/nvim/plugin/tools.lua b/config/nvim/plugin/tools.lua index 0cf2375..e80e3e6 100644 --- a/config/nvim/plugin/tools.lua +++ b/config/nvim/plugin/tools.lua @@ -1,14 +1,19 @@ require('kulala').setup() -require("just").setup({ - fidget_message_limit = 32, -- limit for length of fidget progress message - open_qf_on_error = true, -- opens quickfix when task fails - open_qf_on_run = true, -- opens quickfix when running `run` task (`:JustRun`) - open_qf_on_any = false; -- opens quickfix when running any task (overrides other open_qf options) - autoscroll_qf = true, -- automatically scroll quickfix window on output - register_commands = true, -- if set to true then commands (:Just*) will be registered - notify = vim.notify, -- what to use to show messages/errors -}) +if vim.fn.executable("just") == 1 then + vim.pack.add({ { src = 'https://github.com/al1-ce/just.nvim' } }) + + require("just").setup({ + fidget_message_limit = 32, -- limit for length of fidget progress message + open_qf_on_error = true, -- opens quickfix when task fails + open_qf_on_run = true, -- opens quickfix when running `run` task (`:JustRun`) + open_qf_on_any = false; -- opens quickfix when running any task (overrides other open_qf options) + autoscroll_qf = true, -- automatically scroll quickfix window on output + register_commands = true, -- if set to true then commands (:Just*) will be registered + notify = vim.notify, -- what to use to show messages/errors + }) +end + require('img-clip').setup() require('image').setup({ backend = "sixel" @@ -46,11 +51,13 @@ require('neogit').setup({ }, }) -require('zincoxide').setup({ - zincoxide_cmd = "zoxide", - complete = true, - behaviour = "tabs", -}) +if vim.fn.executable("zoxide") == 1 then + require('zincoxide').setup({ + zincoxide_cmd = "zoxide", + complete = true, + behaviour = "tabs", + }) +end require('trouble').setup({ defaults = { @@ -266,4 +273,3 @@ vim.keymap.set('n', "cQ", "Trouble qflist toggle", { desc = "Qu vim.keymap.set('n', "uo", "OverseerToggle", { desc = "Overseer Toggle" }) vim.keymap.set('n', "", "OverseerRun", { desc = "Run Overseer" }) vim.keymap.set('n', "", "OverseerToggle", { desc = "Overseer Toggle" }) -