NicolasGB
c724290141
fix(filesets): Correclty escape filesets in different commands to avoid
...
special characters breaking jj's parsing
2026-06-30 12:45:40 +02:00
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