mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 18:31:52 +00:00
* start consolidating * add start-cli flash-os * combine install and setup and refactor all * use http * undo mock * fix translation * translations * use dialogservice wrapper * better ST messaging on setup * only warn on update if breakages (#3097) * finish setup wizard and ui language-keyboard feature * fix typo * wip: localization * remove start-tunnel readme * switch to posix strings for language internal * revert mock * translate backend strings * fix missing about text * help text for args * feat: add "Add new gateway" option (#3098) * feat: add "Add new gateway" option * Update web/projects/ui/src/app/routes/portal/components/form/controls/select.component.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * add translation --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Matt Hill <mattnine@protonmail.com> * fix dns selection * keyboard keymap also * ability to shutdown after install * revert mock * working setup flow + manifest localization * (mostly) redundant localization on frontend * version bump * omit live medium from disk list and better space management * ignore missing package archive on 035 migration * fix device migration * add i18n helper to sdk * fix install over 0.3.5.1 * fix grub config --------- Co-authored-by: Matt Hill <mattnine@protonmail.com> Co-authored-by: Matt Hill <MattDHill@users.noreply.github.com> Co-authored-by: Alex Inkin <alexander@inkin.ru> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
42 lines
1.2 KiB
Rust
42 lines
1.2 KiB
Rust
use std::ffi::OsString;
|
|
|
|
use rpc_toolkit::CliApp;
|
|
use serde_json::Value;
|
|
|
|
use crate::context::CliContext;
|
|
use crate::context::config::ClientConfig;
|
|
use crate::util::logger::LOGGER;
|
|
use crate::version::{Current, VersionT};
|
|
|
|
lazy_static::lazy_static! {
|
|
static ref VERSION_STRING: String = Current::default().semver().to_string();
|
|
}
|
|
|
|
pub fn main(args: impl IntoIterator<Item = OsString>) {
|
|
LOGGER.enable();
|
|
|
|
if let Err(e) = CliApp::new(
|
|
|cfg: ClientConfig| Ok(CliContext::init(cfg.load()?)?),
|
|
crate::main_api(),
|
|
)
|
|
.mutate_command(super::translate_cli)
|
|
.run(args)
|
|
{
|
|
match e.data {
|
|
Some(Value::String(s)) => eprintln!("{}: {}", e.message, s),
|
|
Some(Value::Object(o)) => {
|
|
if let Some(Value::String(s)) = o.get("details") {
|
|
eprintln!("{}: {}", e.message, s);
|
|
if let Some(Value::String(s)) = o.get("debug") {
|
|
tracing::debug!("{}", s)
|
|
}
|
|
}
|
|
}
|
|
Some(a) => eprintln!("{}: {}", e.message, a),
|
|
None => eprintln!("{}", e.message),
|
|
}
|
|
|
|
std::process::exit(e.code);
|
|
}
|
|
}
|