Commit Graph

2413 Commits

Author SHA1 Message Date
Aram Drevekenin
9c4c78d5a3 chore(release): v0.37.0 2023-06-18 14:17:39 +02:00
Aram Drevekenin
76019acf00
docs(plugins): better zellij-tile-docs (#2560)
* docs(plugins): better zellij-tile-docs

* docs(code): fix examples - thanks cargo!
2023-06-18 13:57:27 +02:00
Aram Drevekenin
e79c3a96b7
docs(plugins): document the zellij-tile events and commands api (#2554) 2023-06-17 20:39:36 +02:00
Aram Drevekenin
805fd1dc81
feat(plugins): strider improvements (#2551)
* fix(plugins): adjust debounce and smart file ignore in strider

* style(comment): remove commented code

* style(fmt): rustfmt
2023-06-17 18:16:41 +02:00
Aram Drevekenin
29a391f60e
refactor(plugins): improve api (#2552)
* refactor(plugins): improve shim API

* style(fmt): rustfmt
2023-06-17 17:47:28 +02:00
Aram Drevekenin
10b7f3a981
docs(changelog): more plugin api methods 2023-06-17 14:44:11 +02:00
Aram Drevekenin
63e3a1eae2
feat(plugins): more plugin api methods (#2550)
* feat(plugins): close, focus, rename pane, rename tab and show_self api methods

* style(fmt): rustfmt
2023-06-17 14:41:49 +02:00
Aram Drevekenin
044519f537
docs(changelog): debounced watcher 2023-06-16 21:05:22 +02:00
Aram Drevekenin
b7436742cd
performance(plugins): use a debounced fs watcher (#2546)
* performance(plugins): use a debounced fs watcher

* style(fmt): rustfmt

* fix(macos): use recommended watcher
2023-06-16 21:04:22 +02:00
Aram Drevekenin
317bdfc902
docs(changelog): plugin pane events 2023-06-15 17:08:23 +02:00
Aram Drevekenin
bcbd940bf9
feat(plugins): plugin pane state events (#2545)
* feat(plugins): report pane state to plugins

* refactor(plugins): rename some stuff

* tests(plugins): adjust for new behavior

* style(fmt): rustfmt
2023-06-15 17:07:40 +02:00
Aram Drevekenin
8d6f20cfd9
docs(changelog): relative plugin urls 2023-06-14 13:45:29 +02:00
Aram Drevekenin
f19334754c
fix(plugins): allow loading relative urls (#2539)
* fix(plugins): allow loading relative urls

* style(fmt): rustfmt
2023-06-14 13:44:46 +02:00
Aram Drevekenin
59239cc113
docs(contributing): status of contributions 2023-06-14 13:24:34 +02:00
Aram Drevekenin
0545c20d8d
docs(changelog): suppress debug logging 2023-06-13 14:56:41 +02:00
Aram Drevekenin
3d82a2f5ac
fix(logs): suppress debug logs when not debugging (#2532)
* fix(logs): suppress debug logs when not debugging

* fix(tests): add debug flag to constructor
2023-06-13 14:55:49 +02:00
Aram Drevekenin
603eeb4c58
docs(changelog): plugin fs watch fix 2023-06-13 09:01:14 +02:00
Aram Drevekenin
0b831cfee5
fix(plugins): only listen to hd if a plugin is subscribed to hd events (#2529)
* fix(plugins): only listen to hd if a plugin is subscribed to hd events

* style(fmt): rustfmt

* fix(tests): give time for fs watcher to do its thing

* fix(tests): increase timeout
2023-06-13 08:59:44 +02:00
Aram Drevekenin
9e69bea434
docs(changelog): strider search improvements 2023-06-12 23:27:43 +02:00
Aram Drevekenin
b0a003dfc6
fix(strider): clear search term on ESC (#2531) 2023-06-12 23:26:47 +02:00
Aram Drevekenin
09e8da6a3a
docs(changelog): focus plugin tab fix 2023-06-12 22:06:22 +02:00
Aram Drevekenin
c65017c766
fix(screen): focus tab as well as pane when launching existing plugin (#2530)
* fix(screen): focus tab as well as pane when launching existing plugin

* style(fmt): rustfmt
2023-06-12 22:05:32 +02:00
Aram Drevekenin
02ee810d82
docs(changelog): cursor flicker fix 2023-06-12 19:03:13 +02:00
Aram Drevekenin
bffc2794da
fix(output): do not hide cursor on a render that does not include visual assets (#2528)
* fix(terminal): do not hide cursor if output-buffer only has non-visual assets

* style(fmt): rustfmt
2023-06-12 19:01:29 +02:00
Jae-Heon Ji
84e51d21fc
docs(changelog): fix local cache 2023-06-12 21:02:25 +09:00
Jae-Heon Ji
84f6edf999
fix: improve user experience (#2522) 2023-06-12 21:01:20 +09:00
Aram Drevekenin
49fbe15c98
docs(changelog): plugin api 2023-06-09 22:50:26 +02:00
Aram Drevekenin
8485b1c296
feat(plugins): extensive plugin api (#2516)
* feat(plugins): add our entire API

* style(fmt): rustfmt

* fix(detach): make it work again
2023-06-09 22:49:12 +02:00
Aram Drevekenin
7f0b878520
docs(changelog): plugin system overhaul 2023-06-07 12:45:18 +02:00
Aram Drevekenin
c11d75f915
feat(wasm-plugin-system): major overhaul and some goodies (#2510)
* strider resiliency

* worker channel prototype

* finalized ui

* show hide plugin

* fs events to plugins

* tests for events and new screen instructions

* various refactoringz

* report plugin errors instead of crashing zellij

* fix plugin loading with workers

* refactor: move watch filesystem

* some fixes and refactoring

* refactor(panes): combine pane insertion logic

* refactor(screen): launch or focus

* refactor(pty): consolidate default shell fetching

* refactor: various cleanups

* initial refactoring

* more initial refactoring

* refactor(strider): search

* style(fmt): rustfmt

* style(pty): cleanup

* style(clippy): ok clippy

* style(fmt): rustfmt
2023-06-07 12:43:35 +02:00
Jae-Heon Ji
b8f095330a
docs(changelog): fix cwd of newtab action 2023-06-01 02:54:58 +09:00
XiaoZhang
3d7c54aca0
fix: cwd of newtab action (#2455) 2023-06-01 02:54:09 +09:00
Aram Drevekenin
df0c7f1d9a
docs(changelog): plugin workers 2023-05-16 12:57:39 +02:00
Aram Drevekenin
5fe4d60c22
feat(plugins): Plugin workers and strider (#2449)
* mvp of strider fuzzy find

* improve search ui

* various refactoringz

* moar refactoring

* even more refactoring

* tests and more refactoring

* refactor: remove unused stuff

* style(fmt): rustfmt

* debug ci

* debug ci

* correct path for plugin system tests

* fix plugin system ci tests

* remove debugging statements from test

* fix plugin worker persistence

* add test for plugin worker persistence

* style(fmt): rustfmt

* final cleanups

* remove outdated comments
2023-05-16 12:47:18 +02:00
Jae-Heon Ji
4b7d7c34b7
docs(changelog): update config file output 2023-05-15 23:57:06 +09:00
Kangaxx-0
a2450b0d91
Fix issue 2421 - Update config file output (#2443)
* Update config file output

* add more information in config error
2023-05-15 23:56:03 +09:00
har7an
30d0cffa42
Use rust 1.67 (#2375)
* rust: Update toolchain version to 1.67

* xtask/pipeline/publish: Drop manual "wait"

for crates.io to catch up, which is obsolete with rust 1.66 and up.
Cargo does that on its own now. See
https://github.com/rust-lang/cargo/pull/11062

* xtask: Add function to obtain asset_dir

instead of assembling it on demand throughout the codebase.

* xtask/run: Add '--quick-run' flag

as a convenient shorthand for `cargo xtask run --data-dir
$PROJECT_ROOT/zellij-utils/assets`.

* cargo: Add 'q' command alias

as a shorthand for 'cargo xtask run --quick-run'

* cargo: Update thiserror to 1.0.40

* cargo: Update anyhow to 1.0.70

and specify dependency only once inside `zellij-utils`, not inside the
zellij root crate.

* cargo: Update names to 0.14.0

* cargo: Update miette to 5.7.0

and re-export the dependency from zellij-utils, to avoid duplicate
(incompatible) includes from inside zellij-utils and the root crate.

* cargo: Update dialoguer to 0.10.4

* fix formatting

* changelog: Add PR #2375
2023-05-09 02:43:28 +00:00
Thomas Linford
204c41e63f
docs(changelog): fix FreeBSD sticky bit crash 2023-05-05 00:05:47 +02:00
Val Packett
d124a1e469
Do not unwrap() the sticky bit setting! (#2424)
It fails on FreeBSD, making the zellij server quit and the client spin endlessly retrying to connect.
2023-05-05 00:00:43 +02:00
Thomas Linford
6c802cec0d
docs(changelog): build/ci speedup 2023-05-03 21:19:18 +02:00
Thomas Linford
f598ca3738
improve build/ci times (#2396)
- avoid building all workspace crates with `cargo x build` (only plugins and main binary)
- only set the target triple in tests for plugins
- add new profile for `cargo x run` to build with optimized dependencies => FAST plugins when developing (thanks [Bevy Book](https://bevyengine.org/learn/book/getting-started/setup/#compile-with-performance-optimizations) for the idea)
- use https://github.com/Swatinem/rust-cache to avoid rebuilding dependencies every time in ci
- split `Build & Test` job into two so they run in parallel
- hopefully improve the flaky tests situation, this also makes the e2e tests run much faster (some tests produced correct snapshots but had some logic errors causing them to loop for much longer than necessary). Add some output to the tests so it is easier to see if something goes wrong.
- remove verbose build output from e2e test build
2023-05-03 21:16:38 +02:00
Jae-Heon Ji
ecd63a100b
docs(changelog): fix theme loading 2023-05-02 00:54:20 +09:00
Imbris
48e75d0559
Fix error loading non-existant themes directory and use default themes as the base when merging (#2411)
* Fix error loading non-existant themes directory

If the themes directory is derived from the config directory (rather
than being specified explicitly in the config_options), we will avoid
trying to load from it if it doesn't exist.

* Use default themes as the base when merging with the themes specified in
the config.

This avoids the default themes overriding themes specified in the
config.

* If `setup --clean` is used, avoid loading from the user's theme
directory.
2023-05-02 00:51:41 +09:00
Aram Drevekenin
acb31c5322
fix(e2e): fix flaky locked mode test (#2413) 2023-04-28 20:59:15 +02:00
Aram Drevekenin
ce3882fb82
docs(changelog): error file paths 2023-04-28 16:54:42 +02:00
Imbris
95bfff1934
fix(errors): add file path context to all IO errors in ConfigError (#2412) 2023-04-28 16:53:46 +02:00
Aram Drevekenin
0e379fe15a
docs(changelog): support env vars and shell expansions in cwd 2023-04-28 16:46:20 +02:00
Ran Shaham
b640270804
feat(layout): Support environment variables in cwd (#2288) (#2291)
* feat(layout): Support environment variables in cwd (#2288)

* add `shellexpand` as dependency
* expand environment variable in kdl parser's `parse_cwd()`

* Fix and enhance environment variable expansion.

* Return a proper `ConfigError` on failures.
* Replace raw cwd parsing with `parse_cwd()`.
* Add tests that verify correct expansions.

* Perform env var expansion in more contexts.

* feat(layout): Rewrite env var tests as snapshots.

* Update layout env var expansion test snapshot.
2023-04-28 16:45:08 +02:00
Aram Drevekenin
b2ec105c76
docs(changelog): update and render plugins async 2023-04-28 15:28:14 +02:00
Aram Drevekenin
1289643f89
feat(plugins): update and render plugins asynchronously (#2410)
* working-ish minus a few race conditions

* relax atomicity

* various refactoringz

* remove commented out code

* clarify some stuffs

* refactor(plugins): move PluginMap and friends to a different file

* refactor(plugins): move zellij_exports and friends to a different file

* style(fmt): rustfmt

* fix(e2e): adjust tests for flakiness async loading
2023-04-28 15:26:39 +02:00