Commit Graph

2532 Commits

Author SHA1 Message Date
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
Jae-Heon Ji
a29c653385
docs(changelog): provide default themes 2023-04-27 00:27:06 +09:00
Jae-Heon Ji
ff36798c9e
feat: provide default themes (#2307)
* refactor: move themes to zellij-assets

* feat: add theme to the binary

* chore: move new theme from example to assets
2023-04-27 00:26:07 +09:00
Jae-Heon Ji
0a8bbd7f23
docs(changelog): fix typo 2023-04-26 23:30:55 +09:00
Jae-Heon Ji
40f46e8ed8
docs(changelog): add nightfox themes 2023-04-26 23:29:29 +09:00
EdenEast
76805cb529
feat(themes): add nightfox themes (#2384) 2023-04-26 23:26:08 +09:00
Jae-Heon Ji
7371bf58a7
docs(changelog): update architecture docs 2023-04-21 09:51:54 +09:00
Kangaxx-0
55c855ef55
Update architecture doc (#2371)
* Update architecture doc

* fix comments
2023-04-21 09:50:21 +09:00
Aram Drevekenin
d385c73e04
docs(changelog): reload plugins at runtime 2023-04-19 10:10:50 +02:00
Aram Drevekenin
caaee30179
feat(plugins): reload plugin at runtime (#2372)
* fix(plugins): proper error when wasm file does not exist

* reload working

* race condition handling

* refactor(plugins): start plugin

* refactor(plugins): plugin-loader

* refactor(plugins): load/reload plugin

* refactor(plugins): apply cached events

* fix(plugins): gittery loading

* chore(plugins): rename reload-plugin to start-or-reload-plugin

* chore(styling): small cleanups

* style(fmt): rustfmt

* style(fmt): cleanups

* style(fmt): cleanups

* test(e2e): update snapshots

* test(e2e): update snapshots

* chore(repo): comment plugin optimization because it doubles the CI time
2023-04-19 10:09:39 +02:00
Aram Drevekenin
26fcf84702
docs(changelog): default cwd 2023-04-18 16:36:32 +02:00
Kangaxx-0
4c87b1e6bd
feat: support default cwd (#2290)
* init commit

* add default config to kdl file

* change the field from `default_cwd` to `override_cwd`

* change back to default_cwd

* fix test

* default cwd works without `default_shell`
2023-04-18 16:35:51 +02:00
Aram Drevekenin
cecd7b2b7f
docs(changelog): tab sync exclude 2023-04-18 16:34:35 +02:00
Theo Salzmann
525928b18a
feat: Add layout configuration to exclude panes from tab sync (#2314) 2023-04-18 16:33:20 +02:00
Jae-Heon Ji
c7bd2ce922
docs(changelog): hide session on compact-bar 2023-04-16 23:37:53 +09:00
Pedro Fedricci
c604780a21
fix(plugin): respect hide session option on compact-bar (#2368) 2023-04-16 23:36:34 +09:00
Aram Drevekenin
03c507bc64 chore(version): bump development version 2023-04-13 11:16:47 +02:00
Aram Drevekenin
b1b515fb55 chore(release): v0.36.0 2023-04-13 10:35:04 +02:00
Aram Drevekenin
de9eeb2f42
docs(changelog): memory leak fix 2023-04-13 10:03:49 +02:00
Thomas Linford
7e207f4c0c
fix: do not hold on to router thread handle until server exit (#2328)
* do not hold on to thread handle until server exit

* fix tests
2023-04-13 10:02:07 +02:00
Aram Drevekenin
b40f5ef2ca
chore(assets): adjust logo (#2358)
* chore(assets): adjust logo

* chore(assets): adjust logo height
2023-04-12 15:04:01 +02:00
Thomas Linford
00af395bb7
docs(changelog): socket sticky bit fix 2023-04-05 17:39:02 +02:00
Thomas Linford
778d57c3c3
fix(server): set sticky bit on socket files (#2141) 2023-04-05 17:36:47 +02:00
Aram Drevekenin
3973873252
docs(changelog): strider fix 2023-04-04 18:40:21 +02:00
Aram Drevekenin
f5a13c7440
fix(plugins): prevent Strider from opening double-panes when editing files (#2346)
* fix(plugins): make sure to include client_id when writing input

* style(fmt): rustfmt

* fix(plugins): do not remove client plugins on detach
2023-04-04 18:39:34 +02:00
Aram Drevekenin
9d4e60e323
docs(changelog): stack pane focus bug in layout 2023-04-03 18:55:28 +02:00
Aram Drevekenin
809e3d8d21
fix(layout): pane focus in stack (#2344) 2023-04-03 18:54:37 +02:00
Aram Drevekenin
df8db1d2e7
docs(changelog): expanded panes in stack 2023-04-03 18:05:16 +02:00
Aram Drevekenin
3a428effed
feat(panes): allow defining an expanded stacked pane (#2343)
* feat(panes): allow defining an expanded stacked pane

* style(fmt): rustfmt
2023-04-03 18:04:06 +02:00
Aram Drevekenin
63d6711a8d
docs(changelog): tab focus race in layouts 2023-03-31 17:51:14 +02:00
Aram Drevekenin
88da3be23a
fix(layouts): focus tab race (#2340) 2023-03-31 17:50:21 +02:00
Aram Drevekenin
04c6af182e
docs(changelog): scrollback editor spaces fix 2023-03-31 16:24:15 +02:00