aboutsummaryrefslogtreecommitdiffstats
path: root/Cargo.lock (follow)
Commit message (Collapse)AuthorAge
...
* | fix(envs): Unify operation of Zellij environment variables (#842)Ken Matsui2021-11-10
| |
* | chore(version): bump development versionAram Drevekenin2021-11-08
|/
* fix(main): Refactor src/main.rs by splitting one massive main function into ↵Ken Matsui2021-11-05
| | | | | | | commands.rs (#829) * fix(main): Remove unnecessary pub visibility from the main function in `src/main.rs` * fix(main): Avoid unnecessary if-evaluations in the main function of `src/main.rs` * fix(commands): Simplify kill_all_sessions
* Merge branch ↵a-kenji2021-11-05
|\ | | | | | | 'support-first-option-in-attach-subcommand-to-attach-the-first-session' of https://github.com/ken-matsui/zellij into ken-matsui-support-first-option-in-attach-subcommand-to-attach-the-first-session
| * feat(attach): Support `--index` option to choose specific session by ↵Ken Matsui2021-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | provided number in active sessions ordered by creation date, resolve #823 feat(attach): Support `--first` option for `attach` sub-command to let zellij choose the alphabetically first session; resolve #823 fix(attach-first): Fix `--first` option to choose the first created session in the existent sessions feat(attach): Support `--index` option to choose the session indexed by provided number like -t option of tmux feat(attach): Support listing active sessions with index when a provided number is not found in the active sessions feat(attach): Support listing active sessions with index when a provided number is not found in the active sessions feat: Add anyhow to uniformly treat error types and avoid panics
* | fix(errors): Introduce thiserror to make error types simpler (#836)Ken Matsui2021-11-05
| |
* | fix(errors): Add colored crate to replace primitive color formatting (#837)Ken Matsui2021-11-05
| |
* | Fix: move `colors_transform` to `colorsys` (#832)a-kenji2021-11-02
| | | | | | | | | | * `colors_transform` is deprecated and superceded by `colorsys` ref: https://crates.io/crates/colors-transform
* | fix(unix): forkpty => openpty (#830)Aram Drevekenin2021-11-01
|/ | | | | * fix(unix): forkpty => openpty * style(fmt): make rustfmt happy
* fix(compatibility): home and end key fix (#815)Aram Drevekenin2021-10-29
| | | | | | | * fix(compatibility): handle home/end keys properly from terminfo * style(fmt): make rustfmt happy * style(fmt): remove unused import
* fix(perf): plugins are only compiled onceBrooks Rady2021-10-26
|
* chore(version): bump development versionAram Drevekenin2021-10-20
|
* chore(version): bump development versionAram Drevekenin2021-09-30
|
* chore(version): bump development versionAram Drevekenin2021-09-30
|
* hotfix(stdin): poll for mouse hold in the stdin thread (#752)Aram Drevekenin2021-09-30
| | | | | | | * hotfix(stdin): poll for mouse hold in the stdin thread * add missing dont panic * style(fmt): make rustfmt happy
* feat(sessions): mirrored sessions (#740)Aram Drevekenin2021-09-27
| | | | | | | | | | | | | | | | | * feat(sessions): mirrored sessions * fix(tests): input units * style(fmt): make rustfmt happy * fix(tests): make mirrored sessions e2e test more robust * refactor(sessions): remove force attach * style(fmt): rustfmtify * docs(changelog): update change * fix(e2e): retry on all errors
* feat(plugin): add manifest to allow for plugin configuration (#660)spacemaison2021-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(plugins-manifest): Add a plugins manifest to allow for more configuration of plugins * refactor(plugins-manifest): Better storage of plugin metadata in wasm_vm * fix(plugins-manifest): Inherit permissions from run configuration * refactor(plugins-manifest): Rename things for more clarity - The Plugins/Plugin structs had "Config" appended to them to clarify that they're metadata about plugins, and not the plugins themselves. - The PluginType::OncePerPane variant was renamed to be just PluginType::Pane, and the documentation clarified to explain what it is. - The "service" nomenclature was completely removed in favor of "headless". * refactor(plugins-manifest): Move security warning into start plugin * refactor(plugins-manifest): Remove hack in favor of standard method * refactor(plugins-manifest): Change display of plugin location The only time that a plugin location is displayed in Zellij is the border of the pane. Having `zellij:strider` display instead of just `strider` was a little annoying, so we're stripping out the scheme information from a locations display. * refactor(plugins-manifest): Add a little more documentation * fix(plugins-manifest): Formatting Co-authored-by: Jesse Tuchsen <not@disclosing>
* chore(version): bump development versionAram Drevekenin2021-09-15
|
* Calculate width with unicode-width in tab-bar and utils (#709)Paulo Coelho2021-09-12
| | | | | * fix(tab-bar): calculate string width using unicode-width * fix(utils): calculate ansi_len using unicode-width
* feat(cwd-pane): Keeping the cwd when opening new panes (#691)spacemaison2021-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(cwd-pane): Add a new trait to get the cwd of a given pid Co-authored-by: Quentin Rasmont <qrasmont@gmail.com> * feat(cwd-pane): Allow for setting the cwd when spawning a new terminal Co-authored-by: Quentin Rasmont <qrasmont@gmail.com> * feat(cwd-pane): Add an active_pane field to the Pty struct Co-authored-by: Quentin Rasmont <qrasmont@gmail.com> * feat(cwd-pane): Update Pty with Tab's active pane id Co-authored-by: Quentin Rasmont <qrasmont@gmail.com> * feat(cwd-pane): Refactor spawn_terminal to use cwd by default Co-authored-by: Quentin Rasmont <qrasmont@gmail.com> * feat(cwd-pane): Fix tests and lints Co-authored-by: Quentin Rasmont <qrasmont@gmail.com> * feat(cwd-pane): Fix formatting * feat(cwd-pane): Refactor child pid fetching to handle errors better Instead of panicking when transfering the process id of the forked child command we just return an empty process id. * feat(cwd-pane): Add non Linux/MacOS targets for the get_cwd method. This will allow Zellij to compile on non Linux/MacOS targets without having an inherited cwd. * feat(cwd-pane): Refactor spawn_terminal method to use ChildId struct. The spawn_terminal methods been refactored to use the ChildId struct in order to clarify what the Pid's returned by it are. The documentation for the ChildId struct was improved as well. * feat(cwd-pane): Fix tests/lints Co-authored-by: Jesse Tuchsen <not@disclosing> Co-authored-by: Quentin Rasmont <qrasmont@gmail.com>
* chore(version): bump development versionAram Drevekenin2021-08-31
|
* feat(ui): overhauled resize and layout systemsBrooks Rady2021-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor(panes): move to parametric pane sizes * Fixed the simpler errors by casting to usize * The least I can do is pass the formatting check... * Move to stable toolchain * Well, it compiles? * And now it doesn't! ;) * Baseline functionality with the new Dimension type * Working POC for percent-based resizing * REVERT THIS COMMIT – DELETES TESTS * Perfected the discrete resize algorithm * Fixed fixed-size panes * Basic bidirectional resize * feat(resize): finalised parametric resize algorithm * Reduce the logging level a bit * Fixed nested layouts using percents * Bug squishing for implicit sizing * Here is a funky (read: rubbish) rounding approach * And now it's gone again! * Improve discretisation algorithm to fix rounding errors * Fix the last layout bug (maybe?) * Mixed explicit and implied percents work now * Let's pretend that didn't happen... * Make things a bit less crashy * Crash slightly more for now (to find bugs) * Manaually splitting of panes works now * Start moving to percent-based resizes * Everything but fullscreen seems to be working * Fix compilatation errors * Culled a massive amount of border code * Why not pause to please rustfmt? * Turns out I was still missing a few tests... * Bringing back even more tests! * Fix tests and pane boarders * Fix the resize system without gaps * Fix content offset * Fixed a bug with pane closing * Add a hack to fix setting of the viewport * Fix toggling between shared borders and frames * fix(tests): make e2e properly use PaneGeom * style(fmt): make rustfmt happy * Revert unintentional rounding of borders * Purge some old borderless stuff * Fix busted tab-bar shrinking * Update E2E tests * Finish implementing fullscreen! * Don't crash anymore? * Fix (almost) all tests * Fix a lack of tab-stops * All tests passing * I really can't be bothered to debug a CI issue * Tie up loose ends * Knock out some lingering FIXMEs * Continue to clean things up * Change some naming and address FIXMEs * Cull more code + FIXMEs * Refactor of the resize system + polish * Only draw frames when absolutely necessary * Fix the tab-bar crash * Fix rendering of boarders on reattach * Fix resizing at small pane sizes * Deduplicate code in the layout system * Update tab-bar WASM * Fixed the pinching of panes during resize * Unexpose needlessly public type * Add back a lost test * Re-add tab tests and get them to compile * All tabs need layouts * Start fixing tests + bug in main * Stabilize the resize algorithm rounding * All tests from main are now passing * Cull more dead code
* Merge branch 'main' into unified-loggingqepasa2021-07-20
|\
| * fix(style): bury the dead (code)Brooks J Rady2021-07-19
| |
* | Apply code review suggestions. Rename decorating_pipe to logging_pipe. Add ↵Paweł Palenica2021-07-13
| | | | | | | | plugin_id to plugin log. Move logger init from file to in-code initialization and change logging file to zellij directory. Change format of timestamp.
* | Merge branch 'main' into unified-loggingqepasa2021-07-08
|\|
| * chore(version): bump development versionAram Drevekenin2021-07-05
| |
| * feat(ui): initial mouse support (#448)Thomas Linford2021-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial mouse support * enable mouse support (termion MouseTerminal) * handle scroll up and down events * Allow enabling/disabling of mouse reporting Store the mouse terminal on OsInputOutput * WIP: switch pane focus with mouse * testing to get mouse character selection * wip mouse selection * wip: mouse selection - initial handling of mouse events for text selection within a pane - wide characters currently problematic - selection is not highlighted * highlight currently selected text * improve get currently selected text from TerminalPane * copy selection to clipboard (wayland only for now) * Add missing set_should_render on selection update * Improve text selection - Strip whitespace from end of lines - Insert newlines when selection spans multiple lines * Simplify selection logic - Remove Range struct - Selection is not an Option anymore, it's empty when start == end * copy selection to clipboard with OSC-52 sequence * Improve text selection with multiple panes - Constrain mouse hold and release events to currently active pane - Fix calculation of columns with side by side panes * fix for PositionAndSize changes * Fix mouse selection with full screen pane. - Transform mouse event positions to relative when passing to pane. * Move selection to grid, rework highlighting. - Mark selected lines for update in grid output buffer, for now in the simplest way possible, but can be made more efficient by calculating changed lines only. - Clear selection on pane resize. - Re-add logic to forward mouse hold and release events only to currently active pane. * Tidy up selection - add method to get selection line range - add method to sort the current selection * Grid: move current selection up/down when scrolling - Make the selection work with lines in lines_above and lines_below - Todo: update selection end when scrolling with mouse button being held - Todo: figure out how to move selection when new characters are added. * Grid: move selection when new lines are added * Keep track of selection being active - Handle the selection growing/shrinking when scrolling with mouse button held down but not yet released. * Improve selection end with multiple panes * Tidying up - remove logging statements, unused code * Add some unit tests for selection, move position to zellij-utils * Change Position::new to take i32 for line * Grid: add unit tests for copy from selection * add basic integration test for mouse pane focus * Add basic integration test for mouse scroll * Use color from palette for selection rendering * Improve performance of selection render - Try to minimize lines to update on selection start/update/end * fixes for updated start method * fix lines not in viewport being marked for rendering - the previous optimization to grid selection rendering was always adding the lines at the extremes of previous selection, causing problems when scrolling up or down - make sure to only add lines in viewport * Disable mouse mode on exit * use saturating_sub for usize subtractions * copy selection to clipboard on mouse release * disable mouse on exit after error * remove left-over comments * remove copy keybinding * add default impl for selection methods in Pane - remove the useless methods from Impl Pane in PluginPane * move line diff between selections to selection * add option to disable mouse mode * Allow scrolling with mouse while selecting. * move action repeater to os_input_output, change timeout to 10ms - change repeater to take an action instead of a position with hardcoded action * replace mouse mode integration tests with e2e tests * cleanup * cleanup * check if mouse mode is disabled from merged options * fix missing changes in tests, cleanup
| * chore(tests): move all integration tests to be either unit or e2e tests - ↵Aram Drevekenin2021-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remove old testing infra (#589) * tests(integration): move basic integration tests to be unit tests * fix(tests): silently fail threadbus for tests * tests(unit): move compatibility tests to become unit tests for grid * tests(unit): move close_pane tests to become unit tests for grid * tests(e2e): move basic layout test to e2e * tests(unit): move move_focus tests to be unit tests * tests(unit): move resize_down tests to be unit tests * tests(unit): move resize_left tests to be unit tests * tests(unit): move resize_right tests to be unit tests * tests(unit): move resize_up tests to be unit tests * tests(infra): remove unused infra * style(fmt): make rustfmt happy * debug * debug * debug * debug * chore(test): shift volume mounting around because github actions is a special child
* | More cleanup, remove serde from zellij-serverPaweł Palenica2021-07-08
| |
* | remove one more crate from zellij-serverPaweł Palenica2021-07-08
| |
* | CleanupPaweł Palenica2021-07-08
| |
* | feat: Add logger to ZellijPaweł Palenica2021-06-29
|/ | | | | | We add log4rs create for logging across Zellij. Additionally, we capture `stderr` output from plugins and log it the same log file as other Zellij logs.
* Add e2e tests (#582)Aram Drevekenin2021-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feature(tests): e2e tests * chore(build): github action * chore(build): fix workflow * chore(build): fix workflow * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * work * working * working * working * bring back the proper errors * make e2e flow run properly * style(fmt): make rustfmt happy * style(fmt): make rustfmt happy * run on everything just to test the workflow * bring back running behaviour on workflow
* chore(release): bump development versionBrooks J Rady2021-06-04
|
* Getting back to where we started... (Buggy Resizing)Brooks J Rady2021-05-29
|
* chore(version): bump development versionAram Drevekenin2021-05-28
|
* chore(version): change to patch versionAram Drevekenin2021-05-28
|
* refactors for #525 (#534)kxt2021-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor(fakes): clean up add_terminal_input * refactor(fakes): append whole buf to output_buffer in FakeStdoutWriter::write * refactor(fakes): append whole buf to output_buffer in FakeInputOutput::write_to_tty_stdin * fix(fakes): allow partial reads in read_from_tty_stdout This patch fixes two bugs in read_from_tty_stdout: * if there was a partial read (ie. `bytes.read_position` is not 0 but less than `bytes.content.len()`), subsequent calls to would fill `buf` starting at index `bytes.read_position` instead of 0, leaving range 0..`bytes.read_position` untouched. * if `buf` was smaller than `bytes.content.len()`, a panic would occur. * refactor(channels): use crossbeam instead of mpsc This patch replaces mpsc with crossbeam channels because crossbeam supports selecting on multiple channels which will be necessary in a subsequent patch. * refactor(threadbus): allow multiple receivers in Bus This patch changes Bus to use multiple receivers. Method `recv` returns data from all of them. This will be used in a subsequent patch for receiving from bounded and unbounded queues at the same time. * refactor(channels): remove SenderType enum This enum has only one variant, so the entire enum can be replaced with the innards of said variant. * refactor(channels): remove Send+Sync trait implementations The implementation of these traits is not necessary, as SenderWithContext is automatically Send and Sync for every T and ErrorContext that's Send and Sync.
* chore(version): bump development versionAram Drevekenin2021-05-27
|
* Merge pull request #531 from zellij-org/detach-sessionsKunal Mohan2021-05-25
|\ | | | | Feature: Detachable/Persistent sessions
| * Allow user to specify session nameKunal Mohan2021-05-22
| |
| * Add ability to attach to sessionsKunal Mohan2021-05-22
| |
* | fix(pty): use async io to avoid polling (#523)kxt2021-05-24
|/ | | | This patch fixes #509 by using async read instead of polling a non-blocking fd. This reduces CPU usage when the ptys are idle.
* upgrade termbg and remove build-dependenciesKunal Mohan2021-05-19
|
* Re-export common dependencies from zellij-utilsKunal Mohan2021-05-19
|
* Osc implementation (#517)Aram Drevekenin2021-05-17
| | | | | | | | | | | | | * fix(compatibility): implement most osc methods * style(fmt): rustfmt * style(fmt): remove cargo warnings * style(fmt): make clippy happy * style(fmt): fix formatting after my clippy fixes broke it again ;P * fix(grid): fix tests
* Big refactor: separate crates for client, server and utilitiesKunal Mohan2021-05-16
|
* Switch to multiprocess model: Not looking goodKunal Mohan2021-05-15
|
* chore(version): bump development versionAram Drevekenin2021-05-15
|