Added more formatting options

This commit is contained in:
2026-08-01 20:25:50 +02:00
parent a56b0004cf
commit bfac0c340f
4 changed files with 44 additions and 8 deletions
+4 -3
View File
@@ -1,5 +1,5 @@
use crate::{
general::{Allocation, EngineStatus, EventLog, Position, Signal},
general::{EngineStatus, EventLog, Position, Signal},
strategy::StrategyManifest,
};
use hypersdk::Decimal;
@@ -65,8 +65,9 @@ pub enum InspectItem {
pub struct EngineConfig {
pub preset: String,
pub strategy: StrategyManifest,
pub description: Option<String>,
pub risk_per_trade: Allocation,
pub risk_per_trade: String,
pub max_open_positions: u32,
pub max_daily_loss: Allocation,
pub max_daily_loss: String,
}
+3 -2
View File
@@ -109,9 +109,10 @@ impl Engine {
Ok(EngineConfig {
preset: manager.preset.clone(),
strategy: self.strategy_engine.strategy.lock().await.manifest.clone(),
description: config.description.clone(),
risk_per_trade: config.risk.risk_per_trade,
max_daily_loss: config.risk.max_daily_loss,
risk_per_trade: config.risk.risk_per_trade.to_string(),
max_daily_loss: config.risk.max_daily_loss.to_string(),
max_open_positions: config.risk.max_open_positions,
})
}
+16 -2
View File
@@ -219,12 +219,26 @@ impl Formatted for EngineConfig {
Triple(
"\x1b[2mPreset\x1b[0m",
"\x1b[2mStrategy\x1b[0m",
"\x1b[2mRisk\x1b[0m",
"\x1b[2mDescription\x1b[0m",
),
Triple(
&self.preset,
&self.strategy.name,
&self.risk_per_trade.to_string(),
self.description
.as_ref()
.map(String::as_str)
.unwrap_or("none"),
),
Triple("", "", ""),
Triple(
"\x1b[2mRisk/Trade\x1b[0m",
"\x1b[2mMax Positions\x1b[0m",
"\x1b[2mMax daily loss\x1b[0m",
),
Triple(
&self.risk_per_trade,
&self.max_open_positions.to_string(),
&self.max_daily_loss,
),
]
.get_formatted()
+21 -1
View File
@@ -66,7 +66,27 @@ impl TerminalClient {
)
.await
{
panic!("{v}")
crossterm::terminal::disable_raw_mode().unwrap();
crossterm::execute!(std::io::stdout(), crossterm::cursor::Show).unwrap();
crossterm::execute!(
std::io::stdout(),
crossterm::terminal::Clear(crossterm::terminal::ClearType::Purge)
)
.unwrap();
crossterm::execute!(
std::io::stdout(),
crossterm::terminal::Clear(crossterm::terminal::ClearType::All)
)
.unwrap();
crossterm::execute!(std::io::stdout(), crossterm::cursor::MoveTo(0, 0)).unwrap();
println!("Error using app: {v}");
std::process::exit(1);
}
});