Commit Briefs

0a58e7222f Thomas Adam

sync usage with reality

The -h and -V/--version flags must be given before the command; with those flags the command is actually optional, but don't over-complicate the usage string with these nitpicks. ok/improvements stsp@


ba5cc5fa6d Thomas Adam

backout Make & command in tog's log view display "searching..."

The limit feature is more than just a search operation, tog's man page has been updated accordingly.



d2c172746f Thomas Adam

Make & command in tog's log view display "searching..." while loading commits.

This command acts like a search operation, and the display should reflect that.


850265be5c Thomas Adam

fix indentation; from jamsek


06ff88bb4f Thomas Adam

make exiting tog's help screen easier for new users

ok jamsek


a7dd23ad25 Thomas Adam

tog: open help in fullscreen irrespective of view configuration

Prompted by a suggestion from stsp to make the help view distinct rather than follow the default behaviour of established views. Occupying the fullscreen seems to be a somewhat established convention for TUI apps. ok stsp@


6f6c25d65e Thomas Adam

drop unconventional got_object_commit_dup() routine

Replace with got_object_commit_retain() to increment commit object reference counter. suggested by and ok stsp@


30e77f6ad1 Thomas Adam

tog: don't embed utf8 glyphs into tog.c source code

Reported by stsp: Embedded utf8 precludes developers running C locales from browsing the code. Fix was suggested by stsp with hints from the tmux(1) codebase. ok stsp@


2a7d3cd7fd Thomas Adam

tog: refactor search setup into tog_view function pointers

Suggested by stsp. While here, add declarations for new help view routines. ok stsp@


fc2737d5cd Thomas Adam

tog: implement runtime help accessible via H,F1 keymaps

Original idea inspired from discussion with tb, tobhe, and stsp at g2k22: display view-specific help, with option to toggle display of full key map reference when {H,F1} is pressed again inside the help view. Includes improvements suggested by stsp. ok stsp@


e7baaec811 Thomas Adam

tog: respect current cursor position during log search

ok op@


7e8004bac7 Thomas Adam

tog: add new log view limit feature to filter commits

Use the & key map to enter a pattern with which to limit the displayed commits to those matching the provided pattern; similar to less(1) and mutt's limit feature. Includes various tweaks from op. ok plus fixes from op@


7210b7156b Thomas Adam

make got_commit_graph_iter_next use caller-provided storage for the id

and adjust the callers. discussed with and ok stsp@


86f4aab9e5 Thomas Adam

tog: make headline highlight extend the full view width

In splitscreen mode, make the active view headline highlight extend the full width of view->ncols. While here, format the tree view header like the blame view by moving the index to the path line. suggested by and ok stsp@


f31d6c3bb6 Thomas Adam

tog: extend log view author highlight colour to full field width

ok stsp@


cacf16907d Thomas Adam

tog: ensure stdin is a tty

This guards against {mis,ab}use such as `tog < /dev/null`. ok plus fix from op@


d68b973725 Thomas Adam

plug leak in the commit graph iterator

We fail to release the memory for the nodes. To fix it however, we some consumer of the commit graph iterator need to be corrected: the returned pointer is safe to be used only up until the next iter_next call; save a copy it if it's needed afterwards too. ok stsp@


d3f8b1f9b4 Thomas Adam

tog: remove gcc ternary if extension

ok stsp@


d6506a3d8f Thomas Adam

Group options in accordance with style(9)

patch by Josiah Frentsos


2510002603 Thomas Adam

tog: add missing checks for NULL pointers in log view state

ok jamsek


c0be89335b Thomas Adam

tog: don't block when processing log view 'G' key map

As per stsp's TODO item, make tog respond to key presses while "loading..." history. Initial testing in src.git appears to work as intended. ok stsp@


6f5f393a4c Thomas Adam

tog: fix delayed tree index update

If a child blame view has been opened, halfdelay() is reset to a 1 second refresh rate, so the index in the header lags behind subtree navigation as we set the index based on the selected tree entry, which isn't updated till that refresh cycle completes. Don't wait for the selected_entry to update; instead, compute the index from the first displayed entry and the currently selected line index. improved by and ok stsp@


7ed048bd20 Thomas Adam

tog: move all 'G' logic into log_move_cursor_down()

Previously, we only handled 'G' in log_move_cursor_down() when all commits had not yet been loaded; move the case where all commits are already loaded into this routine too, and simplify by handling both cases the same. This change was prompted by Mikhail's observation of a redundant assignment in the previous 'G' handling in log_move_cursor_down(). ok stsp@


bd3f8225b5 Thomas Adam

tog: fix log 'd' keymap when last commit is displayed

When at the end of the log view such that the currently selected line is greater than nlines/2, add--don't assign--the page down value to the selected index so we don't jump up when the user expects tog to scroll down. While here, rework log page down logic for a smoother UX in horizontal split mode by moving the selection cursor down rather than scrolling when 'd' or 'f' is entered if the last commit is already on screen. ok stsp@