https://github.com/cretezy/neo-tree-jj.nvim
A Neo-tree source for Jujustsu/jj
https://github.com/cretezy/neo-tree-jj.nvim
Last synced: 8 months ago
JSON representation
A Neo-tree source for Jujustsu/jj
- Host: GitHub
- URL: https://github.com/cretezy/neo-tree-jj.nvim
- Owner: Cretezy
- License: apache-2.0
- Created: 2024-05-10T14:53:16.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-10T16:15:06.000Z (about 2 years ago)
- Last Synced: 2025-08-21T07:53:51.410Z (10 months ago)
- Language: Lua
- Size: 57.6 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# neo-tree-jj.nvim
A [Neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim) source for [Jujutsu/jj](https://github.com/martinvonz/jj).
Features:
* Shows changes files like `jj status`
* Shows different status for added/modified/deleted files
* Ability to add/move/delete/rename files/directories and copy/cut/paste

## Quickstart
Lazy.nvim:
```lua
{
"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,
},
},
},
```
After installing, open Neo-tree and navigate to the tab, or run `:Neotree jj`