Commit graph

20 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
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
Kunal Mohan
d33106431d Fix after rebase 2021-05-04 20:48:17 +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
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
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
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
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
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
4a176669fa A module rename to please clippy 2021-01-06 17:46:50 +00:00
Aram Drevekenin
ea549f151e
fix(input): read stdin with lock (#72)
* fix(input): lock stdin when reading and use its own buffer

* style(format): make rustfmt happy

* fix(ipc): add accidentally removed trait
2020-11-29 19:12:19 +01:00
Roee Shapira
9ad7b8a35e
chore(infra): added clippy check. (#65)
* Added clippy check.

* Changed step name.

* Used the suggested ci config.

* Some more clippy fixes.

* Some more clippy fixes.

* More clippy fixes.

* Removed allow annotations.

* Minor lint edit.

* More clippy fixes.

* Ran cargo fmt.

* More clippy fixes.

* More clippy fixes.

* More clippy fixes.

* More clippy fixes.

* More clippy fixes.

* More clippy fixes.

* Code review edits.

* Code review edits.

* Code review edits.

* CI update.

* CI update.

* CI update.

* Added clippy warn so wip won't fail ci.

* Cargo fmt.
2020-11-28 20:02:05 +01:00
Kyle Sutherland-Cash
11e72b3d6b
feat(ux): add a command mode (#42)
* Move the input loop into a separate module

* Proof of concept implementation of command mode

* Update readme to reflect command mode

* Have Esc exit command mode

* Update tests to use command mode and make it transient by default

* Some merge fixes

* fix(tests): add missing COMMAND_TOGGLE and fix false positive test

* style(format): make rustfmt happy

* Update readme to describe command mode

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2020-11-21 15:55:49 +01:00
Denis Maximov
cf43736656
refactor(data-structures): #51 change winsize to positionandsize (#56) 2020-11-19 15:30:05 +01:00
Denis Maximov
6f168c5ef2
fix(ux): disable move focus when in full screen (#49)
* feat: add rustfmt, update action workflow to check for formatting

* wip: Mosaic reacts to "move focus" commands when one pane is maximized

* feat: move focus is blocked when pane is in full screen

* fix: formatting

Co-authored-by: denis <denis@airheadventures.com>
2020-11-17 12:53:37 +01:00
Henil
0ddcc4087e
fix(ux): add variable to track if the pane is in fullscreen mode or not (#47)
* Fix the bug and add new tests

* add snapshots for integration tests
2020-11-16 17:45:15 +01:00