Commit graph

997 commits

Author SHA1 Message Date
xvchris
06a3f660b2
fix: guard rename/update_url actions against empty remote list (#2870)
* fix: guard rename/update_url actions against empty remote list

The rename_remote() and update_remote_url() event handlers in
RemoteListPopup did not check valid_selection() before indexing
into self.remote_names, causing a panic (index out of bounds)
when no remotes are configured.

The delete_remote() handler already had this guard. This commit
adds the same valid_selection() check to the other two handlers
for consistency.

Fixes #2868
Fixes #2869

* chore: add changelog entry and sort Cargo.toml dependencies

* revert: restore original Cargo.toml formatting
2026-03-19 22:51:09 +00:00
Ang
09d6726675
Fix typos (#2649)
Found via `typos --hidden --format brief`
2026-03-19 22:29:53 +00:00
extrawurst
5d6731326e
Rust msrv bump to 1.88 (#2879) 2026-03-19 18:33:52 +00:00
Christoph Rüßler
b65de976e6
Fix clippy issues on nightly (#2852)
This fixes issues found by `clippy 0.1.95 (f134bbc78d 2026-01-24)`.
2026-01-25 16:20:23 -05:00
extrawurst
1c118d75f3
proper pre-push hook implementation (#2811) 2026-01-18 17:37:45 +01:00
extrawurst
6d62241c8b Revert "Add snapshot test using insta (#2411)"
This reverts commit e53692e781.
2025-12-08 13:44:18 -05:00
Christoph Rüßler
e53692e781
Add snapshot test using insta (#2411) 2025-12-06 17:52:44 -03:00
0x61nas
e1029b00d1
feat(cli): add the ability to specify a custom keybinding/symbols file via the cli (#2731) 2025-12-01 13:19:33 -03:00
Fatpandac
3082396bf1
Support choosing checkout branch method when status is not empty (#2494) 2025-11-28 18:36:40 -03:00
Christian Zangl
ffa6d9e57b
add cli flag to open files tab with selected file (#2746) 2025-11-28 17:53:07 -03:00
andrea-berling
2ab4143d6b
Add Go to line feature for the blame view (#2262) 2025-11-12 11:57:06 -03:00
xlai89
cb17cfe105
feat: support pre-push hooks (#2737)
Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com>
2025-10-31 08:57:27 +01:00
extrawurst
2374e00302
validate path on startup for gix aswell (#2768)
so far we only try to open using the legacy libgit2 based one
2025-10-29 22:07:46 +01:00
extrawurst
58490961c5
update log (#2766) 2025-10-29 15:27:28 +01:00
extrawurst
1032cccd55
cleanup format strings (#2765) 2025-10-29 13:58:27 +01:00
Kristoffer Plagborg Bak Sørensen
2ced3f9acc
fix: disable blame and history popup for untracked files (#2489)
* fix: disable blame and history popup for untracked files

An untracked file does not have any history data. Right now when
you press `B` for the blame popup or the `H` for the history popup
you get an empty popup where the title spins endlessly trying to find
the file in the commit history, and show relevant information.
This commit disables the two actions in the `StatusTreeComponent`, when the
selected item is a file which is not tracked by git.

---------

Co-authored-by: extrawurst <mail@rusticorn.com>
2025-10-28 22:41:36 +01:00
extrawurst
7c7698d5a2
cleanup some expects (#2754) 2025-10-28 22:40:44 +01:00
xlai89
eb48b3788f
feat: message tab supports pageup and pagedown (gitui-org#2623) (#2730)
Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com>
2025-10-28 19:01:33 +01:00
wugeer
7674dae0cc
fix: When the terminal is insufficient to display all the commands, the cmdbar_bg configuration color does not fully take effect (#2348)
Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com>
2025-10-28 18:42:54 +01:00
0x61nas
ec65b372e2
refactor(args.rs): make the flags id slices and the default values as a const (#2733)
Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com>
2025-10-28 18:03:48 +01:00
linkmauve
88ace76db5
Fix typos (#2740)
Thanks to typos for finding those!

Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com>
2025-10-28 16:35:05 +01:00
linkmauve
26a38183cf
Fix all mismatched_lifetime_syntaxes warnings (#2727) 2025-10-28 16:34:42 +01:00
Christoph Rüßler
db211e5ac7
Update gix from 0.71.0 to 0.74.1 (#2745)
* Update gix from 0.71.0 to 0.74.1

* Bump MSRC from 1.81 to 1.82

This is required by `gitoxide` 0.74.

* Address clippy issues

* Add getrandom and rustix to deny.toml

* Document reasons for ignoring duplicates
2025-10-27 18:37:30 +01:00
extrawurst
e5ebb2239f fix nightly error 2025-10-22 10:47:59 +02:00
linkmauve
180368621e
Print a nicer error when failing to create cache directory (#2728)
Same as in 1d2248571d for the config
directory, when the cache directory fails to get created for whichever
reason, we currently exit gitui with a pretty undescriptive error.

Improves on #2684.
Fixes #2652.
2025-10-09 06:01:37 -03:00
Łukasz Sobczak
1d2248571d
Improve error message on config dir error (#2684) 2025-10-02 21:26:12 -03:00
Christoph Rüßler
8bff603a72
Address clippy issues on nightly (#2707) 2025-09-08 10:31:11 +02:00
Christoph Rüßler
57d7d00701
Fix clippy errors on nightly (#2688) 2025-08-05 10:02:26 -07:00
Peer Sommerlund
6d0a2ec115
Minimal docs at module level (#2639) 2025-06-24 09:23:02 +02:00
Peer Sommerlund
dea3d25bcc
Avoid exposing internal tuple in CommitList.marked (#2638)
* Document tuple used in CommitList.marked

* Remove CommitList::marked() to avoid exposing internal structure
2025-05-29 14:12:12 +02:00
Fatpandac
706cdf9243
feat: file and status tab support pageup and pagedown (#2496) 2025-04-21 20:23:05 +02:00
Lena
ee5c243cbf
Improve error messages (#2617) 2025-04-21 20:22:25 +02:00
extrawurst
1205cd620b Revert "Show cursor on panic (#2620)"
This reverts commit 9056e5e75c.
2025-04-18 10:08:02 +02:00
extrawurst
9271b4116e remove duplicate panic handler 2025-04-18 10:05:23 +02:00
Johannes Agricola
9056e5e75c
Show cursor on panic (#2620)
ratatui::Terminal starts by hiding the cursor. If we panic and abort,
that Terminal instance is not dropped, which leaves restoring the cursor
state to us.

Co-authored-by: Naseschwarz <naseschwarz@0x53a.de>
2025-04-18 09:53:25 +02:00
Johannes Agricola
baa1822180
Remove some #[allow]s II (#2616)
Co-authored-by: Naseschwarz <naseschwarz@0x53a.de>
2025-04-18 09:29:06 +02:00
Johannes Agricola
e08d954573
Clean up a few #[allow]s (#2614) 2025-04-16 10:45:08 +02:00
Johannes Agricola
7f88934d05
Bump msrv to 1.81 (#2613)
Co-authored-by: Naseschwarz <naseschwarz@0x53a.de>
2025-04-16 09:21:06 +02:00
extrawurst
cc907996f4
fix latest clippy (#2597) 2025-04-07 16:06:00 +02:00
Johannes Agricola
89f73d2ec2
Disable dotted range commit yanking (#2577)
The algorithm for computing marked_consecutive assumes that commits are
consecutive in the commit graph if they are consecutive in the
linearized log used in` commitlist.rs`. That is not universally correct,
as siblings may also be displayed consecutively in this list.

For now, this just removes generating commit lists in dotted range
notation.

Co-authored-by: Naseschwarz <naseschwarz@0x53a.de>
2025-04-04 15:27:50 +02:00
Clément
65b57c4b60
feat(ui): Add use_selection_fg flag to control selection foreground color (#2515) 2025-03-22 14:11:54 +01:00
Lena
ad32993721
Support loading custom syntax themes from a file (#2565) 2025-03-20 00:31:09 +01:00
Lena
3ede6b56f1
Set the terminal title to gitui ({repo_path}) (#2484) 2025-03-18 19:23:16 +01:00
Vasileios Manolopoulos
597e944af9
Select out of the defaults syntect syntax themes in theme.ron (#2532) 2025-03-16 22:06:28 +01:00
Vasley
4031b0d1a7
Change links to point to gitui-org instead of extrawurst (#2538) 2025-03-16 15:33:28 +01:00
Wessam
4ad2c4b271
Dismiss commit msg key (#2563) 2025-03-16 15:32:43 +01:00
Lena
4ccdeed3a2
Add --logfile (#2539)
Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com>
2025-03-16 15:30:02 +01:00
Johannes Agricola
3c1e35eec7
Copy text using OSC52 (#2548)
* Copy text using OSC52 if X/Wayland methods fail
* Move Wayland/X string copying out of copy_string

Copying logic seems too nested to comprehend with the introcution of two
paths towards OSC52 otherwise.

---------

Co-authored-by: Naseschwarz <naseschwarz@0x53a.de>
Co-authored-by: extrawurst <776816+extrawurst@users.noreply.github.com>
2025-03-15 09:33:54 +01:00
Lena
7f30be88e3
Remove redundant to_str() conversion (#2527) 2025-02-21 09:04:27 +01:00
Lena
338dc2f4de
Improve syntax detection (#2524)
* Improve syntax detection

Currently, gitui prioritizes file extensions for syntax detection.
When a file lacks an extension (e.g. Makefile), or the extension
isn't tied to a specific format (e.g. .lock), it disables syntax
highlighting. Gitui will now try to detect the syntax from the entire
filename and the first line of the file using find_syntax_for_file().

---------

Co-authored-by: extrawurst <mail@rusticorn.com>
2025-02-19 14:13:47 +01:00