Implement to json; Improve map display
This commit is contained in:
parent
ca4fd34bc1
commit
4e8d320c77
@ -174,6 +174,14 @@ impl Tool {
|
||||
Value::String("read".to_string()),
|
||||
Value::String("Get a file's content.".to_string()),
|
||||
])?;
|
||||
help_table.insert(vec![
|
||||
Value::String("from_json".to_string()),
|
||||
Value::String("Convert a JSON string to a value.".to_string()),
|
||||
])?;
|
||||
help_table.insert(vec![
|
||||
Value::String("to_json".to_string()),
|
||||
Value::String("Convert a value to a JSON string.".to_string()),
|
||||
])?;
|
||||
|
||||
Value::Table(help_table)
|
||||
}
|
||||
@ -191,7 +199,14 @@ impl Tool {
|
||||
|
||||
serde_json::from_str(json_string)?
|
||||
}
|
||||
Tool::ToJson => todo!(),
|
||||
Tool::ToJson => {
|
||||
Error::expect_tool_argument_amount("to_json", 1, values.len())?;
|
||||
|
||||
let value = &values[0];
|
||||
let json_string = serde_json::to_string(value)?;
|
||||
|
||||
Value::String(json_string)
|
||||
}
|
||||
};
|
||||
|
||||
Ok(value)
|
||||
|
@ -413,10 +413,10 @@ impl Display for Value {
|
||||
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
|
||||
match self {
|
||||
Value::String(string) => write!(f, "{string}"),
|
||||
Value::Float(float) => write!(f, "{}", float),
|
||||
Value::Integer(int) => write!(f, "{}", int),
|
||||
Value::Boolean(boolean) => write!(f, "{}", boolean),
|
||||
Value::Empty => write!(f, "()"),
|
||||
Value::Float(float) => write!(f, "{float}"),
|
||||
Value::Integer(int) => write!(f, "{int}"),
|
||||
Value::Boolean(boolean) => write!(f, "{boolean}"),
|
||||
Value::Empty => write!(f, "empty"),
|
||||
Value::List(list) => {
|
||||
write!(f, "[")?;
|
||||
for value in list {
|
||||
|
@ -139,7 +139,11 @@ impl Default for VariableMap {
|
||||
|
||||
impl Display for VariableMap {
|
||||
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
|
||||
Table::from(self).fmt(f)
|
||||
write!(f, "{{\n")?;
|
||||
for (key, value) in &self.variables {
|
||||
write!(f, " {key} = {value}\n")?;
|
||||
}
|
||||
write!(f, "}}")
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user