feat: clear console

This commit is contained in:
Artemy 2022-08-04 12:59:08 +03:00
parent 54cef02d79
commit 89207ca812
6 changed files with 9 additions and 99 deletions

View file

@ -131,6 +131,9 @@ impl Interpreter {
"ErrExit" => { "ErrExit" => {
self.err_exit(); self.err_exit();
} }
"clear" => {
self.clear();
}
"break" => return Value::String("break".to_string()), "break" => return Value::String("break".to_string()),
"continue" => return Value::String("continue".to_string()), "continue" => return Value::String("continue".to_string()),
value => { value => {
@ -147,6 +150,10 @@ impl Interpreter {
return Value::Null; return Value::Null;
} }
fn clear(&self) {
print!("{}[2J", 27 as char);
}
fn if_node(&mut self, value: &Map<String, Value>) -> Value { fn if_node(&mut self, value: &Map<String, Value>) -> Value {
let condition = self.eval_node(&value["condition"]); let condition = self.eval_node(&value["condition"]);
let nodes = &value.get("body"); let nodes = &value.get("body");

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

View file

@ -226,110 +226,13 @@
}, },
}, },
// { "clear",
// print: [
// {
// print: [
// { ░██╗░░░░░░░██╗░█████╗░████████╗
// print: [ ░██║░░██╗░░██║██╔══██╗╚══██╔══╝
// { ░╚██╗████╗██╔╝███████║░░░██║░░░
// print: [ ░░████╔═████║░██╔══██║░░░██║░░░
// { ░░╚██╔╝░╚██╔╝░██║░░██║░░░██║░░░
// print: [ ░░░╚═╝░░░╚═╝░░╚═╝░░╚═╝░░░╚═╝░░░
// { print: [{ print: [{ print: [{ print: "wat" }] }] }] },
// ],
// },
// ],
// },
// ],
// },
// ],
// },
// ],
// },
// //print functions
// {
// print: ["Hello world", "! ", 1, "\n", ["wow"], "\n", { calc: [1, "+", 2] }],
// },
// {
// println: ["Hello", "world", "!"],
// },
// {
// print: "Fool",
// },
// "Really?",
// [2, "Yes \n", true],
// true, //throw error
// //Exit functions
// "Exit",
// "ErrExit",
// //TODO CONCEPTS ########################################################################################################################################################################################################################## // //TODO CONCEPTS ##########################################################################################################################################################################################################################
// //variables------------
// //defining variables
// {
// let: {
// var: "value",
// anotherVar: true,
// },
// },
// //print variables
// { print: "@var" },
// ["This is ", "@var"],
// //assign variables
// {
// assign: { var: "newvalue" },
// },
// //-------------------
// //math--------------
// {
// calc: ["@var", "+", 1],
// },
// //or
// {
// calc: ["@var", "+", { calc: [1, "*", 2] }],
// },
// //------------------
// //comparison--------
// {
// comp: [1, ">=", "@var"],
// },
// //or
// {
// comp: [
// { comp: [{ calc: [1, "+", 1] }, ">", 1] },
// "&&",
// { comp: ["@var", ">=", 2] },
// ],
// },
// //------------------
// //cycles
// {
// loop: [
// {
// let: {
// var: "val",
// },
// },
// "@var",
// ],
// },
// { // {
// while: { // while: {
// cond: { comp: [1, ">=", "@var"] }, // cond: { comp: [1, ">=", {var: "variable"}] },
// body: [ // body: [
// //commands // //commands
// ], // ],