94 Commits

Author SHA1 Message Date
azy
e9f385c8eb fix:
- the more time consuming operation is in fact to open jpeg, tried to find more efficient way to open file than the default way of the image crate  but nothing really worked
 - removed warnings
 - clean some part of the code
2025-02-18 15:02:29 +08:00
azy
64aa6179eb fix: now the image is resize at the moment of the generation of the paragraph for the preview. (because it's no more possible to get the size of the image at the caching time)
I tought the bottleneck of the performances issues was the resize so, I implemeneted that with fast_image_resize.
There were no good improvement, the problem most likely come from the the conversion rgb -> rgba for example.
2025-02-18 13:22:14 +08:00
azy
2aea007007 Merging with origin 2025-02-16 18:37:23 +08:00
Alexandre Pasmantier
28f62f138d chore: bump to 0.10.6 2025-02-08 15:34:10 +01:00
Alexandre Pasmantier
5d552d1655 chore: bump to 0.10.5 2025-02-07 20:17:50 +01:00
Alexandre Pasmantier
eaafe40cfb chore: bump to 0.10.4 2025-02-03 00:16:15 +01:00
Alexandre Pasmantier
a6a73c5bb3
refactor(shell): improve shell integration configuration syntax (#334)
Before:
```toml
[shell_integration.commands]
# Add your commands here. Each key is a command that will trigger tv with the
# corresponding channel as value.
# Example: say you want the following prompts to trigger the following channels
# when pressing <CTRL-T>:
#          `git checkout` should trigger the `git-branches` channel
#          `ls`           should trigger the `dirs` channel
#          `cat`          should trigger the `files` channel
#
# You would add the following to your configuration file:
# ```
# [shell_integration.commands]
# "git checkout" = "git-branch"
# "ls" = "dirs"
# "cat" = "files"
# ```

# environment variables
"export" = "env"
"unset" = "env"

# dirs channel
"cd" = "dirs"
"ls" = "dirs"
"rmdir" = "dirs"

# files channel
"cat" = "files"
"less" = "files"
"head" = "files"
"tail" = "files"
"vim" = "files"
"bat" = "files"

# git-diff channel
"git add" = "git-diff"

# git-branch channel
"git checkout" = "git-branch"
"git branch -d" = "git-branch"

# docker-images channel
"docker run" = "docker-images"

# gitrepos channel
"nvim" = "git-repos"

```

After

```toml
[shell_integration.channel_triggers]
# Add your channel triggers here. Each key is a channel that will be triggered
# by the corresponding commands.
# Example: say you want the following commands to trigger the following channels
# when pressing <CTRL-T>:
#          `git checkout`  should trigger the `git-branches` channel
#          `ls`            should trigger the `dirs` channel
#          `cat` and `cp`  should trigger the `files` channel
#
# You would add the following to your configuration file:
# ```
# [shell_integration.channel_triggers]
# "git-branches" = ["git checkout"]
# "dirs" = ["ls"]
# "files" = ["cat", "cp"]
# ```
"env" = ["export", "unset"]
"dirs" = ["cd", "ls", "rmdir"]
"files" = ["cat", "less", "head", "tail", "vim", "bat"]
"git-diff" = ["git add"]
"git-branch" = ["git checkout", "git branch -d"]
"docker-images" = ["docker run"]
"git-repos" = ["nvim"]
```
2025-02-03 00:03:09 +01:00
azy
724844ba34 Add the preview of images
- New image.rs file in utils to convert images in usable array
- new accepted type of files in utils/files.rs
- the enum PreviewContent has now an Image entry to handle images
- conversion from image file to a usable paragraph into preview
2025-02-01 18:36:31 +08:00
Alexandre Pasmantier
6955c5b313
chore: bump to 0.10.3 (#329) 2025-02-01 00:09:02 +01:00
Alexandre Pasmantier
a03da82c56 chore: bump to 0.10.2 2025-01-26 22:04:00 +01:00
Alex Pasmantier
4b632f81f8
docs(changelog): update changelog template (#317) 2025-01-26 10:57:54 +01:00
Alex Pasmantier
82f471d0aa
fix(cli): re-enable clap help feature (#315)
Fixes #314
2025-01-26 09:49:53 +01:00
Alexandre Pasmantier
7a54e5a507 chore: bump to 0.10.0 2025-01-25 21:21:08 +01:00
Alex Pasmantier
172ba231ee
perf(async): make overall UI much smoother and snappier (#311) 2025-01-25 21:17:31 +01:00
Alex Pasmantier
51b1b42c74
chore(deps): remove color_eyre and other unneeded features (#309) 2025-01-25 14:29:02 +01:00
Alex Pasmantier
1e8c8dbc96
refactor: simplify configuration and build code + leaner crate (#308) 2025-01-25 13:26:07 +01:00
Alex Pasmantier
3970f65946
chore: flatten workspace into a single crate (#306) 2025-01-25 00:44:34 +01:00
Alex Pasmantier
40c97c9c4c
chore: bump workspace to 0.9.4 (#293) 2025-01-20 12:16:06 +01:00
Alex Pasmantier
8bbebf7e57
fix(syntect): switch back to oniguruma while investigating parsing issues (#292)
Temp fix for #289
2025-01-20 12:09:00 +01:00
Alex Pasmantier
a43ed22666
chore: bump workspace to 0.9.3 (#287) 2025-01-19 20:47:05 +01:00
Alex Pasmantier
a3dc8196aa
perf(preview): add partial preview rendering and buffer preview requests (#285) 2025-01-19 18:16:34 +01:00
Alexandre Pasmantier
1a4dae9bd8 chore: bump to 0.9.2 2025-01-09 23:25:59 +01:00
Alexandre Pasmantier
d00d8e4f84 chore: bump to 0.9.1 2025-01-09 14:28:06 +01:00
Alex Pasmantier
853da49425
chore: bump to 0.9.0 (#249) 2025-01-07 23:29:14 +01:00
Alex Pasmantier
263e88beb6
chore(deps): mutualize workspace dependencies (#236) 2025-01-07 01:09:14 +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
25adee34d8
chore: bump to 0.8.7 (#217) 2025-01-05 00:32:41 +01:00
Alexandre Pasmantier
df936dd4eb chore: bump to 0.8.6 2025-01-01 12:08:22 +01:00
Alexandre Pasmantier
8cae59256d chore: bump to 0.8.5 2024-12-31 18:54:48 +01:00
Alexandre Pasmantier
430e325567 chore: bump version to 0.8.4 2024-12-31 13:12:23 +01:00
Alex Pasmantier
0c5da2a0c3
chore: bump to 0.8.3 (#192) 2024-12-31 00:48:37 +01:00
Alex Pasmantier
b552657926
perf(bin): compile binary as a single code unit and use fat LTO (#191)
Fixes #185 

> Release + codegen-units = 1: 11 Mib
Release + Thin LTO (current default): 14 Mib
Release + Fat LTO: 11 Mib
Release + codegen-units = 1 + Fat LTO: 9.7 Mib
Release + codegen-units = 1 + Thin LTO: 11 Mib
2024-12-31 00:46:13 +01:00
Alex Pasmantier
53afed28ee
chore: bump workspace to 0.0.16 (#189) 2024-12-30 22:55:22 +01:00
Rui Chen
26036dd0b9
fix: bump version to match with the release (#188)
👋 seeing some version mismatch with the release build. 

relates to https://github.com/Homebrew/homebrew-core/pull/202798

Signed-off-by: Rui Chen <rui@chenrui.dev>
2024-12-30 22:48:24 +01:00
Alex Pasmantier
7434f1476a
chore: bump to 0.8.1 (#176) 2024-12-30 00:57:54 +01:00
Alex Pasmantier
f707190439
chore: include cable channels (#166) 2024-12-29 02:14:20 +01:00
Alex Pasmantier
1bc6f12782
chore: bump to 0.8.0 (#165) 2024-12-29 02:07:50 +01:00
Alex Pasmantier
b33c0b9bb5
chore(deps): bump to rustc 1.81 and update cargo deps (#158) 2024-12-28 20:22:28 +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
ea752b13e6
fix(previewers): handle crlf sequences when parsing ansi into ratatui objects (#119) 2024-12-15 00:17:09 +01:00
Bertrand Chardon
c0db566a48
perf: add bench for build results list (#107)
This PR adds a benchmark for performance-critical function
`build_results_list` from `television_screen::results`

This should allows `television` to track performances improvements or
regressions across time for that function (and other in the future)

---------

Co-authored-by: alexpasmantier <alex.pasmant@gmail.com>
2024-12-08 18:43:38 +01:00
Alexandre Pasmantier
54399e3777
refactor(screen): extract UI related code to separate crate (#106)
Co-authored-by: Bertrand Chardon <bertrand.chardon@doctrine.fr>
2024-12-08 13:46:30 +01:00
Alexandre Pasmantier
ffc8dae494
chore: bump workspace to 0.6.2 (#104) 2024-12-06 10:46:53 +01:00
Alexandre Pasmantier
795db19fff
fix(cable): add cable to unit channel variants (#96)
fixes #95
2024-12-05 20:36:01 +01:00
Alexandre Pasmantier
a5f5d20071
feat(cable): add support for custom channels (#75) 2024-12-05 00:34:09 +01:00
Alexandre Pasmantier
2fc9bd9e80 chore: bump crate to 0.5.3 and workspace crates to 0.0.7 2024-11-24 17:01:24 +01:00
Alexandre Pasmantier
edd9df4e29
fix(entry): always preserve raw input + match ranges conversions (#62)
* fix(entry): preserve raw input

* chore(version): bump workspace crates and television

* test: add tests for replace_non_printable and cleanup commented out code

* chore(changelog): update changelog (auto)

* chore(deps): update cargo dependencies

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-24 00:20:04 +01:00
Alexandre Pasmantier
d3564f2aca chore: bump version to 0.5.1 2024-11-21 00:09:30 +01:00