Skip to content

Commit

Permalink
forgot to disable this
Browse files Browse the repository at this point in the history
  • Loading branch information
ClementTsang committed Jun 17, 2024
1 parent 13e093b commit 068fa73
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 36 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ zfs = []
logging = ["fern", "log", "time/local-offset"]
generate_schema = ["schemars", "serde_json", "strum"]
deploy = ["battery", "gpu", "zfs"]
default = ["deploy", "generate_schema"]
default = ["deploy"]

[dependencies]
anyhow = "1.0.86"
Expand Down
70 changes: 35 additions & 35 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ use crossterm::{
use data_conversion::*;
use event::{handle_key_event_or_break, handle_mouse_event, BottomEvent, CollectionThreadEvent};
use options::{args, get_color_scheme, get_config_path, get_or_create_config, init_app};
use strum::VariantArray;
use tui::{backend::CrosstermBackend, Terminal};
use utils::error;
#[allow(unused_imports)]
Expand Down Expand Up @@ -279,46 +278,47 @@ fn create_collection_thread(
})
}

#[cfg(feature = "generate_schema")]
fn generate_schema() -> anyhow::Result<()> {
let mut schema = schemars::schema_for!(crate::options::config::ConfigV1);
{
use itertools::Itertools;
use strum::VariantArray;

let proc_columns = schema.definitions.get_mut("ProcColumn").unwrap();
match proc_columns {
schemars::schema::Schema::Object(proc_columns) => {
let enums = proc_columns.enum_values.as_mut().unwrap();
*enums = options::config::process::ProcColumn::VARIANTS
.iter()
.flat_map(|var| var.get_schema_names())
.map(|v| serde_json::Value::String(v.to_string()))
.dedup()
.collect();
}
_ => anyhow::bail!("missing proc columns definition"),
}
}

let metadata = schema.schema.metadata.as_mut().unwrap();
metadata.id = Some(
"https://github.com/ClementTsang/bottom/blob/main/schema/nightly/bottom.json".to_string(),
);
metadata.description =
Some("https://clementtsang.github.io/bottom/nightly/configuration/config-file".to_string());
println!("{}", serde_json::to_string_pretty(&schema).unwrap());

Ok(())
}

fn main() -> anyhow::Result<()> {
// let _profiler = dhat::Profiler::new_heap();

let args = args::get_args();

#[cfg(feature = "generate_schema")]
{
if args.other.generate_schema {
let mut schema = schemars::schema_for!(crate::options::config::ConfigV1);
{
use itertools::Itertools;

let proc_columns = schema.definitions.get_mut("ProcColumn").unwrap();
match proc_columns {
schemars::schema::Schema::Object(proc_columns) => {
let enums = proc_columns.enum_values.as_mut().unwrap();
*enums = options::config::process::ProcColumn::VARIANTS
.iter()
.flat_map(|var| var.get_schema_names())
.map(|v| serde_json::Value::String(v.to_string()))
.dedup()
.collect();
}
_ => anyhow::bail!("missing proc columns definition"),
}
}

let metadata = schema.schema.metadata.as_mut().unwrap();
metadata.id = Some(
"https://github.com/ClementTsang/bottom/blob/main/schema/nightly/bottom.json"
.to_string(),
);
metadata.description = Some(
"https://clementtsang.github.io/bottom/nightly/configuration/config-file"
.to_string(),
);
println!("{}", serde_json::to_string_pretty(&schema).unwrap());

return Ok(());
}
if args.other.generate_schema {
return generate_schema();
}

#[cfg(feature = "logging")]
Expand Down
4 changes: 4 additions & 0 deletions src/options/config/process.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ impl ProcColumn {
ProcColumn::State => &["State"],
ProcColumn::User => &["User"],
ProcColumn::Time => &["Time"],
#[cfg(feature = "gpu")]
ProcColumn::GpuMem => &["GMem", "GMem%"],
#[cfg(feature = "gpu")]
ProcColumn::GpuPercent => &["GPU%"],
}
}
Expand Down Expand Up @@ -110,7 +112,9 @@ impl From<&ProcColumn> for ProcWidgetColumn {
ProcColumn::State => ProcWidgetColumn::State,
ProcColumn::User => ProcWidgetColumn::User,
ProcColumn::Time => ProcWidgetColumn::Time,
#[cfg(feature = "gpu")]
ProcColumn::GpuMem => ProcWidgetColumn::GpuMem,
#[cfg(feature = "gpu")]
ProcColumn::GpuPercent => ProcWidgetColumn::GpuUtil,
}
}
Expand Down

0 comments on commit 068fa73

Please sign in to comment.