* 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
* the simplified layout omits the Nerdfonts characters that are not
found in every Fontset
* add an optional config option to opt into the simplified ui
`simplified_ui: bool`
* add a config flag that allows opting into the simplified ui
`zellij options --simplified-ui`
* move the `clean` flag to the `setup` subcommand
The split of test/no_test happens now in
find_config_dir, it always returns Null in tests.
That way differing configurations in tests shouldn't
make the test fail anymore.
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"
* 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
This changes the `config` subcommand to a config flag.
Add option subcommand for now, for the clearing of default path.
Add `ZELLIJ_CONFIG` environment variable.
The configuration locations are now as follows:
* `--config` flag
* `ZELLIJ_CONFIG` environment variable
* default config location
in that order.