NicolasGB
db06e9a73c
fix(tests): Update an old test to match correct new behavior
2026-06-30 12:45:40 +02:00
Björn Steinbrink and GitHub
f217b16699
feat(picker): Add picker to navigate conflict sections ( #131 )
2026-06-23 09:59:42 +02:00
ca6d751de6
fix(file): show files added since the diffed revision as empty instead of erroring ( #130 )
...
Co-authored-by: Roman Konoval <roman@jiko.io >
2026-06-23 09:52:02 +02:00
Nicolas GB and GitHub
cffc74128a
fix(picker): Reformat the file history picker ( #127 )
2026-06-18 20:24:29 +02:00
Nicolas GB and GitHub
30d740024d
feat(picker): Fallback to vim.ui.select in all pickers ( #126 )
2026-06-18 20:08:58 +02:00
Nicolas GB and GitHub
af14ce8eda
feat(picker): Add a conflict picker ( #119 )
2026-06-18 20:03:27 +02:00
NicolasGB
aa3e98af26
fix(terminal): pass argv to native resolve
...
Pass raw command arguments to the interactive floating terminal instead
of a shell-escaped string.
This fixes native `jj resolve` exiting immediately when opened without
an external tool.
2026-06-18 17:50:38 +02:00
Nicolas GB and GitHub
7fc91fe6d2
feat(resolve): add resolve command and log integration ( #125 )
...
Add first-class conflict resolution support to jj.nvim.
- add `jj.cmd.resolve` to run `jj resolve` in a floating terminal or via an
external tool
- add `:J resolve` with support for `-r/--revision`, `--tool`,
`--external/--ext`, and positional filesets
- integrate resolve into the log buffer with the `gr` mapping and optional
`resolve_strategies` picker
- add `utils.is_change_conflicted()` and avoid opening resolve when the
selected revision has no conflicts
- document resolve usage, config, and keymaps in the README
- add tests for resolve arg parsing and conflict detection helpers
2026-06-16 19:06:33 +02:00
Nicolas GB and GitHub
9f2a76d079
feat(push): Add the possibility to push to arbitrary remotes through the vim command ( #124 )
2026-06-16 18:46:46 +02:00
Lars Hansen and GitHub
6409ab0a66
fix(encoding): preserve UTF-16/32 content in jj file reads and diffs ( #122 )
...
Use raw command output for jj file reads, add encoding-aware decode/encode
handling, preserve buffer encoding settings across revision buffers, and add
tests for BOMs, endianness, and roundtrip behavior.
2026-06-16 18:35:27 +02:00
Nicolas GB and GitHub
33179e2f15
feat(duplicate): Add a duplication mode ( #118 )
2026-06-08 09:09:28 +02:00
Björn Steinbrink and GitHub
8696843752
fix(picker): run jj without pager to avoid spurious "(END)" marker ( #120 )
2026-06-03 10:40:27 +02:00
Nicolas GB and GitHub
3e151d43c8
feat(browse): fix windows url opening ( #116 )
2026-06-03 09:42:48 +02:00
larpi and GitHub
688616db52
feat(push): add the deleted option for the push operation ( #117 )
2026-06-03 09:21:10 +02:00
NicolasGB
f30eefeaf3
fix(describe): Allow for empty descriptions in the editor
2026-05-26 15:41:11 +02:00
NicolasGB
71f640be45
feat(status,highlights): Handle renamed files in restore and picker flows
...
- Improve status-line parsing to support top-level and nested rename
syntaxes, so actions no longer include trailing braces in paths.
- Update the Snacks status picker integration to pass structured
rename/status metadata and use git_status formatting, preserving
icons/highlighting while showing rename pairs correctly.
- Also tighten renamed-line highlighting in the editor buffer for consistent jjRenamed behavior.
2026-05-19 18:05:17 +02:00
Nicolas GB and GitHub
5558c22471
feat(editor): Add the possibility to configure a window for the editor like in the terminal allowing for "hsplit"/"vsplit"/"tab"/"floating" ( #114 )
2026-05-19 18:04:44 +02:00
b3d449ad41
fix(status): pass --no-pager to jj status ( #113 )
...
Co-authored-by: Tejas Sanap <tejas.sanap@beacon.io >
2026-05-19 11:25:46 +02:00
Nicolas GB and GitHub
fbfff97a18
fix(config): correctly initialize default config and propagate it accordingly to the given submodules ( #111 )
2026-05-15 06:28:00 -07:00
Björn Steinbrink and GitHub
5a0b756570
feat(picker): add <C-d> keybinding to open file and run Jdiff ( #110 )
...
In the status picker, pressing Ctrl-d opens the selected file in the
current window and immediately runs :Jdiff, so the diff view follows
without a second step.
2026-05-15 06:14:24 -07:00
Lars Hansen and GitHub
f5d11a3098
fix(diff): correctly relativize paths for diffing current buffer ( #108 )
2026-05-06 09:34:26 +02:00
larpi and GitHub
a2d194d49e
feat(log): add bookmark deletion command ( #106 )
2026-05-05 17:25:13 +02:00
NicolasGB
46932e5410
feat(log/summary): Add o keymap from the summary that allows users to
...
do the equivalent of `Jtabedit` of the file in under the cursor
2026-04-28 17:52:34 +02:00
NicolasGB
167c206521
feat(diff): Make both codediff/diffview work with the new Jedit
...
command to allow diffing agianst arbitrary revisions in buffer
2026-04-26 19:25:17 +02:00
53a3196210
Feat: Add file module with Jread, Jedit, Jsplit , Jvsplit and Jtabedit similar to fugitive's ( #105 )
...
Co-authored-by: NicolasGB <ngou0210@gmail.com >
2026-04-26 09:50:26 -07:00
NicolasGB
2dbe2c73c5
fix(terminal): make cursor_render_delay optional in the typesystem
2026-04-07 10:44:02 +02:00
NicolasGB
cbfcdbbf36
fix(terminal): Correctly reset position on floating terminal
2026-04-07 10:31:35 +02:00
Jonas Elhs and GitHub
46141a282e
feat!(terminal): unify terminal window behavior and centralize sizing config ( #102 )
...
- add terminal.window.type support (hsplit, vsplit, floating, tab)
- add terminal.window.split_size for split-based layouts
- rename floating size options to terminal.window.floating_width/floating_height
- validate terminal window ratios during setup
- make terminal.run/run_floating merge default keymaps internally
- remove cmd.split width/height sizing in favor of terminal.window config
- improve floating/log buffer state handling and refresh behavior
- update README examples and configuration docs
BREAKING CHANGE: terminal sizing/config moved to terminal.window.*.
Removed cmd.split.width/cmd.split.height.
Renamed terminal.window.width/height to terminal.window.floating_width/floating_height
2026-04-07 10:31:12 +02:00
NicolasGB
578c5f15df
feat(diff): Now diff command supports <rev1>..<rev2> format
2026-04-04 15:50:52 +02:00
Naoki Mizuno and GitHub
a6e163bcc3
feat(log/keymap): add keymaps to move on revision in log buffer ( #100 )
2026-03-19 11:06:53 +01:00
Nicolas GB and GitHub
61f123f518
fix(utils): Now getting the commit_id of a revset forces it being unique ( #98 )
...
This will raise an error, as expected, when trying to diff with a revset that has multiple commits associated
2026-03-17 12:11:14 +01:00
NicolasGB
29e4cd054e
fix(bookmark): Always move bookmars with -B to allow the user moving
...
it forward and backwards seemlessly
2026-03-17 11:34:40 +01:00
NicolasGB
d357409268
feat(log): Add change_revset keybind to change the current log revset
...
being displayed in the log command
2026-03-12 18:04:39 +01:00
NicolasGB
80caa923c2
feat(cmd): Implement the bookmark forget as a native function
2026-03-12 18:04:39 +01:00
Nicolas GB and GitHub
1c3d38a626
feat(diff): Add the diff_history command ( #97 )
...
This new command is natively implemented by both the `codediff` and `diffview` backends allowing to easily navigate the changes between two revsets while diffing the.
It also gives a new `:J diff_hisotyr` command that optionally takes a range of revsets formatted `<rev1>..<rev2>` otherwise it prompts the user for the range.
2026-03-12 18:03:23 +01:00
Brad Robinson and GitHub
ec44937e1b
feat(editor): Add auto_insert option for commit/describe buffers ( #88 )
2026-03-12 14:22:02 +01:00
NicolasGB
bbba4051c8
feat(fetch_pr): Introdue the fetch_pr command that allows to pick open
...
Pull requests from github and import them locally
2026-02-24 18:18:59 +01:00
Wonung Kim and GitHub
d6aa067854
fix(keymap): use nowait opts when there are no shared prefixes ( #93 )
2026-02-24 10:17:42 +01:00
Wonung Kim and GitHub
69679f2e15
feat: use sync describe when the log buffer should be re-opened ( #91 )
2026-02-23 11:26:13 +01:00
Wonung Kim and GitHub
f3511cb4b3
feat: refresh buffers when moving the change ( #92 )
2026-02-23 10:11:20 +01:00
5156fa1a3e
fix: prevent duplicate --no-pager in jj log command ( #90 )
...
Co-authored-by: Roman Konoval <rkonoval@rkonoval.com >
2026-02-23 09:44:10 +01:00
NicolasGB
185190909d
fix(terminal): Remove <S-a> keymap that locked the terminal
2026-02-22 18:06:58 +01:00
Nicolas GB and GitHub
138044c7e3
feat(browse): add :Jbrowse to open current file on remote ( #89 )
2026-02-22 09:05:13 -08:00
Nicolas GB and GitHub
19db4e8178
feat(tag): Implement set/delete/push (push only colocated repistories) ( #84 )
2026-02-22 08:53:51 -08:00
Trung Lam and Nicolas GB
86d15cecec
Add --no-pager for jj log
...
This allows long lists of revisions to be viewable instead of being
truncated.
2026-02-19 16:20:42 +01:00
Roman Konoval and Nicolas GB
d483544483
Fixes default command parsing
2026-02-18 09:22:30 +01:00
NicolasGB
3d78c28f7e
feat(split): add jj split command with interactive floating terminal
...
Add split command that allows splitting a change into multiple revisions
from the log buffer or via :J split. Supports --parallel, --message,
--fileset, and --ignore-immutable flags. Includes immutability checks
with user confirmation and empty change detection.
2026-02-13 18:44:27 +01:00
NicolasGB
3115a0b3f0
fix(parser): use / instead of \ as divergent change separator
...
jj uses / (e.g., rs/1) for divergent changes, not \. Update the parser
to match revsets with /N suffix and update all related tests.
2026-02-13 10:13:30 +01:00
Trung Lam and Nicolas GB
27ab6707be
Use the real files when diffing against current revision
...
This allows users to get lsp functionalities and run `gf` to navigate to
the file in a different tab.
2026-02-13 10:08:15 +01:00
NicolasGB
7827458568
fix(terminal): clamp tooltip dimensions to available screen space
...
Prevent tooltip from overflowing when the cursor is near the bottom or
right edge of the screen by clamping width and height to the remaining
space.
2026-02-11 13:54:41 +01:00