Commit Graph

1721 Commits

Author SHA1 Message Date
a-kenji
f616af362c docs(changelog): treat empty config files as valid
- treat empty config files as valid empty yaml files
2021-10-01 22:06:04 +02:00
a-kenji
d667dc2a87
feat(config): Allow empty config files (#720)
Fix #714

Allow empty `config` and `layout` files

- Currently empty files are parsed as yaml documents, since they
  are empty they are invalid yaml files and a deseralization error would
  follow.

  Now we ignore the incorrect yaml on an empty document and treat it as
  an empty yaml document.

  Eg:
  ```
  ```
  and
  ```
  ---
  ```

  Are now treated equally.

Alternative: Keep treating the files as `yaml` documents.
2021-10-01 21:49:47 +02:00
Kunal Mohan
ee7b4a85b0 docs(changelog): fix scroll buffer overwrite when scrolled up 2021-10-01 22:30:00 +05:30
Kunal Mohan
3c05f26802
Fix(scroll): Prevent scroll buffer overwrite (#655)
* fix #306: Buffer new vte events when pane is scrolled up

* Exit scroll mode after pressing [Enter] once

* clear scroll of active pane when changing from scroll mode to normal or locked mode

* Increase render interval
2021-10-01 22:20:13 +05:30
Aram Drevekenin
79fa3594e3 chore(version): bump development version 2021-09-30 11:39:04 +02:00
Aram Drevekenin
4b94949b5a chore(release): v0.18.1 2021-09-30 11:14:41 +02:00
Aram Drevekenin
3df362d046 chore(version): bump development version 2021-09-30 11:13:33 +02:00
Aram Drevekenin
ce2957cb37 docs(changelog): update strider hotfix 2021-09-30 10:50:15 +02:00
Aram Drevekenin
af62afec9c
fix(strider): do not descend into host folder (#753) 2021-09-30 10:48:40 +02:00
Aram Drevekenin
d001dea238 docs(changelog): mouse selection hotfix 2021-09-30 10:23:31 +02:00
Aram Drevekenin
d7e4ec65db
hotfix(stdin): poll for mouse hold in the stdin thread (#752)
* hotfix(stdin): poll for mouse hold in the stdin thread

* add missing dont panic

* style(fmt): make rustfmt happy
2021-09-30 10:25:48 +02:00
a-kenji
f74af9c7bf
fix(makefile): update update-default-config (#751)
- switch the `update-default-config` task to be prior to commiting
  changes
2021-09-30 09:30:59 +02:00
a-kenji
7ab0e39931
fix(makefile): build-plugins on building dev-dir (#750)
- add building plugins `build-plugins` as a dependency for the task
  `build-dev-data-dir`
2021-09-30 09:15:47 +02:00
Aram Drevekenin
a232a8c39d
docs(contributing): clean up language 2021-09-29 16:17:06 +02:00
Aram Drevekenin
1cc12a180e
docs(readme): fix email link 2021-09-29 16:14:02 +02:00
Aram Drevekenin
7294f7a989
docs(readme): clean up language 2021-09-29 16:12:56 +02:00
Aram Drevekenin
8d72013d4d chore(version): bump development version 2021-09-29 15:23:22 +02:00
Aram Drevekenin
848207ca24 fix(e2e): new fullscreen snapshot 2021-09-29 15:13:19 +02:00
Aram Drevekenin
50452b53cb chore(release): v0.18.0 2021-09-29 14:48:24 +02:00
Aram Drevekenin
cff3098f12
docs(changelog): viewport scrollback fix 2021-09-28 16:45:17 +02:00
Aram Drevekenin
fb8e44b8a8
fix(compatibility): scroll lines into scrollback when clearing screen (#747)
* fix(compatibility): scroll lines into scrollback when clearing screen

* fix(tests): silently fail on channel close error
2021-09-28 16:44:26 +02:00
Aram Drevekenin
865209c18b
docs(changelog): progress bar fix 2021-09-28 15:42:32 +02:00
Aram Drevekenin
8b3287c452
fix(compatibility): handle cursor movements outside scroll region (#746)
* fix(compatibility): handle cursor movements outside scroll region

* style(fmt): make clippy happy
2021-09-28 15:41:32 +02:00
Aram Drevekenin
9227ff0981
docs(changelog): fullscreen message 2021-09-27 12:08:59 +02:00
Kaito Akita
4632e90b73
feat(ui): The status bar indicates that the panes are full screen and how many hidden panes are (#450)
* fix(ui): offset content after viewport construction

* Added the feature to display fullscreen information on the second line of the status-bar.

* fix(strider): update host mount-point

* fix(plugin): create missing data directories as needed

* feat(layout): specify only tab name in `tabs` section (#722)

Allow specifying only the tab name in the `tabs` section

- For example this is now possible:
```
tabs:
  - name: first
    parts:
      - direction: Vertical
      - direction: Vertical
  - name: second
  - name: third
```
  For that the tab section defaults the direction to
  `direction::Horizontal`

- Adds an error upon specifying a tab name inside the `parts` section
  of the tab-layout

* docs(changelog): Solely name tab in `tabs` section

* feature(release): Copy default config to the examples folder on release (#736)

fixes #733

* docs(changelog): Copy example config on release

* Update default config (#737)

* feat(plugin): add manifest to allow for plugin configuration (#660)

* 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(docs): update changelog

* feat(sessions): mirrored sessions (#740)

* 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

Co-authored-by: Brooks J Rady <b.j.rady@gmail.com>
Co-authored-by: a-kenji <aks.kenji@protonmail.com>
Co-authored-by: spacemaison <tuchsen@protonmail.com>
Co-authored-by: Jesse Tuchsen <not@disclosing>
Co-authored-by: Aram Drevekenin <aram@poor.dev>
2021-09-27 12:07:28 +02:00
Aram Drevekenin
5c54bf18c2
feat(sessions): mirrored sessions (#740)
* 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
2021-09-27 11:29:13 +02:00
Brooks Rady
c93a4f1f67
chore(docs): update changelog 2021-09-22 18:38:31 +01:00
spacemaison
c9372212f6
feat(plugin): add manifest to allow for plugin configuration (#660)
* 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>
2021-09-22 18:13:21 +01:00
a-kenji
c39f021810
Update default config (#737) 2021-09-21 18:04:04 +02:00
a-kenji
852f363b11 docs(changelog): Copy example config on release 2021-09-21 17:17:27 +02:00
a-kenji
8cf93d8e81
feature(release): Copy default config to the examples folder on release (#736)
fixes #733
2021-09-21 17:16:41 +02:00
a-kenji
9de73d2920 docs(changelog): Solely name tab in tabs section 2021-09-21 16:41:12 +02:00
a-kenji
bbe2583904
feat(layout): specify only tab name in tabs section (#722)
Allow specifying only the tab name in the `tabs` section

- For example this is now possible:
```
tabs:
  - name: first
    parts:
      - direction: Vertical
      - direction: Vertical
  - name: second
  - name: third
```
  For that the tab section defaults the direction to
  `direction::Horizontal`

- Adds an error upon specifying a tab name inside the `parts` section
  of the tab-layout
2021-09-21 16:39:37 +02:00
Brooks J Rady
71b600b821 fix(plugin): create missing data directories as needed 2021-09-19 16:50:23 +01:00
Brooks J Rady
c29b8e98bf fix(strider): update host mount-point 2021-09-19 16:38:36 +01:00
Brooks J Rady
1a1c10a226 Merge branch 'main' of github.com:zellij-org/zellij 2021-09-19 16:25:52 +01:00
Brooks Rady
16844c375d
chore(docs): update changelog 2021-09-19 16:22:01 +01:00
Tw
4b792ca29f
feat(plugin): add plugin data directories (#723)
Every plugin will have following two directories for its use:

`./data`: Plugin's own data should be saved here, every plugin will have its own directory.
`/host/`: All plugins have access to this directory, it defaults to the current working directory of Zellij.

Signed-off-by: Tw <tw19881113@gmail.com>
2021-09-19 16:20:05 +01:00
Brooks Rady
84e045aeef
chore(docs): add new Visible event 2021-09-19 14:17:20 +01:00
Tw
4a7983f1c6
feat(plugin): add visibility event for the plugin (#717)
When a tab becomes active/inactive, it send corresponding visibility event to its containing plugins.

Signed-off-by: Tw <tw19881113@gmail.com>
2021-09-19 14:14:50 +01:00
Kunal Mohan
d16cd31927 Docs(changelog): attach --create feature (#731) 2021-09-19 18:32:59 +05:30
GPery
b761a28702
Implement attach --create subcommand flag to create session if one does not exist (#731)
* Implement attach --create

* fixup! Implement attach --create

* fixup! Implement attach --create

* fixup! Implement attach --create

* fixup! Implement attach --create
2021-09-19 18:17:52 +05:30
a-kenji
eb22a6c171
Add link to docs to README.md (#732) 2021-09-19 13:38:53 +02:00
Tw
ac7bcf1169
fix(server): fix leakage of SessionMetaData (#728)
There are different reasons leading the server thread exits,
currently we only release the cached session data when client
exits normally. This fix covers all the cases.

Signed-off-by: Tw <tw19881113@gmail.com>
2021-09-19 00:06:15 +05:30
Aram Drevekenin
72b0474d02
docs(changelog): update cwd fix 2021-09-17 09:08:10 +02:00
spacemaison
40e74d5b85
fix(cwd-pane): Fix for cwd not being inherited when switching tabs (#729)
fixes #727

Inheriting the current working directory didn't work when switching
between tabs. This happened because the event to notify the pty of an
pane change was triggered when setting the active pane inside of the
current tab, but switching between tabs will only cause a re-render of
the newly selected tab and it's panes without setting the active pane.
This was fixed by moving the event to notify the pty of the pane change
into the tabs render method.

Co-authored-by: Jesse Tuchsen <not@disclosing>
2021-09-17 09:06:47 +02:00
Aram Drevekenin
0f3590adb5 chore(version): bump development version 2021-09-15 16:41:07 +02:00
Aram Drevekenin
1868816791 chore(release): v0.17.0 2021-09-15 16:13:42 +02:00
Aram Drevekenin
4219266523 chore(version): bump changelog version 2021-09-15 16:13:26 +02:00
Aram Drevekenin
720a3ecbaf
Fix prompt line overflowing when resizing panes (#725)
* fix(wrap): do not wrap empty lines and properly place cursor when resizing

* fix(wrap): truncate last blank line wraps

* fix(wrap): truncate lines right after unwrapping them

* refactor(grid): remove unused method

* docs(changelog): document change
2021-09-15 15:44:36 +02:00