diff --git a/lua/plugins/neo-tree-jj.lua b/lua/plugins/neo-tree-jj.lua new file mode 100644 index 0000000..db36945 --- /dev/null +++ b/lua/plugins/neo-tree-jj.lua @@ -0,0 +1,32 @@ +return { + "Cretezy/neo-tree-jj.nvim", + dependencies = { + { + "nvim-neo-tree/neo-tree.nvim", + opts = function(_, opts) + -- Register the source + table.insert(opts.sources, "jj") + + -- Optional: Replace git tab in neo-tree when in jj repo + if require("neo-tree.sources.jj.utils").get_repository_root() then + -- Remove git tab + for i, source in ipairs(opts.source_selector.sources) do + if source.source == "git_status" then + table.remove(opts.source_selector.sources, i) + break + end + end + + -- Add jj tab + table.insert(opts.source_selector.sources, { + display_name = "󰊢 JJ", + source = "jj", + }) + end + end, + }, + }, + keys = { + { "mj", "Neotree jj", desc = "NeoTree JJ" }, + }, +} diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index c460410..239c587 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -6,6 +6,7 @@ return { { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, "debugloop/telescope-undo.nvim", "nvim-telescope/telescope-ui-select.nvim", + "zschreur/telescope-jj.nvim", }, config = function() require("telescope").setup({ @@ -21,6 +22,7 @@ return { -- Enable telescope fzf native, if installed pcall(require("telescope").load_extension, "fzf") + pcall(require("telescope").load_extension, "jj") pcall(require("telescope").load_extension, "scaladex") pcall(require("telescope").load_extension, "ui-select") pcall(require("telescope").load_extension, "undo")