* xtask: Add arguments to `publish`
that allow specifying a custom git remote to push to and a custom cargo
registry to publish packages to.
* xtask/publish: Don't release `xtask` subcrate
because it's not meant to be released at all.
* xtask/publish: Add status messages to publish
so we see what crate is currently being published, too.
* xtask/publish: Disable default features on `zellij`
because otherwise it tries to pick up the debug builds of the plugins,
which aren't part of released version of `zellij utils`.
* xtask/publish: Fix handling of custom registry
* docs: Add `RELEASE.md`
which explains how to simulate a zellij release.
* xtask: Apply rustfmt
* xtask: Remove `wasm-opt` from build steps
because recent versions cause havoc in the release process in GitHub
pipelines and it's primary goal is to only reduce binary size. Current
rust versions seem to produce very compact wasm binaries themselves,
though.
* .github: Don't install wasm-opt in workflows
* docs: Improve error handling docs
and add more TL;DRs and new sections about handling specific errors, and
logging errors.
* contributing: Add more coding tips
* docs: Describe how to handle Options as errors
* CONTRIBUTING: Add tips for code contributions
which will be home to condensed tips and best-practices around the
zellij code. Currently explains to prefer returning `Result` types
instead of `unwrap`ing on them.
The tips in here are meant to be short, concise guides that allow the
user to get started without a lot of reading. The individual tips can
(and should) be supplemented with links to "further reading" where the
topic at hand is explained in greater detail.
* docs: Add ERROR_HANDLING
that explains how we plan to change error handling in zellij and invites
new contributors to join the fun. Details the currently existent error
handling capabilities and gives a bunch of examples taken from #1670.
* utils/errors: Shorten docblock
by moving previous content under "Help Wanted" to the new
`docs/ERROR_HANDLING` document and link to the document instead.
* add(option): `default_layout`
Add `option` `default_layout` / `default-layout`,
that allows specifying a different layout, that should
be loaded on start.
Eg:
```
default_layout: compact
```
* add(manpage): `default_layout`
* initial commit for opening the current buffer in an editor
* fix(editor): take hidden panes into consideration when manipulating tiled grid
* when closing an edit buffer, take the geometry of the replaced buffer from the closed buffer
* if the floating panels are displayed, don't add to hidden panels the current buffer
* strategy changing - put the panels inside a suppressed_panels HashMap instead of hidden_panels
* Revert "strategy changing - put the panels inside a suppressed_panels HashMap instead of hidden_panels"
This reverts commit c52a203a20.
* remove the floating panes by moving them to the tiled_panes in hidden_panels
* feat(edit): open editor to correct line and don't crash when none is set
* formatting
* feat(edit): use suppressed panes
* style(fmt): rustfmt and logs
* style(fmt): clean up unused code
* test(editor): integration test for suppressing/closing suppressed pane
* test(e2e): editor e2e test
* style(fmt): rustfmt
* feat(edit): update ui and setup
* style(fmt): rustfmt
* feat(config): allow configuring scrollback_editor explicitly
* style(fmt): rustfmt
* chore(repo): build after merging
Co-authored-by: Aram Drevekenin <aram@poor.dev>
* Initial commit for fixing #1353
* adding a new line between the lines_above and the viewport
* changes following code review
* implementing a test case for the dump screen
* implemented test case for dump_screen
* better regexp replace
* fixes following code review
* style(api): remove extraneous method in plugin pane
* style(fmt): rustfmt
* style(tests): fix method name
Co-authored-by: Aram Drevekenin <aram@poor.dev>
The default keybinds can be unbound either for a specific mode, or for every mode.
It supports either a list of `keybinds`, or a bool indicating that every keybind
should be unbound:
```
keybinds:
unbind: true
```
Will unbind every default binding.
```
keybinds:
unbind: [ Ctrl: 'p']
```
Will unbind every default `^P` binding for each mode.
```
keybinds:
normal:
- unbind: true
```
Will unbind every default keybind for the `normal` mode.
```
keybinds:
normal:
- unbind: [ Alt: 'n', Ctrl: 'g']
```
Will unbind every default keybind for `n` and `^g` for the `normal` mode.