From bdaf0f8a65b1d71d7303606f8a15edb1f39a010b Mon Sep 17 00:00:00 2001 From: David Dworken Date: Sun, 3 Dec 2023 13:15:38 -0800 Subject: [PATCH] Make TUI always take exactly the full width of the terminal through more precise calculations of the overhead used for the table (#136) * Make TUI always take exactly the full width of the terminal through more precise calculations of the overhead used for the table * Update TUI goldens for more accurate TUI sizing * More golden updates for wider table sizing * Include failed test goldens as artifacts for easier test fixing on github actions --- .github/workflows/go-test.yml | 8 +++- client/lib/goldens/TestTimestampFormat-tquery | 48 +++++++++---------- client/lib/goldens/TestTui-Delete | 48 +++++++++---------- client/lib/goldens/TestTui-DeleteAgain | 48 +++++++++---------- client/lib/goldens/TestTui-DeleteStill | 48 +++++++++---------- client/lib/goldens/TestTui-LongQuery | 24 +++++----- client/lib/goldens/TestTui-Resize | 48 +++++++++---------- client/lib/goldens/TestTui-RightScroll | 48 +++++++++---------- client/lib/goldens/TestTui-RightScrollTwo | 48 +++++++++---------- client/lib/goldens/TestTui-SmallTerminal | 24 +++++----- .../lib/goldens/testCustomColumns-tquery-bash | 48 +++++++++---------- .../testCustomColumns-tquery-bash-isAction | 48 +++++++++---------- .../lib/goldens/testCustomColumns-tquery-zsh | 48 +++++++++---------- .../testCustomColumns-tquery-zsh-isAction | 48 +++++++++---------- client/tui/tui.go | 6 +-- shared/testutils/testutils.go | 4 ++ 16 files changed, 302 insertions(+), 292 deletions(-) diff --git a/.github/workflows/go-test.yml b/.github/workflows/go-test.yml index 35b86fb..f85cbd7 100644 --- a/.github/workflows/go-test.yml +++ b/.github/workflows/go-test.yml @@ -81,12 +81,18 @@ jobs: # Add an extra short delay to allow datadog to flush metrics sleep 300 # 5 minutes - - name: Archive test results + - name: Upload test results json uses: actions/upload-artifact@v3 if: success() || failure() with: name: test-results-{{ matrix.os }}.json path: /tmp/testrun.json + - name: Upload failed test goldens + uses: actions/upload-artifact@v3 + if: success() || failure() + with: + name: test-goldens-{{ matrix.os }} + path: /tmp/test-goldens/ # - name: Setup tmate session # if: ${{ failure() }} diff --git a/client/lib/goldens/TestTimestampFormat-tquery b/client/lib/goldens/TestTimestampFormat-tquery index 0db2c38..8b55daf 100644 --- a/client/lib/goldens/TestTimestampFormat-tquery +++ b/client/lib/goldens/TestTimestampFormat-tquery @@ -1,27 +1,27 @@ Search Query: > -pipefail -tablesizing -┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Hostname CWD Timestamp Runtime Exit Code Command │ -│───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ localhost ~/foo/ 2022/Apr/16 01:03 24s 3 table_cmd2 │ -│ localhost /tmp/ 2022/Apr/16 01:03 4s 2 table_cmd1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa… │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Hostname CWD Timestamp Runtime Exit Code Command │ +│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ localhost ~/foo/ 2022/Apr/16 01:03 24s 3 table_cmd2 │ +│ localhost /tmp/ 2022/Apr/16 01:03 4s 2 table_cmd1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa… │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/TestTui-Delete b/client/lib/goldens/TestTui-Delete index 7919c91..f8e07b4 100644 --- a/client/lib/goldens/TestTui-Delete +++ b/client/lib/goldens/TestTui-Delete @@ -1,27 +1,27 @@ Search Query: > aaaaaa -┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Hostname CWD Timestamp Runtime Exit Code Command │ -│───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Hostname CWD Timestamp Runtime Exit Code Command │ +│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/TestTui-DeleteAgain b/client/lib/goldens/TestTui-DeleteAgain index 7b68224..0335d40 100644 --- a/client/lib/goldens/TestTui-DeleteAgain +++ b/client/lib/goldens/TestTui-DeleteAgain @@ -1,27 +1,27 @@ Search Query: > ls -┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Hostname CWD Timestamp Runtime Exit Code Command │ -│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 ls ~/ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Hostname CWD Timestamp Runtime Exit Code Command │ +│────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 ls ~/ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/TestTui-DeleteStill b/client/lib/goldens/TestTui-DeleteStill index 50c7118..1d7d338 100644 --- a/client/lib/goldens/TestTui-DeleteStill +++ b/client/lib/goldens/TestTui-DeleteStill @@ -1,27 +1,27 @@ Search Query: > ls -┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Hostname CWD Timestamp Runtime Exit Code Command │ -│───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ localhost /tmp/ Oct 17 2022 21:43:26 PDT 3s 2 echo 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc… │ -│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 ls ~/ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Hostname CWD Timestamp Runtime Exit Code Command │ +│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ localhost /tmp/ Oct 17 2022 21:43:26 PDT 3s 2 echo 'ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc… │ +│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 ls ~/ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/TestTui-LongQuery b/client/lib/goldens/TestTui-LongQuery index 435d176..2e18cfd 100644 --- a/client/lib/goldens/TestTui-LongQuery +++ b/client/lib/goldens/TestTui-LongQuery @@ -1,15 +1,15 @@ Search Query: > 1234567890qwertyuip1234567890qwertyuip1234567890qwertyuip1234567890qwertyuip12345678 -┌───────────────────────────────────────────────────────────────────────────────────────────┐ -│ Hostname CWD Timestamp Runtime Exit Code Command │ -│───────────────────────────────────────────────────────────────────────────────────────────│ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└───────────────────────────────────────────────────────────────────────────────────────────┘ +┌──────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Hostname CWD Timestamp Runtime Exit Code Command │ +│──────────────────────────────────────────────────────────────────────────────────────────────────│ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/TestTui-Resize b/client/lib/goldens/TestTui-Resize index 74bb6e9..7c49395 100644 --- a/client/lib/goldens/TestTui-Resize +++ b/client/lib/goldens/TestTui-Resize @@ -1,27 +1,27 @@ Search Query: > ls -┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Hostname CWD Timestamp Runtime Exit Code Command │ -│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ localhost /tmp/ Oct 17 2022 21:43:26 PDT 3s 2 echo 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' │ -│ localhost /tmp/ Oct 17 2022 21:43:21 PDT 3s 2 echo 'aaaaaa bbbb' │ -│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 ls ~/ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Hostname CWD Timestamp Runtime Exit Code Command │ +│───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ localhost /tmp/ Oct 17 2022 21:43:26 PDT 3s 2 echo 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' │ +│ localhost /tmp/ Oct 17 2022 21:43:21 PDT 3s 2 echo 'aaaaaa bbbb' │ +│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 ls ~/ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/TestTui-RightScroll b/client/lib/goldens/TestTui-RightScroll index 68aac3d..ccf3020 100644 --- a/client/lib/goldens/TestTui-RightScroll +++ b/client/lib/goldens/TestTui-RightScroll @@ -1,27 +1,27 @@ Search Query: > ls -┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Hostname CWD Timestamp Runtime Exit Code Command │ -│────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ localhost /tmp/ Oct 17 2022 21:43:26 PDT 3s 2 …567890qwertyuiopasdfghjklzxxcvbnm0987654321_0_1234567890qwertyuiopasdfghjklzxxcvbnm0987654321_1_1234567890qwertyuiopasdfghjk… │ -│ localhost /tmp/ Oct 17 2022 21:43:21 PDT 3s 2 …aa bbbb' │ -│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 … │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Hostname CWD Timestamp Runtime Exit Code Command │ +│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ localhost /tmp/ Oct 17 2022 21:43:26 PDT 3s 2 …567890qwertyuiopasdfghjklzxxcvbnm0987654321_0_1234567890qwertyuiopasdfghjklzxxcvbnm0987654321_1_1234567890qwertyuiopasdfghjklzxxcv… │ +│ localhost /tmp/ Oct 17 2022 21:43:21 PDT 3s 2 …aa bbbb' │ +│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 … │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/TestTui-RightScrollTwo b/client/lib/goldens/TestTui-RightScrollTwo index e5a463b..8cf54e9 100644 --- a/client/lib/goldens/TestTui-RightScrollTwo +++ b/client/lib/goldens/TestTui-RightScrollTwo @@ -1,27 +1,27 @@ Search Query: > ls -┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Hostname CWD Timestamp Runtime Exit Code Command │ -│────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ localhost /tmp/ Oct 17 2022 21:43:26 PDT 3s 2 …tyuiopasdfghjklzxxcvbnm0987654321_0_1234567890qwertyuiopasdfghjklzxxcvbnm0987654321_1_1234567890qwertyuiopasdfghjklzxxcvbnm0… │ -│ localhost /tmp/ Oct 17 2022 21:43:21 PDT 3s 2 … │ -│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 … │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Hostname CWD Timestamp Runtime Exit Code Command │ +│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ localhost /tmp/ Oct 17 2022 21:43:26 PDT 3s 2 …tyuiopasdfghjklzxxcvbnm0987654321_0_1234567890qwertyuiopasdfghjklzxxcvbnm0987654321_1_1234567890qwertyuiopasdfghjklzxxcvbnm0987654… │ +│ localhost /tmp/ Oct 17 2022 21:43:21 PDT 3s 2 … │ +│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 … │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/TestTui-SmallTerminal b/client/lib/goldens/TestTui-SmallTerminal index b840ae4..000794b 100644 --- a/client/lib/goldens/TestTui-SmallTerminal +++ b/client/lib/goldens/TestTui-SmallTerminal @@ -1,15 +1,15 @@ Search Query: > ls -┌────────────────────────────────────────────────────────────────────────────────────────┐ -│ Hostname CWD Timestamp Runtime Exit Code Command │ -│────────────────────────────────────────────────────────────────────────────────────────│ -│ localhost /tmp/ Oct 17 2022 21:43:21 PDT 3s 2 echo 'aaaaaa bbbb' │ -│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 ls ~/ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└────────────────────────────────────────────────────────────────────────────────────────┘ +┌────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Hostname CWD Timestamp Runtime Exit Code Command │ +│────────────────────────────────────────────────────────────────────────────────────────────│ +│ localhost /tmp/ Oct 17 2022 21:43:21 PDT 3s 2 echo 'aaaaaa bbbb' │ +│ localhost /tmp/ Oct 17 2022 21:43:16 PDT 3s 2 ls ~/ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/testCustomColumns-tquery-bash b/client/lib/goldens/testCustomColumns-tquery-bash index 0e686f5..b2a8d39 100644 --- a/client/lib/goldens/testCustomColumns-tquery-bash +++ b/client/lib/goldens/testCustomColumns-tquery-bash @@ -1,27 +1,27 @@ Search Query: > -pipefail -┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Exit Code git_remote Command │ -│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ 0 git@github.com:ddworken/hishtory.git hishtory config-set displayed-columns 'Exit Code' git_remote Command │ -│ 0 echo bar │ -│ 0 cd / │ -│ 0 git@github.com:ddworken/hishtory.git echo foo │ -│ 0 git@github.com:ddworken/hishtory.git hishtory config-add custom-columns git_remote '(git remote -v 2>/dev/null | grep origin 1>/dev/null ) && git remote get-url origin || … │ -│ 0 echo baz │ -│ 0 cd / │ -│ 0 echo $FOOBAR world │ -│ 0 export FOOBAR='hello' │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Exit Code git_remote Command │ +│────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ 0 git@github.com:ddworken/hishtory.git hishtory config-set displayed-columns 'Exit Code' git_remote Command │ +│ 0 echo bar │ +│ 0 cd / │ +│ 0 git@github.com:ddworken/hishtory.git echo foo │ +│ 0 git@github.com:ddworken/hishtory.git hishtory config-add custom-columns git_remote '(git remote -v 2>/dev/null | grep origin 1>/dev/null ) && git remote get-url origin || true' │ +│ 0 echo baz │ +│ 0 cd / │ +│ 0 echo $FOOBAR world │ +│ 0 export FOOBAR='hello' │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/testCustomColumns-tquery-bash-isAction b/client/lib/goldens/testCustomColumns-tquery-bash-isAction index fb6b186..dd108e8 100644 --- a/client/lib/goldens/testCustomColumns-tquery-bash-isAction +++ b/client/lib/goldens/testCustomColumns-tquery-bash-isAction @@ -1,27 +1,27 @@ Search Query: > -pipefail -┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Exit Code git_remote Command │ -│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ 0 https://github.com/ddworken/hishtory hishtory config-set displayed-columns 'Exit Code' git_remote Command │ -│ 0 echo bar │ -│ 0 cd / │ -│ 0 https://github.com/ddworken/hishtory echo foo │ -│ 0 https://github.com/ddworken/hishtory hishtory config-add custom-columns git_remote '(git remote -v 2>/dev/null | grep origin 1>/dev/null ) && git remote get-url origin || … │ -│ 0 echo baz │ -│ 0 cd / │ -│ 0 echo $FOOBAR world │ -│ 0 export FOOBAR='hello' │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Exit Code git_remote Command │ +│────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ 0 https://github.com/ddworken/hishtory hishtory config-set displayed-columns 'Exit Code' git_remote Command │ +│ 0 echo bar │ +│ 0 cd / │ +│ 0 https://github.com/ddworken/hishtory echo foo │ +│ 0 https://github.com/ddworken/hishtory hishtory config-add custom-columns git_remote '(git remote -v 2>/dev/null | grep origin 1>/dev/null ) && git remote get-url origin || true' │ +│ 0 echo baz │ +│ 0 cd / │ +│ 0 echo $FOOBAR world │ +│ 0 export FOOBAR='hello' │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/testCustomColumns-tquery-zsh b/client/lib/goldens/testCustomColumns-tquery-zsh index 2898944..b2a8d39 100644 --- a/client/lib/goldens/testCustomColumns-tquery-zsh +++ b/client/lib/goldens/testCustomColumns-tquery-zsh @@ -1,27 +1,27 @@ Search Query: > -pipefail -┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Exit Code git_remote Command │ -│─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ 0 git@github.com:ddworken/hishtory.git hishtory config-set displayed-columns 'Exit Code' git_remote Command │ -│ 0 echo bar │ -│ 0 cd / │ -│ 0 git@github.com:ddworken/hishtory.git echo foo │ -│ 0 git@github.com:ddworken/hishtory.git hishtory config-add custom-columns git_remote '(git remote -v 2>/dev/null | grep origin 1>/dev/null ) && git remote get-url origin || … │ -│ 0 echo baz │ -│ 0 cd / │ -│ 0 echo $FOOBAR world │ -│ 0 export FOOBAR='hello' │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Exit Code git_remote Command │ +│────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ 0 git@github.com:ddworken/hishtory.git hishtory config-set displayed-columns 'Exit Code' git_remote Command │ +│ 0 echo bar │ +│ 0 cd / │ +│ 0 git@github.com:ddworken/hishtory.git echo foo │ +│ 0 git@github.com:ddworken/hishtory.git hishtory config-add custom-columns git_remote '(git remote -v 2>/dev/null | grep origin 1>/dev/null ) && git remote get-url origin || true' │ +│ 0 echo baz │ +│ 0 cd / │ +│ 0 echo $FOOBAR world │ +│ 0 export FOOBAR='hello' │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/lib/goldens/testCustomColumns-tquery-zsh-isAction b/client/lib/goldens/testCustomColumns-tquery-zsh-isAction index fb6b186..dd108e8 100644 --- a/client/lib/goldens/testCustomColumns-tquery-zsh-isAction +++ b/client/lib/goldens/testCustomColumns-tquery-zsh-isAction @@ -1,27 +1,27 @@ Search Query: > -pipefail -┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ Exit Code git_remote Command │ -│──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ -│ 0 https://github.com/ddworken/hishtory hishtory config-set displayed-columns 'Exit Code' git_remote Command │ -│ 0 echo bar │ -│ 0 cd / │ -│ 0 https://github.com/ddworken/hishtory echo foo │ -│ 0 https://github.com/ddworken/hishtory hishtory config-add custom-columns git_remote '(git remote -v 2>/dev/null | grep origin 1>/dev/null ) && git remote get-url origin || … │ -│ 0 echo baz │ -│ 0 cd / │ -│ 0 echo $FOOBAR world │ -│ 0 export FOOBAR='hello' │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│ Exit Code git_remote Command │ +│────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────│ +│ 0 https://github.com/ddworken/hishtory hishtory config-set displayed-columns 'Exit Code' git_remote Command │ +│ 0 echo bar │ +│ 0 cd / │ +│ 0 https://github.com/ddworken/hishtory echo foo │ +│ 0 https://github.com/ddworken/hishtory hishtory config-add custom-columns git_remote '(git remote -v 2>/dev/null | grep origin 1>/dev/null ) && git remote get-url origin || true' │ +│ 0 echo baz │ +│ 0 cd / │ +│ 0 echo $FOOBAR world │ +│ 0 export FOOBAR='hello' │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ hiSHtory: Search your shell history • ctrl+h help \ No newline at end of file diff --git a/client/tui/tui.go b/client/tui/tui.go index 1272240..7517146 100644 --- a/client/tui/tui.go +++ b/client/tui/tui.go @@ -537,7 +537,7 @@ func makeTableColumns(ctx context.Context, columnNames []string, rows []table.Ro // Calculate the minimum amount of space that we need for each column for the current actual search columnWidths := calculateColumnWidths(rows, len(columnNames)) - totalWidth := 20 + totalWidth := (len(columnWidths) + 1) * 2 // The amount of space needed for the table padding for i, name := range columnNames { columnWidths[i] = max(columnWidths[i], len(name)) totalWidth += columnWidths[i] @@ -581,8 +581,8 @@ func makeTableColumns(ctx context.Context, columnNames []string, rows []table.Ro largestColumnSize = columnWidths[i] } } - columnWidths[largestColumnIdx] -= 2 - totalWidth -= 2 + columnWidths[largestColumnIdx] -= 1 + totalWidth -= 1 } // And finally, create some actual columns! diff --git a/shared/testutils/testutils.go b/shared/testutils/testutils.go index 00acf29..1adecde 100644 --- a/shared/testutils/testutils.go +++ b/shared/testutils/testutils.go @@ -370,6 +370,10 @@ func CompareGoldens(t testing.TB, out, goldenName string) { } } if diff := cmp.Diff(string(expected), out); diff != "" { + if err := os.Mkdir("/tmp/test-goldens", os.ModePerm); err != nil { + log.Fatal(err) + } + require.NoError(t, os.WriteFile(path.Join("/tmp/test-goldens", goldenName), []byte(out), 0644)) if os.Getenv("HISHTORY_UPDATE_GOLDENS") == "" { _, filename, line, _ := runtime.Caller(1) t.Fatalf("hishtory golden mismatch for %s at %s:%d (-expected +got):\n%s\nactual=\n%s", goldenName, filename, line, diff, out)