- Add LICENSE (MIT, copyright 2026 Stephen Waits) - Add README.md reflecting the current TUI: two-column preview pane with jj show --summary, live command preview row, default-to-show behavior, full keybinding table, shell integration matrix, internals overview, attribution to oppi.li's original bash+fzf concept - Add CHANGELOG.md (keep-a-changelog format) with 0.1.0 release notes - Add .github/workflows/ci.yml — fmt + clippy + check on every push/PR; build matrix on stable + 1.85 (MSRV) - Update Cargo.toml: refined description, repository/homepage/docs URLs, keywords + categories, rust-version=1.85, exclude .github and ux.txt from the published tarball - Update .gitignore to also exclude ux.txt (scratch UX mockup) Verified clean: cargo fmt --all -- --check cargo clippy --all-targets -- -D warnings cargo publish --dry-run --allow-dirty (16 files, 20.6 KiB compressed)
45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [0.1.0] — 2026-04-29
|
|
|
|
Initial release.
|
|
|
|
### Added
|
|
|
|
- Fuzzy picker over `jj log` for any jj subcommand that accepts `-r`.
|
|
- Smart prefix matching: typing the bold-highlighted portion of a change
|
|
ID jumps to that revision instantly. Falls back to nucleo fuzzy
|
|
matching against description text.
|
|
- Multi-select via `Tab`; selections joined into `-r 'A|B|C'` revset
|
|
union.
|
|
- Two-column layout (when terminal ≥ 80 cols): picker on left, live
|
|
`jj show --summary` preview of the cursor row on right, cached per
|
|
revision.
|
|
- Live command preview row showing the exact `jj …` invocation that
|
|
Enter will run.
|
|
- Preflight check via `jj <sub> --help`: subcommands that don't accept
|
|
revisions (`status`, `log`, etc.) are rejected upfront with a
|
|
friendly message.
|
|
- `--ignore-working-copy` on the internal `jj log` call so the picker
|
|
doesn't race with prompt/editor auto-snapshot integrations.
|
|
- Shell integration via `jjf init <bash|zsh|fish|nu>`:
|
|
- rewrites shell history so up-arrow recalls the resolved `jj …`
|
|
command rather than the `jjf …` invocation,
|
|
- drops the `jjf …` entry on cancel/error so cancelled invocations
|
|
don't pollute history,
|
|
- defaults `jjf` (no args) to `jjf show`,
|
|
- passes meta-commands and bare flags through to the binary directly.
|
|
- Vim-style and emacs-style navigation: `↑↓`, `Ctrl-N/P`, `Ctrl-J/K`,
|
|
`PageUp/PageDown`, `Home/End`, `Ctrl-A/E`.
|
|
- Light-terminal detection via `COLORFGBG`: cursor-row highlight uses
|
|
reverse video on light themes (where the dark gray bg is invisible).
|
|
- Synchronized output (DEC mode 2026) around each redraw to eliminate
|
|
tearing on Kitty / WezTerm / foot / recent iTerm.
|
|
|
|
[0.1.0]: https://github.com/swaits/jjf/releases/tag/v0.1.0
|