Commit graph

210 commits

Author SHA1 Message Date
Kunal Mohan
040d10df0f Re-export common dependencies from zellij-utils 2021-05-19 01:35:53 +05:30
a-kenji
79e7c414b7 Fix clean flag
* The setup subcommand was exiting the programm no matter what
  even if the `clean` flag was provided.
  Now it returns to the
  main function on encountering the clean flag.
2021-05-18 11:12:57 +02:00
Kunal Mohan
2038947a14 Big refactor: separate crates for client, server and utilities 2021-05-16 21:41:56 +05:30
Thomas Linford
28212f5430
handle error on termios initialization (#511) 2021-05-16 17:00:22 +01:00
Kunal Mohan
050d846b5e clean and exit on window close 2021-05-15 22:18:29 +05:30
Kunal Mohan
378dd90f8f Do not pass config_options while spawning server process 2021-05-15 22:14:35 +05:30
Kunal Mohan
41212dc0e8 Fix after rebase 2021-05-15 22:14:34 +05:30
Kunal Mohan
e203f96d78 fix testing 2021-05-15 22:14:34 +05:30
Kunal Mohan
0d792e26f2 Switch to multiprocess model: Not looking good 2021-05-15 22:14:34 +05:30
a-kenji
d667e5ed81 Add check flag to the setup subcommand
* The check option communicates default and config options to the user
  as well as optional compile time features

* Move generate-completion from a subcommand to a flag in the setup
  subcommand
2021-05-14 11:45:19 +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
a-kenji
0abb165aec Fix exit code on dump-default-config 2021-05-10 17:14:00 +02:00
Kyle Sutherland-Cash
9a3e8bcb84 First round of merging against server-client and color stuff 2021-05-08 04:32:31 -07:00
Kunal Mohan
585b225290 Use ZELLIJ_SOCKET_DIR env variable and make user specific tmp dir 2021-05-04 20:48:18 +05:30
Kunal Mohan
d33106431d Fix after rebase 2021-05-04 20:48:17 +05:30
Kunal Mohan
9110e444b8 remove Split, OpenFile and MoveFocus from CliArgs 2021-05-04 20:48:16 +05:30
Kunal Mohan
b7aa3fc21a Use interprocess crate for IPC 2021-05-04 20:48:16 +05:30
Kunal Mohan
fedb588330 Fix after rebase 2021-05-04 20:48:15 +05:30
Kunal Mohan
223ee743e1 Move screen and plugins to client side.
Remove AppInstruction enum
spawn pty thread, screen thread and plugin thread on demand
2021-05-04 20:48:15 +05:30
Kunal Mohan
4f088e8185 split start into start_server and start_client 2021-05-04 20:48:14 +05:30
Kunal Mohan
813547483f Rename notify_server to connect_to_server 2021-05-04 20:47:52 +05:30
Kunal Mohan
e30ec5745e Add router thread on server side as well 2021-05-04 20:47:52 +05:30
Kunal Mohan
965cc71918 Hide IpcChannel entirely behind OsApi 2021-05-04 20:47:52 +05:30
Kunal Mohan
bc2345c413 Hide server-side Ipc channels creation behind OsApis and some documentation fixes 2021-05-04 20:47:52 +05:30
Kunal Mohan
2ab18244f7 fix tests 2021-05-04 20:47:51 +05:30
Kunal Mohan
0d814ebcde Divide OsApi into ClientOsApi and ServerOsApi and move calls to os thread 2021-05-04 20:47:51 +05:30
Kunal Mohan
ef1c902be6 Introduce DoneCLosingPane message to ensure atomicity in state change 2021-05-04 20:47:50 +05:30
Kunal Mohan
77682d9ab5 Use ipmpsc crate for IPC 2021-05-04 20:47:49 +05:30
Kunal Mohan
1ee86f9a77 Introduce serlializable ClientInstruction and Rename ApiCommand 2021-05-04 20:47:49 +05:30
Kunal Mohan
685e2eef0c Introduce IpcSenderWithContext 2021-05-04 20:47:48 +05:30
Kunal Mohan
588cdaa008 isolate pty thread 2021-05-04 20:47:48 +05:30
a-kenji
993a6fdf0a Rename install -> setup
* Renaming of the install module to convey the intent more,
move functions that install to a submodule install of setup.
2021-05-02 15:59:02 +02:00
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
Kyle Sutherland-Cash
69d34c3e09 Don't commit to master like an idiot... :( 2021-05-01 09:32:30 -07:00
Kyle Sutherland-Cash
bb2369dcb8 Use Bus type for PTY thread (incomplete) 2021-05-01 08:48:58 -07:00
a-kenji
77e0b5e0d7 Config Loading
* Configuration is now handled in this order:
 --config flag
 ZELLIJ_CONFIG_FILE env
 get_default_config_dir() (directories-next)
 HOME/.config/zellij (for mac convenience)
 SYSTEM_DEFAULT_CONFIG_DIR (for distributions to specify sensible
 defaults ontop of zellij)
 from assets

* Fix default.yaml file

* Move default.yaml file to assets directory
2021-04-27 21:38:26 +02:00
Matthias Beyer
49429688cf fixup! Add subcommand to generate completions 2021-04-25 15:53:17 +02:00
Matthias Beyer
9aca589167 Add subcommand to generate completions
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-25 14:33:53 +02:00
Brooks J Rady
af702b67e6 feat(build): vastly simplify the build system 2021-04-14 19:08:22 +01:00
Brooks J Rady
0e73227fe2 merge(main): update branch with changes from main 2021-04-13 16:17:40 +01:00
Aram Drevekenin
313ac9f414
fix(performance): remove unnecessary allocations from pty (#264)
* work

* refactor(pty): removed unused code

* style(comment): remove unused

* style(fmt): rustfmt
2021-04-12 16:00:05 +02:00
Brooks J Rady
4c662fc6d0 Start porting to cargo-make 2021-03-26 16:01:22 +00:00
Brooks J Rady
0d20148518 infra(crates.io): allow publishing by including assets from a different path 2021-02-25 23:26:31 +00:00
Jonah Caplan
ce54127d7d add basic tab bar #166 2021-02-25 01:44:10 -05:00
Brooks J Rady
8d923ec6fd style(enable trailing commas in asset_map!) 2021-02-23 19:11:19 +00:00
Brooks J Rady
ee65f402c8 fix(plugin install location) 2021-02-23 19:01:23 +00:00
Brooks J Rady
3bc9fdbc0c build(simplify and fix build system, removing the binary assets) 2021-02-23 16:13:41 +00:00
Brooks J Rady
e05973ae0f Whoops, give things a format! 2021-02-16 18:43:28 +00:00
Brooks J Rady
5a3caba55f Install assets on first run 2021-02-16 17:23:16 +00:00
henil
436b4ee19e fix: Some warnings 2021-02-10 15:49:41 +05:30