Commit graph

89 commits

Author SHA1 Message Date
Kunal Mohan
378dd90f8f Do not pass config_options while spawning server process 2021-05-15 22:14:35 +05:30
Kunal Mohan
e203f96d78 fix testing 2021-05-15 22:14:34 +05:30
a-kenji
db592cc840 Merge branch 'main' of https://github.com/zellij-org/zellij into fix-simplified-ui 2021-05-12 15:36:50 +02:00
a-kenji
776a2c5151 Fix Simplified Ui
Propagate the config now, in all the places, as opposed to
fallback to a default.
2021-05-12 15:27:28 +02:00
Aram Drevekenin
3f1ec7c295
fix(ui): handle pasted text properly (#494)
* fix(ui): handle pasted text properly

* style(fmt): rustfmt
2021-05-12 14:22:15 +02:00
Dante Pippi
9c09cf1658 New behavior for h and l
New behavior for h and l, will change tabs if there are no available
panes in the direction.

cargo clippy

Ensuring atomicity for the MoveFocusOrTab

- Blocking the input thread for the action MoveFocusOrTab
- Using "unreachable" macro in match arm to make it clear that the
directions Up and Down should not be used with the action MoveFocusOrTab

Adding tests
2021-05-09 17:05:14 -03:00
Aram Drevekenin
632a7a3209
fix(compatibility): upgrade vte to support csi subparameters (#469)
* fix(compatibility): upgrade vte to support csi subparameters

* style(fmt): rustfmt and clippy
2021-05-07 16:03:45 +02:00
Kunal Mohan
d33106431d Fix after rebase 2021-05-04 20:48:17 +05:30
Kunal Mohan
2a648187fc Fix after rebase 2021-05-04 20:48:15 +05:30
Kunal Mohan
5d06a49f8a fix fmt errors 2021-05-04 20:47:51 +05:30
Kunal Mohan
fd1debaa79 Fix after rebase 2021-05-04 20:47:51 +05:30
Kunal Mohan
2ab18244f7 fix tests 2021-05-04 20:47:51 +05:30
Yutaka Kamei
168deabea7
Load config before start()
Previously, a config file was loaded within `start()`, and if the config
file is invalid, Zellij was supposed to show a user what's wrong with
it. However, since `start()` starts setting up its terminal with an
alternative screen buffer, neither standard output nor standard error
could display such an error.

This change intends to address this issue by making Zellij load a config
file before `start()`.

In addition, the patch also includes some refactorings:

* Redefine `from_cli_config` with `TryFrom`, which was introduced in
  Rust 1.34
* Remove conditional declaration `cfg(not(test))` because `start()` now
  receive a `Config` as the third argument
* Introduce [`tempfile`](https://crates.io/crates/tempfile) in order to
  run tests with actual files
* Typo?: "Deserialisation" -> "Deserialization"
2021-05-02 06:18:40 +09:00
Dante Pippi
068136b523 Fixing snapshots 2021-04-22 21:28:38 -03:00
Dante Pippi
4f7ad31cf6 Changing tests to test the new behavior
Previous behavior was to go to the largest overlap. Now it should go to
the most recently used pane. Used cargo insta review to update the
snapshots.
2021-04-22 21:07:55 -03:00
Aram Drevekenin
169e25af66
fix(ui): draw ui properly on terminal start (#323)
* fix(ui): draw ui properly on terminal start

* style(fmt): rustfmt
2021-04-22 20:55:23 +02:00
Brooks Rady
19fc0496a3
feat(actions): allow scrolling by full pages
PR #298
2021-04-22 00:25:43 +01:00
Aram Drevekenin
e55dfc53e0
fix(ui): do not open new pane on the status bar (#314) 2021-04-21 19:24:51 +02:00
Hongjie Zhai
4590fb474e cargo fmt 2021-04-21 15:31:04 +09:00
Hongjie Zhai
9d8fbd2424 add tests 2021-04-21 15:30:02 +09:00
Brooks J Rady
413a24b77f fix(bug): remove buggy expansion boundaries 2021-04-14 11:01:28 +01:00
Aram Drevekenin
1739f370f9
* fix(ui): react to terminal window size changes (SIGWINCH) (#245)
* fix(ui): react to terminal window size changes (SIGWINCH)

* style(fmt): rustfmt

* style(format): remove some warnings

* style(fmt): rustfmt
2021-04-01 17:38:13 +02:00
Aram Drevekenin
46c9802f6f
Performance: only render panes that should be updated (#234)
* fix(performance): bring back should_render

* style(fmt): rustfmt
2021-03-16 16:54:07 +01:00
Aram Drevekenin
8d0ff0fe40
feat(input): new shortcuts and ui (#220)
* feat(statusbar): new shortcuts

* feat(input): new shortcuts and ui

* style(fmt): rustfmt
2021-03-11 16:03:28 +01:00
Aram Drevekenin
7b69fcb8e0
Make fullscreen panes not override the status bar and strider (#209)
* work

* feat(tab): expansion boundary

* fix(layout): add expansion boundary to default layout

* style(fmt): rustfmt

* style(fmt): remove unnecessary comment
2021-02-24 18:00:00 +01:00
Aram Drevekenin
c0a0af3133
fix(compatibility): do not forward tabs to the terminal (#190)
* fix(compatibility): do not forward tabs to the terminal

* style(fmt): rustfmt
2021-02-18 11:07:57 +01:00
Aram Drevekenin
831d26156e
fix(compatibility): get top not to break everything when exiting (#188) 2021-02-17 15:55:38 +01:00
Brooks J Rady
190d41445b Fix a thorn in my side 2021-02-16 18:58:29 +00:00
categorille
c74e2ef273
feat(input): new keybindings and persistent mode as default (#181)
* added some comments in the input module

* InputHandler now has InputState instead of separate InputMode and permanent bool

* keybinds are now associated with a Vec<Action> instead of a single Action

* removing "persistent" modes alltogether to reimplement the feature, help bar broken

* locked command mode by default, fixes #161, help bar still broken

* status bar fixed, still a few improvements/bugs to go

* better shortcut help bar contents

* fixed last bits and i think we are good

* modified tests according to new controls, not working

* Revert "modified tests according to new controls, not working"

This reverts commit f2d9421ff0169feb83dbd9b246e59b9244cafc16.

* basic.rs tests now pass, not the rest

* close_pane.rs tests pass, but very slowly?

* compatibility.rs tests pass, very slowly as well

* {layout, {move_focus_*}}.rs all working mildly slowly

* {resize_*}.rs should all work but very slowly and funky, see PR comments

* {tabs,toggle_fullscreen}.rs pass. Test performance issue yet to be fixed

* tests now work, with a hack :| ready for merge

* rustfmt + deleted references to InputState and mode persistency
2021-02-12 14:55:22 +01:00
henil
e52e9b1b37 And from Goodbye message 2021-02-10 12:26:38 +05:30
henil
af95b3ff9a Update references in src/ 2021-02-10 12:22:15 +05:30
Brooks J Rady
db3ec62cf2 Fix tests 2021-02-09 23:40:16 +00:00
Brooks J Rady
9791970856 Well, it turns out that I spent 4 hours on something impossible... 2021-02-09 22:19:34 +00:00
Brooks J Rady
fd001860f4 Push the mosaic folder down a directory 2021-02-09 17:27:36 +00:00
Aram Drevekenin
14783c2b2c
feat(ui): new keybindings and status bar (#160)
* work

* feat(statusbar): new design and keybindings

* fix(ipc): add missing const

* style(fmt): rustfmt

* style(input): remove accidental comment
2021-02-09 17:36:37 +01:00
Kyle Sutherland-Cash
b6fb330da3
refactor(input): hotkeys (#132)
* Initial definitions and thoughts for hotkeys

* Actually document InputKey properly

* Add a to string function for input keys

* Define keybinds and actions; restructure

* Implement hash and start on defining key bindings

* Derive Serialize for input keys

* Store the key strings as tuples for two-way mapping

* Some string to key functions

* Use termion's Key definition and implement action dispatch

* Fix some borrow-checker errors

* Missing keybind and command mode switching

* Fix incorrect handling of spawn terminal command

* fix(plugins): work with new input - tests not passing

* fix(infra): stabilize tests and properly close pty sessions

* style(fmt): rustfmt

Co-authored-by: Brooks J Rady <b.j.rady@gmail.com>
Co-authored-by: Aram Drevekenin <aram@poor.dev>
2021-02-05 11:28:34 +01:00
Aram Drevekenin
5191dfe416
Min max height and width (#155)
* feat(tab): min/max pane height

* style(fmt): rustfmt
2021-01-28 12:56:39 +01:00
henil
21d6d025c4 more integration tests poping up.... 2021-01-26 01:44:41 +05:30
henil
cdd94133ae update integration tests 2021-01-26 01:29:18 +05:30
Brooks J Rady
67dbd1d0e4 Merge branch 'main' into wasm-status-bar 2021-01-12 04:56:29 +00:00
Aram Drevekenin
98e5e94670
refactor(terminal-pane): simplify Scroll into Grid (#137)
* refactor(grid): move from scroll to grid (prototype with tests passing)

* refactor(grid): remove scrollbuffer

* fix(terminal): do not overflow cursor y position when resizing

* refactor(file-structure): move grid to different file

* fix(compatibility): vim horizontal resize

* fix(compatibility): various fixes for cursor movement

* style(grid): remove unused imports

* style(grid): remove debugging

* style(fmt): rustfmt

* style(fmt): rustfmt
2021-01-11 18:23:29 +01:00
Brooks J Rady
624f842a20 Add support for layouts with parts of a fixed or unspecified size 2021-01-10 22:24:26 +00:00
Brooks J Rady
70e16f80b1 Merge in changes from main and fix a clippy lint 2021-01-07 16:21:38 +00:00
Henil Dedania
0994c8abcd
feat(completions): Add shell completions files (#128)
* Add shell completions and output files to `assets/completions`

* Rename files and struct name

* Update tests to take into account new changes
2021-01-07 15:14:28 +05:30
Brooks J Rady
b5f9066172 Merge branch 'main' into wasm-launchable 2021-01-06 20:31:29 +00:00
Brooks J Rady
4a176669fa A module rename to please clippy 2021-01-06 17:46:50 +00:00
denis
cde7703ac7 wip: added a test 2021-01-06 10:08:47 +02:00
Aram Drevekenin
4436c89230
fix(compatibility): git log and git diff with scrollup (#118)
* fix(compatibility): git log and git diff with scrollup

* style(formatting): make rustfmt happy
2020-12-21 11:52:49 +01:00
Doron Tsur
75b00b7932
refactor(tabs): lay down infrastructure for status bar (#116)
* resolves #76

* move private fun to bottom

* refactor(tabs): do not allocate when filtering panes to terminals

* style(formatting): make rustfmt happy

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2020-12-19 17:36:23 +01:00
Aram Drevekenin
83a830e4ab
fix(compatibility): fish multiline paste (#112)
* fix(compatibility): fix fish multiline paste

* fix(tests): adjust snapshots of test to tabs

* style(formatting): make rustfmt happy
2020-12-18 15:59:21 +01:00