Age | Commit message (Collapse) | Author |
|
* xtask/pipeline: Fix publish task
which was previously stuck in an infinite loop after successfully
publishing a crate. The error originated in the code only checking for
error conditions but not breaking out of the inner infinite loop in case
of success.
* xtask: Improve publish failure UX
by offering the user more actions to choose from when an error occured.
* utils/assets: Add generated prost files to assets
to make sure they're available at build time and are picked up by all
components. It seems we hit some strange bug with the build script
where, when running `cargo publish --dry-run` the build script **is
not** run before regularly compiling zellij-utils. This shouldn't happen
according to the docs, but I cannot explain what's causing it. So we're
using this as a workaround for now to make a smooth release.
* xtask: Prevent accidental git commit deletion
when dry-running a publish.
* utils: Add comments to protobuf-related code
to explain why these changes were performed. The comments all include a
link to an issue comment explaining the situation in greater detail.
* xtask: Build protobuf definitions
when building any part of the project, similar to how we build the
plugins when required. This should ensure that all crates built through
`cargo xtask` (which is the officially supported build method) will
receive up-to-date protobuf definitions.
|
|
* fix(panes): stacked panes focus bug
* style(fmt): rustfmt
|
|
* fix(plugins): remove protobuf duplications
* style(fmt): rustfmt
|
|
* fix(plugins): make sure configuration is also part of the plugin keys
* no thanks clippy
|
|
* fix(keybinds): add 'floating' and 'name' to the Run command keybinding
* style(fmt): rustfmt
|
|
* feat(plugins): move_to_focused_tab attribute for LaunchOrFocusPlugin
* style(fmt): rustfmt
|
|
* force plugin render on permission request response
* clear warnings
* Revert "feat(ui): new status bar mode (#2619)"
This reverts commit 27763d26ab83dd9f81c69c75601cbf6075f13790.
* adjust status bar help
* fix colors in session manager and shortcut in status-bar
* adjust keybindings
|
|
panes and create new ones (#2721)
* write/read session metadata to disk for all sessions
* switch session client side
* fix tests
* various adjustments
* fix full screen focus bug in tiled panes
* fix tests
* fix permission sorting issue
* cleanups
* add session manager
* fix tests
* various cleanups
* style(fmt): rustfmt
* clear screen before switching sessions
* I hate you clippy
* truncate controls line to width
* version session cache
* attempt to fix plugin tests
* style(fmt): rustfmt
* another attempt to fix the tests in the ci
|
|
* WIP: add exaple of permission ui
* feat: add request permission ui
* feat: add caching permission in memory
* feat: add permission check
* feat: add file caching
* fix: changes request
* feat(ui): new status bar mode (#2619)
* supermode prototype
* fix integration tests
* fix tests
* style(fmt): rustfmt
* docs(changelog): status-bar supermode
* fix(rendering): occasional glitches while resizing (#2621)
* docs(changelog): resize glitches fix
* chore(version): bump development version
* Fix colored pane frames in mirrored sessions (#2625)
* server/panes/tiled: Fix colored frames
in mirrored sessions. Colored frames were previously ignored because
they were treated like floating panes when rendering tiled panes.
* CHANGELOG: Add PR #2625
* server/tab/unit: Fix unit tests for server.
* fix(sessions): use custom lists of adjectives and nouns for generating session names (#2122)
* Create custom lists of adjectives and nouns for generating session names
* move word lists to const slices
* add logic to retry name generation
* refactor
- reuse the name generator
- iterator instead of for loop
---------
Co-authored-by: Thomas Linford <linford.t@gmail.com>
* docs(changelog): generate session names with custom words list
* feat(plugins): make plugins configurable (#2646)
* work
* make every plugin entry point configurable
* make integration tests pass
* make e2e tests pass
* add test for plugin configuration
* add test snapshot
* add plugin config parsing test
* cleanups
* style(fmt): rustfmt
* style(comment): remove commented code
* docs(changelog): configurable plugins
* style(fmt): rustfmt
* touch up ui
* fix: don't save permission data in memory
* feat: load cached permission
* test: add example test (WIP)
* fix: issue event are always denied
* test: update snapshot
* apply formatting
* refactor: update default cache function
* test: add more new test
* apply formatting
* Revert "apply formatting"
This reverts commit a4e93703fbfdb6865131daa1c8b90fc5c36ab25e.
* apply format
* fix: update cache path
* apply format
* fix: cache path
* fix: update log level
* test for github workflow
* Revert "test for github workflow"
This reverts commit 01eff3bc5d1627a4e60bc6dac8ebe5500bc5b56e.
* refactor: permission cache
* fix(test): permission grant/deny race condition
* style(fmt): rustfmt
* style(fmt): rustfmt
* configure permissions
* permission denied test
* snapshot
* add ui for small plugins
* style(fmt): rustfmt
* some cleanups
---------
Co-authored-by: Aram Drevekenin <aram@poor.dev>
Co-authored-by: har7an <99636919+har7an@users.noreply.github.com>
Co-authored-by: Kyle Sutherland-Cash <kyle.sutherlandcash@gmail.com>
Co-authored-by: Thomas Linford <linford.t@gmail.com>
Co-authored-by: Thomas Linford <tlinford@users.noreply.github.com>
|
|
(#2686)
* work
* almost done with command protobuffers
* done translating command data structures
* mid transferring of every command to protobuff command
* transferred plugin_command.rs, now moving on to shim.rs
* plugin command working with protobufs
* protobuffers in update
* protobuf event tests
* various TODOs and comments
* fix zellij-tile
* clean up prost deps
* remove version mismatch error
* fix panic
* some cleanups
* clean up event protobuffers
* clean up command protobuffers
* clean up various protobufs
* refactor protobufs
* update comments
* some transformation fixes
* use protobufs for workers
* style(fmt): rustfmt
* style(fmt): rustfmt
* chore(build): add protoc
* chore(build): authenticate protoc
|
|
* prototype
* some tests
* break out floating pane
* break out plugin panes
* add keybind and fix some minor issues
* remove cli
* move pane to left/right tab
* update ui
* adjust ui
* style(fmt): rustfmt
* style(comment): remove commented code
* update snapshots
|
|
* work
* make every plugin entry point configurable
* make integration tests pass
* make e2e tests pass
* add test for plugin configuration
* add test snapshot
* add plugin config parsing test
* cleanups
* style(fmt): rustfmt
* style(comment): remove commented code
|
|
|
|
* fix: include theme files into binary
* fix: delete unused features
* fix: change user theme dir to optional
|
|
themes as the base when merging (#2411)" (#2562)
This reverts commit 48e75d05596d58cfdb4e959d7cf571c3b4ed5038.
|
|
|
|
* feat(plugins): close, focus, rename pane, rename tab and show_self api methods
* style(fmt): rustfmt
|
|
* performance(plugins): use a debounced fs watcher
* style(fmt): rustfmt
* fix(macos): use recommended watcher
|
|
* feat(plugins): report pane state to plugins
* refactor(plugins): rename some stuff
* tests(plugins): adjust for new behavior
* style(fmt): rustfmt
|
|
* fix(plugins): allow loading relative urls
* style(fmt): rustfmt
|
|
* 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
|
|
* feat(plugins): add our entire API
* style(fmt): rustfmt
* fix(detach): make it work again
|
|
* 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
|
|
* 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
|
|
* Update config file output
* add more information in config error
|
|
* 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
|
|
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.
|
|
|
|
* 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.
|
|
* refactor: move themes to zellij-assets
* feat: add theme to the binary
* chore: move new theme from example to assets
|
|
* 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
|
|
* 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`
|
|
|
|
* feat(panes): allow defining an expanded stacked pane
* style(fmt): rustfmt
|
|
|
|
without swap layouts (#2336)
|
|
* feat(tab-bar): add option to hide prefix (#2172)
* feat(tab-bar): only hide session_name
* fix(snapshots): update snapshots with new config-var naming
---------
Co-authored-by: Marcel Baur <marcel@baur.gg>
|
|
pane (#2239)
* fix typo
* Add clear screen action
* add proper test
* added bindable action; remove pointless default impl
* add default binding
* use imsnif's variant
* remove commented example config
* remove log line
---------
Co-authored-by: Aram Drevekenin <aram@poor.dev>
|
|
* work
* refactor(plugins): break down start plugin async function
* work
* loading messages
* nice ui
* floating panes and error handling
* cleanups and conflicting plugin/direction
* find exact pane when relayouting
* fix plugin pane titles
* kill loading tasks on exit
* refactor: move stuff around
* style(fmt): rustfmt
* various fixes and refactors
|
|
* Revert "feat: add self-provided themes (#2224)"
This reverts commit 63bfe9c5e495481da97c7c566a727216de75c8a7.
* Revert "docs(changelog): add self-provided themes"
This reverts commit 364f0e7c44921c23eef69c0f2d5fa4ff31aeb336.
|
|
* chore: move themes to default assets
* feat: add self-provided themes
* fix: embed themes into binary
|
|
|
|
* extend display char in tab
* Add action to list all tab names
* print tab names and remove logs
* change msg name, and handle Log in normal client
* fix log
* resolve code conflict
* change var name
* add snapshot test
* fix failed test case
* restore snapshot
* Revert "restore snapshot"
This reverts commit b97a9512ab106615a1a1e5882392a03a17cdf1a3.
* restore snapshot
* revert snapshot
* fix(layout): various parser and ui fixes (#2191)
* fix(layout): error on nodes outside layout node
* fix(layout): move stacked property to pane
* fix(layout): various stack exceptions
* fix(ui): non-flexible stacked pane titles now take up their full length
* fix(ui): stack titles with no-pane-frames take up their proper length
* style(fmt): rustfmt
* docs(changelog): layout fixes
* fix(messaging): cache hold pane messages by their tab_id if the tab is not ready (#2196)
* fix(messaging): cache hold pane messages by their tab_id if the tab is not ready
* style(fmt): rustfmt
* docs(changelog): open panes fix
* fix(layout): tab focus (#2197)
* fix(layout): tab focus
* style(fmt): rustfmt
* docs(changel0g): tab focus fix
* fix(cli): new-tab now also looks in layout_dir for layouts (#2198)
* fix(cli): the new-tab action now also searches for layouts in the layout dir
* style(fmt): rustfmt
* fix(tests): add missing parameter to cli action
* docs(changelog): new-tab cli layout folder fix
* fix(kdl): new-tab keybind looks in layout_dir for layouts (#2200)
* fix(themes): missing tokyo-night-dark theme
* fix(kdl): new-tab keybind also looks in layout_dir for layouts
* docs(changelog): new-tab keybind layout folder fix
* fix(cli): edit cwd (#2201)
* fix(cli): properly set cwd for edit panes
* fix(layouts): properly set cwd for edit panes
* style(fmt): rustfmt
* docs(changelog0
* fix(layouts): do not relayout twice on auto_layout (#2202)
* fix(layouts): do not relayout twice on auto_layout
* style(fmt): rustfmt
* fix(new-tab): get config parameters from config file (#2203)
* fix(cli): take default shell from config if it exists when opening new tab
* fix(cli): take layout dir from config when opening new tab if it exists
* style(fmt): rustfmt
* docs(changelog): new-tab config parameters
* fix(grid): only use background pending styling when deleting characters (#2204)
* docs(changelog): neovim underline fix
* feat(layouts): exact panes constraint (#2206)
* style(fmt): remove warnings
* fix(swap-layouts): introduce exact panes constraint
* fix(swap-layouts): improve floating pane swap layout ux
* style(fmt): rustfmt
* docs(changelog): exact panes constraint
* fix(pty): report no-cwd for empty path returned from sysinfo (#2213)
* fix(sixel): report pixel size in winsize change ioctl (#2212)
* fix(sixel): report pixel size in winsize change ioctl
* style(fmt): rustfmt
* docs(changelog): various fixes
* style(code): naming
* test(log): adjust query tab names test to look at the log message
* style(fmt): rustfmt
---------
Co-authored-by: Aram Drevekenin <aram@poor.dev>
Co-authored-by: Jae-Heon Ji <32578710+jaeheonji@users.noreply.github.com>
|
|
* Add unit test for plugin run location parsing
* Fix file plugin parsing for relative paths
* Update test to check for path with spaces
* Add a couple more tests
|
|
* style(fmt): remove warnings
* fix(swap-layouts): introduce exact panes constraint
* fix(swap-layouts): improve floating pane swap layout ux
* style(fmt): rustfmt
|
|
* fix(cli): take default shell from config if it exists when opening new tab
* fix(cli): take layout dir from config when opening new tab if it exists
* style(fmt): rustfmt
|
|
* fix(cli): properly set cwd for edit panes
* fix(layouts): properly set cwd for edit panes
* style(fmt): rustfmt
|
|
* fix(themes): missing tokyo-night-dark theme
* fix(kdl): new-tab keybind also looks in layout_dir for layouts
|
|
* fix(cli): the new-tab action now also searches for layouts in the layout dir
* style(fmt): rustfmt
* fix(tests): add missing parameter to cli action
|
|
* fix(layout): error on nodes outside layout node
* fix(layout): move stacked property to pane
* fix(layout): various stack exceptions
* fix(ui): non-flexible stacked pane titles now take up their full length
* fix(ui): stack titles with no-pane-frames take up their proper length
* style(fmt): rustfmt
|