Commit Graph

1362 Commits

Author SHA1 Message Date
a-kenji
d3505ba52b
feat(update): integrate dependabot for gh actions (#900)
* dependabot will check weekly, if the gh actions have new versions
  available and will open a pr, if necessary
2021-11-25 17:44:18 +01:00
Aram Drevekenin
10ced5a3cd
docs(changelog): multi user ui for panes 2021-11-25 16:23:54 +01:00
Aram Drevekenin
6c6a4393f4
This adds a UI for multiple users in panes (behind a feature flag) (#897)
* feat(ui): multiple users in panes

* style(fmt): make rustfmt happy

* style(fmt): make clippy happy
2021-11-25 16:21:59 +01:00
a-kenji
9fb2c7ca16 add: leave ephemeral modes by pressing esc 2021-11-23 12:45:02 +01:00
a-kenji
cd55c86260
Feat: add esc to exit modes (#889)
* Add ability to return to normal mode from any mode,
  except for the locked mode, by pressing the escape key
  to the default keybindings

  fix #887
2021-11-23 12:42:15 +01:00
Thomas Linford
d05878315f
docs(changelog): osc8 support 2021-11-22 18:57:01 +01:00
Thomas Linford
a96b9d8769
feat(compatibility): add support for osc 8 escape code (#822)
Resolve #645 

* add support for osc 8 escape code

* refactor, add links to CharacterStyles

* cleanup

* refactor, add minimal tests
2021-11-22 18:54:49 +01:00
Thomas Linford
d8959ca6e1
docs(changelog): large scrollback performance fix 2021-11-22 18:38:47 +01:00
Thomas Linford
707fedd1df
fix(performance): keep track of scrollback buffer size (#881)
Fix #877. Avoid calculating scrollback buffer size on each render, since the calculation becomes slower proportionally to the amount of lines buffered, and to the width of each line.
* wip: keep track of scrollback buffer size

* account for lines dropped by bounded_push

* fix: use saturating sub

* fix: account for 0 width lines

* remove log messages
2021-11-22 18:34:45 +01:00
a-kenji
639566df15
docs(readme): update new command syntax (#876) 2021-11-17 10:42:44 +01:00
a-kenji
198950e0b9
add(overlay): add overlay (#875)
* add overlay instructions to the `render` function

  this is a continuation of #871
2021-11-17 00:12:34 +01:00
a-kenji
4eee6cae00 docs(changelog): init first overlay changes 2021-11-15 20:14:03 +01:00
a-kenji
b861baa6a1
First attempt to provide an overlay prompt (#871) 2021-11-15 20:13:05 +01:00
a-kenji
55aef0aeec docs(changelog): add initial zellij.desktop file 2021-11-15 17:28:09 +01:00
a-kenji
9c6e261e33
add(assets): init zellij.desktop file (#870) 2021-11-15 17:27:32 +01:00
a-kenji
f6813df0e8
fix(typo): fix setup --check (#869) 2021-11-15 14:41:19 +01:00
a-kenji
94582d4255 docs(changelog): add THIRD_PART_INSTALL.md 2021-11-15 09:08:26 +01:00
Jae-Heon Ji
c35a6ba938
doc: add INSTALL.md (#857)
* doc: add INSTALL.md

* doc(install): add warning phrase

* doc(install): fix syntax

* doc(install): change the install doc to be for third party
2021-11-15 09:06:13 +01:00
Thomas Linford
851bc863c1
docs(changelog): refactor character style diff 2021-11-15 08:35:36 +01:00
Thomas Linford
0ba8e2f7b4
Simplify terminal character style diff (#839)
* optimize EMPTY_TERMINAL_CHARACTER diff

return a diff for EMPTY_TERMINAL_CHARACTER only when necessary (when new_styles different than current), so to avoid
emitting a ansi reset code every time.

* simply character styles diffing logic
2021-11-15 08:31:53 +01:00
a-kenji
93014f6fd7
fix(typo): e2e test (#867) 2021-11-14 23:01:18 +01:00
a-kenji
5458c5624b docs(changelog): add config through layouts 2021-11-14 23:00:34 +01:00
a-kenji
347e02ea35
feature(layout): add layout config (#866)
feature(layout): add layout config (#866)
* It is now possible to configure zellij through a layout:

  The config file and the layout file will be merged, on conflicting
  options the order is as follows:
  1. config options `zellij options`
  2. layout
  3. config

  Example:
```
---
template:
  direction: Horizontal
  parts:
    - direction: Vertical
      body: true
    - direction: Vertical
      borderless: true
      split_size:
        Fixed: 1
      run:
        plugin:
          location: "zellij:tab-bar"
default_shell: fish
```
2021-11-14 22:58:20 +01:00
Thomas Linford
96315ed332
docs(changelog): refactor close_pane 2021-11-13 21:55:33 +01:00
Thomas Linford
44852cd6b2
refactor(tab): close_pane returns closed pane (#853)
* refactor(tab): close_pane returns closed pane

Prepare for break pane command by making close_pane return the closed
pane. Also split the function up to hopefully be more readable.

* more refactoring
2021-11-13 21:51:53 +01:00
Aram Drevekenin
ce3109ee7e
docs(changelog): tab multi-users 2021-11-12 17:24:22 +01:00
Aram Drevekenin
bd795a3e9f
refactor(tabs): lay down infrastructure for multiple users (#864)
* refactor(screen): support multiple mirrored clients

* style(fmt): make rustfmt happy

* style(clippy): make clippy happy

* whitespace

* github, y u no update CI?!

* is this a cache issue?

* is it the checkout cache?

* no cache at all?

* Debug

* fix gototab

* decoment

* gototab none in wasm_vm

* gototab none in wasm_vm

* the fun never ends

* tests(e2e): update infra and add multiple user mirroring test

* refactor(tab): change structs in tabs and terminal panes to support multiple users

* style(fmt): make rustfmt happy

* style(fmt): make clippy happy
2021-11-12 17:22:14 +01:00
Thomas Linford
3e07040808
doc(changelog): CSI cursor next line fix 2021-11-11 21:30:14 +01:00
Thomas Linford
8a4161ee5b
fix(compatibility): CSI cursor next line fix (#863)
Move cursor to beginning of line after moving it down.

fixes #860.
2021-11-11 21:24:59 +01:00
a-kenji
db452577ba docs(changelog): suggest similar session name 2021-11-11 18:30:45 +01:00
a-kenji
f1ae83df8c Merge branch 'ken-matsui-suggestion-for-similar-session-name' 2021-11-11 18:28:54 +01:00
a-kenji
be692fd6b0 Merge branch 'suggestion-for-similar-session-name' of https://github.com/ken-matsui/zellij into ken-matsui-suggestion-for-similar-session-name 2021-11-11 18:27:55 +01:00
a-kenji
59ca0babaf docs(changelog): overwriting options on cli 2021-11-11 17:17:49 +01:00
a-kenji
bd8c834d7c
fix(options): handling and overwriting cli opts (#859)
* fix(options): handling ond verwriting cli opts

* previously it was only possible to turn off certain features with a
  command line option, now it is possible to also overwrite this
  behavior in a sane way, for that some breaking changes happened:

  following options got renamed and inverted:
  ```
  disable_mouse_mode -> mouse_mode
  no_pane_frames -> pane_frames
  ```

  following cli options got added:
  ```
  mouse-mode [bool]
  pane-frames [bool]
  simplified-ui [bool]
  ```

  the following cli flag got removed:
  ```
  simplified-ui
  ```

  They can be specified in the following way:
  ```
  zellij options --mouse-mode true
  ```
  in order to enable the mouse mode, even if it is turned off in the
  config file:
  ```
  mouse_mode: false
  ```

  The order is now as follows:
  1. corresponding flag (`disable-mouse-mode`)
  2. corresponding option (`mouse-mode`)
  3. corresponding config option (`mouse_mode`)

* add: options and flags for the same value conflict

* example:
  ```
  zellij options --mouse-mode true --disable-mouse-mode`
  ```
  ```
  $ error: The argument '--mouse-mode <mouse-mode>' cannot be used with '--disable-mouse-mode'
  ```
2021-11-11 17:13:34 +01:00
Ken Matsui
00b47b3058
feat(sessions): Suggestion for a similar session name
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
2021-11-11 13:14:59 +09:00
Aram Drevekenin
26bd80be2d chore(version): bump development version 2021-11-10 18:01:56 +01:00
Aram Drevekenin
0fec10b08b chore(release): v0.20.1 2021-11-10 17:54:39 +01:00
Aram Drevekenin
aa7784baa8
docs(changelog): paste hotfix 2021-11-10 17:43:09 +01:00
Aram Drevekenin
3f408b5251
fix(input): properly query bracketed paste mode in terminals (#858) 2021-11-10 17:41:19 +01:00
a-kenji
ba5ec8e493 docs(changelog): toggle boolean opts from cli flag 2021-11-10 13:35:56 +01:00
a-kenji
abbe3b237a
add(feature): toggle boolean options with cli flag (#855)
add the ability to toggle boolean options with a cli flag:

example:
    if the pane frames are turned off in the config file,
    then passing in the `--no-pane-frames` flag will toggle the
    pane frames on
2021-11-10 13:31:37 +01:00
a-kenji
4a3e8689de docs(changelog): unify environment variable's 2021-11-10 09:16:20 +01:00
Ken Matsui
6d60d83e58
fix(envs): Unify operation of Zellij environment variables (#842) 2021-11-10 09:02:17 +01:00
a-kenji
03f58fc184 docs(changelog): use key-value in docker-compose 2021-11-09 20:30:13 +01:00
Ken Matsui
66fd39a9bc
fix(docker-compose): Use the key-value style for environments to prevent human errors (#840) 2021-11-09 20:29:22 +01:00
a-kenji
050d6aa982 docs(changelog): add e2e instructions for darwin 2021-11-09 17:39:15 +01:00
Ken Matsui
382acd9fc8
fix(docs): Add additional e2e test instruction for macOS users (including m1) (#845) 2021-11-09 17:37:54 +01:00
a-kenji
f897a7ad33 docs(changelog): add darwin systems to ci 2021-11-09 17:34:57 +01:00
Ken Matsui
01749843c8
feat(ci): Support macOS build & test on CI (#846) 2021-11-09 17:32:46 +01:00
a-kenji
2d39ce9eb2 docs(changelog): simplify match arms 2021-11-09 09:58:56 +01:00