Starts a good tracing interface
This commit is contained in:
@ -5,6 +5,7 @@ use litemap::LiteMap;
|
||||
use crate::ast::Body;
|
||||
use crate::ast::Predicate;
|
||||
use crate::ast::Variable;
|
||||
use crate::prover::tracing::colored_var;
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct Constraints
|
||||
@ -187,7 +188,7 @@ impl Display for Constraints
|
||||
let len = self.set.len();
|
||||
for (i, (var, pred)) in self.set.iter().enumerate()
|
||||
{
|
||||
write!(f, "{} = {}", var, pred)?;
|
||||
write!(f, "{} = {}", colored_var(var), pred)?;
|
||||
if i != len - 1
|
||||
{
|
||||
write!(f, ", ")?;
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
use std::{default, fmt::Display};
|
||||
|
||||
use log::info;
|
||||
use owo_colors::{OwoColorize, colors::css::Gray};
|
||||
|
||||
use crate::ast::Variable;
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
pub enum ProofType
|
||||
@ -61,3 +64,18 @@ impl Tracer for SimpleTracer
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn colored_var(var: &Variable) -> String
|
||||
{
|
||||
let mut idx = None;
|
||||
for (i, char) in var.chars().enumerate()
|
||||
{
|
||||
if char == '['
|
||||
{
|
||||
idx = Some(i);
|
||||
}
|
||||
}
|
||||
let (var, unique) = var.split_at(idx.unwrap_or(var.len()));
|
||||
let unique = unique.fg::<Gray>();
|
||||
format!("{}{}", var, unique)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user