Commit Graph

365 Commits

Author SHA1 Message Date
David Dworken
f2298def32
Ignore a single dash as a token to improve search behavior for queries like 'ls -' to improve #67 2023-02-18 21:46:51 -08:00
David Dworken
2ae54ef74e
Simplify stripBackslash 2023-02-14 08:47:38 -08:00
David Dworken
a5926af49c
Unit tests for Search taking advantage of escaping 2023-02-13 22:32:42 -08:00
David Dworken
162dd86893
Add unit tests + rename method 2023-02-13 22:26:02 -08:00
David Dworken
b6eb4da4f3
Rename deEscape to unescape 2023-02-13 21:36:54 -08:00
David Dworken
f79ab37bcf
Merge pull request #70 from hakanf/escape_chars
Allow search strings to escape special chars ' ', ':' and '-' using '\'
2023-02-13 21:34:23 -08:00
David Dworken
01e9d39350
Add TUI test for scrolling right by 2 2023-02-13 20:24:20 -08:00
David Dworken
f12cc8cdff
Add basic TUI test for horizontal scrolling 2023-02-11 23:09:40 -08:00
David Dworken
fea151261f
Move goldens func to testutils and use it for some simple horizontal scrolling tests 2023-02-11 09:09:48 -08:00
Håkan Fouren
3c468f46aa
Added local customized version of bubbles/table with horizontal cell scroll 2023-02-05 02:19:18 +08:00
Håkan Fouren
f08cac491c
Use rune instead of byte when traversing strings 2023-02-05 02:13:42 +08:00
Håkan Fouren
9062c24a7e
Allow search strings to escape special chars ' ', ':' and '-' using '\' 2023-02-05 02:13:42 +08:00
David Dworken
226b39609f
Cleanup TUI code now that we persist table entries in the model 2022-12-18 22:29:23 -08:00
David Dworken
9322614a91
Add shortcut to delete entries in the TUI to fix #33 2022-12-18 22:02:29 -08:00
David Dworken
554d518caa
Persist history entries in the TUI model to prep for #33 2022-12-18 21:26:00 -08:00
David Dworken
c0bd577084
Add test to confirm that window resizing works 2022-12-18 01:01:05 -08:00
David Dworken
5f95ac48a4
Add control-d as an alternate key binding to close the TUI to fix #61 (plus some tests) 2022-12-18 00:27:29 -08:00
David Dworken
d15376f37d
Refactor out deletion request handling to prep for #33 2022-12-18 00:19:52 -08:00
David Dworken
10c8b97e84
Add comment 2022-12-17 21:55:30 -08:00
David Dworken
2edbf3977f
Add test for left scrolling in the input box 2022-12-17 12:14:28 -08:00
David Dworken
e6186d17b1
Fix TUI cursor bug by upgrading bubbles to include commit d1775121146a88a44a48562490cf08b7dd9df1c4 2022-12-17 11:54:51 -08:00
David Dworken
f8b51e49da
Support customizing HISHTORY_PATH for people who want to install hishtory in an alternate location to fix #54 2022-12-16 22:22:57 -08:00
David Dworken
da35036aad
Add emacs key bindings for up and down to fix #55 2022-12-16 21:20:00 -08:00
David Dworken
7c86b812bf
Add support for linux arm64 for #48 2022-12-11 20:39:45 -08:00
David Dworken
233ca7ecd3
Treat TLS timeout as an offline error for #50 2022-12-10 09:43:02 -08:00
David Dworken
a481701cda
Add TODO 2022-11-29 17:17:45 -08:00
David Dworken
35444bf56e
Swap ioutil to non-deprecated alternatives + clean up pre-commit errors 2022-11-27 11:59:06 -08:00
David Dworken
369e7ec8ea
Delete unused msg type 2022-11-27 09:03:12 -08:00
David Dworken
5249ee6709
Add better handling for invalid searches in the TUI + better error messages in a couple other places to improve #40 2022-11-27 08:54:34 -08:00
David Dworken
c603537137
Optimize the apiSubmit function to ensure that it doesn't lead to errors from large insertions 2022-11-26 10:31:43 -08:00
David Dworken
a390bacf89
Support multi-line commands from zsh to fix #34 2022-11-19 22:27:08 -08:00
David Dworken
f5adac5140
Move code out of lib that is only referenced for one command 2022-11-19 17:14:27 -08:00
David Dworken
ab6bb719a7
Move code out of lib that is only referenced for one command 2022-11-19 17:12:43 -08:00
David Dworken
d9c4a59ddd
Move code out of lib that is only referenced for one command 2022-11-19 17:06:28 -08:00
David Dworken
f53e02731d
Replace newlines with semicolons to fix #34 2022-11-17 23:20:11 -08:00
David Dworken
abcc0566d5
Fix action goldens for macos 2022-11-16 22:03:08 -08:00
David Dworken
ec830508ef
Fix goldens for github actions 2022-11-16 22:00:23 -08:00
David Dworken
d4efc62df1
Add client-side code to ask for feedback when uninstalling 2022-11-16 21:54:05 -08:00
David Dworken
50dfa8ec5c
Add missing new lines 2022-11-16 21:31:48 -08:00
David Dworken
303033ef1f
Update golden for github action only failure 2022-11-16 20:47:21 -08:00
David Dworken
86f9d67aff
Fix test failures caused by the cobra install command not respecting the secret key
Also added a persistLog() function so that I can easily inspect the hishtory logs from test runs.
2022-11-16 20:28:25 -08:00
David Dworken
fe6394d1b5
Some test fixes for the cobra integration 2022-11-16 08:03:23 -08:00
David Dworken
c59de42008
More refactoring to use cobra 2022-11-16 08:03:23 -08:00
David Dworken
342a02a843
Add initial cobra implementation for config-* 2022-11-16 08:03:23 -08:00
David Dworken
49a1035169
Fix flakey test failures by removing cache=shared which is a discouraged mode (https://www.sqlite.org/sharedcache.html). WAL is sufficient for our purposes. Plus fix a bug where the TUI would go into an infinite loop if there were zero results. 2022-11-15 23:20:19 -08:00
David Dworken
a18d444d09
Treat connect timeouts as network failures to fix #30 2022-11-14 16:29:55 -08:00
David Dworken
c36e147fae
respect zdotdir to fix #29 2022-11-13 15:59:59 -08:00
David Dworken
3e2373d76e
More fixes for github action failures + add link to where to file a bug 2022-11-13 06:42:37 -08:00
David Dworken
e6b1bfd589
Better failure messages for action only test failures 2022-11-13 06:35:03 -08:00
David Dworken
0cfb8249d9
More changes to make tests pass on github actions 2022-11-13 06:25:16 -08:00
David Dworken
86adcb64f6
Remove debug print 2022-11-12 18:46:14 -08:00
David Dworken
0abfefa80a
Filter out pipefails in test outputs 2022-11-12 17:27:24 -08:00
David Dworken
0268554903
Rework history importing to ensure we read from HISTFILE exactly once and still always read the standard bash/zsh hist files 2022-11-12 16:39:21 -08:00
David Dworken
15abcd8d13
Strip history entries with zsh weirdness rather than skip them + ensure the hishtory import command runs a full re-import 2022-11-12 16:30:59 -08:00
David Dworken
e6fc09cc5d
Remove debug logs 2022-11-12 16:08:39 -08:00
David Dworken
5b66943b9a
Update isAction golden after last commit + remove shell:bash that was only needed for windows 2022-11-12 08:07:49 -08:00
David Dworken
1792e694b0
Make the timestamp command super long to force table sizing to be consistent + add an explicit HISHTORY_SKIP_INIT_IMPORT in the tests 2022-11-12 07:50:06 -08:00
David Dworken
8894328483
Remove incorrect new line in golden file 2022-11-12 07:03:19 -08:00
David Dworken
e485dfdaf6
Split the timestamp format test on is_action 2022-11-12 06:39:51 -08:00
David Dworken
6e7822ebae
Attempt to fix github action only test failures 2022-11-12 06:18:05 -08:00
David Dworken
304282d234
Update local goldens to have a space before source 2022-11-11 19:55:21 -08:00
David Dworken
7b51182f18
Add space before source in the goldens 2022-11-11 19:25:48 -08:00
David Dworken
e72ef668ea
Add custom timestamp format as requested in the original HN thread 2022-11-11 17:17:54 -08:00
David Dworken
6f53fdd41e
Better handling for control-c with control-r search in the shell + update bubbletea 2022-11-11 16:42:07 -08:00
David Dworken
029bf27117
Add handling for TUI queries with no results + more tests 2022-11-11 15:57:13 -08:00
David Dworken
e520b23858
Improve history importing to not double import HISTFILE + improve tests 2022-11-11 18:12:23 -05:00
David Dworken
437d4a0b88
Add TODO 2022-11-11 18:11:49 -05:00
David Dworken
42e0ac2195
Document that we use WAL + run a checkpoint after hishtory imports 2022-11-11 17:14:11 -05:00
David Dworken
be0a61a7ea
Trim spaces when comparing commands for duplicates to fix #26 2022-11-11 10:54:00 -05:00
David Dworken
21a7a48afb
Migrate to logrus so we can auto-rotate the log file 2022-11-09 16:14:44 -08:00
David Dworken
6ded150f4a
Respect HISTFILE for bash history too 2022-11-09 15:15:08 -08:00
David Dworken
94722941cf
Make control-r faster by not blocking on processing pending deletion requests. Fixed #22 2022-11-09 15:07:00 -08:00
David Dworken
e46221f893
Revert all the windows+freebsd commits since they seem to be hopelessly broken 2022-11-04 23:14:34 -07:00
David Dworken
79ffb73bcf
Revert "Fix custom columns test on darwin actions"
This reverts commit 5223d1ea55.
2022-11-04 22:11:46 -07:00
David Dworken
dc7bc5a265
Fix test that goes along with 5223d1ea55 2022-11-04 21:05:44 -07:00
David Dworken
5223d1ea55
Fix custom columns test on darwin actions 2022-11-04 20:37:49 -07:00
David Dworken
df58d56829
Configure the bash_profile for linux too 2022-11-03 22:38:46 -07:00
David Dworken
d4ca466314
Import initial history from fish too 2022-11-03 22:32:55 -07:00
David Dworken
287dc3eda1
Remove extra new lines from golden files to get them to pass on github actions 2022-11-03 21:58:12 -07:00
David Dworken
72a5c83790
Re-organize testCustomColumns tests to hopefully make them pass on github actions 2022-11-03 21:27:01 -07:00
David Dworken
2d7d74c066
Run the TestRemoteDuplicateRows test with zsh rather than bash 2022-11-03 21:16:53 -07:00
David Dworken
c1d17842c4
Write the config fragment to the bash_profile for MacOs to fix #14 2022-11-03 21:01:57 -07:00
David Dworken
6dea8a989e
Add config option to filter out duplicate history entries as requested in #10 2022-11-03 20:36:36 -07:00
David Dworken
846f256fa4
Support a TMPDIR variable in case /tmp/ is mounted noexec 2022-11-03 18:04:16 -07:00
David Dworken
185d2739c7
Add offline mode for hiSHtory 2022-11-03 13:16:45 -07:00
David Dworken
eae127bd14
Fix broken uninstall if specific shells aren't installed 2022-11-03 13:01:06 -07:00
David Dworken
72ff95ab8b
Comment out the foreground save that led to awful latency 2022-11-02 19:46:02 -07:00
David Dworken
17ae676da0
Add uninstall command + tests for uninstall 2022-11-02 19:41:49 -07:00
David Dworken
f69460422a
Add test for smaller terminal 2022-11-02 18:50:27 -07:00
David Dworken
6983b04c47
Add handling to adjust the vertical size on the fly too 2022-11-02 18:40:31 -07:00
David Dworken
085d2a917f
Update the table after window resize to better handle horizontal resizing 2022-11-02 18:30:07 -07:00
David Dworken
e824665f2c
Add || true so that it works on linux too 2022-11-01 14:33:27 -07:00
David Dworken
1b460adb31
Fix build failure in lib_test 2022-11-01 12:15:35 -07:00
David Dworken
5554720451
Another attempt at fixing action tests 2022-11-01 12:00:40 -07:00
David Dworken
153e59eff3
Add goldens for isAction tquery and integration with zsh 2022-11-01 11:39:55 -07:00
David Dworken
24b342716e
Take into account shell differences 2022-11-01 11:08:16 -07:00
David Dworken
2efa93762a
Another attempt at getting github actions to pass 2022-11-01 11:03:49 -07:00
David Dworken
add3693967
Add more tests to testIntegrationWithNewDevice 2022-11-01 10:45:16 -07:00
David Dworken
acef5c0879
Make TestFish pass on github actions 2022-11-01 10:37:01 -07:00
David Dworken
8a3969cfc4
Add basic untested ability to do searches using atoms containing custom columns 2022-11-01 10:23:35 -07:00
David Dworken
906ef3782b Add integration to disable SLSA verification if there is a current SLSA outage 2022-10-31 17:32:55 -07:00
David Dworken
cdd7f60f0c Test table display for fish too 2022-10-30 18:40:25 -07:00
David Dworken
de99d60f7c Refactor fish tests to use the existing API 2022-10-30 18:01:53 -07:00
David Dworken
0e70347c0d Add a more complex test for custom columns 2022-10-30 17:55:48 -07:00
David Dworken
6ad60f4e58 Move up the hishtory disable so as to avoid recording the query 2022-10-29 18:34:16 -07:00
David Dworken
0f9e77223e Chdir so that we have a consistent cwd for github actions 2022-10-29 17:53:40 -07:00
David Dworken
189f183d69 Normalize hostnames to attempt to get tests to pass in github actions 2022-10-27 23:30:09 -07:00
David Dworken
8b575e98c6 Add a test for custom columns for the classic non-TUI interface 2022-10-27 22:31:59 -07:00
David Dworken
9ef3b7890c Add a basic test for defining a custom column 2022-10-27 22:20:53 -07:00
David Dworken
d3c631b191 Add control-r tests for changing the displayed columns 2022-10-27 22:11:57 -07:00
David Dworken
0fbf7178c3 Add an advanced search test for control-r 2022-10-27 22:07:11 -07:00
David Dworken
043e815716 Add a test for multi-line history entries 2022-10-27 22:02:19 -07:00
David Dworken
f9098d87d5 Another custom column test 2022-10-27 21:58:39 -07:00
David Dworken
dc5fd19c9e Add another test for custom columns 2022-10-27 21:57:09 -07:00
David Dworken
cdc5421a7b Move testutils to a separate package so as to move test-only code out of the main binary 2022-10-27 21:53:47 -07:00
David Dworken
bed19f5316 Basic test for custom columns 2022-10-27 21:28:37 -07:00
David Dworken
fb258627df Migrate to using golden files for tests + get all existing tests passing again 2022-10-27 21:20:33 -07:00
David Dworken
16fa64b7a7 Add support for the TUI displaying custom columns 2022-10-26 22:11:07 -07:00
David Dworken
10d6c97a50 Better terminal sizing code 2022-10-26 21:48:36 -07:00
David Dworken
8a9ec509c5 Auto-size the table based on initial query results 2022-10-26 21:22:26 -07:00
David Dworken
10d26fa407 Make the custom column display code support entries that lack a newly configured custom column 2022-10-26 00:44:26 -07:00
David Dworken
890ddfd99c Add ability to display columns that map to a custom column 2022-10-26 00:35:36 -07:00
David Dworken
07e4c781e4 Add code to build the custom columns from whatever is configured 2022-10-23 22:01:53 -07:00
David Dworken
51b41aa171 Add custom columns to config + use them in the non-TUI query 2022-10-23 20:54:46 -07:00
David Dworken
ebf8de2b1f Refactor to enable control-r by default on upgrade + pave the way for prompts in the future 2022-10-23 19:29:29 -07:00
David Dworken
41586ba034 Remove the dedicated test shell scripts and instead auto-generate them 2022-10-23 17:35:02 -07:00
David Dworken
253f2fdc27 Enable control-r binding for new installs + prompt upgrades on whether they want to enable control-r bindings 2022-10-23 16:51:39 -07:00
David Dworken
d5893f0cfa Support not recording empty commands in fish + add tests for this 2022-10-23 15:45:50 -07:00
David Dworken
aa3f449885 Skip recording empty history commands 2022-10-23 15:40:30 -07:00
David Dworken
73807746a7 Wire up the git commit hash to the TUI banner requesting code 2022-10-23 15:25:02 -07:00
David Dworken
964359c7c5 Add explicit key bindings so that the cursor doesn't jump around + bind the linux key codes for up/down arrow keys 2022-10-23 15:21:59 -07:00
David Dworken
d5472be6b3 Swap bash-ism to fish-ism for enabling control-r 2022-10-22 23:52:10 -07:00
David Dworken
c10dd8897c Swap bash-ism to fish-ism for enabling control-r 2022-10-22 18:00:17 -07:00
David Dworken
bfac5198ec Fix bug where it was impossible to search for an empty string in the TUI 2022-10-21 23:29:49 -07:00
David Dworken
b8039e6d8a Add test for fish recording background commands + remove todo 2022-10-21 23:26:41 -07:00
David Dworken
4040451290 Add comments for all model fields + reorganize field order 2022-10-21 23:12:56 -07:00
David Dworken
6464264673 Support displaying query errors rather than crashing the entire TUI 2022-10-21 23:07:52 -07:00
David Dworken
7cdf9c0ac4 Escape instead of q so that the TUI can have search terms containing q 2022-10-21 22:58:51 -07:00
David Dworken
c978ee9a2e Enable control-r in tests + basic test for control-r in zsh 2022-10-21 00:14:28 -07:00
David Dworken
49b81bcc19 Support control-r search for fish 2022-10-20 23:39:56 -07:00
David Dworken
2ee050a629 mkdir ~/.config/fish if it doesn't exist yet 2022-10-19 21:24:43 -07:00
David Dworken
406b36f765 Add TODO 2022-10-19 17:57:43 -07:00
David Dworken
db4295e745 Add the testing fish config 2022-10-18 20:16:58 -07:00
David Dworken
abe231f5b0 Initial non-unit tested version of fish support 2022-10-18 19:55:41 -07:00
David Dworken
2c6061e497 Treat i/o timeouts as offline errors too 2022-10-18 11:52:52 -07:00
David Dworken
1aae1be8a6 Add more tests 2022-10-17 20:35:32 -07:00
David Dworken
710e4dd901 control-r for bash 2022-10-17 20:18:28 -07:00
David Dworken
f9a01a56cb Fix two bugs in the tui 2022-10-16 12:55:10 -07:00
David Dworken
5a943c20f1 Initial working version of control-r search 2022-10-16 12:43:16 -07:00
David Dworken
ab7db995aa Restore stdin import for the hishtory import command 2022-10-16 09:51:52 -07:00