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
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
liyixin
f9d33e4797
fix(windows): use cmd on windows instead of sh ( #102 )
...
Co-authored-by: liyixin <root@liyixin-test.sci-inv.cn>
2024-12-06 10:37:44 +01:00
Bertrand Chardon
4567f26a37
chore: use named constant for colors ( #99 )
...
this PR replaces straight colors by named constants, which should
facilitate any subsequent move to refactor the theming capabilities of
`tv`
2024-12-05 22:45:36 +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
ad3e52d340
feat(remote): distinguish cable channels with a separate icon ( #94 )
2024-12-05 16:27:27 +01:00
Alexandre Pasmantier
a5f5d20071
feat(cable): add support for custom channels ( #75 )
2024-12-05 00:34:09 +01:00
Bertrand Chardon
fee4ed2671
perf: add cache for icon colors ( #89 )
2024-12-02 16:20:13 +01:00
Bertrand Chardon
b7ddb00c4e
perf: skip ratatui span when match at end of string ( #91 )
...
perf: skip ratatui span when match end of string
- for the entry name, we don't create an empty ratatui span when the
match is right at the end of the entry name
- same for the preview, we don't create a ratatui span anymore when the
match is at the end of the preview
2024-12-02 16:18:52 +01:00
Alexandre Pasmantier
128a6116c3
fix(preview): remove redundant tokio task when generating builtin file previews ( #86 )
2024-11-28 00:34:32 +01:00
Bertrand Chardon
4bea114635
perf: remove unnecessary clone() calls ( #83 )
...
perf: remove redundant clone() calls
2024-11-27 23:54:08 +01:00
Alexandre Pasmantier
30f1940815
refactor(exit): use std::process::exit explicitly ( #84 )
2024-11-27 23:07:02 +01:00
Alexandre Pasmantier
d3c16af4e9
fix(stdin): better handling of long running stdin streams ( #81 )
...
fix: long running pipes
2024-11-27 22:56:30 +01:00
Alexandre Pasmantier
1ebec7ead2
fix(output): quote output string when it contains spaces and points to an existing path ( #77 )
2024-11-26 10:53:14 +01:00
Alexandre Pasmantier
220671106e
feat(layout): allow reversing the layout and placing input bar on top ( #76 )
2024-11-25 21:32:41 +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
6d3965152e
feat(navigation): add action to scroll results list by a page ( #72 )
2024-11-24 16:54:35 +01:00
Alexandre Pasmantier
84d54b5751
perf(preview): cap the number of concurrent preview tokio tasks in the background ( #67 )
...
* perf(preview): cap the number of concurrent preview tokio tasks in the background
* perf(preview): check filesize asynchronously to avoid blocking the UI
* ci(changelog): fix action permissions
2024-11-24 16:00:06 +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
f0e1115bab
build(infer): drop infer dependency and refactor code to a simpler heuristic ( #58 )
...
* build(infer): drop infer dependency and refactor code to a simpler heuristic
* Update changelog
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-23 00:37:39 +01:00
Alexandre Pasmantier
b757305d7a
refactor(picker): refactor picker logic and add tests to picker, cli, and events ( #57 )
...
* refactor(picker): refactor picker logic and add tests for picker, cli and events
* Update changelog
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-23 00:33:15 +01:00
Fred Morcos
21cdaaee42
fix: quote file names that contain spaces when printing them to stdout ( #51 )
2024-11-21 00:29:49 +01:00
Alexandre Pasmantier
d3564f2aca
chore: bump version to 0.5.1
2024-11-21 00:09:30 +01:00
Alexandre Pasmantier
565283babb
chore(deps): shed off unessential dependencies ( #52 )
2024-11-20 21:32:23 +01:00
Fred Morcos
44de19a01e
Display stdin more intuitively top-down instead of bottom-up ( #50 )
...
* fix: Don't include empty lines and whitespace when precessing stdin
* fix: Display stdin more intuitively top-down instead of bottom-up
2024-11-20 13:40:16 +01:00
Alexandre Pasmantier
40d5b20c7d
feat(ui): make the top UI help bar toggleable ( #41 )
2024-11-19 00:07:53 +01:00
Alexandre Pasmantier
75d0bf7b6b
refactor(config)!: make action names snake case in keybinding configuration ( #40 )
2024-11-18 23:58:02 +01:00
Alexandre Pasmantier
5807cda45d
feat(cli): allow passing passthrough keybindings via stdout for the parent process to deal with ( #39 )
2024-11-18 23:48:48 +01:00
Alexandre Pasmantier
512afa2fda
feat(ui): make help bar display optional ( #35 )
2024-11-16 20:32:40 +01:00
Alexandre Pasmantier
aa2f2609a4
refactor(configuration): modularize code and better handling of default options ( #32 )
...
* fix(config): set ui default configuration values
* refactor(configuration): modularize code and better handling of default options
2024-11-16 19:48:46 +01:00
Alexandre Pasmantier
d0f023cf18
chore(versions): bump workspace crates versions
2024-11-16 18:01:25 +01:00
Alexandre Pasmantier
06a4feb9f2
fix(config): swap out default keymaps with user defined ones instead of stacking ( #26 )
...
* fix(config): swap out default keymaps with user defined ones instead of stacking
* fix default configuration fallback
2024-11-15 15:16:00 +01:00
Alexandre Pasmantier
4f0daec63d
refactor(channels): converting between entries and channels is now generic over channels ( #25 )
2024-11-15 00:05:52 +01:00
Alexandre Pasmantier
ff25fb2dde
fix(windows): #20 respect TELEVISION_CONFIG
env var on windows ( #21 )
...
* fix: remove org name from default platform config and data dirs
* fix: adjust config and data dirs fallback logic
* patch
* update README
2024-11-14 00:08:19 +01:00
Alexandre Pasmantier
b1fe0182f8
fix(cargo workspace): fix cargo workspace structure and dependencies ( #15 )
...
* fix(cargo workspace): fix cargo workspace dependencies
* add bump and publish scripts
* more version automation scripts
2024-11-11 20:31:22 +01:00
Alexandre Pasmantier
5611ee8b2d
refactor(workspace): reorganize cargo workspace ( #12 )
2024-11-11 15:15:24 +01:00
Alexandre Pasmantier
62073d69cc
perf(preview): remove temporary plaintext previews in favor of loading message preview ( #10 )
...
* perf(preview): remove temporary plaintext previews in favor of a loading message
* linting
* dead code
2024-11-11 13:49:46 +01:00
Alexandre Pasmantier
81cf17bd5d
fix(config): more consistent configuration file location for linux and macos ( #9 )
2024-11-11 12:06:46 +01:00
tranzystorekk
097c657b55
chore(deps): disable bat dependency application features ( #5 )
2024-11-11 11:17:49 +01:00
Alexandre Pasmantier
b3760d2259
fix(windows): bump television_utils to v0.0.1 ( #4 )
...
* fix: bump television_utils
* bump television to 0.4.19
2024-11-11 01:36:55 +01:00
Erich Gubler
e475523c79
fix(windows): ignore KeyEventKind::Release
events ( #3 )
2024-11-11 00:55:39 +01:00
Alexandre Pasmantier
c70e675655
fix: add winapi-util
dependency for windows builds
2024-11-10 21:18:24 +01:00
Alexandre Pasmantier
b0ab8a179a
docs: some work on CONTRIBUTING.md
2024-11-10 19:39:53 +01:00
Alexandre Pasmantier
79da161943
chore: add license to syntax snippet
2024-11-10 14:52:27 +01:00
Alexandre Pasmantier
32c114aa9f
fix: gag stdout and stderr while loading theme assets to silence bat warning
2024-11-10 14:49:09 +01:00
Alexandre Pasmantier
96976d93cb
docs: update README.md
2024-11-10 02:30:08 +01:00
Alexandre Pasmantier
b04e182453
chore(previewers): unused attributes
2024-11-10 01:19:41 +01:00
Alexandre Pasmantier
5b57d6b290
chore: update workspace crates configurations
2024-11-10 01:11:10 +01:00
Alexandre Pasmantier
8dd7f23734
refactoring: more refactoring and fixing doctests
2024-11-10 01:03:12 +01:00
Alexandre Pasmantier
ae938dcfc0
refactoring: split project into separate crates
2024-11-10 00:51:58 +01:00
Alexandre Pasmantier
f449477605
fix: doctests imports
2024-11-09 23:37:38 +01:00
Alexandre Pasmantier
c1f41bf107
refactoring: extract matcher logic into separate crate
2024-11-09 23:32:04 +01:00
Alexandre Pasmantier
759815ae24
feat: more syntaxes and themes for highlighting + configuration
2024-11-09 19:44:56 +01:00
alexpasmantier
de74b619b8
fix: stabilize preview scroll initialization
2024-11-08 14:02:26 +01:00
alexpasmantier
dd14bd4f8d
fix: filtering system directories in gitrepos
2024-11-08 00:40:18 +01:00
Alexandre Pasmantier
7b18c4f88d
chore: unused imports and ci docs
2024-11-06 00:29:40 +01:00
Alexandre Pasmantier
4302b6189a
some work on the configuration file
2024-11-06 00:25:12 +01:00
Alexandre Pasmantier
6d48c87526
documentation
2024-11-05 01:32:57 +01:00
Alexandre Pasmantier
dff80355d4
docs and linting
2024-11-05 01:05:32 +01:00
Alexandre Pasmantier
65cad8dda8
moving things around and documentation
2024-11-05 00:49:42 +01:00
Alexandre Pasmantier
635ea8a774
refactoring matcher
2024-11-05 00:31:23 +01:00
alexpasmantier
19b8cb5068
tests and docs for strings.rs
2024-11-04 14:48:25 +01:00
alexpasmantier
6e794e07b7
update derive dependency
2024-10-31 14:13:10 +01:00
alexpasmantier
856c570e27
formatting
2024-10-31 14:09:23 +01:00
alexpasmantier
40f466548b
fix linting issues and ignore derive docs for tests
2024-10-31 14:08:10 +01:00
alexpasmantier
7045295e12
new channel transitions
2024-10-31 13:49:46 +01:00
alexpasmantier
e6c59658ae
fixing various issues
2024-10-31 13:15:40 +01:00
alexpasmantier
0538c40a3e
bump television-derive
2024-10-30 10:51:17 +01:00
alexpasmantier
e17cd18d42
fixing various issues
2024-10-30 00:12:27 +01:00
alexpasmantier
d0d453fe97
feat: send to channel
2024-10-29 21:53:01 +01:00
alexpasmantier
ddedbc11da
formatting
2024-10-27 23:31:40 +01:00
alexpasmantier
8223e073a0
remote controls
2024-10-27 23:30:50 +01:00
alexpasmantier
76d32a01c2
great progress
2024-10-27 00:37:13 +02:00
alexpasmantier
9eea37a5b5
top menus
2024-10-25 23:29:07 +02:00
alexpasmantier
4bec64e245
making progress
2024-10-25 00:21:36 +02:00
alexpasmantier
14357f2c96
caching for git repos and max_lines_in_memory for text
2024-10-22 14:50:35 +02:00
alexpasmantier
9d6d1f47ba
working on channel shutdown and caching strategies
2024-10-21 23:33:44 +02:00
Alexandre Pasmantier
5556515240
new things
2024-10-21 00:14:13 +02:00
Alexandre Pasmantier
10f302546d
type channels with an enum rather than a dyn trait
2024-10-20 13:03:01 +02:00