2023-06-22 23:06:45 +01:00
|
|
|
use clap::Subcommand;
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
use std::path::PathBuf;
|
|
|
|
|
|
|
|
#[derive(Subcommand, Debug, Serialize, Deserialize)]
|
|
|
|
#[serde(tag = "type")]
|
|
|
|
pub enum Command {
|
|
|
|
/// Return "ok"
|
|
|
|
Ping,
|
|
|
|
|
|
|
|
/// Open the GTK inspector
|
|
|
|
Inspect,
|
|
|
|
|
2023-07-01 00:05:12 +01:00
|
|
|
/// Reload the config
|
|
|
|
Reload,
|
|
|
|
|
2023-06-22 23:07:40 +01:00
|
|
|
/// Set an `ironvar` value.
|
|
|
|
/// This creates it if it does not already exist, and updates it if it does.
|
|
|
|
/// Any references to this variable are automatically and immediately updated.
|
|
|
|
/// Keys and values can be any valid UTF-8 string.
|
|
|
|
Set {
|
2023-07-01 00:05:12 +01:00
|
|
|
/// Variable key. Can be any alphanumeric ASCII string.
|
2023-06-22 23:07:40 +01:00
|
|
|
key: Box<str>,
|
|
|
|
/// Variable value. Can be any valid UTF-8 string.
|
|
|
|
value: String,
|
|
|
|
},
|
|
|
|
|
|
|
|
/// Get the current value of an `ironvar`.
|
|
|
|
Get {
|
|
|
|
/// Variable key.
|
|
|
|
key: Box<str>,
|
|
|
|
},
|
2023-06-24 11:19:57 +01:00
|
|
|
|
|
|
|
/// Load an additional CSS stylesheet.
|
|
|
|
/// The sheet is automatically hot-reloaded.
|
|
|
|
LoadCss {
|
|
|
|
/// The path to the sheet.
|
|
|
|
path: PathBuf,
|
|
|
|
},
|
2023-06-22 23:07:40 +01:00
|
|
|
}
|