11 Commits
Author SHA1 Message Date
Oliver Joseph AshandGitHub e7be3e02aa feat(preview): set preview subprocess size via env (#608)
* Set preview subprocess size via env
2026-03-20 00:02:30 +00:00
ibrahim dursunandGitHub 9261690c97 Update to bubbletea v2 (#558)
* chore: update import paths

* chore: migrate v1 usages to v2

* refactor: remove `cellbuf`

* chore: update vendor-hash

* fix: keybinding
2026-02-27 22:19:36 +00:00
ibrahim dursunandGitHub 36c0c3dc3e Unified Actions + Bindings system (#533)
* feat: introduce actions + bindings

This removes the leader + custom commands in favour of actions +
bindings system.

All hardcoded keybindings are removed from models and tea.KeyMsg
handling code is removed. Instead, all tea.KeyMsg's are handled by the
dispatcher. 

All the builtin-actions are generated from jjui:bind annotations via a
generator. Dispatcher maps the tea.KeyMsg against a binding and updates
the target model with the action's Intent struct.

* refactor: move dispatch logic out of ui and to its own package

* refactor: file_search bindings

* build: remove treefmt check

we already run `go fmt` before building the appp

* refactor: move and decouple intents

* decouple confirmation model's next/prev actions from using revisions navigate intent
* move ui level `Cancel` and `Apply` intents out of revset

* fix: add missing preview toggle bindings to oplog

* docs: update

* refactor: drop `ui` prefix from most of the panels

`ui` is only used refering to shell actions (e.g. `quit`, `suspend`)

* feat: add custom command migration cli arg

jjui --config --migrate

* copies `config.toml` as `config.old.toml` (if doesn't exist)
* read `config.old.toml`
* converts `custom_command` section to new action + binding system
* saves the rest of the config + new action + binding - custom_commands

* feat: add config.lua

* feat: inline action definitions in config.lua

* feat: load external lua files from `$CONFIG/plugins/*.lua`

* fix: remove dedup of bindings in status list

* refactor: reorder revisions bindings

* refactor: move `desc` from action to binding

It's where it makes more sense because actions can have args which change the meaning of the binding.

* refactor: rename `target` to `target_picker`

* refactor: migrate and remove tests

This is throw away code.

Previous version skipped over keys, didn't convert lua based custom commands and used regex to clean up TOML (which didn't always match)

* fix: cancelling `input` should finish the lua script

* refactor: simplify close/cancel logic

* fix(bookmarks): fix excessive single shortcut assignments

* chore: update README.md, configuration and migration messages
2026-02-17 23:05:13 +00:00
kankriandGitHub f031f5851f fix: set description from stdin to allow messages starting with minus (#475)
Setting the description from stdin avoids command line parsing issues
when the message cannot be properly quoted. E.g. "jj describe -m -foo"
gives the error "error: unexpected argument '-f' found".
2026-01-21 21:00:20 +00:00
ibrahim dursunandGitHub 2a8d5a0670 feat: custom commands with sequence keys (#420) 2025-12-11 21:07:15 +00:00
ibrahim dursun d1e39d5a3c feat(revset): up sets the current revset when empty
fixes #284
2025-11-29 13:08:13 +00:00
baggiiiieandibrahim dursun ec10945a35 feat!: update test command runner to support failure scenarios 2025-10-07 09:02:18 +01:00
ibrahim dursun 1317f802d7 refactor: turn operations into tea.Model 2025-09-21 22:22:17 +01:00
ibrahim dursun 17f919827b chore: optimise imports 2025-08-30 19:49:42 +01:00
ibrahim dursun defac36a6f test: use mutex to sync test command runner
I suspect lack of serialization is leading to test flakiness here
2025-07-16 20:58:18 +01:00
ibrahim dursun e7863e76cc feat(set_bookmark): auto complete movable bookmarks in the input
fixes #77
2025-07-11 15:36:45 +01:00