166 Commits

Author SHA1 Message Date
Alexandre Pasmantier
96560a68e3 perf: checkpoint 2025-01-15 23:34:35 +01:00
alexpasmantier
4a62feb524 perf: trying things with the preview 2025-01-12 22:08:03 +01:00
Alexandre Pasmantier
cb77f5c663 perf: preview 2025-01-12 03:01:55 +01:00
Alexandre Pasmantier
1a4dae9bd8 chore: bump to 0.9.2 2025-01-09 23:25:59 +01:00
Alex Pasmantier
9433fea80d
fix(cable): filter out non-utf8 lines when loading cable candidates (#263)
Fixes #262
2025-01-09 20:41:11 +01:00
Alexandre Pasmantier
d00d8e4f84 chore: bump to 0.9.1 2025-01-09 14:28:06 +01:00
Alex Pasmantier
d9ca7b1f9d
feat(cable): allow custom cable channels to override builtins (#260) 2025-01-09 14:24:37 +01:00
Alex Pasmantier
b388a56745
fix(fish): don't add extra space to prompt if it's an implicit cd (\.) (#259)
Fixes #256
2025-01-09 13:41:38 +01:00
Alex Pasmantier
3b7fb0c6d6
refactor(cable): stream in cable results + better error logging + default delimiter consistency (#257) 2025-01-09 13:30:31 +01:00
Alex Pasmantier
ea8b955e6d
feat(cli): add no-preview flag to disable the preview pane (#258)
Fixes #255
2025-01-09 13:29:32 +01:00
Alex Pasmantier
b5e9846e1b
refactor(providers): improve cable provider files loading sequence (#254) 2025-01-08 17:10:05 +01:00
Alex Pasmantier
853da49425
chore: bump to 0.9.0 (#249) 2025-01-07 23:29:14 +01:00
Alex Pasmantier
8b5beee1dc
perf: drop deduplication when loading cable candidate lines (#248)
related to #194
2025-01-07 17:59:44 +01:00
Alex Pasmantier
1c00dece94
fix(ansi): catch implicit reset escape sequences (#245)
Fixes #232 

<img width="2549" alt="Screenshot 2025-01-07 at 16 04 15"
src="https://github.com/user-attachments/assets/18be9901-757e-47a4-aa70-89aa7fc75e84"
/>
2025-01-07 16:06:23 +01:00
Alex Pasmantier
3bd2bb44bd
feat: add support for CJK unified ideographs (#243)
Fixes #242
2025-01-07 13:32:32 +01:00
Alex Pasmantier
072ecdba73
perf: only display the first 200 log entries when previewing git-repos (#241) 2025-01-07 12:49:09 +01:00
Alex Pasmantier
a2a264cc4d
fix(ingestion): use lossy conversion when source doesn't produce valid utf8 (#240)
Fixes #233
2025-01-07 12:41:57 +01:00
Alex Pasmantier
0624002f35
perf: use FxHash instead of SipHash where it makes sense (#237) 2025-01-07 02:11:12 +01:00
Alex Pasmantier
263e88beb6
chore(deps): mutualize workspace dependencies (#236) 2025-01-07 01:09:14 +01:00
Alex Pasmantier
e2398abcfa
feat(channels): allow sending currently selected entries to other channels (#235)
Related to #229
2025-01-07 00:35:14 +01:00
Alex Pasmantier
2e5f65baef
feat(channels): add support for multi selection (#234)
Fixes #229 

<img width="1793" alt="Screenshot 2025-01-07 at 00 12 18"
src="https://github.com/user-attachments/assets/f2158c70-b3ab-4c14-8856-eb8463efef8a"
/>
2025-01-07 00:13:05 +01:00
Alex Pasmantier
d20784891f
chore: fix linting warnings (#230) 2025-01-06 19:23:28 +01:00
Osma S. Rautila
da2396e19a
chore(linting): add workspace lints (#228)
Hey, nice work. There's a lot of potential, and the idea of custom
channels with custom run commands is very appealing.

I was looking at the source, but clippy pedantic lints threw a lot of
warnings and I noticed the project did not have a linting profile. I
threw together a profile here, but it does leave a fair amount of
warnings in. Maybe some variation of this, or another linting profile
could be considered to guide future contributors on style decisions.
Cheers

---------

Co-authored-by: Alexandre Pasmantier <alex.pasmant@gmail.com>
2025-01-06 18:24:56 +01:00
Alexandre Pasmantier
6536bbf323 chore: bump to 0.8.8 2025-01-06 13:46:41 +01:00
Alex Pasmantier
3d49d308c1
refactor(cable): more debug information for cable channels (#223) 2025-01-06 13:39:41 +01:00
Alex Pasmantier
074889b43f
refactor(ux): don't print the list of available channels on channel parsing error (#222) 2025-01-06 13:39:34 +01:00
Alex Pasmantier
d7e6c35735
feat(ui): add support for standard ANSI colors theming and update default theme (#221)
Fixes #211 

<img width="2554" alt="Screenshot 2025-01-06 at 13 01 57"
src="https://github.com/user-attachments/assets/3706b93a-4be1-4a88-8c3e-bfb71a36db50"
/>
2025-01-06 13:03:50 +01:00
Alex Pasmantier
53bd4a3815
feat(ui): add new television theme that inherits the terminal bg (#220) 2025-01-06 00:00:51 +01:00
Alex Pasmantier
931a7bb5c3
feat(ui): make background color optional and fallback to terminal default bg color (#219)
See #211
2025-01-05 23:58:49 +01:00
Alex Pasmantier
124c06c403
refactor(config): check for config file existence before processing subcommands (#214) 2025-01-05 00:05:19 +01:00
Alex Pasmantier
657af5e36d
refactor(cable): always create default cable channels in user directory if no cable channels exist (#213)
Fixes #212
2025-01-04 23:57:01 +01:00
Tulip Blossom
741ce30b08
fix: automatically create configuration and data directories if they don't exist (#204)
I've noticed that the latest release (0.85.0) failed to start up if
`$HOME/.config/television` doesnt exist. This should force the directory
creation if the user doesn't have it.

Before:

![image](https://github.com/user-attachments/assets/d54245f7-e9b7-4baf-87d9-75869821e519)

After:

![image](https://github.com/user-attachments/assets/e0af2a16-987f-4943-85e7-59d427f64abb)

---------

Co-authored-by: Alexandre Pasmantier <alex.pasmant@gmail.com>
2025-01-01 12:05:20 +01:00
Alexandre Pasmantier
8cae59256d chore: bump to 0.8.5 2024-12-31 18:54:48 +01:00
Alex Pasmantier
2acfc41ceb
feat(ui): respect BAT_THEME env var for previewer syntax highlighting theme (#201)
Fixes #169
2024-12-31 18:53:20 +01:00
Alex Pasmantier
a74deceb98
fix(shell): add space if needed when using smart autocomplete (#200) 2024-12-31 18:21:07 +01:00
Alex Pasmantier
343ed3c126
feat(ux): automatically create default user configuration file if nonexistent (#196) 2024-12-31 13:11:22 +01:00
Heyward Fann
1899873680
fix(channels): list-channels in kebab-case (#195)
```
tv gitrepos
Unknown channel: gitrepos
```

And `tv list-channels` result, before the fix:

```
tv list-channels
Builtin channels:
        env
        files
        gitrepos
        dirs
        text
        alias
```

After:

```
./target/debug/tv list-channels
Builtin channels:
        env
        files
        git-repos // HERE
        dirs
        text
        alias
```
2024-12-31 11:21:12 +01:00
Alex Pasmantier
53afed28ee
chore: bump workspace to 0.0.16 (#189) 2024-12-30 22:55:22 +01:00
Alex Pasmantier
b49a06997b
feat(shell): shell integration support for fish (#186) 2024-12-30 17:50:45 +01:00
Alex Pasmantier
7614fbc653
feat(shell): add bash support for smart autocomplete and shell history (#184)
Fixes #180
2024-12-30 17:12:16 +01:00
Alex Pasmantier
0b5facca6a
feat(shell): add separate history binding for zsh integration (#183) 2024-12-30 16:13:19 +01:00
Alex Pasmantier
7434f1476a
chore: bump to 0.8.1 (#176) 2024-12-30 00:57:54 +01:00
Alex Pasmantier
97343c679d
fix(ux): make DeletePrevWord trigger channel update (#175)
Fixes #170
2024-12-30 00:52:34 +01:00
Alex Pasmantier
08fa41b06c
fix(channels): use the number of actual bytes read and not the sample buffer size when calculating the proportion of printable ASCII characters (#174)
Fixes #173
2024-12-30 00:22:04 +01:00
Alex Pasmantier
1bc6f12782
chore: bump to 0.8.0 (#165) 2024-12-29 02:07:50 +01:00
Alex Pasmantier
697f295afb
refactor: update default configuration and simplify channel enum conversions (#157) 2024-12-28 20:09:33 +01:00
Alex Pasmantier
ee71e4788f
feat(cable): using builtin previewers inside cable channel prototypes (#156) 2024-12-28 19:35:21 +01:00
Alex Pasmantier
e034615594
feat(cable): make preview optional for cable channels (#155) 2024-12-28 18:42:18 +01:00
Alex Pasmantier
309ff537a4
feat(cli): allow passing --input <STRING> to prefill input prompt (#153)
Fixes #152
2024-12-28 17:56:11 +01:00
Alex Pasmantier
c3b8c68d1b
feat(ux): print current query to stdout on Enter if no entry is selected (#151)
Fixes #49
2024-12-28 16:36:30 +01:00