Skip to main content

Add your description here

Project description

jjdiff

A TUI that can be used as a diff editor in the jujutsu vcs.

jjdiff will show all changes and allow you to navigate through them and (partially) select them to be included.

jjdiff makes it easy to navigate the diff by having a 2 dimensional cursor that can 'grow' and 'shrink'.

This cursor can operate on 3 levels:

  • Change: select an entire change
  • Hunk: select a group of edited lines in a file
  • Line: select a single edited line in a file

Keybindings

Command Key Description
exit escape, ctrl+c or ctrl+d Exit the diff editor with status code 1, causing the diff to not be applied.
next_cursor j, down or tab Select the next entry.
prev_cursor k, up or shift+tab Select the previous entry.
shrink_cursor l or right Shrink the cursor. So go from change to hunk and from hunk to line. If the cursor is on an unopened change it will open it first.
grow_cursor h or left Grow the cursor. So go from line to hunk and from hunk to change. If the cursor is on an opened change it will close it.
select_cursor space Mark everything selected by the cursor to be included. If everything is already marked it will exclude it instead. This will also select the next entry.
confirm enter Confirm the selected changes.
undo u Undo the last command. Commands that only affect the UI state like changing the cursor and opening/closing changes are not included in this.
redo U Redo the last undone command. Commands that only affect the UI state like changing the cursor and opening/closing changes are not included in this.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jjdiff-0.1.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jjdiff-0.1.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file jjdiff-0.1.0.tar.gz.

File metadata

  • Download URL: jjdiff-0.1.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for jjdiff-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d139bd5b02f8ebfd0cbd3768b401b040fd38c2ae9d93a1451cd164189dce51a1
MD5 0a20766fcea41a601028e316ecc32db4
BLAKE2b-256 d0f5b19e334a134573b75951b98f796a0cc09301a26481ebafedbb19363fd9ed

See more details on using hashes here.

File details

Details for the file jjdiff-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: jjdiff-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for jjdiff-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 756724174b4ae669e492817ed9295ef533a22e2292269354dc1f21adf940178f
MD5 d1959979505dede07f4f765eeecca617
BLAKE2b-256 ee1b696dcda5c25e01ac18c162060ec581beddab13c8d0fe0d68445087b95f02

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page