Commit Graph

69 Commits

Author SHA1 Message Date
0023c72636 Quote initial commands to make it possible to easily use hishtory to find matching entries for already typed commands that contain flags (#251)
* Quote initial commands to make it possible to easily use hishtory to find matching entries for already typed commands that contain flags

* Add test for quoting dashes

* Fix test failures

* More test fixes

* Update goldens

* Update goldens

* Update goldens

* Fix race condition

* Fix test harness bug by swapping to splitn

* Update goldens

* Update golden

* Update test
2024-10-20 12:22:29 -07:00
389515ae28 Add support for full-screen rendering (#258) 2024-10-19 13:11:34 -07:00
fa4dc938fe Disable usage data stat tracking for self-hosted servers for #246 (#250)
* Add TODO

* Disable usage data stat tracking for self-hosted servers for #246
2024-09-15 18:58:48 -07:00
7e327346f9 Delete deprecated function usage 2024-08-25 18:57:21 -07:00
6fd624f32c Add workaround for #221 to strip out escape codes from kitty in screen 2024-08-25 18:56:53 -07:00
7bbd0cb036 Allow usage of OpenAI integration in offline mode for #220
Offline mode is more about disabling syncing, so it is reasonable to still allow AI completions if the user has explicitly turned it on.
2024-08-25 15:31:11 -07:00
3875bddddc Add ability to configure log-level and update many log lines to use the correct log level, fixes #211 #219 2024-08-25 11:50:46 -07:00
8da11eb3fa run "make fmt" (#233) 2024-08-11 12:19:41 -07:00
30a7dcb3c7 Move checking of forced compact mode into helper functions to ensure it is checked everywhere (follow up to #237) 2024-08-11 11:46:54 -07:00
25cb7dddab add forceComapctMode config entry (#237) 2024-08-11 11:37:48 -07:00
c3adc902ad Add basic fix for #225 by escaping tab characters before rendering
This is a tricky bug to fix because the width of a tab character varies depending on context. This means that when we're trying to build a table and calculating the width of columns for budgeting, we can't actually know the width of a tab without knowing exactly what characters come before it. This is in theory doable, but it leads to some really complex code that I'd rather not adopt.
2024-07-06 19:21:34 -07:00
c933cbc792 Add support for custom key bindings for #190 (#209)
* Add support for custom key bindings for #190

* Add tests for configuring custom key bindings

* Simplify key bindings test

* Add docs on custom key bindings + error message for unhandled actions
2024-04-28 13:50:09 -07:00
998bcbfced Revert "Add mouse scrolling support for #200" since it breaks the ability to highlight text
This reverts commit 7d9bb6654d.
2024-04-14 09:26:14 -07:00
7d9bb6654d Add mouse scrolling support for #200 2024-04-13 10:28:43 -07:00
7df61ab070 Clean up: Remove duplicated code by calling existing utility function 2024-04-13 09:53:00 -07:00
67126d80ea Improve word boundary algorithm to ignore previous spaces so that control+arrow-keys will skip over repeated spaces 2024-02-21 22:17:09 -08:00
5e87aa9eec Add basic readline-like support for using control-left and control-right to scroll horizontally by one word at a time 2024-02-19 13:54:52 -08:00
199307f74a Add support for control-A and control-E shortcuts similar to GNU readline 2024-02-19 12:26:44 -08:00
0787840a10 Wire through the shell name into AI suggestions so that we can get more precise AI suggestions for the current shell 2024-02-19 12:12:04 -08:00
6575c8ae42 Fix handling of new lines in commands for #163 (#170)
* Fix handling of new lines in commands for #163

* Move code for table from lib.go to query.go

* Update goldens
2024-02-06 20:04:21 -08:00
4b93240948 Log OpenAI error to debug log for #167 2024-02-05 21:34:03 -08:00
a3f1282368 Add ability to configure a default filter (for #76) (#161)
* Add ability to configure a default filter (for #76)

* Add test for color of default filter

* Add basic test for default filter

* Add goldens for tests

* Add more tests for default filters

* Update goldens

* Add another golden

* Update goldens

* Remove debug log

* Add golden to allowlist

* Update goldens
2024-01-07 21:06:22 -08:00
77313dfb48 Add better color support detection, for #134 2023-12-31 13:00:56 -08:00
30f94c1c78 Fix broken custom color scheme support as reported in #134 2023-12-28 19:25:09 -08:00
3c33513fa3 Improve logic for padding for highlighting search queries to fix off-by-one error that happens when there are no matches 2023-12-20 14:56:09 -08:00
8b7e54eab4 Add support for configuring the TUI color scheme, for #134 (#146)
* Add support for configuring the TUI color scheme, for #134

* Add tests for getting and setting the custom color scheme, and support full colors where terminals support them

* Add comments to document termenv.ANSI setting, and fix tests so they work uniformly
2023-12-18 20:32:11 -08:00
2d2c393bf9 Fix TUI code that tracked whether a search query is pending so it doesn't show the pending message when no query is pending 2023-12-09 15:51:04 -08:00
a26fc5b360 Add more special handling for extra tiny terminals (#140)
* Add more special handling for extra tiny terminals

* Add tests for extra compact terminals
2023-12-06 16:12:41 -08:00
Ben
c8643d5a2b Filter duplicates with map (#139)
The previous method of filtering duplicates only worked on duplicates that occurred consecutively. Since dupes happen out of order often, this switches the logic to instead use a map of seen commands and filter based on that.
2023-12-05 21:43:01 -08:00
8b83e2bbb5 Improve vertical sizing for small terminals, fixes #137 (#138)
* Improve vertical sizing for small terminals, fixes #137

* Add tests for tiny terminals + update test goldens for tiny terminals after compact sizing
2023-12-03 21:56:45 -08:00
bdaf0f8a65 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
2023-12-03 13:15:38 -08:00
af8ace69dd Add loading spinner for slow searches, primarily to benefit AI queries since they are quite slow 2023-11-21 05:53:10 +01:00
0be6fe9724 Swap AI completions to be behind a dedicated config option and add docs on it 2023-11-12 03:09:56 -08:00
dd6cf710c7 Remove outdated TODO 2023-11-12 02:57:23 -08:00
0ea3ce2399 Add basic debouncing for AI integration + implement AI suggestions via hishtory API endpoint 2023-11-12 02:57:23 -08:00
eb835fe52c Add initial version of AI searching, but with a broken implementation of debouncing 2023-11-12 02:57:23 -08:00
19b9f67724 Fix bug with automatic cd-ing where quoting the directory caused tildes to not get expanded into the user's homedir 2023-11-06 21:39:01 -08:00
e1f69f8731 Add TODO 2023-11-06 18:44:28 -08:00
588e2f4405 Fix bug where cd-ing wouldn't work if the changeDir contained a space 2023-11-01 18:03:14 -07:00
a6e6f6504c Remove TODO that is out of date 2023-10-28 15:13:24 -07:00
00129a5372 Add extra new lines to fix warnings ending up on the same line 2023-10-25 20:26:41 -07:00
93cffd98b4 Replace e50f4d164 with query IDs so that we properly handle deletions. See e50f4d164 for full details on the bug that this fixes. 2023-10-25 20:07:09 -07:00
e50f4d164b Fix race condition in TUI code for handling async queries
If someone types in "l" and then "s" to search for "ls", then this will dispatch two async queries. If the query for "l" finishes after the query for "ls", then this will lead to the results for "l" getting incorrectly displayed. In practice, this is quite rare for human typing speeds so I had never noticed this. But, it causes an issue for test flakes and is the root cause of many of my recent changes around test flakes. Fixing this should improve test reliability significantly.
2023-10-24 22:52:52 -07:00
4bcc5fb335 Periodically call query endpoint and retrieve data to ensure that the local DB is always reasonably up to date 2023-10-15 12:29:50 -07:00
1c4fe0d379 Add TODO 2023-10-14 17:30:12 -07:00
fca2b1441f Always include user and device ID in API request headers, so that they're available in all server-side handlers 2023-10-14 10:52:51 -07:00
253ad7f6b6 Bold matches for search queries in TUI for #112. This was previously available behind the beta-mode flag, but will now be enabled by default 2023-10-12 19:34:09 -07:00
3efe62401c Change semicolon to && so that if the cd fails, the command doesn't run. Per feedback on #83 2023-10-06 16:49:50 -07:00
0b57034c39 Revert "Revert all commits since v0.223 to enable me to release a patch on top of v0.223"
This reverts commit 68ed9f2d5d.
2023-09-29 18:21:23 -07:00
68ed9f2d5d Revert all commits since v0.223 to enable me to release a patch on top of v0.223 2023-09-28 22:15:30 -07:00