Commits
- Commit:
136e2bd4b6c85e936c03593405dbdfcefb34fb79
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: refactor key map -> new view initialisation
Deduplicate view initialisation boilerplate and simplify new key map view
requests with dispatch routine. Includes improvements suggested by stsp.
ok stsp@
- Commit:
5e98fb339b4588f8e07c12b9f9ace9dbdcc47592
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: uppercase alpha key maps that open new views
ok stsp@
- Commit:
01a7bcaf15198d23a77acc28899c3c206cdc5001
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: reset view->offset when clearing log view state
Don't move the selection cursor due to a bogus offset after closing child views
following use of 'B', C-l, and backspace log view key maps.
ok stsp@
- Commit:
6fe51fee00c219cf4a74684211a620b3ff9f02ef
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: use view->resize idiom to ensure log is populated
Replace view->mode == TOG_VIEW_LOG checks for requesting commits to populate
the log view with calls to view->resize().
ok stsp@
- Commit:
dff918251f8c81f6d1a277cf8e9f4f348ebee837
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: populate new child view log lines when switching split
When switching a child log view from a h- to a v-split, new log lines are
empty. Rather than (mis)trace height and (not) call request_log_commits(), let
resize_log_view() do the math and request commits if needed to draw new lines.
ok op@
- Commit:
a310d9c3a96d8b9ec72eb3fe1f2251b8ba5aa61f
- From:
- Florian Obser <florian@narrans.de>
- Date:
Do not ignore error from format_author().
Found by llvm's scan-build (dead store).
OK stsp
- Commit:
05f04cdf3fa9619d7055f098b55f1633dbbf12c0
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: blame view keymap to open log of annotated line
As per stsp's TODO item: open a log view of the selected line with 'L'.
helped by and ok stsp@
- Commit:
2b3e6702748e05e788bfea21aa384af4352e859b
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: alias J and K to > and < keybindings for diff view
Use J and K to move to the next and previous commits, respectively, when the
diff is loaded from the log or blame views.
Patch by Mikhail
ok stsp@
- Commit:
10aab77fd5164e672b109e74278bc080a7546fb8
- From:
- Omar Polo <op@omarpolo.com>
- Date:
tog: add key to toggle author/committer in log view
improvements and ok by jamsek and stsp
- Commit:
571ccd7300860975e644c75afcc015ad6c4d7ffd
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: always request commits if log height is increased
Includes style improvements prompted by stsp. Previously, we would only call
request_log_commits() when terminal height is increased in a splitscreen view.
This fixes the case when a log view with no children is resized that can lead
to empty lines:
$ tog # 80x24
23j # move down to the last commit
*increase terminal height to ~30 lines then reduce back to 80x24*
~5j # move down to the _last_ commit
*increase terminal height to ~33 lines*
*new lines are empty*
ok stsp@
- Commit:
ad055527e4991dce8cf1648f406a4af5e69b55c2
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
style(9) whitespace fix
- Commit:
2525dccb913c5e7f293cfcad103af7a761d32b34
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: fix sticky "loading..." status in log view hsplit
Don't request commits if the log has completed loading all commits. While here,
ensure the correct parent/child view requests commits when resizing a hsplit.
Reported by stsp:
$ tog
S # switch into hsplit mode
G # move to bottom and load all commits
Enter # open a diff showing the initial import commit
- # shrink the diff view by one line; alternatively use + to grow it
*log status stuck with "loading..." in the header*
ok stsp@
- Commit:
27187d45e7a2f096a06777e5ffde690e3c049490
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: only request commits when child hsplit increases
Fix bug introduced in 3c1dfe12b3 that fails to properly populate child log
views due to incorrect request_log_commits() calls: (1) when increasing the
bottom hsplit in a ref/log splitscreen; and (2) when reopening a child log
view after closing a resized child log view:
$ TOG_VIEW_SPLIT_MODE=h tog ref
return # open log view in bottom split
4+ # increase log (child/bottom) split
*new log lines are not populated*
q # close log view
return
*commits are not loaded*
ok stsp@
- Commit:
d9a7ab538a90fea0c81ac4c31fd196123baf4fd4
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: adjust view line offset when resizing hsplit
Squish bug that can move the selection cursor offscreen when resizing
horizontal splits due to bogus offset:
$ TOG_VIEW_SPLIT_MODE=h tog # 80x24
22j
return # open diff view in a hsplit
tab # focus log (top) split
10+ # increase top split by 10 lines
22j
return # open diff view in a hsplit
F # toggle fullscreen diff view
tab # focus log (parent) view in fullscreen
*selection cursor will be off the bottom of the screen*
ok stsp@
- Commit:
c0f61fa4e4ee942c16faa19eddc4b5362287b12c
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: enable moving to prev/next blame line in diff view
Blame/diff view counterpart of log/diff <,.> key maps to traverse commits
corresponding to each line of the annotated file from the diff view. Includes
fix from stsp@ to work while the file is still annotating.
ok stsp@
- Commit:
7532ccdaec478d70fa5e613b9cda974c132faa6d
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: make 'S' switch split mode irrespective of the view
Always switch internal split state and redraw view according to the
constraints of the new mode.
suggested by and ok stsp@
- Commit:
5629093afb1a64a305b4f4fd4b47a18eb05c1480
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'tog log' error out in shallow Git repositories instead of hanging
ok op@
- Commit:
3c1dfe12b3f3eae6dc7ef4762772e849794296c5
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: implement +/- keymaps to resize the focussed split
Increase/decrease the currently active split. New dimensions persist for the
tog session, irrespective of subsequent closures and new child views.
suggested by and ok stsp@
- Commit:
d2366e29426c9d2c88244cf41683f6574928caff
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: implement global 'S' key map to switch split mode
If in a vertical (horizontal) split, switch to horizontal (vertical), and make
new split mode persist.
ok op@
- Commit:
a6d37facd3db72c084380ebec6d6160ad8ee4763
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: add C-g/backspace key map to abort compound cmds
Problem reported by stsp: 9999j would tie up tog till completed. While here,
trim trailing whitespace in tog.1 and make C-g alias existing backspace abort
key map for search and G in log view.
ok op@ and stsp@
- Commit:
49b24ee54927319519e1a84959f9f4040f4dc16e
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: expand horizontal split support to all views
With this, hsplits are now available to the same parent/child view combinations
as vsplits. Includes OB1 log truncation fix from op@ that was reported by stsp.
ok stsp@
- Commit:
f0032ce63b4f4f035e5f7894a406a96931f99f3f
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: remove count prefix timeout and bold output
Suggested by naddy. block till non-numeric input is entered, and don't echo in
bold.
ok naddy@ op@ and stsp@
- Commit:
76364b2d0d2a4cbd30e348da2a4330a2137ee86e
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
unconditionally set x/y pointers in view_get_split()
suggested by and ok op@
- Commit:
917d79a766c47414055c6901624816a41f13597b
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make the diff algorithm used by 'tog diff' and 'tog blame' configurable
ok jamsek
- Commit:
4b752015b5208a96c2d1b6c1c6b8589884b8b2b6
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
switch 'tog diff' and 'tog blame' to Myers diff for speed
Make the choice of diff algorithm configurable by diff API users.
The got and gotweb programs keep using Patience diffs which are
prettier than Myers. But tog should be as fast as possible since
it is being used interactively. If performance of Patience diff
gets improved later we can consider switching tog back over to it.
ok tracey jamsek