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:

After:

---------
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
Alex Pasmantier
12fdf94e5d
feat(input): bind ctrl-w to delete previous word ( #150 )
...
Fixes #135
2024-12-28 16:25:19 +01:00
Alex Pasmantier
557686e197
feat(config): allow specifying multiple keymaps for the same action + better defaults ( #149 )
...
Fixes #135
2024-12-28 15:56:12 +01:00
Alex Pasmantier
499bfdb8e5
refactor(ui): more compact general layout and make preview panel optional ( #148 )
...
Fixes #147
<img width="2552" alt="Screenshot 2024-12-28 at 15 18 42"
src="https://github.com/user-attachments/assets/08e440c2-6878-4a0f-8734-83a8e8b84e5a "
/>
2024-12-28 15:21:17 +01:00
Alex Pasmantier
68d118986c
feat(shell): autocompletion plugin for zsh ( #145 )
2024-12-25 18:53:50 +01:00
Alex Pasmantier
22f1b4dc33
feat(ui): decouple preview title position from input bar position and make it configurable ( #144 )
...
fixes #143
## example
```toml
[ui]
input_bar_position = "top"
preview_title_position = "top"
```
<img width="2553" alt="Screenshot 2024-12-18 at 22 06 29"
src="https://github.com/user-attachments/assets/6c9ac842-e383-42a8-bdf4-d48c7a826df3 "
/>
2024-12-18 22:30:10 +01:00
defigli
882737d147
feat(cli): add argument to start tv in another working directory ( #132 )
...
Resolves #111
---------
Co-authored-by: Alexandre Pasmantier <alex.pasmant@gmail.com>
2024-12-15 22:13:11 +01:00
Alexandre Pasmantier
18c5213e83
feat(channels): new channel for directories and associated transitions ( #130 )
2024-12-15 18:04:26 +01:00
Alexandre Pasmantier
a8e3ea5f89
chore(version): bump workspace to 0.7.0 ( #127 )
2024-12-15 14:30:25 +01:00
Alexandre Pasmantier
4164e9092b
feat(themes): more builtin UI themes ( #125 )
2024-12-15 13:26:28 +01:00
Alexandre Pasmantier
a7064c18c8
refactor(config)!: use $HOME/.config/television
by default for macOS ( #124 )
2024-12-15 12:23:31 +01:00
Alexandre Pasmantier
7b114b7cb6
fix(config): better handling of default values ( #123 )
2024-12-15 01:09:53 +01:00
Alexandre Pasmantier
37b2dda729
refactor(help): enable help bar by default and add help keybinding ( #122 )
2024-12-15 00:54:14 +01:00
Alexandre Pasmantier
9809e742d8
fix(stdin): trim entry newlines when streaming from stdin ( #121 )
2024-12-15 00:35:10 +01:00
Alexandre Pasmantier
11da96d7fb
feat(themes): add support for global themes background colors ( #120 )
2024-12-15 00:29:10 +01:00
Alexandre Pasmantier
ea752b13e6
fix(previewers): handle crlf sequences when parsing ansi into ratatui objects ( #119 )
2024-12-15 00:17:09 +01:00
Alexandre Pasmantier
937d0f0758
feat(cable): support cable channel invocation through the cli ( #116 )
2024-12-14 17:47:36 +01:00
Alexandre Pasmantier
913aa85af0
feat(themes): add support for ui themes ( #114 )
...
fixes #80
### examples
| gruvbox | solarized |
| :-: | :-: |
| <img width="1792" alt="gruvbox"
src="https://github.com/user-attachments/assets/c0c168a5-5c95-4113-93fd-24b34a9344d8 "
/> | 
|
2024-12-13 14:54:38 +01:00
Bertrand Chardon
a4d15af694
perf: optimize entry ranges ( #110 )
2024-12-09 23:39:06 +01:00
Alexandre Pasmantier
758bfc290a
perf(ui): improve merging of continuous name match ranges ( #109 )
...
### main
```
results_list time: [17.800 µs 17.836 µs 17.869 µs]
change: [-0.7235% -0.4176% -0.1185%] (p = 0.01 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
```
### this branch
```
results_list time: [12.780 µs 12.789 µs 12.798 µs]
change: [-28.381% -28.218% -28.059%] (p = 0.00 < 0.05)
Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) high mild
4 (4.00%) high severe
```
2024-12-09 14:08:28 +01:00
Bertrand Chardon
5fb02c768f
perf: merge contiguous name match ranges ( #108 )
...
in the entries that are used in the `build_results_list` function in
`television-screen::results`, it seems like there the ranges returned
are sometimes contiguous
since they're used to create `ratatui` spans, we want to reduce them to
their minimal equivalent form
2024-12-08 23:21:34 +01:00