Skip to content
/ jjui Public
forked from idursun/jjui

Jujutsu UI (jjui) is a Text User Interface (TUI) designed for interacting with the Jujutsu version control system.

License

Notifications You must be signed in to change notification settings

kkmlr/jjui

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build & Test

Jujutsu UI

jjui is a terminal user interface for working with Jujutsu version control system. I have built it according to my own needs and will keep adding new features as I need them. I am open to feature requests and contributions.

Features

Currently, you can:

Change revset with auto-complete

You can change revset while enjoying auto-complete and signature help while typing.

GIF

Rebase

You can rebase a revision or a branch onto another revision in the revision tree.

GIF

See Rebase for detailed information.

Squash

You can squash revisions into one revision, by pressing S. The following revision will be automatically selected. However, you can change the selection by using j and k.

GIF

Show revision details

Pressing l (as in going right into details of a revision) will open the details view of the revision you selected.

In this mode, you can:

  • Split selected files using s
  • Restore selected files using r
  • View diffs of the highlighted by pressing d

GIF

For detailed information, see Details wiki page.

Abandon

You can abandon a revision.

GIF

Bookmarks

You can move bookmarks to the revision you selected.

GIF

Split

You can split revisions.

GIF

Preview

You can open the preview window by pressing p. Preview window displays output of the jj show command of the selected revision. If the currenlty selected item is a file, then jj diff output is displayed.

While the preview window is showing, you can press; ctrl+n to scroll one line down, ctrl+p to scroll one line up, ctrl+n to scroll half page down, ctrl+u to scroll half page up.

Additionally, you can press tab to focus in and out of the preview window. Once in the focus mode, you can use normal (e.g. j, k, d, u) navigation keys as they are not bound to the revision tree view.

For detailed information, see Preview wiki page.

GIF

Diffs

You can see diffs of revisions.

GIF

Additionally,

  • Edit description of a revision by pressing D
  • Create a new revision by pressing n
  • Edit a revision by pressing e
  • Git push/fetch by pressing g, followed by p or f
  • Undo last change by pressing u

Installation

Nix

You can install jjui using nix from the unstable channel.

nix-env -iA nixpkgs.jjui

From source

You can build jjui from source.

git clone https://github.com/idursun/jjui.git
cd jjui
go install cmd/jjui/main.go

From go install

go install github.com/idursun/jjui/cmd/jjui@latest

From pre-built binaries

You can download pre-built binaries from the releases page.

Compatibility

It's compatible with jj v0.21+.

Contributing

Feel free to submit a pull request.

About

Jujutsu UI (jjui) is a Text User Interface (TUI) designed for interacting with the Jujutsu version control system.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%