summaryrefslogtreecommitdiffstats
path: root/Cargo.toml
AgeCommit message (Collapse)Author
2022-12-09chore(version): patch version due to CI difficultiesv0.34.1Aram Drevekenin
2022-12-09HOTFIX: utils: Move plugins into new assets folder (#2003)har7an
that is included in the utils to make builds pass.
2022-12-09HOTFIX: Feature/ignore asset map (#2002)har7an
* utils: feature-gate asset map to make publishing on crates.io possible without compile errors. * setup: Fix asset_map feature
2022-11-22plugins: rework plugin loading (#1924)har7an
* zellij: Move "populate_data_dir" to utils and rewrite it to take a second, optional parameter. This allows controlling whether only a specific asset should be installed. We do this as preparation for being able to recover from a plugin version mismatch error, where we will need to repopulate the data dir for offending plugins. * server/wasm_vm: Recover from PluginVersionMismatch Adds a global plugin cache that stores, per plugin config, the wasmer module associated with it. Make `start_plugin` take the pre-populated module and create only the necessary modifications to the wasm env etc. * utils: Fix formatting * zellij: Delete non-existent module * utils/shared: fix missing "set_permissions" function when not on unix systems. * server/wasm_vm: Don't populate cachedir with serialized versions of the WASM plugins. * utils/input/plugins: load wasm bytes from assets for builtin plugin specifications. This foregoes any need to: - Dump the plugin bytes to disk at all and - subsequently read the plugin bytes from disk * zellij: Disable default asset installation which previously installed only the builtin plugins to disk. This is no longer necessary because now we can load the builtin plugins directly from the application binary. * utils/input/plugins: Update docs * utils/input/plugins: Add 'is_builtin' method to `PluginConfig` that returns true if the plugin configuration refers to a builtin plugin. * wasm_vm: Remove plugin version mismatch handling because a version mismatch in an internal plugin is now unfixable, with the plugins being loaded from the running binary, and we have no control over external plugins in the first place. * cargo: Reintroduce feature flag for `disable_automatic_asset_installation` * utils/consts: Add `ASSET_MAP` which currently contains the compiled WASM plugins. * utils/shared: Fix clippy lint * utils/errors: Add more `ZellijError` variants * zellij: Make loading internal plugins optional by reenabling the `disable_automatic_asset_installation` flag and utilizing it for this purpose. Changes plugin search behavior to throw better errors in case the builtin plugins cannot be found, depending on the state of this feature. * utils/errors: Apply rustfmt * utils/setup: Allow dumping builtin plugins to a specified folder on disk. This is meant to be an "escape hatch" for users that have accidentally deleted the builtin plugins from disk (in cases where the plugins aren't loaded from inside the zellij binary). * utils/input/plugins: Update docs * utils/setup: Add hint to `setup --check` output when zellij was built without the `disable_automatic_asset_installation` flag and will thus not read builtin plugins from the "PLUGIN DIR". * utils/setup: Refine `setup --dump-plugins` to dump to: - The default "DATA DIR" when no option is provided with the argument, or - The provided option, if existent Also print a message to stdout with the destination folder that the plugins are dumped to. * server/wasm_vm: Ignore "NotFound" errors when attempting to delete the non-existent plugin data directories. This silences an error message that otherwise ends up in the logs when quitting zellij. * utils/errors: Extend "BuiltinPluginMissing" msg to hint the user to the `zellij setup --dump-plugins` command to fix their issues for them! * utils/errors: Track caller in calls to `non_fatal` which will hopefully, once closures can be annotated, allow us to display the location of the call to `non_fatal` in log messages. * utils/input/plugins: Fix plugin lookup to prefer internal assets if available. It was previously broken because sorting the paths vector before deduping it would bring the paths into a wrong order, looking up in the plugin folder first. Also print a log message when a plugin is being loaded from the internal assets but exists on disk, too. * Apply rustfmt * make: build-e2e depends on wasm-opt-plugins so it updates the assets when building the binary * server/qwasm_vm: Remove var * utils/consts: Add plugins from target folder and include them in the asset map from there, too. Include plugins from debug or release builds, depending on the build type. * utils/consts: Take release plugins from assets instead of the target/release folder. The latter will break installations from crates.io, because we currently rely on including the plugins we pre-compiled and distribute along with the binary. * server/wasm_vm: Reintroduce .cache folder to speedup subsequent application launches. * cargo: Reorder workspace members to improve behavior with `cargo make` with respect to compilation order. * Makefile: restructure plugin tasks * Makefile: Fix CI errors * Makefile: More CI diagnosis * github: Install wasm-opt in e2e test workflow * Makefile: Build plugins for e2e-test target * server/Wasm_vm: Reorder plugin folder creation so no folders are created in the plugin cache when loading a plugin fails due to not being present or similar. * update plugins testcommit * makefile: Change job order * changelog: Add PR #1924
2022-11-10chore(version): bump development versionAram Drevekenin
2022-11-10chore(release): bring back strippingAram Drevekenin
2022-11-09chore(deps): bump termwiz to 0.19.0 (#1896)Jonathan LEI
* chore(deps): bump termwiz to 0.19.0 * chore: bump MSRV to 1.60
2022-11-09cargo: Don't strip release binary (#1916)har7an
* cargo: Don't strip release binary because the lack of debug symbols makes the panic backtrace completely useless. It will show a long list of unknown locations then. Except for a minor space saving of 3-4 MB, debug symbols don't have any negative side-effects for our application that we're aware of. * changelog: Add PR #1916 Don't strip debug symbols from release binaries so the backtraces contain the function names involved. * cargo: Explicitly keep debug symbols and add a comment explaining why.
2022-10-25chore(version): bump development versionAram Drevekenin
2022-10-05feat(config): switch to kdl (#1759)Aram Drevekenin
* chore(config): default kdl keybindings config * tests * work * refactor(config): move stuff around * work * tab merge layout * work * work * layouts working * work * layout tests * work * work * feat(parsing): kdl layouts without config * refactor(kdl): move stuff around * work * tests(layout): add cases and fix bugs * work * fix(kdl): various bugs * chore(layouts): move all layouts to kdl * feat(kdl): shared keybidns * fix(layout): do not count fixed panes toward percentile * fix(keybinds): missing keybinds and actions * fix(config): adjust default tips * refactor(config): move stuff around * fix(tests): make e2e tests pass * fix(kdl): add verbose parsing errors * fix(kdl): focused tab * fix(layout): corret default_tab_template behavior * style(code): fix compile warnings * feat(cli): send actions through the cli * fix(cli): exit only when action is done * fix(cli): open embedded pane from floating pane * fix(cli): send actions to other sessions * feat(cli): command alias * feat(converter): convert old config * feat(converter): convert old layout and theme files * feat(kdl): pretty errors * feat(client): convert old YAML files on startup * fix: various bugs and styling issues * fix: e2e tests * fix(screen): propagate errors after merge * style(clippy): lower clippy level * fix(tests): own session_name variable * style(fmt): rustfmt * fix(cli): various action fixes * style(fmt): rustfmt * fix(themes): loading of theme files * style(fmt): rustfmt * fix(tests): theme fixtures * fix(layouts): better errors on unknown nodes * fix(kdl): clarify valid node terminator error * fix(e2e): adjust close tab test * fix(e2e): adjust close tab test again * style(code): cleanup some comments
2022-09-09chore(version): bump development versionAram Drevekenin
2022-09-09chore(release): v0.31.4v0.31.4Aram Drevekenin
2022-08-18chore(version): bump development versionAram Drevekenin
2022-08-18chore(release): v0.31.3v0.31.3Aram Drevekenin
2022-08-17chore(version): bump development versionAram Drevekenin
2022-08-17chore(release): v0.31.2v0.31.2Aram Drevekenin
2022-08-02chore(version): bump development versionAram Drevekenin
2022-08-02chore(release): v0.31.1v0.31.1Aram Drevekenin
2022-07-28chore(version): bump development versionAram Drevekenin
2022-06-25add(feature): `unstable` (#1542)a-kenji
Add a feature `unstable`, which is intended to communicate the same intent. Gate: Send actions from cli with the `unstable` feature.
2022-06-15feat: add capability to dispatch actions from cli (#1265)a-kenji
* feat: add capability to dispatch actions from cli Add capability to dispatch actions from the cli. Can be invoked through `zellij action [actions]` Automatically sends the action either to the current session, or if there is only one session to the single session. If there are multiple sessions, and no session is specified it will error out. Example: 1. ``` zellij action "[NewTab: , NewTab: ]" ``` 2. ``` zellij -s fluffy-cat action '[NewPane: , WriteChars: "echo Purrr\n" ]' ``` 3. ``` zellij -s fluffy-cat action '[ CloseTab, ] ``` * add: error message on malformed input Add an error message on malformed input, for the `action`'s dispatch. Rather than resulting in a panic. * add: function to query the client id * add: send specific actions to certain clients Adds ability to send actions, that don't impact the server state to all connected clients. For example `MoveFocus` * add: client_id to non blocking actions * chore(fmt): `cargo fmt` * add: pick correct session, if there is exactly one * add: use correct `client_id` for detach action * add: make `[ ]` opaque to the user * add: miette to toplevel to improve error message * add: fake client reading configuration Add the fake client reading configuration files, this allows actions, that rely on configuration work correctly. This is an intermediate solution, and should ideally not be needed. It would be better if most of this state would be handled by the server itself. * chore(fmt): rustmt * add: ability to detach multiple clients Add ability to detach multiple clients at the same time. * remove: obsolete functionality * remove: unused functionality * add: send correct action upon exiting * chore(update): cargo update
2022-06-07chore(version): bump development versionAram Drevekenin
2022-06-03add(plugin): `compact-bar` & `compact` layout (#1450)a-kenji
* add(plugin): `compact-bar` & `compact` layout * add(nix): `compact-bar` plugin * add(config): `compact-bar` to the config * add(workspace): `compact-bar` to workspace members * add(assets): `compact-bar` * chore(fmt): rustfmt * add(nix): add `compact-bar` * add: compact layout to dump command * nix(build): fix destination of copy command * add(makefile): add `compact-bar` to `plugin-build` * add(layout): `compact-bar` to layout * add: install `compact-bar` plugin * fix(test): update input plugin test * fix(plugin): default colors for compact-bar
2022-05-23Updated names and dialoguer crates dependencies (#1430)Carmelo Sarta
* Updated names and dialoguer crates dependencies I tried to build and run zellij with the updated dependencies and they seem to show no issues. I need this in order to package zellij for Fedora. * Updated cargo.lock * fix: use suggested option for `names` crate https://github.com/fnichol/names/blob/main/CHANGELOG.md#0120---2021-09-12 Co-authored-by: a-kenji <aks.kenji@protonmail.com>
2022-05-22build: strip debug symbols (#1177)a-kenji
* build: strip debug symbols Stripping the symbols for the release build drops binary size currently by 20% and the plugin binaries by up to 50%. Alternative: Keep the debug symbols also on releases * bump(rust): `1.58.0` -> `1.59.0` * chore: bump MSRV `1.56` -> `1.59` Needed for cargos strip-debug feature
2022-05-10fix(deps): Rename `suggestion` crate to `suggest` (#1387)Ken Matsui
2022-05-09build(deps): bump log from 0.4.16 to 0.4.17 (#1386)dependabot[bot]
Bumps [log](https://github.com/rust-lang/log) from 0.4.16 to 0.4.17. - [Release notes](https://github.com/rust-lang/log/releases) - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/log/commits/0.4.17) --- updated-dependencies: - dependency-name: log dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02chore(version): bump development versionAram Drevekenin
2022-05-02chore(release): v0.29.1v0.29.1Aram Drevekenin
2022-05-02chore(version): bump development versionAram Drevekenin
2022-04-13chore(version): bump development versionAram Drevekenin
2022-04-13chore(package): patch versionAram Drevekenin
2022-03-31chore(version): bump development versionAram Drevekenin
2022-03-28build(deps): bump log from 0.4.14 to 0.4.16 (#1278)dependabot[bot]
Bumps [log](https://github.com/rust-lang/log) from 0.4.14 to 0.4.16. - [Release notes](https://github.com/rust-lang/log/releases) - [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/log/commits) --- updated-dependencies: - dependency-name: log dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-17fix(feat): `disable_automatic_asset_installation` (#1226)a-kenji
* fix(feat): `disable_automatic_asset_installation` This fixes a regression in the feature system: The asset installation didn't get turned off by the feature. Add error logging to the install functions. Properly show features in setup disable `mkdir` in `wasm_vm` on `feature-disable-asset-installation` Alternative: Is this even needed? We make sure the directory is there upon the normal asset installation. fixes #1130
2022-03-16chore(version): bump development versionAram Drevekenin
2022-03-16chore(release): v0.26.1v0.26.1Aram Drevekenin
2022-03-11chore(version): bump development versionAram Drevekenin
2022-03-04fix(cargo.toml): remove reduntant `resolver` key (#1170)a-kenji
There is no need anymore to specify `resolver=2`, `edition=2021` already turns on the appropriate resolver.
2022-02-27feat: add `cargo-binstall` method (#1129)Jae-Heon Ji
* feat: add cargo-binstall method * fix: update archive format type
2022-02-27Bump `suggestion` version to the latest (#1124)Ken Matsui
Closes: https://github.com/zellij-org/zellij/issues/1068
2022-02-22chore(version): bump development versionAram Drevekenin
2022-01-05chore(version): bump development versionAram Drevekenin
2021-12-20chore(version): bump development versionAram Drevekenin
2021-12-20chore(version): bump development versionv0.23.0Aram Drevekenin
2021-12-14chore(version): bump development versionAram Drevekenin
2021-12-13chore(version): bump development versionAram Drevekenin
2021-11-29chore(version): bump development versionAram Drevekenin
2021-11-11Merge branch 'suggestion-for-similar-session-name' of ↵a-kenji
https://github.com/ken-matsui/zellij into ken-matsui-suggestion-for-similar-session-name
2021-11-11feat(sessions): Suggestion for a similar session nameKen Matsui
Remove unnecessary to_string Replace `garando_syntax` crate with `lev_distance` which is much smaller Replace `lev_distance` crate with `suggestion` to simplify the code