diff --git a/src/abstract_tree/assignment.rs b/src/abstract_tree/assignment.rs index 3153d8b..f0f8c2a 100644 --- a/src/abstract_tree/assignment.rs +++ b/src/abstract_tree/assignment.rs @@ -35,7 +35,10 @@ impl AbstractTree for Assignment { source, type_node, context, )?) } else { - None + context + .variables()? + .get(identifier.inner()) + .map(|(_, r#type)| TypeDefinition::new(r#type.clone())) } } else { None @@ -83,10 +86,17 @@ impl AbstractTree for Assignment { AssignmentOperator::MinusEqual => todo!(), } } else { - if let Type::List(item_type) = identifier_type { - item_type - .check(&statement_type) - .map_err(|error| error.at_node(statement_node, source))?; + match operator { + AssignmentOperator::Equal => {} + AssignmentOperator::PlusEqual => { + if let Type::List(item_type) = identifier_type { + println!("{item_type} {statement_type}"); + item_type + .check(&statement_type) + .map_err(|error| error.at_node(statement_node, source))?; + } + } + AssignmentOperator::MinusEqual => todo!(), } } @@ -97,7 +107,7 @@ impl AbstractTree for Assignment { statement_type }; - context.set(variable_key, Value::Empty, Some(variable_type))?; + context.set(variable_key, Value::Option(None), Some(variable_type))?; Ok(Assignment { identifier, @@ -137,7 +147,7 @@ impl AbstractTree for Assignment { context.set(key.clone(), new_value, None)?; } - Ok(Value::Empty) + Ok(Value::Option(None)) } fn expected_type(&self, _context: &Map) -> Result { diff --git a/src/abstract_tree/block.rs b/src/abstract_tree/block.rs index 73c33d3..49d7e0c 100644 --- a/src/abstract_tree/block.rs +++ b/src/abstract_tree/block.rs @@ -52,7 +52,7 @@ impl AbstractTree for Block { fn run(&self, source: &str, context: &Map) -> Result { if self.is_async { let statements = &self.statements; - let final_result = RwLock::new(Ok(Value::Empty)); + let final_result = RwLock::new(Ok(Value::Option(None))); statements .into_par_iter() @@ -86,7 +86,7 @@ impl AbstractTree for Block { prev_result = Some(statement.run(source, context)); } - prev_result.unwrap_or(Ok(Value::Empty)) + prev_result.unwrap_or(Ok(Value::Option(None))) } } diff --git a/src/abstract_tree/for.rs b/src/abstract_tree/for.rs index ab302d4..550af04 100644 --- a/src/abstract_tree/for.rs +++ b/src/abstract_tree/for.rs @@ -71,7 +71,7 @@ impl AbstractTree for For { } } - Ok(Value::Empty) + Ok(Value::Option(None)) } fn expected_type(&self, _context: &Map) -> Result { diff --git a/src/abstract_tree/function_call.rs b/src/abstract_tree/function_call.rs index 388dbd3..a77dc20 100644 --- a/src/abstract_tree/function_call.rs +++ b/src/abstract_tree/function_call.rs @@ -39,26 +39,33 @@ impl AbstractTree for FunctionCall { let argument_index = arguments.len(); if let Type::Function { - parameter_types, - return_type: _, + parameter_types, .. } = &function_type { - let expected_type = parameter_types.get(argument_index).unwrap(); - let expected_type = if let Type::List(item_type) = expected_type { - item_type - } else { - expected_type - }; - - expected_type - .check(&expression_type) - .map_err(|error| error.at_node(child, source))?; + if let Some(r#type) = parameter_types.get(argument_index) { + r#type + .check(&expression_type) + .map_err(|error| error.at_node(child, source))?; + } } arguments.push(expression); } } + if let Type::Function { + parameter_types, .. + } = &function_type + { + if arguments.len() != parameter_types.len() { + return Err(Error::ExpectedFunctionArgumentAmount { + source: source[expression_node.byte_range()].to_string(), + expected: parameter_types.len(), + actual: arguments.len(), + }); + } + } + Ok(FunctionCall { function_expression, arguments, @@ -110,7 +117,7 @@ impl AbstractTree for FunctionCall { arguments.push(value); } - value.as_function()?.call(&arguments, source, context) + value.as_function()?.call(&arguments, source) } fn expected_type(&self, context: &Map) -> Result { @@ -183,6 +190,6 @@ mod tests { #[test] fn evaluate_built_in_function_call() { - assert_eq!(evaluate("(output 'Hiya')"), Ok(Value::Empty)); + assert_eq!(evaluate("(output 'Hiya')"), Ok(Value::Option(None))); } } diff --git a/src/abstract_tree/if_else.rs b/src/abstract_tree/if_else.rs index a244d63..715a22c 100644 --- a/src/abstract_tree/if_else.rs +++ b/src/abstract_tree/if_else.rs @@ -76,7 +76,7 @@ impl AbstractTree for IfElse { if let Some(block) = &self.else_block { block.run(source, context) } else { - Ok(Value::Empty) + Ok(Value::Option(None)) } } } diff --git a/src/abstract_tree/index_assignment.rs b/src/abstract_tree/index_assignment.rs index e1c03ff..72dcc84 100644 --- a/src/abstract_tree/index_assignment.rs +++ b/src/abstract_tree/index_assignment.rs @@ -70,7 +70,7 @@ impl AbstractTree for IndexAssignment { previous_value += value; previous_value } else { - Value::Empty + Value::Option(None) } } AssignmentOperator::MinusEqual => { @@ -80,7 +80,7 @@ impl AbstractTree for IndexAssignment { previous_value -= value; previous_value } else { - Value::Empty + Value::Option(None) } } AssignmentOperator::Equal => value, @@ -88,7 +88,7 @@ impl AbstractTree for IndexAssignment { index_context.set(index_key.clone(), new_value, None)?; - Ok(Value::Empty) + Ok(Value::Option(None)) } fn expected_type(&self, _context: &Map) -> Result { diff --git a/src/abstract_tree/match.rs b/src/abstract_tree/match.rs index a82ae46..298bb3e 100644 --- a/src/abstract_tree/match.rs +++ b/src/abstract_tree/match.rs @@ -72,7 +72,7 @@ impl AbstractTree for Match { if let Some(fallback) = &self.fallback { fallback.run(source, context) } else { - Ok(Value::Empty) + Ok(Value::Option(None)) } } diff --git a/src/abstract_tree/mod.rs b/src/abstract_tree/mod.rs index c3dbfd2..d390432 100644 --- a/src/abstract_tree/mod.rs +++ b/src/abstract_tree/mod.rs @@ -57,7 +57,7 @@ impl AbstractTree for Root { } fn run(&self, source: &str, context: &Map) -> Result { - let mut value = Value::Empty; + let mut value = Value::Option(None); for statement in &self.statements { value = statement.run(source, context)?; diff --git a/src/abstract_tree/type_definition.rs b/src/abstract_tree/type_definition.rs index 3be1c5f..f2dd173 100644 --- a/src/abstract_tree/type_definition.rs +++ b/src/abstract_tree/type_definition.rs @@ -64,6 +64,7 @@ pub enum Type { Map, Number, String, + Option(Option>), } impl Type { @@ -82,6 +83,16 @@ impl Type { | (Type::Integer, Type::Number) | (Type::Float, Type::Number) | (Type::String, Type::String) => Ok(()), + (Type::Option(left), Type::Option(right)) => { + if left == right { + Ok(()) + } else { + Err(Error::TypeCheck { + expected: self.clone(), + actual: other.clone(), + }) + } + } (Type::List(self_item_type), Type::List(other_item_type)) => { if self_item_type.check(&other_item_type).is_err() { Err(Error::TypeCheck { @@ -178,9 +189,15 @@ impl AbstractTree for Type { "map" => Type::Map, "num" => Type::Number, "str" => Type::String, + "option" => { + let inner_type_node = node.child(2).unwrap(); + let inner_type = Type::from_syntax_node(source, inner_type_node, context)?; + + Type::Option(Some(Box::new(inner_type))) + } _ => { return Err(Error::UnexpectedSyntaxNode { - expected: "any, bool, float, fn, int, list, map, num or str", + expected: "any, bool, float, function, int, list, map, num, str or option", actual: type_node.kind(), location: type_node.start_position(), relevant_source: source[type_node.byte_range()].to_string(), @@ -192,7 +209,7 @@ impl AbstractTree for Type { } fn run(&self, _source: &str, _context: &Map) -> Result { - Ok(Value::Empty) + Ok(Value::Option(None)) } fn expected_type(&self, _context: &Map) -> Result { @@ -229,6 +246,13 @@ impl Display for Type { Type::Map => write!(f, "map"), Type::Number => write!(f, "num"), Type::String => write!(f, "str"), + Type::Option(option) => { + if let Some(r#type) = option { + write!(f, "some({})", r#type) + } else { + write!(f, "none") + } + } } } } diff --git a/src/abstract_tree/value_node.rs b/src/abstract_tree/value_node.rs index fa4bbd1..fb2177e 100644 --- a/src/abstract_tree/value_node.rs +++ b/src/abstract_tree/value_node.rs @@ -16,7 +16,7 @@ pub enum ValueNode { Integer(String), String(String), List(Vec), - Empty, + Option(Option>), Map(BTreeMap)>), } @@ -50,14 +50,14 @@ impl AbstractTree for ValueNode { } } - let function_context = Map::clone_from(context)?; + let function_context_types = Map::clone_from(context)?; for (parameter_name, parameter_type) in parameters.iter().zip(parameter_types.iter()) { - function_context.set( + function_context_types.set( parameter_name.inner().clone(), - Value::Empty, + Value::Option(None), Some(parameter_type.clone()), )?; } @@ -67,19 +67,14 @@ impl AbstractTree for ValueNode { TypeDefinition::from_syntax_node(source, return_type_node, context)?; let body_node = child.child(child_count - 1).unwrap(); - let body = Block::from_syntax_node(source, body_node, &function_context)?; + let body = Block::from_syntax_node(source, body_node, &function_context_types)?; let r#type = Type::Function { parameter_types, return_type: Box::new(return_type.take_inner()), }; - ValueNode::Function(Function::new( - parameters, - body, - Some(r#type), - function_context, - )) + ValueNode::Function(Function::new(parameters, body, Some(r#type))) } "integer" => ValueNode::Integer(source[child.byte_range()].to_string()), "string" => { @@ -138,9 +133,22 @@ impl AbstractTree for ValueNode { ValueNode::Map(child_nodes) } + "option" => { + let first_grandchild = child.child(0).unwrap(); + + if first_grandchild.kind() == "none" { + ValueNode::Option(None) + } else { + let expression_node = child.child(2).unwrap(); + let expression = + Expression::from_syntax_node(source, expression_node, context)?; + + ValueNode::Option(Some(Box::new(expression))) + } + } _ => { return Err(Error::UnexpectedSyntaxNode { - expected: "string, integer, float, boolean, list, map, or empty", + expected: "string, integer, float, boolean, list, map, or option", actual: child.kind(), location: child.start_position(), relevant_source: source[child.byte_range()].to_string(), @@ -169,7 +177,15 @@ impl AbstractTree for ValueNode { Value::List(List::with_items(values)) } - ValueNode::Empty => Value::Empty, + ValueNode::Option(option) => { + let option_value = if let Some(expression) = option { + Some(Box::new(expression.run(source, context)?)) + } else { + None + }; + + Value::Option(option_value) + } ValueNode::Map(key_statement_pairs) => { let map = Map::new(); @@ -216,7 +232,13 @@ impl AbstractTree for ValueNode { Type::List(Box::new(Type::Any)) } } - ValueNode::Empty => Type::Any, + ValueNode::Option(option) => { + if let Some(expression) = option { + Type::Option(Some(Box::new(expression.expected_type(context)?))) + } else { + Type::Option(None) + } + } ValueNode::Map(_) => Type::Map, }; @@ -231,8 +253,8 @@ mod tests { #[test] fn evaluate_empty() { - assert_eq!(evaluate("x = 9"), Ok(Value::Empty)); - assert_eq!(evaluate("x = 1 + 1"), Ok(Value::Empty)); + assert_eq!(evaluate("x = 9"), Ok(Value::Option(None))); + assert_eq!(evaluate("x = 1 + 1"), Ok(Value::Option(None))); } #[test] @@ -333,4 +355,11 @@ mod tests { ); assert_eq!(Ok(&Type::Boolean), function.return_type()); } + + #[test] + fn evaluate_option() { + let result = evaluate("x = some(1); x").unwrap(); + + assert_eq!(Value::Option(Some(Box::new(Value::Integer(1)))), result); + } } diff --git a/src/abstract_tree/while.rs b/src/abstract_tree/while.rs index 5b53551..b976c15 100644 --- a/src/abstract_tree/while.rs +++ b/src/abstract_tree/while.rs @@ -30,7 +30,7 @@ impl AbstractTree for While { self.block.run(source, context)?; } - Ok(Value::Empty) + Ok(Value::Option(None)) } fn expected_type(&self, context: &Map) -> Result { @@ -40,10 +40,10 @@ impl AbstractTree for While { #[cfg(test)] mod tests { - use crate::evaluate; + use crate::{evaluate, Value}; #[test] fn evalualate_while_loop() { - assert_eq!(evaluate("while false { 'foo' }"), Ok(crate::Value::Empty)) + assert_eq!(evaluate("while false { 'foo' }"), Ok(Value::Option(None))) } } diff --git a/src/built_in_functions/assert.rs b/src/built_in_functions/assert.rs index 3df2fb2..5a11d04 100644 --- a/src/built_in_functions/assert.rs +++ b/src/built_in_functions/assert.rs @@ -14,7 +14,7 @@ impl BuiltInFunction for Assert { } } - Ok(Value::Empty) + Ok(Value::Option(None)) } fn r#type(&self) -> Type { @@ -39,7 +39,7 @@ impl BuiltInFunction for AssertEqual { let right = arguments.get(1).unwrap(); if left == right { - Ok(Value::Empty) + Ok(Value::Option(None)) } else { Err(Error::AssertEqualFailed { expected: left.clone(), diff --git a/src/built_in_functions/commands.rs b/src/built_in_functions/commands.rs index 03f7edc..cbd4d4e 100644 --- a/src/built_in_functions/commands.rs +++ b/src/built_in_functions/commands.rs @@ -2,6 +2,37 @@ use std::process::Command; use crate::{BuiltInFunction, Error, Map, Result, Type, Value}; +pub struct Raw; + +impl BuiltInFunction for Raw { + fn name(&self) -> &'static str { + "raw" + } + + fn run(&self, arguments: &[Value], _context: &Map) -> Result { + Error::expect_argument_amount(self, 2, arguments.len())?; + + let program = arguments.first().unwrap().as_string()?; + let command_arguments = arguments.get(1).unwrap().as_list()?; + let mut command = Command::new(program); + + for argument in command_arguments.items().iter() { + command.arg(argument.as_string()?); + } + + let output = command.spawn()?.wait_with_output()?.stdout; + + Ok(Value::String(String::from_utf8(output)?)) + } + + fn r#type(&self) -> crate::Type { + Type::Function { + parameter_types: vec![Type::String, Type::List(Box::new(Type::String))], + return_type: Box::new(Type::String), + } + } +} + pub struct Sh; impl BuiltInFunction for Sh { @@ -15,9 +46,8 @@ impl BuiltInFunction for Sh { let command_text = arguments.first().unwrap().as_string()?; let mut command = Command::new("sh"); - for word in command_text.split(' ') { - command.arg(word); - } + command.arg("-c"); + command.arg(command_text); let output = command.spawn()?.wait_with_output()?.stdout; diff --git a/src/built_in_functions/fs.rs b/src/built_in_functions/fs.rs index 9aad9e5..b5793b9 100644 --- a/src/built_in_functions/fs.rs +++ b/src/built_in_functions/fs.rs @@ -61,11 +61,11 @@ impl BuiltInFunction for Write { fn run(&self, arguments: &[Value], _context: &Map) -> Result { let file_content = arguments.first().unwrap_or_default().as_string()?; - let path = arguments.get(1).unwrap_or(&Value::Empty).as_string()?; + let path = arguments.get(1).unwrap_or_default().as_string()?; write(path, file_content)?; - Ok(Value::Empty) + Ok(Value::Option(None)) } fn r#type(&self) -> Type { @@ -84,8 +84,14 @@ impl BuiltInFunction for Append { } fn run(&self, arguments: &[Value], _context: &Map) -> Result { - let file_content = arguments.first().unwrap_or(&Value::Empty).as_string()?; - let path = arguments.get(1).unwrap_or(&Value::Empty).as_string()?; + let file_content = arguments + .first() + .unwrap_or(&Value::Option(None)) + .as_string()?; + let path = arguments + .get(1) + .unwrap_or(&Value::Option(None)) + .as_string()?; File::options() .append(true) @@ -93,7 +99,7 @@ impl BuiltInFunction for Append { .open(path)? .write_all(file_content.as_bytes())?; - Ok(Value::Empty) + Ok(Value::Option(None)) } fn r#type(&self) -> Type { diff --git a/src/built_in_functions/mod.rs b/src/built_in_functions/mod.rs index f1fd830..016c070 100644 --- a/src/built_in_functions/mod.rs +++ b/src/built_in_functions/mod.rs @@ -8,6 +8,7 @@ mod data_formats; mod fs; mod network; mod output; +mod packages; mod random; mod r#type; @@ -15,10 +16,11 @@ mod r#type; /// /// This is the public interface to access built-in functions by iterating over /// the references it holds. -pub const BUILT_IN_FUNCTIONS: [&dyn BuiltInFunction; 16] = [ +pub const BUILT_IN_FUNCTIONS: [&dyn BuiltInFunction; 18] = [ &assert::Assert, &assert::AssertEqual, &collections::Length, + &commands::Raw, &commands::Sh, &data_formats::FromJson, &data_formats::ToJson, @@ -27,6 +29,7 @@ pub const BUILT_IN_FUNCTIONS: [&dyn BuiltInFunction; 16] = [ &fs::Append, &network::Download, &output::Output, + &packages::InstallPackages, &random::Random, &random::RandomBoolean, &random::RandomFloat, diff --git a/src/built_in_functions/output.rs b/src/built_in_functions/output.rs index eab4c0e..2af2a27 100644 --- a/src/built_in_functions/output.rs +++ b/src/built_in_functions/output.rs @@ -12,7 +12,7 @@ impl BuiltInFunction for Output { println!("{argument}"); } - Ok(Value::Empty) + Ok(Value::Option(None)) } fn r#type(&self) -> Type { diff --git a/src/built_in_functions/packages.rs b/src/built_in_functions/packages.rs new file mode 100644 index 0000000..ff6ae73 --- /dev/null +++ b/src/built_in_functions/packages.rs @@ -0,0 +1,35 @@ +use std::process::Command; + +use crate::{BuiltInFunction, Error, Map, Result, Type, Value}; + +pub struct InstallPackages; + +impl BuiltInFunction for InstallPackages { + fn name(&self) -> &'static str { + "install_packages" + } + + fn run(&self, arguments: &[Value], _context: &Map) -> Result { + Error::expect_argument_amount(self, 1, arguments.len())?; + + let mut command = Command::new("sudo"); + let argument_list = arguments.first().unwrap().as_list()?; + + command.args(&["dnf", "-y", "install"]); + + for argument in argument_list.items().iter() { + command.arg(argument.as_string()?); + } + + command.spawn()?.wait()?; + + Ok(Value::Option(None)) + } + + fn r#type(&self) -> Type { + Type::Function { + parameter_types: vec![Type::List(Box::new(Type::String))], + return_type: Box::new(Type::Empty), + } + } +} diff --git a/src/built_in_functions/type.rs b/src/built_in_functions/type.rs index 388e679..ac7b34e 100644 --- a/src/built_in_functions/type.rs +++ b/src/built_in_functions/type.rs @@ -1,4 +1,4 @@ -use crate::{BuiltInFunction, Error, List, Map, Result, Type, Value}; +use crate::{BuiltInFunction, Error, Map, Result, Type, Value}; pub struct TypeFunction; @@ -10,32 +10,15 @@ impl BuiltInFunction for TypeFunction { fn run(&self, arguments: &[Value], _context: &Map) -> Result { Error::expect_argument_amount(self, 1, arguments.len())?; - if arguments.len() == 1 { - let type_definition = arguments.first().unwrap().r#type(); - let type_text = type_definition.to_string(); - let text_without_brackets = &type_text[1..type_text.len() - 1]; + let type_text = arguments.first().unwrap().r#type().to_string(); - Ok(Value::String(text_without_brackets.to_string())) - } else { - let mut answers = Vec::new(); - - for value in arguments { - let type_definition = value.r#type(); - let type_text = type_definition.to_string(); - let text_without_brackets = &type_text[1..type_text.len() - 1]; - let text_as_value = Value::String(text_without_brackets.to_string()); - - answers.push(text_as_value); - } - - Ok(Value::List(List::with_items(answers))) - } + Ok(Value::String(type_text)) } fn r#type(&self) -> Type { Type::Function { - parameter_types: vec![Type::String], - return_type: Box::new(Type::Any), + parameter_types: vec![Type::Any], + return_type: Box::new(Type::String), } } } diff --git a/src/error.rs b/src/error.rs index 4ddf435..2333a4b 100644 --- a/src/error.rs +++ b/src/error.rs @@ -60,12 +60,19 @@ pub enum Error { }, /// A function was called with the wrong amount of arguments. - ExpectedArgumentAmount { + ExpectedBuiltInFunctionArgumentAmount { function_name: &'static str, expected: usize, actual: usize, }, + /// A function was called with the wrong amount of arguments. + ExpectedFunctionArgumentAmount { + source: String, + expected: usize, + actual: usize, + }, + /// A function was called with the wrong amount of arguments. ExpectedArgumentMinimum { function_name: &'static str, @@ -113,7 +120,7 @@ pub enum Error { actual: Value, }, - ExpectedEmpty { + ExpectedNone { actual: Value, }, @@ -190,7 +197,7 @@ impl Error { if expected == actual { Ok(()) } else { - Err(Error::ExpectedArgumentAmount { + Err(Error::ExpectedBuiltInFunctionArgumentAmount { function_name: function.name(), expected, actual, @@ -312,7 +319,7 @@ impl fmt::Display for Error { "An operator expected {} arguments, but got {}.", expected, actual ), - ExpectedArgumentAmount { + ExpectedBuiltInFunctionArgumentAmount { function_name: tool_name, expected, actual, @@ -320,6 +327,14 @@ impl fmt::Display for Error { f, "{tool_name} expected {expected} arguments, but got {actual}.", ), + ExpectedFunctionArgumentAmount { + source, + expected, + actual, + } => write!( + f, + "{source} expected {expected} arguments, but got {actual}.", + ), ExpectedArgumentMinimum { function_name, minimum, @@ -358,7 +373,7 @@ impl fmt::Display for Error { "Expected a list of len {}, but got {:?}.", expected_len, actual ), - ExpectedEmpty { actual } => write!(f, "Expected an empty value, but got {actual}."), + ExpectedNone { actual } => write!(f, "Expected an empty value, but got {actual}."), ExpectedMap { actual } => write!(f, "Expected a map, but got {actual}."), ExpectedTable { actual } => write!(f, "Expected a table, but got {actual}."), ExpectedFunction { actual } => { diff --git a/src/lib.rs b/src/lib.rs index b9b3a9f..41661ee 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,7 +9,7 @@ pub use crate::{ built_in_functions::{BuiltInFunction, BUILT_IN_FUNCTIONS}, error::*, evaluate::*, - value::{function::Function, list::List, map::Map, table::Table, Value}, + value::{function::Function, list::List, map::Map, Value}, }; mod abstract_tree; diff --git a/src/main.rs b/src/main.rs index 42d4dc1..479e192 100644 --- a/src/main.rs +++ b/src/main.rs @@ -94,7 +94,7 @@ fn main() { match eval_result { Ok(value) => { - if !value.is_empty() { + if !value.is_none() { println!("{value}") } } diff --git a/src/value/function.rs b/src/value/function.rs index e7199b2..facfe1d 100644 --- a/src/value/function.rs +++ b/src/value/function.rs @@ -9,16 +9,10 @@ pub struct Function { parameters: Vec, body: Block, r#type: Type, - context: Map, } impl Function { - pub fn new( - parameters: Vec, - body: Block, - r#type: Option, - context: Map, - ) -> Self { + pub fn new(parameters: Vec, body: Block, r#type: Option) -> Self { let r#type = r#type.unwrap_or(Type::Function { parameter_types: vec![Type::Any; parameters.len()], return_type: Box::new(Type::Any), @@ -28,7 +22,6 @@ impl Function { parameters, body, r#type, - context, } } @@ -54,33 +47,25 @@ impl Function { } } - pub fn call(&self, arguments: &[Value], source: &str, context: &Map) -> Result { + pub fn call(&self, arguments: &[Value], source: &str) -> Result { if self.parameters.len() != arguments.len() { - return Err(Error::ExpectedArgumentAmount { - function_name: "", + return Err(Error::ExpectedFunctionArgumentAmount { + source: "unknown".to_string(), expected: self.parameters.len(), actual: arguments.len(), }); } - for (key, (value, r#type)) in context.variables()?.iter() { - if self.context.variables()?.contains_key(key) { - continue; - } - - self.context - .set(key.clone(), value.clone(), Some(r#type.clone()))?; - } - + let context = Map::new(); let parameter_argument_pairs = self.parameters.iter().zip(arguments.iter()); for (identifier, value) in parameter_argument_pairs { let key = identifier.inner().clone(); - self.context.set(key, value.clone(), None)?; + context.set(key, value.clone(), None)?; } - let return_value = self.body.run(source, &self.context)?; + let return_value = self.body.run(source, &context)?; Ok(return_value) } diff --git a/src/value/map.rs b/src/value/map.rs index e56a2c3..7a51a07 100644 --- a/src/value/map.rs +++ b/src/value/map.rs @@ -55,6 +55,12 @@ impl Map { Ok(previous) } + + pub fn clear(&self) -> Result<()> { + self.variables.write()?.clear(); + + Ok(()) + } } impl Default for Map { diff --git a/src/value/mod.rs b/src/value/mod.rs index fdfc435..a8e32ff 100644 --- a/src/value/mod.rs +++ b/src/value/mod.rs @@ -21,14 +21,13 @@ use std::{ pub mod function; pub mod list; pub mod map; -pub mod table; /// Dust value representation. /// /// Every dust variable has a key and a Value. Variables are represented by /// storing them in a VariableMap. This means the map of variables is itself a /// value that can be treated as any other. -#[derive(Debug, Clone, Default)] +#[derive(Debug, Clone)] pub enum Value { List(List), Map(Map), @@ -37,8 +36,13 @@ pub enum Value { Float(f64), Integer(i64), Boolean(bool), - #[default] - Empty, + Option(Option>), +} + +impl Default for Value { + fn default() -> Self { + Value::Option(None) + } } impl Value { @@ -71,7 +75,13 @@ impl Value { Value::Float(_) => Type::Float, Value::Integer(_) => Type::Integer, Value::Boolean(_) => Type::Boolean, - Value::Empty => Type::Empty, + Value::Option(option) => { + if let Some(value) = option { + Type::Option(Some(Box::new(value.r#type()))) + } else { + Type::Option(None) + } + } }; r#type @@ -101,8 +111,12 @@ impl Value { matches!(self, Value::List(_)) } - pub fn is_empty(&self) -> bool { - matches!(self, Value::Empty) + pub fn is_option(&self) -> bool { + matches!(self, Value::Option(_)) + } + + pub fn is_none(&self) -> bool { + matches!(self, Value::Option(None)) } pub fn is_map(&self) -> bool { @@ -206,11 +220,19 @@ impl Value { } } - /// Returns `()`, or returns`Err` if `self` is not a `Value::Empty`. - pub fn as_empty(&self) -> Result<()> { + /// Returns `()`, or returns `Err` if `self` is not a `Value::Option(None)`. + pub fn as_none(&self) -> Result<()> { match self { - Value::Empty => Ok(()), - value => Err(Error::ExpectedEmpty { + Value::Option(option) => { + if option.is_none() { + Ok(()) + } else { + Err(Error::ExpectedNone { + actual: self.clone(), + }) + } + } + value => Err(Error::ExpectedNone { actual: value.clone(), }), } @@ -219,7 +241,7 @@ impl Value { impl Default for &Value { fn default() -> Self { - &Value::Empty + &Value::Option(None) } } @@ -371,7 +393,7 @@ impl PartialEq for Value { (Value::List(left), Value::List(right)) => left == right, (Value::Map(left), Value::Map(right)) => left == right, (Value::Function(left), Value::Function(right)) => left == right, - (Value::Empty, Value::Empty) => true, + (Value::Option(left), Value::Option(right)) => left == right, _ => false, } } @@ -408,8 +430,8 @@ impl Ord for Value { (Value::Map(_), _) => Ordering::Greater, (Value::Function(left), Value::Function(right)) => left.cmp(right), (Value::Function(_), _) => Ordering::Greater, - (Value::Empty, Value::Empty) => Ordering::Equal, - (Value::Empty, _) => Ordering::Less, + (Value::Option(left), Value::Option(right)) => left.cmp(right), + (Value::Option(_), _) => Ordering::Less, } } } @@ -434,7 +456,7 @@ impl Serialize for Value { list.end() } - Value::Empty => todo!(), + Value::Option(inner) => inner.serialize(serializer), Value::Map(inner) => inner.serialize(serializer), Value::Function(inner) => inner.serialize(serializer), } @@ -448,7 +470,13 @@ impl Display for Value { Value::Float(float) => write!(f, "{float}"), Value::Integer(int) => write!(f, "{int}"), Value::Boolean(boolean) => write!(f, "{boolean}"), - Value::Empty => write!(f, "empty"), + Value::Option(option) => { + if let Some(value) = option { + write!(f, "some({})", value) + } else { + write!(f, "none") + } + } Value::List(list) => { write!(f, "[")?; for value in list.items().iter() { @@ -506,7 +534,7 @@ impl From for Result { impl From<()> for Value { fn from(_: ()) -> Self { - Value::Empty + Value::Option(None) } } @@ -729,7 +757,7 @@ impl<'de> Visitor<'de> for ValueVisitor { where E: serde::de::Error, { - Ok(Value::Empty) + Ok(Value::Option(None)) } fn visit_some(self, deserializer: D) -> std::result::Result @@ -747,7 +775,7 @@ impl<'de> Visitor<'de> for ValueVisitor { where E: serde::de::Error, { - Ok(Value::Empty) + Ok(Value::Option(None)) } fn visit_newtype_struct(self, deserializer: D) -> std::result::Result diff --git a/src/value/table.rs b/src/value/table.rs deleted file mode 100644 index 76cbb4d..0000000 --- a/src/value/table.rs +++ /dev/null @@ -1,344 +0,0 @@ -use crate::{Error, List, Map, Result, Value}; -use comfy_table::{Cell, Color, ContentArrangement, Table as ComfyTable}; -use serde::{Deserialize, Serialize}; -use std::{ - cmp::Ordering, - fmt::{self, Display, Formatter}, -}; - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Table { - headers: Vec, - rows: Vec>, - primary_key_index: usize, -} - -impl Table { - pub fn new(headers: Vec) -> Self { - Table { - headers, - rows: Vec::new(), - primary_key_index: 0, - } - } - - pub fn with_capacity(capacity: usize, headers: Vec) -> Self { - Table { - headers, - rows: Vec::with_capacity(capacity), - primary_key_index: 0, - } - } - - pub fn from_raw_parts(headers: Vec, rows: Vec>) -> Self { - Table { - headers, - rows, - primary_key_index: 0, - } - } - - pub fn reserve(&mut self, additional: usize) { - self.rows.reserve(additional); - } - - pub fn headers(&self) -> &Vec { - &self.headers - } - - pub fn rows(&self) -> &Vec> { - &self.rows - } - - pub fn len(&self) -> usize { - self.rows.len() - } - - pub fn is_empty(&self) -> bool { - self.rows.is_empty() - } - - pub fn sort(&mut self) { - self.rows.sort(); - } - - pub fn insert(&mut self, row: Vec) -> Result<()> { - if row.len() != self.headers.len() { - return Err(Error::WrongColumnAmount { - expected: self.headers.len(), - actual: row.len(), - }); - } - - self.rows.push(row); - - Ok(()) - } - - pub fn remove(&mut self, index: usize) -> Result<()> { - self.rows.remove(index); - - Ok(()) - } - - pub fn get_row(&self, index: usize) -> Option<&Vec> { - self.rows.get(index) - } - - pub fn get(&self, value: &Value) -> Option<&Vec> { - let primary_key = self.headers().get(self.primary_key_index)?; - - self.get_where(primary_key, value) - } - - pub fn get_where(&self, column_name: &str, expected: &Value) -> Option<&Vec> { - let column_index = self.get_column_index(column_name)?; - - for row in &self.rows { - if let Some(actual) = row.get(column_index) { - if actual == expected { - return Some(row); - } - } - } - - None - } - - pub fn filter(&self, column_name: &str, expected: &Value) -> Option { - let mut filtered = Table::new(self.headers.clone()); - let column_index = self.get_column_index(column_name)?; - - for row in &self.rows { - let actual = row.get(column_index).unwrap(); - - if actual == expected { - let _ = filtered.insert(row.clone()); - } - } - - Some(filtered) - } - - pub fn get_column_index(&self, column_name: &str) -> Option { - let column_names = &self.headers; - for (i, column) in column_names.iter().enumerate() { - if column == column_name { - return Some(i); - } - } - None - } -} - -impl Display for Table { - fn fmt(&self, f: &mut Formatter) -> fmt::Result { - let mut table = ComfyTable::new(); - - table - .load_preset("││──├─┼┤│ ┬┴╭╮╰╯") - .set_content_arrangement(ContentArrangement::Dynamic) - .set_header(&self.headers); - - for row in &self.rows { - let row = row.iter().map(|value| { - let text = match value { - Value::List(list) => { - let mut string = "(".to_string(); - - for (index, value) in list.items().iter().enumerate() { - if index > 0 { - string.push_str(", "); - } - - string.push_str(&value.to_string()); - } - - string.push(')'); - - string - } - Value::Map(map) => format!("Map ({} items)", map.variables().unwrap().len()), - Value::Function(_) => "Function".to_string(), - Value::Empty => "Empty".to_string(), - value => value.to_string(), - }; - - let mut cell = Cell::new(text).bg(Color::Rgb { - r: 40, - g: 40, - b: 40, - }); - - if value.is_string() { - cell = cell.fg(Color::Green); - } - if value.is_integer() { - cell = cell.fg(Color::Blue); - } - if value.is_boolean() { - cell = cell.fg(Color::Red); - } - if value.is_function() { - cell = cell.fg(Color::Cyan); - } - - cell - }); - - table.add_row(row); - } - - if self.headers.is_empty() { - table.set_header(["empty"]); - } - - write!(f, "{table}") - } -} - -impl From<&Value> for Table { - fn from(value: &Value) -> Self { - match value { - Value::String(string) => { - let mut table = Table::new(vec!["string".to_string()]); - - table - .insert(vec![Value::String(string.to_string())]) - .unwrap(); - - table - } - Value::Float(float) => { - let mut table = Table::new(vec!["float".to_string()]); - - table.insert(vec![Value::Float(*float)]).unwrap(); - - table - } - Value::Integer(integer) => { - let mut table = Table::new(vec!["integer".to_string()]); - - table.insert(vec![Value::Integer(*integer)]).unwrap(); - - table - } - Value::Boolean(boolean) => { - let mut table = Table::new(vec!["boolean".to_string()]); - - table.insert(vec![Value::Boolean(*boolean)]).unwrap(); - - table - } - Value::List(list) => Self::from(list), - Value::Empty => Table::new(Vec::with_capacity(0)), - Value::Map(map) => Result::
::from(map).unwrap(), - Value::Function(function) => { - let mut table = Table::new(vec!["function".to_string()]); - - table - .insert(vec![Value::Function(function.clone())]) - .unwrap(); - - table - } - } - } -} - -impl From<&List> for Table { - fn from(list: &List) -> Self { - let mut table = Table::new(vec!["index".to_string(), "item".to_string()]); - - for (i, value) in list.items().iter().enumerate() { - table - .insert(vec![Value::Integer(i as i64), value.clone()]) - .unwrap(); - } - - table - } -} - -impl From<&mut List> for Table { - fn from(list: &mut List) -> Self { - let mut table = Table::new(vec!["index".to_string(), "item".to_string()]); - - for (i, value) in list.items().iter().enumerate() { - if let Ok(list) = value.as_list() { - table.insert(list.items().clone()).unwrap(); - } else { - table - .insert(vec![Value::Integer(i as i64), value.clone()]) - .unwrap(); - } - } - - table - } -} - -impl From for Result
{ - fn from(map: Map) -> Self { - let variables = map.variables()?; - let keys = variables.keys().cloned().collect(); - let values = variables.values().map(|(value, _)| value.clone()).collect(); - let mut table = Table::new(keys); - - table.insert(values)?; - - Ok(table) - } -} - -impl From<&Map> for Result
{ - fn from(map: &Map) -> Self { - let variables = map.variables()?; - let keys = variables.keys().cloned().collect(); - let values = variables.values().map(|(value, _)| value.clone()).collect(); - let mut table = Table::new(keys); - - table.insert(values)?; - - Ok(table) - } -} - -impl From<&mut Map> for Result
{ - fn from(map: &mut Map) -> Self { - let variables = map.variables()?; - let keys = variables.keys().cloned().collect(); - let values = variables.values().map(|(value, _)| value.clone()).collect(); - let mut table = Table::new(keys); - - table - .insert(values) - .expect("Failed to create Table from Map. This is a no-op."); - - Ok(table) - } -} - -impl Eq for Table {} - -impl PartialEq for Table { - fn eq(&self, other: &Self) -> bool { - if self.headers != other.headers { - return false; - } - - self.rows == other.rows - } -} - -impl PartialOrd for Table { - fn partial_cmp(&self, other: &Self) -> Option { - self.headers.partial_cmp(&other.headers) - } -} - -impl Ord for Table { - fn cmp(&self, other: &Self) -> Ordering { - self.headers.cmp(&other.headers) - } -} diff --git a/tree-sitter-dust/grammar.js b/tree-sitter-dust/grammar.js index d0a29e1..33a718e 100644 --- a/tree-sitter-dust/grammar.js +++ b/tree-sitter-dust/grammar.js @@ -78,6 +78,7 @@ module.exports = grammar({ $.boolean, $.list, $.map, + $.option ), integer: $ => @@ -176,6 +177,18 @@ module.exports = grammar({ '}', ), + + option: $ => + choice( + 'none', + seq( + 'some', + '(', + $.expression, + ')', + ), + ), + index: $ => prec.left( 1, @@ -331,6 +344,11 @@ module.exports = grammar({ 'any', 'bool', 'float', + 'int', + 'map', + 'num', + 'str', + seq('[', $.type, ']'), seq( '(', repeat( @@ -342,11 +360,12 @@ module.exports = grammar({ ')', optional(seq('->', $.type)), ), - 'int', - seq('[', $.type, ']'), - 'map', - 'num', - 'str', + seq( + 'option', + '(', + $.type, + ')', + ) ), ), diff --git a/tree-sitter-dust/src/grammar.json b/tree-sitter-dust/src/grammar.json index eb26854..9374a79 100644 --- a/tree-sitter-dust/src/grammar.json +++ b/tree-sitter-dust/src/grammar.json @@ -223,6 +223,10 @@ { "type": "SYMBOL", "name": "map" + }, + { + "type": "SYMBOL", + "name": "option" } ] }, @@ -537,6 +541,36 @@ } ] }, + "option": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "none" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "some" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + } + ] + }, "index": { "type": "PREC_LEFT", "value": 1, @@ -1062,6 +1096,39 @@ "type": "STRING", "value": "float" }, + { + "type": "STRING", + "value": "int" + }, + { + "type": "STRING", + "value": "map" + }, + { + "type": "STRING", + "value": "num" + }, + { + "type": "STRING", + "value": "str" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "type" + }, + { + "type": "STRING", + "value": "]" + } + ] + }, { "type": "SEQ", "members": [ @@ -1120,16 +1187,16 @@ } ] }, - { - "type": "STRING", - "value": "int" - }, { "type": "SEQ", "members": [ { "type": "STRING", - "value": "[" + "value": "option" + }, + { + "type": "STRING", + "value": "(" }, { "type": "SYMBOL", @@ -1137,21 +1204,9 @@ }, { "type": "STRING", - "value": "]" + "value": ")" } ] - }, - { - "type": "STRING", - "value": "map" - }, - { - "type": "STRING", - "value": "num" - }, - { - "type": "STRING", - "value": "str" } ] } diff --git a/tree-sitter-dust/src/node-types.json b/tree-sitter-dust/src/node-types.json index 2bd7974..7253c05 100644 --- a/tree-sitter-dust/src/node-types.json +++ b/tree-sitter-dust/src/node-types.json @@ -390,6 +390,21 @@ "named": true, "fields": {} }, + { + "type": "option", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "return", "named": true, @@ -529,6 +544,10 @@ "type": "map", "named": true }, + { + "type": "option", + "named": true + }, { "type": "string", "named": true @@ -720,11 +739,11 @@ }, { "type": "float", - "named": true + "named": false }, { "type": "float", - "named": false + "named": true }, { "type": "fn", @@ -770,10 +789,18 @@ "type": "metadata", "named": false }, + { + "type": "none", + "named": false + }, { "type": "num", "named": false }, + { + "type": "option", + "named": false + }, { "type": "output", "named": false @@ -806,6 +833,10 @@ "type": "return", "named": false }, + { + "type": "some", + "named": false + }, { "type": "str", "named": false diff --git a/tree-sitter-dust/src/parser.c b/tree-sitter-dust/src/parser.c index b05f01e..f787bd5 100644 --- a/tree-sitter-dust/src/parser.c +++ b/tree-sitter-dust/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 339 -#define LARGE_STATE_COUNT 76 -#define SYMBOL_COUNT 110 +#define STATE_COUNT 357 +#define LARGE_STATE_COUNT 78 +#define SYMBOL_COUNT 114 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 71 +#define TOKEN_COUNT 74 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 6 @@ -32,100 +32,104 @@ enum { anon_sym_LBRACK = 13, anon_sym_RBRACK = 14, anon_sym_EQ = 15, - anon_sym_COLON = 16, - anon_sym_DOT_DOT = 17, + anon_sym_none = 16, + anon_sym_some = 17, anon_sym_LPAREN = 18, anon_sym_RPAREN = 19, - anon_sym_PLUS = 20, - anon_sym_DASH = 21, - anon_sym_STAR = 22, - anon_sym_SLASH = 23, - anon_sym_PERCENT = 24, - anon_sym_EQ_EQ = 25, - anon_sym_BANG_EQ = 26, - anon_sym_AMP_AMP = 27, - anon_sym_PIPE_PIPE = 28, - anon_sym_GT = 29, - anon_sym_LT = 30, - anon_sym_GT_EQ = 31, - anon_sym_LT_EQ = 32, - anon_sym_PLUS_EQ = 33, - anon_sym_DASH_EQ = 34, - anon_sym_if = 35, - anon_sym_elseif = 36, - anon_sym_else = 37, - anon_sym_match = 38, - anon_sym_EQ_GT = 39, - anon_sym_while = 40, - anon_sym_for = 41, - anon_sym_asyncfor = 42, - anon_sym_in = 43, - anon_sym_return = 44, - anon_sym_any = 45, - anon_sym_bool = 46, - anon_sym_float = 47, - anon_sym_DASH_GT = 48, - anon_sym_int = 49, - anon_sym_map = 50, - anon_sym_num = 51, - anon_sym_str = 52, - anon_sym_fn = 53, - anon_sym_assert = 54, - anon_sym_assert_equal = 55, - anon_sym_bash = 56, - anon_sym_download = 57, - anon_sym_fish = 58, - anon_sym_from_json = 59, - anon_sym_length = 60, - anon_sym_metadata = 61, - anon_sym_output = 62, - anon_sym_output_error = 63, - anon_sym_random = 64, - anon_sym_random_boolean = 65, - anon_sym_random_float = 66, - anon_sym_random_integer = 67, - anon_sym_read = 68, - anon_sym_to_json = 69, - anon_sym_write = 70, - sym_root = 71, - sym_block = 72, - sym_statement = 73, - sym_expression = 74, - aux_sym__expression_list = 75, - sym_identifier = 76, - sym_value = 77, - sym_boolean = 78, - sym_list = 79, - sym_map = 80, - sym_index = 81, - sym_math = 82, - sym_math_operator = 83, - sym_logic = 84, - sym_logic_operator = 85, - sym_assignment = 86, - sym_index_assignment = 87, - sym_assignment_operator = 88, - sym_if_else = 89, - sym_if = 90, - sym_else_if = 91, - sym_else = 92, - sym_match = 93, - sym_while = 94, - sym_for = 95, - sym_return = 96, - sym_type_definition = 97, - sym_type = 98, - sym_function = 99, - sym_function_call = 100, - sym_yield = 101, - sym_built_in_function = 102, - aux_sym_root_repeat1 = 103, - aux_sym_list_repeat1 = 104, - aux_sym_map_repeat1 = 105, - aux_sym_if_else_repeat1 = 106, - aux_sym_match_repeat1 = 107, - aux_sym_type_repeat1 = 108, - aux_sym_function_repeat1 = 109, + anon_sym_COLON = 20, + anon_sym_DOT_DOT = 21, + anon_sym_PLUS = 22, + anon_sym_DASH = 23, + anon_sym_STAR = 24, + anon_sym_SLASH = 25, + anon_sym_PERCENT = 26, + anon_sym_EQ_EQ = 27, + anon_sym_BANG_EQ = 28, + anon_sym_AMP_AMP = 29, + anon_sym_PIPE_PIPE = 30, + anon_sym_GT = 31, + anon_sym_LT = 32, + anon_sym_GT_EQ = 33, + anon_sym_LT_EQ = 34, + anon_sym_PLUS_EQ = 35, + anon_sym_DASH_EQ = 36, + anon_sym_if = 37, + anon_sym_elseif = 38, + anon_sym_else = 39, + anon_sym_match = 40, + anon_sym_EQ_GT = 41, + anon_sym_while = 42, + anon_sym_for = 43, + anon_sym_asyncfor = 44, + anon_sym_in = 45, + anon_sym_return = 46, + anon_sym_any = 47, + anon_sym_bool = 48, + anon_sym_float = 49, + anon_sym_int = 50, + anon_sym_map = 51, + anon_sym_num = 52, + anon_sym_str = 53, + anon_sym_DASH_GT = 54, + anon_sym_option = 55, + anon_sym_fn = 56, + anon_sym_assert = 57, + anon_sym_assert_equal = 58, + anon_sym_bash = 59, + anon_sym_download = 60, + anon_sym_fish = 61, + anon_sym_from_json = 62, + anon_sym_length = 63, + anon_sym_metadata = 64, + anon_sym_output = 65, + anon_sym_output_error = 66, + anon_sym_random = 67, + anon_sym_random_boolean = 68, + anon_sym_random_float = 69, + anon_sym_random_integer = 70, + anon_sym_read = 71, + anon_sym_to_json = 72, + anon_sym_write = 73, + sym_root = 74, + sym_block = 75, + sym_statement = 76, + sym_expression = 77, + aux_sym__expression_list = 78, + sym_identifier = 79, + sym_value = 80, + sym_boolean = 81, + sym_list = 82, + sym_map = 83, + sym_option = 84, + sym_index = 85, + sym_math = 86, + sym_math_operator = 87, + sym_logic = 88, + sym_logic_operator = 89, + sym_assignment = 90, + sym_index_assignment = 91, + sym_assignment_operator = 92, + sym_if_else = 93, + sym_if = 94, + sym_else_if = 95, + sym_else = 96, + sym_match = 97, + sym_while = 98, + sym_for = 99, + sym_return = 100, + sym_type_definition = 101, + sym_type = 102, + sym_function = 103, + sym_function_call = 104, + sym_yield = 105, + sym_built_in_function = 106, + aux_sym_root_repeat1 = 107, + aux_sym_list_repeat1 = 108, + aux_sym_map_repeat1 = 109, + aux_sym_if_else_repeat1 = 110, + aux_sym_match_repeat1 = 111, + aux_sym_type_repeat1 = 112, + aux_sym_function_repeat1 = 113, }; static const char * const ts_symbol_names[] = { @@ -145,10 +149,12 @@ static const char * const ts_symbol_names[] = { [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", [anon_sym_EQ] = "=", - [anon_sym_COLON] = ":", - [anon_sym_DOT_DOT] = "..", + [anon_sym_none] = "none", + [anon_sym_some] = "some", [anon_sym_LPAREN] = "(", [anon_sym_RPAREN] = ")", + [anon_sym_COLON] = ":", + [anon_sym_DOT_DOT] = "..", [anon_sym_PLUS] = "+", [anon_sym_DASH] = "-", [anon_sym_STAR] = "*", @@ -177,11 +183,12 @@ static const char * const ts_symbol_names[] = { [anon_sym_any] = "any", [anon_sym_bool] = "bool", [anon_sym_float] = "float", - [anon_sym_DASH_GT] = "->", [anon_sym_int] = "int", [anon_sym_map] = "map", [anon_sym_num] = "num", [anon_sym_str] = "str", + [anon_sym_DASH_GT] = "->", + [anon_sym_option] = "option", [anon_sym_fn] = "fn", [anon_sym_assert] = "assert", [anon_sym_assert_equal] = "assert_equal", @@ -210,6 +217,7 @@ static const char * const ts_symbol_names[] = { [sym_boolean] = "boolean", [sym_list] = "list", [sym_map] = "map", + [sym_option] = "option", [sym_index] = "index", [sym_math] = "math", [sym_math_operator] = "math_operator", @@ -258,10 +266,12 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_EQ] = anon_sym_EQ, - [anon_sym_COLON] = anon_sym_COLON, - [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, + [anon_sym_none] = anon_sym_none, + [anon_sym_some] = anon_sym_some, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_RPAREN] = anon_sym_RPAREN, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, [anon_sym_PLUS] = anon_sym_PLUS, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_STAR] = anon_sym_STAR, @@ -290,11 +300,12 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_any] = anon_sym_any, [anon_sym_bool] = anon_sym_bool, [anon_sym_float] = anon_sym_float, - [anon_sym_DASH_GT] = anon_sym_DASH_GT, [anon_sym_int] = anon_sym_int, [anon_sym_map] = anon_sym_map, [anon_sym_num] = anon_sym_num, [anon_sym_str] = anon_sym_str, + [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [anon_sym_option] = anon_sym_option, [anon_sym_fn] = anon_sym_fn, [anon_sym_assert] = anon_sym_assert, [anon_sym_assert_equal] = anon_sym_assert_equal, @@ -323,6 +334,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_boolean] = sym_boolean, [sym_list] = sym_list, [sym_map] = sym_map, + [sym_option] = sym_option, [sym_index] = sym_index, [sym_math] = sym_math, [sym_math_operator] = sym_math_operator, @@ -419,11 +431,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_COLON] = { + [anon_sym_none] = { .visible = true, .named = false, }, - [anon_sym_DOT_DOT] = { + [anon_sym_some] = { .visible = true, .named = false, }, @@ -435,6 +447,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT] = { + .visible = true, + .named = false, + }, [anon_sym_PLUS] = { .visible = true, .named = false, @@ -547,10 +567,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_DASH_GT] = { - .visible = true, - .named = false, - }, [anon_sym_int] = { .visible = true, .named = false, @@ -567,6 +583,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_option] = { + .visible = true, + .named = false, + }, [anon_sym_fn] = { .visible = true, .named = false, @@ -679,6 +703,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_option] = { + .visible = true, + .named = true, + }, [sym_index] = { .visible = true, .named = true, @@ -810,60 +838,60 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [1] = 1, [2] = 2, [3] = 3, - [4] = 3, - [5] = 3, + [4] = 2, + [5] = 2, [6] = 6, [7] = 7, - [8] = 7, - [9] = 6, + [8] = 8, + [9] = 8, [10] = 10, [11] = 7, - [12] = 6, - [13] = 13, - [14] = 10, - [15] = 10, - [16] = 13, - [17] = 13, - [18] = 13, - [19] = 7, - [20] = 13, - [21] = 7, - [22] = 22, + [12] = 8, + [13] = 7, + [14] = 8, + [15] = 6, + [16] = 8, + [17] = 10, + [18] = 7, + [19] = 6, + [20] = 7, + [21] = 21, + [22] = 10, [23] = 23, - [24] = 23, - [25] = 25, + [24] = 24, + [25] = 24, [26] = 23, [27] = 23, - [28] = 28, - [29] = 29, - [30] = 30, - [31] = 31, - [32] = 25, - [33] = 25, - [34] = 29, - [35] = 25, - [36] = 25, - [37] = 23, - [38] = 28, - [39] = 39, + [28] = 24, + [29] = 23, + [30] = 24, + [31] = 24, + [32] = 23, + [33] = 33, + [34] = 34, + [35] = 35, + [36] = 36, + [37] = 37, + [38] = 38, + [39] = 38, [40] = 40, - [41] = 31, + [41] = 34, [42] = 42, [43] = 43, - [44] = 44, - [45] = 30, - [46] = 46, - [47] = 47, - [48] = 46, + [44] = 43, + [45] = 34, + [46] = 40, + [47] = 40, + [48] = 48, [49] = 49, - [50] = 47, - [51] = 40, - [52] = 47, + [50] = 43, + [51] = 51, + [52] = 48, [53] = 53, - [54] = 40, - [55] = 46, + [54] = 49, + [55] = 55, [56] = 56, - [57] = 57, + [57] = 42, [58] = 58, [59] = 59, [60] = 60, @@ -884,267 +912,285 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [75] = 75, [76] = 76, [77] = 77, - [78] = 76, - [79] = 31, - [80] = 29, - [81] = 28, - [82] = 29, - [83] = 30, - [84] = 31, - [85] = 28, - [86] = 30, - [87] = 64, - [88] = 62, - [89] = 43, - [90] = 70, - [91] = 59, - [92] = 39, - [93] = 69, + [78] = 78, + [79] = 79, + [80] = 79, + [81] = 49, + [82] = 38, + [83] = 48, + [84] = 42, + [85] = 38, + [86] = 42, + [87] = 49, + [88] = 48, + [89] = 62, + [90] = 77, + [91] = 65, + [92] = 67, + [93] = 73, [94] = 58, - [95] = 74, - [96] = 61, - [97] = 75, - [98] = 66, - [99] = 68, - [100] = 71, - [101] = 67, - [102] = 72, - [103] = 65, - [104] = 60, - [105] = 56, - [106] = 63, - [107] = 77, - [108] = 76, - [109] = 76, - [110] = 30, - [111] = 111, - [112] = 112, - [113] = 29, - [114] = 29, - [115] = 28, - [116] = 31, + [95] = 60, + [96] = 56, + [97] = 72, + [98] = 76, + [99] = 61, + [100] = 70, + [101] = 71, + [102] = 53, + [103] = 64, + [104] = 63, + [105] = 66, + [106] = 74, + [107] = 69, + [108] = 59, + [109] = 55, + [110] = 68, + [111] = 79, + [112] = 78, + [113] = 79, + [114] = 114, + [115] = 115, + [116] = 48, [117] = 117, - [118] = 117, - [119] = 30, - [120] = 117, - [121] = 31, - [122] = 28, - [123] = 123, - [124] = 72, - [125] = 64, - [126] = 69, - [127] = 65, - [128] = 74, - [129] = 58, - [130] = 43, - [131] = 71, - [132] = 70, - [133] = 61, - [134] = 67, - [135] = 75, - [136] = 60, - [137] = 59, - [138] = 66, - [139] = 68, - [140] = 62, - [141] = 39, - [142] = 142, - [143] = 143, - [144] = 143, - [145] = 145, + [118] = 118, + [119] = 117, + [120] = 38, + [121] = 49, + [122] = 42, + [123] = 117, + [124] = 38, + [125] = 48, + [126] = 42, + [127] = 127, + [128] = 49, + [129] = 129, + [130] = 127, + [131] = 131, + [132] = 132, + [133] = 72, + [134] = 134, + [135] = 131, + [136] = 76, + [137] = 58, + [138] = 71, + [139] = 131, + [140] = 70, + [141] = 141, + [142] = 53, + [143] = 59, + [144] = 144, + [145] = 60, [146] = 146, - [147] = 146, - [148] = 148, - [149] = 149, - [150] = 145, - [151] = 151, - [152] = 152, - [153] = 152, - [154] = 145, - [155] = 56, - [156] = 156, - [157] = 156, - [158] = 148, - [159] = 148, - [160] = 146, - [161] = 161, - [162] = 152, - [163] = 163, - [164] = 164, - [165] = 63, - [166] = 166, - [167] = 164, - [168] = 164, + [147] = 141, + [148] = 63, + [149] = 144, + [150] = 67, + [151] = 73, + [152] = 56, + [153] = 146, + [154] = 62, + [155] = 141, + [156] = 65, + [157] = 157, + [158] = 134, + [159] = 64, + [160] = 74, + [161] = 77, + [162] = 69, + [163] = 61, + [164] = 146, + [165] = 66, + [166] = 134, + [167] = 167, + [168] = 167, [169] = 169, [170] = 170, - [171] = 171, + [171] = 167, [172] = 172, [173] = 173, [174] = 174, - [175] = 169, + [175] = 175, [176] = 176, - [177] = 172, - [178] = 173, + [177] = 175, + [178] = 174, [179] = 179, [180] = 176, - [181] = 181, - [182] = 170, - [183] = 179, - [184] = 169, + [181] = 176, + [182] = 182, + [183] = 183, + [184] = 175, [185] = 173, [186] = 174, - [187] = 169, - [188] = 173, - [189] = 170, + [187] = 182, + [188] = 179, + [189] = 183, [190] = 190, - [191] = 181, + [191] = 182, [192] = 192, - [193] = 169, - [194] = 173, - [195] = 195, - [196] = 190, - [197] = 192, + [193] = 193, + [194] = 194, + [195] = 190, + [196] = 196, + [197] = 197, [198] = 192, - [199] = 171, - [200] = 195, - [201] = 195, - [202] = 179, - [203] = 181, - [204] = 173, - [205] = 170, - [206] = 169, - [207] = 170, - [208] = 170, - [209] = 209, - [210] = 76, - [211] = 77, - [212] = 76, - [213] = 61, - [214] = 70, - [215] = 215, - [216] = 216, - [217] = 217, - [218] = 218, + [199] = 176, + [200] = 176, + [201] = 194, + [202] = 202, + [203] = 175, + [204] = 175, + [205] = 174, + [206] = 202, + [207] = 183, + [208] = 196, + [209] = 175, + [210] = 197, + [211] = 174, + [212] = 192, + [213] = 190, + [214] = 179, + [215] = 174, + [216] = 176, + [217] = 55, + [218] = 70, [219] = 219, - [220] = 220, + [220] = 68, [221] = 221, - [222] = 218, - [223] = 223, + [222] = 62, + [223] = 79, [224] = 224, [225] = 225, [226] = 226, [227] = 227, - [228] = 228, - [229] = 151, - [230] = 161, - [231] = 166, - [232] = 232, - [233] = 216, - [234] = 61, - [235] = 215, - [236] = 70, - [237] = 221, - [238] = 218, - [239] = 217, - [240] = 223, - [241] = 220, - [242] = 218, - [243] = 219, - [244] = 224, - [245] = 227, - [246] = 225, - [247] = 226, - [248] = 228, - [249] = 249, - [250] = 250, - [251] = 251, - [252] = 252, - [253] = 253, - [254] = 254, - [255] = 255, - [256] = 256, - [257] = 257, + [228] = 78, + [229] = 229, + [230] = 230, + [231] = 231, + [232] = 226, + [233] = 233, + [234] = 79, + [235] = 235, + [236] = 236, + [237] = 237, + [238] = 169, + [239] = 170, + [240] = 193, + [241] = 241, + [242] = 70, + [243] = 62, + [244] = 219, + [245] = 221, + [246] = 227, + [247] = 237, + [248] = 226, + [249] = 236, + [250] = 233, + [251] = 224, + [252] = 235, + [253] = 229, + [254] = 231, + [255] = 230, + [256] = 225, + [257] = 226, [258] = 258, - [259] = 258, - [260] = 256, - [261] = 257, - [262] = 256, + [259] = 259, + [260] = 260, + [261] = 261, + [262] = 262, [263] = 263, [264] = 264, - [265] = 263, - [266] = 257, - [267] = 258, + [265] = 265, + [266] = 266, + [267] = 266, [268] = 268, - [269] = 263, + [269] = 265, [270] = 270, - [271] = 270, - [272] = 272, + [271] = 266, + [272] = 268, [273] = 273, - [274] = 274, - [275] = 275, - [276] = 276, - [277] = 275, - [278] = 273, + [274] = 273, + [275] = 265, + [276] = 273, + [277] = 277, + [278] = 268, [279] = 279, - [280] = 272, - [281] = 276, + [280] = 280, + [281] = 279, [282] = 282, [283] = 283, [284] = 284, - [285] = 285, - [286] = 286, - [287] = 286, + [285] = 280, + [286] = 284, + [287] = 287, [288] = 288, - [289] = 289, - [290] = 290, + [289] = 282, + [290] = 283, [291] = 291, [292] = 292, [293] = 293, [294] = 294, [295] = 295, - [296] = 296, + [296] = 295, [297] = 297, - [298] = 298, - [299] = 299, + [298] = 297, + [299] = 295, [300] = 300, [301] = 301, [302] = 302, [303] = 303, [304] = 304, [305] = 305, - [306] = 304, - [307] = 304, + [306] = 306, + [307] = 307, [308] = 308, [309] = 309, - [310] = 308, - [311] = 309, - [312] = 308, + [310] = 310, + [311] = 311, + [312] = 312, [313] = 313, [314] = 314, - [315] = 313, - [316] = 309, + [315] = 315, + [316] = 316, [317] = 317, - [318] = 318, - [319] = 318, + [318] = 317, + [319] = 317, [320] = 320, - [321] = 320, - [322] = 318, - [323] = 320, - [324] = 324, + [321] = 321, + [322] = 322, + [323] = 321, + [324] = 322, [325] = 325, - [326] = 326, - [327] = 327, - [328] = 327, - [329] = 324, - [330] = 325, - [331] = 325, - [332] = 332, - [333] = 324, - [334] = 334, - [335] = 325, - [336] = 325, + [326] = 325, + [327] = 322, + [328] = 328, + [329] = 321, + [330] = 330, + [331] = 331, + [332] = 330, + [333] = 330, + [334] = 331, + [335] = 331, + [336] = 336, [337] = 337, [338] = 338, + [339] = 339, + [340] = 340, + [341] = 341, + [342] = 342, + [343] = 343, + [344] = 344, + [345] = 345, + [346] = 346, + [347] = 341, + [348] = 341, + [349] = 342, + [350] = 346, + [351] = 346, + [352] = 345, + [353] = 341, + [354] = 341, + [355] = 355, + [356] = 342, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1159,8 +1205,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '%') ADVANCE(62); if (lookahead == '&') ADVANCE(8); if (lookahead == '\'') ADVANCE(9); - if (lookahead == '(') ADVANCE(53); - if (lookahead == ')') ADVANCE(54); + if (lookahead == '(') ADVANCE(51); + if (lookahead == ')') ADVANCE(52); if (lookahead == '*') ADVANCE(60); if (lookahead == '+') ADVANCE(56); if (lookahead == ',') ADVANCE(32); @@ -1168,7 +1214,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(61); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); - if (lookahead == ':') ADVANCE(51); + if (lookahead == ':') ADVANCE(53); if (lookahead == ';') ADVANCE(31); if (lookahead == '<') ADVANCE(69); if (lookahead == '=') ADVANCE(50); @@ -1195,8 +1241,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '%') ADVANCE(62); if (lookahead == '&') ADVANCE(8); if (lookahead == '\'') ADVANCE(9); - if (lookahead == '(') ADVANCE(53); - if (lookahead == ')') ADVANCE(54); + if (lookahead == '(') ADVANCE(51); + if (lookahead == ')') ADVANCE(52); if (lookahead == '*') ADVANCE(60); if (lookahead == '+') ADVANCE(56); if (lookahead == ',') ADVANCE(32); @@ -1204,7 +1250,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(61); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); - if (lookahead == ':') ADVANCE(51); + if (lookahead == ':') ADVANCE(53); if (lookahead == ';') ADVANCE(31); if (lookahead == '<') ADVANCE(69); if (lookahead == '=') ADVANCE(49); @@ -1227,13 +1273,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(62); if (lookahead == '&') ADVANCE(8); + if (lookahead == ')') ADVANCE(52); if (lookahead == '*') ADVANCE(60); if (lookahead == '+') ADVANCE(56); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(57); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(61); - if (lookahead == ':') ADVANCE(51); + if (lookahead == ':') ADVANCE(53); if (lookahead == ';') ADVANCE(31); if (lookahead == '<') ADVANCE(69); if (lookahead == '=') ADVANCE(50); @@ -1259,7 +1306,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(57); if (lookahead == '/') ADVANCE(61); - if (lookahead == ':') ADVANCE(51); + if (lookahead == ':') ADVANCE(53); if (lookahead == ';') ADVANCE(31); if (lookahead == '<') ADVANCE(69); if (lookahead == '=') ADVANCE(49); @@ -1283,7 +1330,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '+') ADVANCE(55); if (lookahead == '-') ADVANCE(58); if (lookahead == '/') ADVANCE(61); - if (lookahead == ':') ADVANCE(51); + if (lookahead == ':') ADVANCE(53); if (lookahead == '<') ADVANCE(69); if (lookahead == '=') ADVANCE(12); if (lookahead == '>') ADVANCE(68); @@ -1297,7 +1344,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '"') ADVANCE(6); if (lookahead == '#') ADVANCE(21); if (lookahead == '\'') ADVANCE(9); - if (lookahead == '(') ADVANCE(53); + if (lookahead == '(') ADVANCE(51); if (lookahead == '*') ADVANCE(60); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(23); @@ -1323,8 +1370,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 7: if (lookahead == '#') ADVANCE(21); - if (lookahead == '(') ADVANCE(53); - if (lookahead == ')') ADVANCE(54); + if (lookahead == '(') ADVANCE(51); + if (lookahead == ')') ADVANCE(52); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(13); if (lookahead == '>') ADVANCE(67); @@ -1346,7 +1393,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead != 0) ADVANCE(9); END_STATE(); case 10: - if (lookahead == '.') ADVANCE(52); + if (lookahead == '.') ADVANCE(54); END_STATE(); case 11: if (lookahead == '=') ADVANCE(64); @@ -1403,14 +1450,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '%') ADVANCE(62); if (lookahead == '&') ADVANCE(8); if (lookahead == '\'') ADVANCE(9); - if (lookahead == '(') ADVANCE(53); + if (lookahead == '(') ADVANCE(51); if (lookahead == '*') ADVANCE(60); if (lookahead == '+') ADVANCE(56); if (lookahead == '-') ADVANCE(59); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(61); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); - if (lookahead == ':') ADVANCE(51); + if (lookahead == ':') ADVANCE(53); if (lookahead == ';') ADVANCE(31); if (lookahead == '<') ADVANCE(69); if (lookahead == '=') ADVANCE(49); @@ -1563,17 +1610,17 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == '>') ADVANCE(75); END_STATE(); case 51: - ACCEPT_TOKEN(anon_sym_COLON); - END_STATE(); - case 52: - ACCEPT_TOKEN(anon_sym_DOT_DOT); - END_STATE(); - case 53: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 54: + case 52: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); + case 53: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + END_STATE(); case 55: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); @@ -1715,447 +1762,483 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(31); END_STATE(); case 9: - if (lookahead == 'u') ADVANCE(32); - END_STATE(); - case 10: + if (lookahead == 'o') ADVANCE(32); if (lookahead == 'u') ADVANCE(33); END_STATE(); + case 10: + if (lookahead == 'p') ADVANCE(34); + if (lookahead == 'u') ADVANCE(35); + END_STATE(); case 11: - if (lookahead == 'a') ADVANCE(34); - if (lookahead == 'e') ADVANCE(35); + if (lookahead == 'a') ADVANCE(36); + if (lookahead == 'e') ADVANCE(37); END_STATE(); case 12: - if (lookahead == 't') ADVANCE(36); + if (lookahead == 'o') ADVANCE(38); + if (lookahead == 't') ADVANCE(39); END_STATE(); case 13: - if (lookahead == 'o') ADVANCE(37); - if (lookahead == 'r') ADVANCE(38); + if (lookahead == 'o') ADVANCE(40); + if (lookahead == 'r') ADVANCE(41); END_STATE(); case 14: - if (lookahead == 'h') ADVANCE(39); - if (lookahead == 'r') ADVANCE(40); + if (lookahead == 'h') ADVANCE(42); + if (lookahead == 'r') ADVANCE(43); END_STATE(); case 15: - if (lookahead == 'y') ADVANCE(41); + if (lookahead == 'y') ADVANCE(44); END_STATE(); case 16: - if (lookahead == 's') ADVANCE(42); - if (lookahead == 'y') ADVANCE(43); + if (lookahead == 's') ADVANCE(45); + if (lookahead == 'y') ADVANCE(46); END_STATE(); case 17: - if (lookahead == 's') ADVANCE(44); - END_STATE(); - case 18: - if (lookahead == 'o') ADVANCE(45); - END_STATE(); - case 19: - if (lookahead == 'w') ADVANCE(46); - END_STATE(); - case 20: if (lookahead == 's') ADVANCE(47); END_STATE(); + case 18: + if (lookahead == 'o') ADVANCE(48); + END_STATE(); + case 19: + if (lookahead == 'w') ADVANCE(49); + END_STATE(); + case 20: + if (lookahead == 's') ADVANCE(50); + END_STATE(); case 21: - if (lookahead == 'l') ADVANCE(48); + if (lookahead == 'l') ADVANCE(51); END_STATE(); case 22: - if (lookahead == 's') ADVANCE(49); + if (lookahead == 's') ADVANCE(52); END_STATE(); case 23: - if (lookahead == 'o') ADVANCE(50); + if (lookahead == 'o') ADVANCE(53); END_STATE(); case 24: ACCEPT_TOKEN(anon_sym_fn); END_STATE(); case 25: - if (lookahead == 'r') ADVANCE(51); + if (lookahead == 'r') ADVANCE(54); END_STATE(); case 26: - if (lookahead == 'o') ADVANCE(52); + if (lookahead == 'o') ADVANCE(55); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 28: ACCEPT_TOKEN(anon_sym_in); - if (lookahead == 't') ADVANCE(53); - END_STATE(); - case 29: - if (lookahead == 'n') ADVANCE(54); - END_STATE(); - case 30: - if (lookahead == 'p') ADVANCE(55); if (lookahead == 't') ADVANCE(56); END_STATE(); - case 31: - if (lookahead == 't') ADVANCE(57); + case 29: + if (lookahead == 'n') ADVANCE(57); END_STATE(); - case 32: - if (lookahead == 'm') ADVANCE(58); - END_STATE(); - case 33: + case 30: + if (lookahead == 'p') ADVANCE(58); if (lookahead == 't') ADVANCE(59); END_STATE(); + case 31: + if (lookahead == 't') ADVANCE(60); + END_STATE(); + case 32: + if (lookahead == 'n') ADVANCE(61); + END_STATE(); + case 33: + if (lookahead == 'm') ADVANCE(62); + END_STATE(); case 34: - if (lookahead == 'n') ADVANCE(60); + if (lookahead == 't') ADVANCE(63); END_STATE(); case 35: - if (lookahead == 'a') ADVANCE(61); - if (lookahead == 't') ADVANCE(62); + if (lookahead == 't') ADVANCE(64); END_STATE(); case 36: - if (lookahead == 'r') ADVANCE(63); + if (lookahead == 'n') ADVANCE(65); END_STATE(); case 37: - if (lookahead == '_') ADVANCE(64); + if (lookahead == 'a') ADVANCE(66); + if (lookahead == 't') ADVANCE(67); END_STATE(); case 38: - if (lookahead == 'u') ADVANCE(65); + if (lookahead == 'm') ADVANCE(68); END_STATE(); case 39: - if (lookahead == 'i') ADVANCE(66); + if (lookahead == 'r') ADVANCE(69); END_STATE(); case 40: - if (lookahead == 'i') ADVANCE(67); + if (lookahead == '_') ADVANCE(70); END_STATE(); case 41: - ACCEPT_TOKEN(anon_sym_any); + if (lookahead == 'u') ADVANCE(71); END_STATE(); case 42: - if (lookahead == 'e') ADVANCE(68); + if (lookahead == 'i') ADVANCE(72); END_STATE(); case 43: - if (lookahead == 'n') ADVANCE(69); + if (lookahead == 'i') ADVANCE(73); END_STATE(); case 44: - if (lookahead == 'h') ADVANCE(70); + ACCEPT_TOKEN(anon_sym_any); END_STATE(); case 45: - if (lookahead == 'l') ADVANCE(71); + if (lookahead == 'e') ADVANCE(74); END_STATE(); case 46: - if (lookahead == 'n') ADVANCE(72); + if (lookahead == 'n') ADVANCE(75); END_STATE(); case 47: - if (lookahead == 'e') ADVANCE(73); + if (lookahead == 'h') ADVANCE(76); END_STATE(); case 48: - if (lookahead == 's') ADVANCE(74); + if (lookahead == 'l') ADVANCE(77); END_STATE(); case 49: - if (lookahead == 'h') ADVANCE(75); + if (lookahead == 'n') ADVANCE(78); END_STATE(); case 50: - if (lookahead == 'a') ADVANCE(76); + if (lookahead == 'e') ADVANCE(79); END_STATE(); case 51: - ACCEPT_TOKEN(anon_sym_for); + if (lookahead == 's') ADVANCE(80); END_STATE(); case 52: - if (lookahead == 'm') ADVANCE(77); + if (lookahead == 'h') ADVANCE(81); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_int); + if (lookahead == 'a') ADVANCE(82); END_STATE(); case 54: - if (lookahead == 'g') ADVANCE(78); + ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_map); + if (lookahead == 'm') ADVANCE(83); END_STATE(); case 56: - if (lookahead == 'c') ADVANCE(79); + ACCEPT_TOKEN(anon_sym_int); END_STATE(); case 57: - if (lookahead == 'a') ADVANCE(80); + if (lookahead == 'g') ADVANCE(84); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_num); + ACCEPT_TOKEN(anon_sym_map); END_STATE(); case 59: - if (lookahead == 'p') ADVANCE(81); + if (lookahead == 'c') ADVANCE(85); END_STATE(); case 60: - if (lookahead == 'd') ADVANCE(82); + if (lookahead == 'a') ADVANCE(86); END_STATE(); case 61: - if (lookahead == 'd') ADVANCE(83); + if (lookahead == 'e') ADVANCE(87); END_STATE(); case 62: - if (lookahead == 'u') ADVANCE(84); + ACCEPT_TOKEN(anon_sym_num); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_str); + if (lookahead == 'i') ADVANCE(88); END_STATE(); case 64: - if (lookahead == 'j') ADVANCE(85); + if (lookahead == 'p') ADVANCE(89); END_STATE(); case 65: - if (lookahead == 'e') ADVANCE(86); + if (lookahead == 'd') ADVANCE(90); END_STATE(); case 66: - if (lookahead == 'l') ADVANCE(87); + if (lookahead == 'd') ADVANCE(91); END_STATE(); case 67: - if (lookahead == 't') ADVANCE(88); + if (lookahead == 'u') ADVANCE(92); END_STATE(); case 68: - if (lookahead == 'r') ADVANCE(89); + if (lookahead == 'e') ADVANCE(93); END_STATE(); case 69: - if (lookahead == 'c') ADVANCE(90); + ACCEPT_TOKEN(anon_sym_str); END_STATE(); case 70: - ACCEPT_TOKEN(anon_sym_bash); + if (lookahead == 'j') ADVANCE(94); END_STATE(); case 71: - ACCEPT_TOKEN(anon_sym_bool); + if (lookahead == 'e') ADVANCE(95); END_STATE(); case 72: - if (lookahead == 'l') ADVANCE(91); + if (lookahead == 'l') ADVANCE(96); END_STATE(); case 73: - ACCEPT_TOKEN(anon_sym_else); + if (lookahead == 't') ADVANCE(97); END_STATE(); case 74: - if (lookahead == 'e') ADVANCE(92); + if (lookahead == 'r') ADVANCE(98); END_STATE(); case 75: - ACCEPT_TOKEN(anon_sym_fish); + if (lookahead == 'c') ADVANCE(99); END_STATE(); case 76: - if (lookahead == 't') ADVANCE(93); + ACCEPT_TOKEN(anon_sym_bash); END_STATE(); case 77: - if (lookahead == '_') ADVANCE(94); + ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 78: - if (lookahead == 't') ADVANCE(95); + if (lookahead == 'l') ADVANCE(100); END_STATE(); case 79: - if (lookahead == 'h') ADVANCE(96); + ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 80: - if (lookahead == 'd') ADVANCE(97); + if (lookahead == 'e') ADVANCE(101); END_STATE(); case 81: - if (lookahead == 'u') ADVANCE(98); + ACCEPT_TOKEN(anon_sym_fish); END_STATE(); case 82: - if (lookahead == 'o') ADVANCE(99); + if (lookahead == 't') ADVANCE(102); END_STATE(); case 83: - ACCEPT_TOKEN(anon_sym_read); + if (lookahead == '_') ADVANCE(103); END_STATE(); case 84: - if (lookahead == 'r') ADVANCE(100); - END_STATE(); - case 85: - if (lookahead == 's') ADVANCE(101); - END_STATE(); - case 86: - ACCEPT_TOKEN(anon_sym_true); - END_STATE(); - case 87: - if (lookahead == 'e') ADVANCE(102); - END_STATE(); - case 88: - if (lookahead == 'e') ADVANCE(103); - END_STATE(); - case 89: if (lookahead == 't') ADVANCE(104); END_STATE(); + case 85: + if (lookahead == 'h') ADVANCE(105); + END_STATE(); + case 86: + if (lookahead == 'd') ADVANCE(106); + END_STATE(); + case 87: + ACCEPT_TOKEN(anon_sym_none); + END_STATE(); + case 88: + if (lookahead == 'o') ADVANCE(107); + END_STATE(); + case 89: + if (lookahead == 'u') ADVANCE(108); + END_STATE(); case 90: - ACCEPT_TOKEN(anon_sym_async); + if (lookahead == 'o') ADVANCE(109); END_STATE(); case 91: - if (lookahead == 'o') ADVANCE(105); + ACCEPT_TOKEN(anon_sym_read); END_STATE(); case 92: - ACCEPT_TOKEN(anon_sym_false); + if (lookahead == 'r') ADVANCE(110); END_STATE(); case 93: - ACCEPT_TOKEN(anon_sym_float); + ACCEPT_TOKEN(anon_sym_some); END_STATE(); case 94: - if (lookahead == 'j') ADVANCE(106); + if (lookahead == 's') ADVANCE(111); END_STATE(); case 95: - if (lookahead == 'h') ADVANCE(107); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 96: - ACCEPT_TOKEN(anon_sym_match); + if (lookahead == 'e') ADVANCE(112); END_STATE(); case 97: - if (lookahead == 'a') ADVANCE(108); + if (lookahead == 'e') ADVANCE(113); END_STATE(); case 98: - if (lookahead == 't') ADVANCE(109); + if (lookahead == 't') ADVANCE(114); END_STATE(); case 99: - if (lookahead == 'm') ADVANCE(110); + ACCEPT_TOKEN(anon_sym_async); END_STATE(); case 100: - if (lookahead == 'n') ADVANCE(111); + if (lookahead == 'o') ADVANCE(115); END_STATE(); case 101: - if (lookahead == 'o') ADVANCE(112); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 102: - ACCEPT_TOKEN(anon_sym_while); + ACCEPT_TOKEN(anon_sym_float); END_STATE(); case 103: - ACCEPT_TOKEN(anon_sym_write); + if (lookahead == 'j') ADVANCE(116); END_STATE(); case 104: - ACCEPT_TOKEN(anon_sym_assert); - if (lookahead == '_') ADVANCE(113); + if (lookahead == 'h') ADVANCE(117); END_STATE(); case 105: - if (lookahead == 'a') ADVANCE(114); + ACCEPT_TOKEN(anon_sym_match); END_STATE(); case 106: - if (lookahead == 's') ADVANCE(115); + if (lookahead == 'a') ADVANCE(118); END_STATE(); case 107: - ACCEPT_TOKEN(anon_sym_length); - END_STATE(); - case 108: - if (lookahead == 't') ADVANCE(116); - END_STATE(); - case 109: - ACCEPT_TOKEN(anon_sym_output); - if (lookahead == '_') ADVANCE(117); - END_STATE(); - case 110: - ACCEPT_TOKEN(anon_sym_random); - if (lookahead == '_') ADVANCE(118); - END_STATE(); - case 111: - ACCEPT_TOKEN(anon_sym_return); - END_STATE(); - case 112: if (lookahead == 'n') ADVANCE(119); END_STATE(); + case 108: + if (lookahead == 't') ADVANCE(120); + END_STATE(); + case 109: + if (lookahead == 'm') ADVANCE(121); + END_STATE(); + case 110: + if (lookahead == 'n') ADVANCE(122); + END_STATE(); + case 111: + if (lookahead == 'o') ADVANCE(123); + END_STATE(); + case 112: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); case 113: - if (lookahead == 'e') ADVANCE(120); + ACCEPT_TOKEN(anon_sym_write); END_STATE(); case 114: - if (lookahead == 'd') ADVANCE(121); + ACCEPT_TOKEN(anon_sym_assert); + if (lookahead == '_') ADVANCE(124); END_STATE(); case 115: - if (lookahead == 'o') ADVANCE(122); + if (lookahead == 'a') ADVANCE(125); END_STATE(); case 116: - if (lookahead == 'a') ADVANCE(123); + if (lookahead == 's') ADVANCE(126); END_STATE(); case 117: - if (lookahead == 'e') ADVANCE(124); + ACCEPT_TOKEN(anon_sym_length); END_STATE(); case 118: - if (lookahead == 'b') ADVANCE(125); - if (lookahead == 'f') ADVANCE(126); - if (lookahead == 'i') ADVANCE(127); + if (lookahead == 't') ADVANCE(127); END_STATE(); case 119: - ACCEPT_TOKEN(anon_sym_to_json); + ACCEPT_TOKEN(anon_sym_option); END_STATE(); case 120: - if (lookahead == 'q') ADVANCE(128); + ACCEPT_TOKEN(anon_sym_output); + if (lookahead == '_') ADVANCE(128); END_STATE(); case 121: - ACCEPT_TOKEN(anon_sym_download); + ACCEPT_TOKEN(anon_sym_random); + if (lookahead == '_') ADVANCE(129); END_STATE(); case 122: - if (lookahead == 'n') ADVANCE(129); + ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 123: - ACCEPT_TOKEN(anon_sym_metadata); + if (lookahead == 'n') ADVANCE(130); END_STATE(); case 124: - if (lookahead == 'r') ADVANCE(130); + if (lookahead == 'e') ADVANCE(131); END_STATE(); case 125: - if (lookahead == 'o') ADVANCE(131); + if (lookahead == 'd') ADVANCE(132); END_STATE(); case 126: - if (lookahead == 'l') ADVANCE(132); + if (lookahead == 'o') ADVANCE(133); END_STATE(); case 127: - if (lookahead == 'n') ADVANCE(133); + if (lookahead == 'a') ADVANCE(134); END_STATE(); case 128: - if (lookahead == 'u') ADVANCE(134); + if (lookahead == 'e') ADVANCE(135); END_STATE(); case 129: - ACCEPT_TOKEN(anon_sym_from_json); + if (lookahead == 'b') ADVANCE(136); + if (lookahead == 'f') ADVANCE(137); + if (lookahead == 'i') ADVANCE(138); END_STATE(); case 130: - if (lookahead == 'r') ADVANCE(135); + ACCEPT_TOKEN(anon_sym_to_json); END_STATE(); case 131: - if (lookahead == 'o') ADVANCE(136); + if (lookahead == 'q') ADVANCE(139); END_STATE(); case 132: - if (lookahead == 'o') ADVANCE(137); + ACCEPT_TOKEN(anon_sym_download); END_STATE(); case 133: - if (lookahead == 't') ADVANCE(138); + if (lookahead == 'n') ADVANCE(140); END_STATE(); case 134: - if (lookahead == 'a') ADVANCE(139); + ACCEPT_TOKEN(anon_sym_metadata); END_STATE(); case 135: - if (lookahead == 'o') ADVANCE(140); + if (lookahead == 'r') ADVANCE(141); END_STATE(); case 136: - if (lookahead == 'l') ADVANCE(141); + if (lookahead == 'o') ADVANCE(142); END_STATE(); case 137: - if (lookahead == 'a') ADVANCE(142); + if (lookahead == 'l') ADVANCE(143); END_STATE(); case 138: - if (lookahead == 'e') ADVANCE(143); + if (lookahead == 'n') ADVANCE(144); END_STATE(); case 139: - if (lookahead == 'l') ADVANCE(144); + if (lookahead == 'u') ADVANCE(145); END_STATE(); case 140: - if (lookahead == 'r') ADVANCE(145); + ACCEPT_TOKEN(anon_sym_from_json); END_STATE(); case 141: - if (lookahead == 'e') ADVANCE(146); + if (lookahead == 'r') ADVANCE(146); END_STATE(); case 142: - if (lookahead == 't') ADVANCE(147); + if (lookahead == 'o') ADVANCE(147); END_STATE(); case 143: - if (lookahead == 'g') ADVANCE(148); + if (lookahead == 'o') ADVANCE(148); END_STATE(); case 144: - ACCEPT_TOKEN(anon_sym_assert_equal); + if (lookahead == 't') ADVANCE(149); END_STATE(); case 145: - ACCEPT_TOKEN(anon_sym_output_error); + if (lookahead == 'a') ADVANCE(150); END_STATE(); case 146: - if (lookahead == 'a') ADVANCE(149); + if (lookahead == 'o') ADVANCE(151); END_STATE(); case 147: - ACCEPT_TOKEN(anon_sym_random_float); + if (lookahead == 'l') ADVANCE(152); END_STATE(); case 148: - if (lookahead == 'e') ADVANCE(150); + if (lookahead == 'a') ADVANCE(153); END_STATE(); case 149: - if (lookahead == 'n') ADVANCE(151); + if (lookahead == 'e') ADVANCE(154); END_STATE(); case 150: - if (lookahead == 'r') ADVANCE(152); + if (lookahead == 'l') ADVANCE(155); END_STATE(); case 151: - ACCEPT_TOKEN(anon_sym_random_boolean); + if (lookahead == 'r') ADVANCE(156); END_STATE(); case 152: + if (lookahead == 'e') ADVANCE(157); + END_STATE(); + case 153: + if (lookahead == 't') ADVANCE(158); + END_STATE(); + case 154: + if (lookahead == 'g') ADVANCE(159); + END_STATE(); + case 155: + ACCEPT_TOKEN(anon_sym_assert_equal); + END_STATE(); + case 156: + ACCEPT_TOKEN(anon_sym_output_error); + END_STATE(); + case 157: + if (lookahead == 'a') ADVANCE(160); + END_STATE(); + case 158: + ACCEPT_TOKEN(anon_sym_random_float); + END_STATE(); + case 159: + if (lookahead == 'e') ADVANCE(161); + END_STATE(); + case 160: + if (lookahead == 'n') ADVANCE(162); + END_STATE(); + case 161: + if (lookahead == 'r') ADVANCE(163); + END_STATE(); + case 162: + ACCEPT_TOKEN(anon_sym_random_boolean); + END_STATE(); + case 163: ACCEPT_TOKEN(anon_sym_random_integer); END_STATE(); default: @@ -2173,20 +2256,20 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [6] = {.lex_state = 1}, [7] = {.lex_state = 25}, [8] = {.lex_state = 25}, - [9] = {.lex_state = 1}, + [9] = {.lex_state = 25}, [10] = {.lex_state = 1}, [11] = {.lex_state = 25}, - [12] = {.lex_state = 1}, + [12] = {.lex_state = 25}, [13] = {.lex_state = 25}, - [14] = {.lex_state = 1}, + [14] = {.lex_state = 25}, [15] = {.lex_state = 1}, [16] = {.lex_state = 25}, - [17] = {.lex_state = 25}, + [17] = {.lex_state = 1}, [18] = {.lex_state = 25}, - [19] = {.lex_state = 25}, + [19] = {.lex_state = 1}, [20] = {.lex_state = 25}, [21] = {.lex_state = 25}, - [22] = {.lex_state = 25}, + [22] = {.lex_state = 1}, [23] = {.lex_state = 25}, [24] = {.lex_state = 25}, [25] = {.lex_state = 25}, @@ -2243,8 +2326,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [76] = {.lex_state = 25}, [77] = {.lex_state = 25}, [78] = {.lex_state = 25}, - [79] = {.lex_state = 1}, - [80] = {.lex_state = 1}, + [79] = {.lex_state = 25}, + [80] = {.lex_state = 25}, [81] = {.lex_state = 1}, [82] = {.lex_state = 1}, [83] = {.lex_state = 1}, @@ -2274,67 +2357,67 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [107] = {.lex_state = 1}, [108] = {.lex_state = 1}, [109] = {.lex_state = 1}, - [110] = {.lex_state = 2}, + [110] = {.lex_state = 1}, [111] = {.lex_state = 1}, [112] = {.lex_state = 1}, - [113] = {.lex_state = 2}, - [114] = {.lex_state = 2}, - [115] = {.lex_state = 2}, + [113] = {.lex_state = 1}, + [114] = {.lex_state = 1}, + [115] = {.lex_state = 1}, [116] = {.lex_state = 2}, [117] = {.lex_state = 1}, [118] = {.lex_state = 1}, - [119] = {.lex_state = 2}, - [120] = {.lex_state = 1}, + [119] = {.lex_state = 1}, + [120] = {.lex_state = 2}, [121] = {.lex_state = 2}, [122] = {.lex_state = 2}, [123] = {.lex_state = 1}, [124] = {.lex_state = 2}, [125] = {.lex_state = 2}, [126] = {.lex_state = 2}, - [127] = {.lex_state = 2}, + [127] = {.lex_state = 1}, [128] = {.lex_state = 2}, - [129] = {.lex_state = 2}, - [130] = {.lex_state = 2}, - [131] = {.lex_state = 2}, - [132] = {.lex_state = 2}, + [129] = {.lex_state = 1}, + [130] = {.lex_state = 1}, + [131] = {.lex_state = 1}, + [132] = {.lex_state = 1}, [133] = {.lex_state = 2}, - [134] = {.lex_state = 2}, - [135] = {.lex_state = 2}, + [134] = {.lex_state = 1}, + [135] = {.lex_state = 1}, [136] = {.lex_state = 2}, [137] = {.lex_state = 2}, [138] = {.lex_state = 2}, - [139] = {.lex_state = 2}, + [139] = {.lex_state = 1}, [140] = {.lex_state = 2}, - [141] = {.lex_state = 2}, - [142] = {.lex_state = 1}, - [143] = {.lex_state = 1}, + [141] = {.lex_state = 1}, + [142] = {.lex_state = 2}, + [143] = {.lex_state = 2}, [144] = {.lex_state = 1}, - [145] = {.lex_state = 1}, + [145] = {.lex_state = 2}, [146] = {.lex_state = 1}, [147] = {.lex_state = 1}, - [148] = {.lex_state = 1}, + [148] = {.lex_state = 2}, [149] = {.lex_state = 1}, - [150] = {.lex_state = 1}, - [151] = {.lex_state = 0}, - [152] = {.lex_state = 1}, + [150] = {.lex_state = 2}, + [151] = {.lex_state = 2}, + [152] = {.lex_state = 2}, [153] = {.lex_state = 1}, - [154] = {.lex_state = 1}, - [155] = {.lex_state = 3}, - [156] = {.lex_state = 1}, + [154] = {.lex_state = 2}, + [155] = {.lex_state = 1}, + [156] = {.lex_state = 2}, [157] = {.lex_state = 1}, [158] = {.lex_state = 1}, - [159] = {.lex_state = 1}, - [160] = {.lex_state = 1}, - [161] = {.lex_state = 0}, - [162] = {.lex_state = 1}, - [163] = {.lex_state = 1}, + [159] = {.lex_state = 2}, + [160] = {.lex_state = 2}, + [161] = {.lex_state = 2}, + [162] = {.lex_state = 2}, + [163] = {.lex_state = 2}, [164] = {.lex_state = 1}, - [165] = {.lex_state = 3}, - [166] = {.lex_state = 0}, + [165] = {.lex_state = 2}, + [166] = {.lex_state = 1}, [167] = {.lex_state = 1}, [168] = {.lex_state = 1}, - [169] = {.lex_state = 1}, - [170] = {.lex_state = 1}, + [169] = {.lex_state = 0}, + [170] = {.lex_state = 0}, [171] = {.lex_state = 1}, [172] = {.lex_state = 1}, [173] = {.lex_state = 1}, @@ -2357,7 +2440,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [190] = {.lex_state = 1}, [191] = {.lex_state = 1}, [192] = {.lex_state = 1}, - [193] = {.lex_state = 1}, + [193] = {.lex_state = 0}, [194] = {.lex_state = 1}, [195] = {.lex_state = 1}, [196] = {.lex_state = 1}, @@ -2374,42 +2457,42 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [207] = {.lex_state = 1}, [208] = {.lex_state = 1}, [209] = {.lex_state = 1}, - [210] = {.lex_state = 2}, - [211] = {.lex_state = 2}, - [212] = {.lex_state = 2}, - [213] = {.lex_state = 0}, - [214] = {.lex_state = 0}, - [215] = {.lex_state = 0}, - [216] = {.lex_state = 0}, - [217] = {.lex_state = 25}, - [218] = {.lex_state = 25}, - [219] = {.lex_state = 25}, - [220] = {.lex_state = 25}, - [221] = {.lex_state = 25}, - [222] = {.lex_state = 25}, - [223] = {.lex_state = 25}, + [210] = {.lex_state = 1}, + [211] = {.lex_state = 1}, + [212] = {.lex_state = 1}, + [213] = {.lex_state = 1}, + [214] = {.lex_state = 1}, + [215] = {.lex_state = 1}, + [216] = {.lex_state = 1}, + [217] = {.lex_state = 3}, + [218] = {.lex_state = 0}, + [219] = {.lex_state = 0}, + [220] = {.lex_state = 3}, + [221] = {.lex_state = 0}, + [222] = {.lex_state = 0}, + [223] = {.lex_state = 2}, [224] = {.lex_state = 25}, [225] = {.lex_state = 25}, [226] = {.lex_state = 25}, [227] = {.lex_state = 25}, - [228] = {.lex_state = 25}, - [229] = {.lex_state = 5}, - [230] = {.lex_state = 5}, - [231] = {.lex_state = 5}, + [228] = {.lex_state = 2}, + [229] = {.lex_state = 25}, + [230] = {.lex_state = 25}, + [231] = {.lex_state = 25}, [232] = {.lex_state = 25}, - [233] = {.lex_state = 5}, - [234] = {.lex_state = 5}, - [235] = {.lex_state = 5}, - [236] = {.lex_state = 5}, - [237] = {.lex_state = 1}, - [238] = {.lex_state = 1}, - [239] = {.lex_state = 1}, - [240] = {.lex_state = 1}, - [241] = {.lex_state = 1}, - [242] = {.lex_state = 1}, - [243] = {.lex_state = 1}, - [244] = {.lex_state = 1}, - [245] = {.lex_state = 1}, + [233] = {.lex_state = 25}, + [234] = {.lex_state = 2}, + [235] = {.lex_state = 25}, + [236] = {.lex_state = 25}, + [237] = {.lex_state = 25}, + [238] = {.lex_state = 5}, + [239] = {.lex_state = 5}, + [240] = {.lex_state = 5}, + [241] = {.lex_state = 25}, + [242] = {.lex_state = 5}, + [243] = {.lex_state = 5}, + [244] = {.lex_state = 5}, + [245] = {.lex_state = 5}, [246] = {.lex_state = 1}, [247] = {.lex_state = 1}, [248] = {.lex_state = 1}, @@ -2434,75 +2517,93 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [267] = {.lex_state = 1}, [268] = {.lex_state = 1}, [269] = {.lex_state = 1}, - [270] = {.lex_state = 2}, - [271] = {.lex_state = 2}, - [272] = {.lex_state = 2}, - [273] = {.lex_state = 2}, + [270] = {.lex_state = 1}, + [271] = {.lex_state = 1}, + [272] = {.lex_state = 1}, + [273] = {.lex_state = 1}, [274] = {.lex_state = 1}, [275] = {.lex_state = 1}, - [276] = {.lex_state = 2}, + [276] = {.lex_state = 1}, [277] = {.lex_state = 1}, - [278] = {.lex_state = 2}, - [279] = {.lex_state = 1}, - [280] = {.lex_state = 2}, + [278] = {.lex_state = 1}, + [279] = {.lex_state = 2}, + [280] = {.lex_state = 1}, [281] = {.lex_state = 2}, - [282] = {.lex_state = 1}, - [283] = {.lex_state = 1}, - [284] = {.lex_state = 1}, + [282] = {.lex_state = 2}, + [283] = {.lex_state = 2}, + [284] = {.lex_state = 2}, [285] = {.lex_state = 1}, [286] = {.lex_state = 2}, - [287] = {.lex_state = 2}, - [288] = {.lex_state = 4}, - [289] = {.lex_state = 7}, - [290] = {.lex_state = 7}, - [291] = {.lex_state = 7}, - [292] = {.lex_state = 7}, - [293] = {.lex_state = 7}, - [294] = {.lex_state = 7}, - [295] = {.lex_state = 1}, - [296] = {.lex_state = 1}, - [297] = {.lex_state = 1}, - [298] = {.lex_state = 1}, - [299] = {.lex_state = 1}, - [300] = {.lex_state = 1}, - [301] = {.lex_state = 1}, - [302] = {.lex_state = 1}, - [303] = {.lex_state = 1}, - [304] = {.lex_state = 25}, - [305] = {.lex_state = 25}, - [306] = {.lex_state = 25}, - [307] = {.lex_state = 25}, + [287] = {.lex_state = 1}, + [288] = {.lex_state = 1}, + [289] = {.lex_state = 2}, + [290] = {.lex_state = 2}, + [291] = {.lex_state = 1}, + [292] = {.lex_state = 1}, + [293] = {.lex_state = 1}, + [294] = {.lex_state = 1}, + [295] = {.lex_state = 2}, + [296] = {.lex_state = 2}, + [297] = {.lex_state = 2}, + [298] = {.lex_state = 2}, + [299] = {.lex_state = 2}, + [300] = {.lex_state = 4}, + [301] = {.lex_state = 7}, + [302] = {.lex_state = 7}, + [303] = {.lex_state = 7}, + [304] = {.lex_state = 7}, + [305] = {.lex_state = 7}, + [306] = {.lex_state = 7}, + [307] = {.lex_state = 1}, [308] = {.lex_state = 1}, [309] = {.lex_state = 1}, [310] = {.lex_state = 1}, [311] = {.lex_state = 1}, [312] = {.lex_state = 1}, [313] = {.lex_state = 1}, - [314] = {.lex_state = 25}, + [314] = {.lex_state = 1}, [315] = {.lex_state = 1}, [316] = {.lex_state = 1}, - [317] = {.lex_state = 0}, - [318] = {.lex_state = 0}, - [319] = {.lex_state = 0}, - [320] = {.lex_state = 0}, - [321] = {.lex_state = 0}, - [322] = {.lex_state = 0}, - [323] = {.lex_state = 0}, - [324] = {.lex_state = 0}, - [325] = {.lex_state = 0}, - [326] = {.lex_state = 0}, + [317] = {.lex_state = 25}, + [318] = {.lex_state = 25}, + [319] = {.lex_state = 25}, + [320] = {.lex_state = 25}, + [321] = {.lex_state = 1}, + [322] = {.lex_state = 1}, + [323] = {.lex_state = 1}, + [324] = {.lex_state = 1}, + [325] = {.lex_state = 1}, + [326] = {.lex_state = 1}, [327] = {.lex_state = 1}, - [328] = {.lex_state = 1}, - [329] = {.lex_state = 0}, + [328] = {.lex_state = 25}, + [329] = {.lex_state = 1}, [330] = {.lex_state = 0}, [331] = {.lex_state = 0}, - [332] = {.lex_state = 5}, + [332] = {.lex_state = 0}, [333] = {.lex_state = 0}, [334] = {.lex_state = 0}, [335] = {.lex_state = 0}, [336] = {.lex_state = 0}, - [337] = {.lex_state = 5}, - [338] = {.lex_state = 25}, + [337] = {.lex_state = 0}, + [338] = {.lex_state = 0}, + [339] = {.lex_state = 0}, + [340] = {.lex_state = 5}, + [341] = {.lex_state = 0}, + [342] = {.lex_state = 0}, + [343] = {.lex_state = 25}, + [344] = {.lex_state = 5}, + [345] = {.lex_state = 1}, + [346] = {.lex_state = 0}, + [347] = {.lex_state = 0}, + [348] = {.lex_state = 0}, + [349] = {.lex_state = 0}, + [350] = {.lex_state = 0}, + [351] = {.lex_state = 0}, + [352] = {.lex_state = 1}, + [353] = {.lex_state = 0}, + [354] = {.lex_state = 0}, + [355] = {.lex_state = 0}, + [356] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2523,10 +2624,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), - [anon_sym_COLON] = ACTIONS(1), - [anon_sym_DOT_DOT] = ACTIONS(1), + [anon_sym_none] = ACTIONS(1), + [anon_sym_some] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_DOT_DOT] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), @@ -2555,11 +2658,12 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_any] = ACTIONS(1), [anon_sym_bool] = ACTIONS(1), [anon_sym_float] = ACTIONS(1), - [anon_sym_DASH_GT] = ACTIONS(1), [anon_sym_int] = ACTIONS(1), [anon_sym_map] = ACTIONS(1), [anon_sym_num] = ACTIONS(1), [anon_sym_str] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [anon_sym_option] = ACTIONS(1), [anon_sym_fn] = ACTIONS(1), [anon_sym_assert] = ACTIONS(1), [anon_sym_assert_equal] = ACTIONS(1), @@ -2580,31 +2684,32 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_write] = ACTIONS(1), }, [1] = { - [sym_root] = STATE(334), - [sym_block] = STATE(218), - [sym_statement] = STATE(22), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(22), + [sym_root] = STATE(355), + [sym_block] = STATE(226), + [sym_statement] = STATE(21), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(21), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -2615,914 +2720,511 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, [2] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(35), - [sym__identifier_pattern] = ACTIONS(37), + [sym_block] = STATE(226), + [sym_statement] = STATE(8), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(75), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(8), + [aux_sym_map_repeat1] = STATE(275), + [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(40), - [anon_sym_LBRACE] = ACTIONS(43), - [anon_sym_RBRACE] = ACTIONS(35), - [sym_integer] = ACTIONS(46), - [sym_float] = ACTIONS(49), - [sym_string] = ACTIONS(49), - [anon_sym_true] = ACTIONS(52), - [anon_sym_false] = ACTIONS(52), - [anon_sym_LBRACK] = ACTIONS(55), - [anon_sym_LPAREN] = ACTIONS(58), - [anon_sym_if] = ACTIONS(61), - [anon_sym_match] = ACTIONS(64), - [anon_sym_while] = ACTIONS(67), - [anon_sym_for] = ACTIONS(70), - [anon_sym_asyncfor] = ACTIONS(73), - [anon_sym_return] = ACTIONS(76), - [anon_sym_assert] = ACTIONS(79), - [anon_sym_assert_equal] = ACTIONS(79), - [anon_sym_bash] = ACTIONS(79), - [anon_sym_download] = ACTIONS(79), - [anon_sym_fish] = ACTIONS(79), - [anon_sym_from_json] = ACTIONS(79), - [anon_sym_length] = ACTIONS(79), - [anon_sym_metadata] = ACTIONS(79), - [anon_sym_output] = ACTIONS(79), - [anon_sym_output_error] = ACTIONS(79), - [anon_sym_random] = ACTIONS(79), - [anon_sym_random_boolean] = ACTIONS(79), - [anon_sym_random_float] = ACTIONS(79), - [anon_sym_random_integer] = ACTIONS(79), - [anon_sym_read] = ACTIONS(79), - [anon_sym_to_json] = ACTIONS(79), - [anon_sym_write] = ACTIONS(79), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [anon_sym_RBRACE] = ACTIONS(39), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, [3] = { - [sym_block] = STATE(218), + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), + [ts_builtin_sym_end] = ACTIONS(41), + [sym__identifier_pattern] = ACTIONS(43), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(46), + [anon_sym_LBRACE] = ACTIONS(49), + [anon_sym_RBRACE] = ACTIONS(41), + [sym_integer] = ACTIONS(52), + [sym_float] = ACTIONS(55), + [sym_string] = ACTIONS(55), + [anon_sym_true] = ACTIONS(58), + [anon_sym_false] = ACTIONS(58), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_none] = ACTIONS(64), + [anon_sym_some] = ACTIONS(67), + [anon_sym_LPAREN] = ACTIONS(70), + [anon_sym_if] = ACTIONS(73), + [anon_sym_match] = ACTIONS(76), + [anon_sym_while] = ACTIONS(79), + [anon_sym_for] = ACTIONS(82), + [anon_sym_asyncfor] = ACTIONS(85), + [anon_sym_return] = ACTIONS(88), + [anon_sym_assert] = ACTIONS(91), + [anon_sym_assert_equal] = ACTIONS(91), + [anon_sym_bash] = ACTIONS(91), + [anon_sym_download] = ACTIONS(91), + [anon_sym_fish] = ACTIONS(91), + [anon_sym_from_json] = ACTIONS(91), + [anon_sym_length] = ACTIONS(91), + [anon_sym_metadata] = ACTIONS(91), + [anon_sym_output] = ACTIONS(91), + [anon_sym_output_error] = ACTIONS(91), + [anon_sym_random] = ACTIONS(91), + [anon_sym_random_boolean] = ACTIONS(91), + [anon_sym_random_float] = ACTIONS(91), + [anon_sym_random_integer] = ACTIONS(91), + [anon_sym_read] = ACTIONS(91), + [anon_sym_to_json] = ACTIONS(91), + [anon_sym_write] = ACTIONS(91), + }, + [4] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(16), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(75), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(16), + [aux_sym_map_repeat1] = STATE(269), + [sym__identifier_pattern] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [anon_sym_RBRACE] = ACTIONS(94), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), + }, + [5] = { + [sym_block] = STATE(226), [sym_statement] = STATE(8), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(73), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(75), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), [aux_sym_root_repeat1] = STATE(8), [aux_sym_map_repeat1] = STATE(265), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(82), + [anon_sym_RBRACE] = ACTIONS(96), [sym_integer] = ACTIONS(11), [sym_float] = ACTIONS(13), [sym_string] = ACTIONS(13), [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), - }, - [4] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(21), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(73), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(21), - [aux_sym_map_repeat1] = STATE(263), - [sym__identifier_pattern] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(84), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), - }, - [5] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(8), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(73), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(8), - [aux_sym_map_repeat1] = STATE(269), - [sym__identifier_pattern] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(86), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, [6] = { - [sym_expression] = STATE(112), - [aux_sym__expression_list] = STATE(145), - [sym_identifier] = STATE(88), - [sym_value] = STATE(88), + [sym_expression] = STATE(114), + [aux_sym__expression_list] = STATE(153), + [sym_identifier] = STATE(94), + [sym_value] = STATE(94), [sym_boolean] = STATE(101), [sym_list] = STATE(101), [sym_map] = STATE(101), - [sym_index] = STATE(88), - [sym_math] = STATE(88), - [sym_math_operator] = STATE(207), - [sym_logic] = STATE(88), - [sym_logic_operator] = STATE(187), + [sym_option] = STATE(101), + [sym_index] = STATE(94), + [sym_math] = STATE(94), + [sym_math_operator] = STATE(172), + [sym_logic] = STATE(94), + [sym_logic_operator] = STATE(207), [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), [sym__comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(90), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_COLON] = ACTIONS(100), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_RPAREN] = ACTIONS(104), - [anon_sym_PLUS] = ACTIONS(106), - [anon_sym_DASH] = ACTIONS(108), - [anon_sym_STAR] = ACTIONS(106), - [anon_sym_SLASH] = ACTIONS(106), - [anon_sym_PERCENT] = ACTIONS(106), - [anon_sym_EQ_EQ] = ACTIONS(110), - [anon_sym_BANG_EQ] = ACTIONS(110), - [anon_sym_AMP_AMP] = ACTIONS(110), - [anon_sym_PIPE_PIPE] = ACTIONS(110), - [anon_sym_GT] = ACTIONS(112), - [anon_sym_LT] = ACTIONS(112), - [anon_sym_GT_EQ] = ACTIONS(110), - [anon_sym_LT_EQ] = ACTIONS(110), - [anon_sym_DASH_GT] = ACTIONS(114), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), + [anon_sym_LBRACE] = ACTIONS(100), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_RPAREN] = ACTIONS(116), + [anon_sym_COLON] = ACTIONS(118), + [anon_sym_PLUS] = ACTIONS(120), + [anon_sym_DASH] = ACTIONS(122), + [anon_sym_STAR] = ACTIONS(120), + [anon_sym_SLASH] = ACTIONS(120), + [anon_sym_PERCENT] = ACTIONS(120), + [anon_sym_EQ_EQ] = ACTIONS(124), + [anon_sym_BANG_EQ] = ACTIONS(124), + [anon_sym_AMP_AMP] = ACTIONS(124), + [anon_sym_PIPE_PIPE] = ACTIONS(124), + [anon_sym_GT] = ACTIONS(126), + [anon_sym_LT] = ACTIONS(126), + [anon_sym_GT_EQ] = ACTIONS(124), + [anon_sym_LT_EQ] = ACTIONS(124), + [anon_sym_DASH_GT] = ACTIONS(128), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), }, [7] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(118), + [anon_sym_RBRACE] = ACTIONS(132), [sym_integer] = ACTIONS(11), [sym_float] = ACTIONS(13), [sym_string] = ACTIONS(13), [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, [8] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(120), + [anon_sym_RBRACE] = ACTIONS(134), [sym_integer] = ACTIONS(11), [sym_float] = ACTIONS(13), [sym_string] = ACTIONS(13), [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, [9] = { - [sym_expression] = STATE(112), - [aux_sym__expression_list] = STATE(154), - [sym_identifier] = STATE(88), - [sym_value] = STATE(88), - [sym_boolean] = STATE(101), - [sym_list] = STATE(101), - [sym_map] = STATE(101), - [sym_index] = STATE(88), - [sym_math] = STATE(88), - [sym_math_operator] = STATE(207), - [sym_logic] = STATE(88), - [sym_logic_operator] = STATE(187), - [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), - [sym__comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(90), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_COLON] = ACTIONS(100), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_RPAREN] = ACTIONS(122), - [anon_sym_PLUS] = ACTIONS(106), - [anon_sym_DASH] = ACTIONS(108), - [anon_sym_STAR] = ACTIONS(106), - [anon_sym_SLASH] = ACTIONS(106), - [anon_sym_PERCENT] = ACTIONS(106), - [anon_sym_EQ_EQ] = ACTIONS(110), - [anon_sym_BANG_EQ] = ACTIONS(110), - [anon_sym_AMP_AMP] = ACTIONS(110), - [anon_sym_PIPE_PIPE] = ACTIONS(110), - [anon_sym_GT] = ACTIONS(112), - [anon_sym_LT] = ACTIONS(112), - [anon_sym_GT_EQ] = ACTIONS(110), - [anon_sym_LT_EQ] = ACTIONS(110), - [anon_sym_DASH_GT] = ACTIONS(114), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), - }, - [10] = { - [sym_expression] = STATE(112), - [aux_sym__expression_list] = STATE(162), - [sym_identifier] = STATE(88), - [sym_value] = STATE(88), - [sym_boolean] = STATE(101), - [sym_list] = STATE(101), - [sym_map] = STATE(101), - [sym_index] = STATE(88), - [sym_math] = STATE(88), - [sym_math_operator] = STATE(209), - [sym_logic] = STATE(88), - [sym_logic_operator] = STATE(192), - [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), - [sym__comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(90), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_COLON] = ACTIONS(100), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_RPAREN] = ACTIONS(124), - [anon_sym_PLUS] = ACTIONS(106), - [anon_sym_DASH] = ACTIONS(108), - [anon_sym_STAR] = ACTIONS(106), - [anon_sym_SLASH] = ACTIONS(106), - [anon_sym_PERCENT] = ACTIONS(106), - [anon_sym_EQ_EQ] = ACTIONS(110), - [anon_sym_BANG_EQ] = ACTIONS(110), - [anon_sym_AMP_AMP] = ACTIONS(110), - [anon_sym_PIPE_PIPE] = ACTIONS(110), - [anon_sym_GT] = ACTIONS(112), - [anon_sym_LT] = ACTIONS(112), - [anon_sym_GT_EQ] = ACTIONS(110), - [anon_sym_LT_EQ] = ACTIONS(110), - [anon_sym_DASH_GT] = ACTIONS(114), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), - }, - [11] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), - [sym__identifier_pattern] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(126), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), - }, - [12] = { - [sym_expression] = STATE(112), - [aux_sym__expression_list] = STATE(150), - [sym_identifier] = STATE(88), - [sym_value] = STATE(88), - [sym_boolean] = STATE(101), - [sym_list] = STATE(101), - [sym_map] = STATE(101), - [sym_index] = STATE(88), - [sym_math] = STATE(88), - [sym_math_operator] = STATE(207), - [sym_logic] = STATE(88), - [sym_logic_operator] = STATE(187), - [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), - [sym__comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(90), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_COLON] = ACTIONS(100), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_RPAREN] = ACTIONS(128), - [anon_sym_PLUS] = ACTIONS(106), - [anon_sym_DASH] = ACTIONS(108), - [anon_sym_STAR] = ACTIONS(106), - [anon_sym_SLASH] = ACTIONS(106), - [anon_sym_PERCENT] = ACTIONS(106), - [anon_sym_EQ_EQ] = ACTIONS(110), - [anon_sym_BANG_EQ] = ACTIONS(110), - [anon_sym_AMP_AMP] = ACTIONS(110), - [anon_sym_PIPE_PIPE] = ACTIONS(110), - [anon_sym_GT] = ACTIONS(112), - [anon_sym_LT] = ACTIONS(112), - [anon_sym_GT_EQ] = ACTIONS(110), - [anon_sym_LT_EQ] = ACTIONS(110), - [anon_sym_DASH_GT] = ACTIONS(114), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), - }, - [13] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), - [sym__identifier_pattern] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(130), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), - }, - [14] = { - [sym_expression] = STATE(112), - [aux_sym__expression_list] = STATE(152), - [sym_identifier] = STATE(88), - [sym_value] = STATE(88), - [sym_boolean] = STATE(101), - [sym_list] = STATE(101), - [sym_map] = STATE(101), - [sym_index] = STATE(88), - [sym_math] = STATE(88), - [sym_math_operator] = STATE(209), - [sym_logic] = STATE(88), - [sym_logic_operator] = STATE(197), - [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), - [sym__comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(90), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_COLON] = ACTIONS(100), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_RPAREN] = ACTIONS(132), - [anon_sym_PLUS] = ACTIONS(106), - [anon_sym_DASH] = ACTIONS(108), - [anon_sym_STAR] = ACTIONS(106), - [anon_sym_SLASH] = ACTIONS(106), - [anon_sym_PERCENT] = ACTIONS(106), - [anon_sym_EQ_EQ] = ACTIONS(110), - [anon_sym_BANG_EQ] = ACTIONS(110), - [anon_sym_AMP_AMP] = ACTIONS(110), - [anon_sym_PIPE_PIPE] = ACTIONS(110), - [anon_sym_GT] = ACTIONS(112), - [anon_sym_LT] = ACTIONS(112), - [anon_sym_GT_EQ] = ACTIONS(110), - [anon_sym_LT_EQ] = ACTIONS(110), - [anon_sym_DASH_GT] = ACTIONS(114), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), - }, - [15] = { - [sym_expression] = STATE(112), - [aux_sym__expression_list] = STATE(153), - [sym_identifier] = STATE(88), - [sym_value] = STATE(88), - [sym_boolean] = STATE(101), - [sym_list] = STATE(101), - [sym_map] = STATE(101), - [sym_index] = STATE(88), - [sym_math] = STATE(88), - [sym_math_operator] = STATE(209), - [sym_logic] = STATE(88), - [sym_logic_operator] = STATE(198), - [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), - [sym__comment] = ACTIONS(3), - [anon_sym_LBRACE] = ACTIONS(90), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_COLON] = ACTIONS(100), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_RPAREN] = ACTIONS(134), - [anon_sym_PLUS] = ACTIONS(106), - [anon_sym_DASH] = ACTIONS(108), - [anon_sym_STAR] = ACTIONS(106), - [anon_sym_SLASH] = ACTIONS(106), - [anon_sym_PERCENT] = ACTIONS(106), - [anon_sym_EQ_EQ] = ACTIONS(110), - [anon_sym_BANG_EQ] = ACTIONS(110), - [anon_sym_AMP_AMP] = ACTIONS(110), - [anon_sym_PIPE_PIPE] = ACTIONS(110), - [anon_sym_GT] = ACTIONS(112), - [anon_sym_LT] = ACTIONS(112), - [anon_sym_GT_EQ] = ACTIONS(110), - [anon_sym_LT_EQ] = ACTIONS(110), - [anon_sym_DASH_GT] = ACTIONS(114), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), - }, - [16] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -3534,117 +3236,123 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [17] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), - [sym__identifier_pattern] = ACTIONS(5), + [10] = { + [sym_expression] = STATE(114), + [aux_sym__expression_list] = STATE(147), + [sym_identifier] = STATE(94), + [sym_value] = STATE(94), + [sym_boolean] = STATE(101), + [sym_list] = STATE(101), + [sym_map] = STATE(101), + [sym_option] = STATE(101), + [sym_index] = STATE(94), + [sym_math] = STATE(94), + [sym_math_operator] = STATE(175), + [sym_logic] = STATE(94), + [sym_logic_operator] = STATE(176), + [sym_function] = STATE(101), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [anon_sym_RBRACE] = ACTIONS(138), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(100), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_RPAREN] = ACTIONS(138), + [anon_sym_COLON] = ACTIONS(118), + [anon_sym_PLUS] = ACTIONS(120), + [anon_sym_DASH] = ACTIONS(122), + [anon_sym_STAR] = ACTIONS(120), + [anon_sym_SLASH] = ACTIONS(120), + [anon_sym_PERCENT] = ACTIONS(120), + [anon_sym_EQ_EQ] = ACTIONS(124), + [anon_sym_BANG_EQ] = ACTIONS(124), + [anon_sym_AMP_AMP] = ACTIONS(124), + [anon_sym_PIPE_PIPE] = ACTIONS(124), + [anon_sym_GT] = ACTIONS(126), + [anon_sym_LT] = ACTIONS(126), + [anon_sym_GT_EQ] = ACTIONS(124), + [anon_sym_LT_EQ] = ACTIONS(124), + [anon_sym_DASH_GT] = ACTIONS(128), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), }, - [18] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), + [11] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -3656,56 +3364,59 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [19] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), + [12] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -3717,56 +3428,59 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [20] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), + [13] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -3778,56 +3492,59 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [21] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), + [14] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -3839,176 +3556,570 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), + }, + [15] = { + [sym_expression] = STATE(114), + [aux_sym__expression_list] = STATE(146), + [sym_identifier] = STATE(94), + [sym_value] = STATE(94), + [sym_boolean] = STATE(101), + [sym_list] = STATE(101), + [sym_map] = STATE(101), + [sym_option] = STATE(101), + [sym_index] = STATE(94), + [sym_math] = STATE(94), + [sym_math_operator] = STATE(172), + [sym_logic] = STATE(94), + [sym_logic_operator] = STATE(189), + [sym_function] = STATE(101), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), + [sym__comment] = ACTIONS(3), + [anon_sym_LBRACE] = ACTIONS(100), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_RPAREN] = ACTIONS(148), + [anon_sym_COLON] = ACTIONS(118), + [anon_sym_PLUS] = ACTIONS(120), + [anon_sym_DASH] = ACTIONS(122), + [anon_sym_STAR] = ACTIONS(120), + [anon_sym_SLASH] = ACTIONS(120), + [anon_sym_PERCENT] = ACTIONS(120), + [anon_sym_EQ_EQ] = ACTIONS(124), + [anon_sym_BANG_EQ] = ACTIONS(124), + [anon_sym_AMP_AMP] = ACTIONS(124), + [anon_sym_PIPE_PIPE] = ACTIONS(124), + [anon_sym_GT] = ACTIONS(126), + [anon_sym_LT] = ACTIONS(126), + [anon_sym_GT_EQ] = ACTIONS(124), + [anon_sym_LT_EQ] = ACTIONS(124), + [anon_sym_DASH_GT] = ACTIONS(128), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), + }, + [16] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), + [sym__identifier_pattern] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [anon_sym_RBRACE] = ACTIONS(150), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), + }, + [17] = { + [sym_expression] = STATE(114), + [aux_sym__expression_list] = STATE(155), + [sym_identifier] = STATE(94), + [sym_value] = STATE(94), + [sym_boolean] = STATE(101), + [sym_list] = STATE(101), + [sym_map] = STATE(101), + [sym_option] = STATE(101), + [sym_index] = STATE(94), + [sym_math] = STATE(94), + [sym_math_operator] = STATE(175), + [sym_logic] = STATE(94), + [sym_logic_operator] = STATE(176), + [sym_function] = STATE(101), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), + [sym__comment] = ACTIONS(3), + [anon_sym_LBRACE] = ACTIONS(100), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_RPAREN] = ACTIONS(152), + [anon_sym_COLON] = ACTIONS(118), + [anon_sym_PLUS] = ACTIONS(120), + [anon_sym_DASH] = ACTIONS(122), + [anon_sym_STAR] = ACTIONS(120), + [anon_sym_SLASH] = ACTIONS(120), + [anon_sym_PERCENT] = ACTIONS(120), + [anon_sym_EQ_EQ] = ACTIONS(124), + [anon_sym_BANG_EQ] = ACTIONS(124), + [anon_sym_AMP_AMP] = ACTIONS(124), + [anon_sym_PIPE_PIPE] = ACTIONS(124), + [anon_sym_GT] = ACTIONS(126), + [anon_sym_LT] = ACTIONS(126), + [anon_sym_GT_EQ] = ACTIONS(124), + [anon_sym_LT_EQ] = ACTIONS(124), + [anon_sym_DASH_GT] = ACTIONS(128), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), + }, + [18] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), + [sym__identifier_pattern] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [anon_sym_RBRACE] = ACTIONS(154), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), + }, + [19] = { + [sym_expression] = STATE(114), + [aux_sym__expression_list] = STATE(164), + [sym_identifier] = STATE(94), + [sym_value] = STATE(94), + [sym_boolean] = STATE(101), + [sym_list] = STATE(101), + [sym_map] = STATE(101), + [sym_option] = STATE(101), + [sym_index] = STATE(94), + [sym_math] = STATE(94), + [sym_math_operator] = STATE(172), + [sym_logic] = STATE(94), + [sym_logic_operator] = STATE(183), + [sym_function] = STATE(101), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), + [sym__comment] = ACTIONS(3), + [anon_sym_LBRACE] = ACTIONS(100), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_RPAREN] = ACTIONS(156), + [anon_sym_COLON] = ACTIONS(118), + [anon_sym_PLUS] = ACTIONS(120), + [anon_sym_DASH] = ACTIONS(122), + [anon_sym_STAR] = ACTIONS(120), + [anon_sym_SLASH] = ACTIONS(120), + [anon_sym_PERCENT] = ACTIONS(120), + [anon_sym_EQ_EQ] = ACTIONS(124), + [anon_sym_BANG_EQ] = ACTIONS(124), + [anon_sym_AMP_AMP] = ACTIONS(124), + [anon_sym_PIPE_PIPE] = ACTIONS(124), + [anon_sym_GT] = ACTIONS(126), + [anon_sym_LT] = ACTIONS(126), + [anon_sym_GT_EQ] = ACTIONS(124), + [anon_sym_LT_EQ] = ACTIONS(124), + [anon_sym_DASH_GT] = ACTIONS(128), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), + }, + [20] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), + [sym__identifier_pattern] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [anon_sym_RBRACE] = ACTIONS(158), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), + }, + [21] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(3), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(3), + [ts_builtin_sym_end] = ACTIONS(160), + [sym__identifier_pattern] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, [22] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(2), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(2), - [ts_builtin_sym_end] = ACTIONS(148), - [sym__identifier_pattern] = ACTIONS(5), + [sym_expression] = STATE(114), + [aux_sym__expression_list] = STATE(141), + [sym_identifier] = STATE(94), + [sym_value] = STATE(94), + [sym_boolean] = STATE(101), + [sym_list] = STATE(101), + [sym_map] = STATE(101), + [sym_option] = STATE(101), + [sym_index] = STATE(94), + [sym_math] = STATE(94), + [sym_math_operator] = STATE(175), + [sym_logic] = STATE(94), + [sym_logic_operator] = STATE(176), + [sym_function] = STATE(101), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_LBRACE] = ACTIONS(100), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_RPAREN] = ACTIONS(162), + [anon_sym_COLON] = ACTIONS(118), + [anon_sym_PLUS] = ACTIONS(120), + [anon_sym_DASH] = ACTIONS(122), + [anon_sym_STAR] = ACTIONS(120), + [anon_sym_SLASH] = ACTIONS(120), + [anon_sym_PERCENT] = ACTIONS(120), + [anon_sym_EQ_EQ] = ACTIONS(124), + [anon_sym_BANG_EQ] = ACTIONS(124), + [anon_sym_AMP_AMP] = ACTIONS(124), + [anon_sym_PIPE_PIPE] = ACTIONS(124), + [anon_sym_GT] = ACTIONS(126), + [anon_sym_LT] = ACTIONS(126), + [anon_sym_GT_EQ] = ACTIONS(124), + [anon_sym_LT_EQ] = ACTIONS(124), + [anon_sym_DASH_GT] = ACTIONS(128), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), }, [23] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(21), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(21), - [sym__identifier_pattern] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), - }, - [24] = { - [sym_block] = STATE(218), + [sym_block] = STATE(226), [sym_statement] = STATE(8), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), [aux_sym_root_repeat1] = STATE(8), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -4020,175 +4131,58 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [25] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(18), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(18), - [sym__identifier_pattern] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), - }, - [26] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(7), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(7), - [sym__identifier_pattern] = ACTIONS(5), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), - }, - [27] = { - [sym_block] = STATE(218), + [24] = { + [sym_block] = STATE(226), [sym_statement] = STATE(11), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), [aux_sym_root_repeat1] = STATE(11), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -4200,295 +4194,121 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [28] = { - [sym_math_operator] = STATE(182), - [sym_logic_operator] = STATE(184), - [ts_builtin_sym_end] = ACTIONS(150), - [sym__identifier_pattern] = ACTIONS(152), + [25] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(18), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(18), + [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(152), - [anon_sym_LBRACE] = ACTIONS(150), - [anon_sym_RBRACE] = ACTIONS(150), - [anon_sym_SEMI] = ACTIONS(150), - [sym_integer] = ACTIONS(152), - [sym_float] = ACTIONS(150), - [sym_string] = ACTIONS(150), - [anon_sym_true] = ACTIONS(152), - [anon_sym_false] = ACTIONS(152), - [anon_sym_LBRACK] = ACTIONS(150), - [anon_sym_EQ] = ACTIONS(152), - [anon_sym_COLON] = ACTIONS(150), - [anon_sym_DOT_DOT] = ACTIONS(150), - [anon_sym_LPAREN] = ACTIONS(150), - [anon_sym_PLUS] = ACTIONS(152), - [anon_sym_DASH] = ACTIONS(152), - [anon_sym_STAR] = ACTIONS(150), - [anon_sym_SLASH] = ACTIONS(150), - [anon_sym_PERCENT] = ACTIONS(150), - [anon_sym_EQ_EQ] = ACTIONS(150), - [anon_sym_BANG_EQ] = ACTIONS(150), - [anon_sym_AMP_AMP] = ACTIONS(150), - [anon_sym_PIPE_PIPE] = ACTIONS(150), - [anon_sym_GT] = ACTIONS(152), - [anon_sym_LT] = ACTIONS(152), - [anon_sym_GT_EQ] = ACTIONS(150), - [anon_sym_LT_EQ] = ACTIONS(150), - [anon_sym_PLUS_EQ] = ACTIONS(150), - [anon_sym_DASH_EQ] = ACTIONS(150), - [anon_sym_if] = ACTIONS(152), - [anon_sym_match] = ACTIONS(152), - [anon_sym_while] = ACTIONS(152), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(150), - [anon_sym_return] = ACTIONS(152), - [anon_sym_DASH_GT] = ACTIONS(150), - [anon_sym_assert] = ACTIONS(152), - [anon_sym_assert_equal] = ACTIONS(152), - [anon_sym_bash] = ACTIONS(152), - [anon_sym_download] = ACTIONS(152), - [anon_sym_fish] = ACTIONS(152), - [anon_sym_from_json] = ACTIONS(152), - [anon_sym_length] = ACTIONS(152), - [anon_sym_metadata] = ACTIONS(152), - [anon_sym_output] = ACTIONS(152), - [anon_sym_output_error] = ACTIONS(152), - [anon_sym_random] = ACTIONS(152), - [anon_sym_random_boolean] = ACTIONS(152), - [anon_sym_random_float] = ACTIONS(152), - [anon_sym_random_integer] = ACTIONS(152), - [anon_sym_read] = ACTIONS(152), - [anon_sym_to_json] = ACTIONS(152), - [anon_sym_write] = ACTIONS(152), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [29] = { - [sym_math_operator] = STATE(182), - [sym_logic_operator] = STATE(184), - [ts_builtin_sym_end] = ACTIONS(154), - [sym__identifier_pattern] = ACTIONS(156), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(156), - [anon_sym_LBRACE] = ACTIONS(154), - [anon_sym_RBRACE] = ACTIONS(154), - [anon_sym_SEMI] = ACTIONS(154), - [sym_integer] = ACTIONS(156), - [sym_float] = ACTIONS(154), - [sym_string] = ACTIONS(154), - [anon_sym_true] = ACTIONS(156), - [anon_sym_false] = ACTIONS(156), - [anon_sym_LBRACK] = ACTIONS(154), - [anon_sym_EQ] = ACTIONS(156), - [anon_sym_COLON] = ACTIONS(154), - [anon_sym_DOT_DOT] = ACTIONS(154), - [anon_sym_LPAREN] = ACTIONS(154), - [anon_sym_PLUS] = ACTIONS(156), - [anon_sym_DASH] = ACTIONS(156), - [anon_sym_STAR] = ACTIONS(154), - [anon_sym_SLASH] = ACTIONS(154), - [anon_sym_PERCENT] = ACTIONS(154), - [anon_sym_EQ_EQ] = ACTIONS(154), - [anon_sym_BANG_EQ] = ACTIONS(154), - [anon_sym_AMP_AMP] = ACTIONS(154), - [anon_sym_PIPE_PIPE] = ACTIONS(154), - [anon_sym_GT] = ACTIONS(156), - [anon_sym_LT] = ACTIONS(156), - [anon_sym_GT_EQ] = ACTIONS(154), - [anon_sym_LT_EQ] = ACTIONS(154), - [anon_sym_PLUS_EQ] = ACTIONS(154), - [anon_sym_DASH_EQ] = ACTIONS(154), - [anon_sym_if] = ACTIONS(156), - [anon_sym_match] = ACTIONS(156), - [anon_sym_while] = ACTIONS(156), - [anon_sym_for] = ACTIONS(156), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_DASH_GT] = ACTIONS(154), - [anon_sym_assert] = ACTIONS(156), - [anon_sym_assert_equal] = ACTIONS(156), - [anon_sym_bash] = ACTIONS(156), - [anon_sym_download] = ACTIONS(156), - [anon_sym_fish] = ACTIONS(156), - [anon_sym_from_json] = ACTIONS(156), - [anon_sym_length] = ACTIONS(156), - [anon_sym_metadata] = ACTIONS(156), - [anon_sym_output] = ACTIONS(156), - [anon_sym_output_error] = ACTIONS(156), - [anon_sym_random] = ACTIONS(156), - [anon_sym_random_boolean] = ACTIONS(156), - [anon_sym_random_float] = ACTIONS(156), - [anon_sym_random_integer] = ACTIONS(156), - [anon_sym_read] = ACTIONS(156), - [anon_sym_to_json] = ACTIONS(156), - [anon_sym_write] = ACTIONS(156), - }, - [30] = { - [sym_math_operator] = STATE(182), - [sym_logic_operator] = STATE(184), - [ts_builtin_sym_end] = ACTIONS(158), - [sym__identifier_pattern] = ACTIONS(160), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(160), - [anon_sym_LBRACE] = ACTIONS(158), - [anon_sym_RBRACE] = ACTIONS(158), - [anon_sym_SEMI] = ACTIONS(158), - [sym_integer] = ACTIONS(160), - [sym_float] = ACTIONS(158), - [sym_string] = ACTIONS(158), - [anon_sym_true] = ACTIONS(160), - [anon_sym_false] = ACTIONS(160), - [anon_sym_LBRACK] = ACTIONS(158), - [anon_sym_EQ] = ACTIONS(160), - [anon_sym_COLON] = ACTIONS(162), - [anon_sym_DOT_DOT] = ACTIONS(158), - [anon_sym_LPAREN] = ACTIONS(158), - [anon_sym_PLUS] = ACTIONS(160), - [anon_sym_DASH] = ACTIONS(160), - [anon_sym_STAR] = ACTIONS(158), - [anon_sym_SLASH] = ACTIONS(158), - [anon_sym_PERCENT] = ACTIONS(158), - [anon_sym_EQ_EQ] = ACTIONS(158), - [anon_sym_BANG_EQ] = ACTIONS(158), - [anon_sym_AMP_AMP] = ACTIONS(158), - [anon_sym_PIPE_PIPE] = ACTIONS(158), - [anon_sym_GT] = ACTIONS(160), - [anon_sym_LT] = ACTIONS(160), - [anon_sym_GT_EQ] = ACTIONS(158), - [anon_sym_LT_EQ] = ACTIONS(158), - [anon_sym_PLUS_EQ] = ACTIONS(158), - [anon_sym_DASH_EQ] = ACTIONS(158), - [anon_sym_if] = ACTIONS(160), - [anon_sym_match] = ACTIONS(160), - [anon_sym_while] = ACTIONS(160), - [anon_sym_for] = ACTIONS(160), - [anon_sym_asyncfor] = ACTIONS(158), - [anon_sym_return] = ACTIONS(160), - [anon_sym_DASH_GT] = ACTIONS(158), - [anon_sym_assert] = ACTIONS(160), - [anon_sym_assert_equal] = ACTIONS(160), - [anon_sym_bash] = ACTIONS(160), - [anon_sym_download] = ACTIONS(160), - [anon_sym_fish] = ACTIONS(160), - [anon_sym_from_json] = ACTIONS(160), - [anon_sym_length] = ACTIONS(160), - [anon_sym_metadata] = ACTIONS(160), - [anon_sym_output] = ACTIONS(160), - [anon_sym_output_error] = ACTIONS(160), - [anon_sym_random] = ACTIONS(160), - [anon_sym_random_boolean] = ACTIONS(160), - [anon_sym_random_float] = ACTIONS(160), - [anon_sym_random_integer] = ACTIONS(160), - [anon_sym_read] = ACTIONS(160), - [anon_sym_to_json] = ACTIONS(160), - [anon_sym_write] = ACTIONS(160), - }, - [31] = { - [sym_math_operator] = STATE(182), - [sym_logic_operator] = STATE(184), - [ts_builtin_sym_end] = ACTIONS(164), - [sym__identifier_pattern] = ACTIONS(166), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(166), - [anon_sym_LBRACE] = ACTIONS(164), - [anon_sym_RBRACE] = ACTIONS(164), - [anon_sym_SEMI] = ACTIONS(164), - [sym_integer] = ACTIONS(166), - [sym_float] = ACTIONS(164), - [sym_string] = ACTIONS(164), - [anon_sym_true] = ACTIONS(166), - [anon_sym_false] = ACTIONS(166), - [anon_sym_LBRACK] = ACTIONS(164), - [anon_sym_EQ] = ACTIONS(166), - [anon_sym_COLON] = ACTIONS(162), - [anon_sym_DOT_DOT] = ACTIONS(164), - [anon_sym_LPAREN] = ACTIONS(164), - [anon_sym_PLUS] = ACTIONS(108), - [anon_sym_DASH] = ACTIONS(108), - [anon_sym_STAR] = ACTIONS(106), - [anon_sym_SLASH] = ACTIONS(106), - [anon_sym_PERCENT] = ACTIONS(106), - [anon_sym_EQ_EQ] = ACTIONS(110), - [anon_sym_BANG_EQ] = ACTIONS(110), - [anon_sym_AMP_AMP] = ACTIONS(110), - [anon_sym_PIPE_PIPE] = ACTIONS(110), - [anon_sym_GT] = ACTIONS(112), - [anon_sym_LT] = ACTIONS(112), - [anon_sym_GT_EQ] = ACTIONS(110), - [anon_sym_LT_EQ] = ACTIONS(110), - [anon_sym_PLUS_EQ] = ACTIONS(164), - [anon_sym_DASH_EQ] = ACTIONS(164), - [anon_sym_if] = ACTIONS(166), - [anon_sym_match] = ACTIONS(166), - [anon_sym_while] = ACTIONS(166), - [anon_sym_for] = ACTIONS(166), - [anon_sym_asyncfor] = ACTIONS(164), - [anon_sym_return] = ACTIONS(166), - [anon_sym_DASH_GT] = ACTIONS(168), - [anon_sym_assert] = ACTIONS(166), - [anon_sym_assert_equal] = ACTIONS(166), - [anon_sym_bash] = ACTIONS(166), - [anon_sym_download] = ACTIONS(166), - [anon_sym_fish] = ACTIONS(166), - [anon_sym_from_json] = ACTIONS(166), - [anon_sym_length] = ACTIONS(166), - [anon_sym_metadata] = ACTIONS(166), - [anon_sym_output] = ACTIONS(166), - [anon_sym_output_error] = ACTIONS(166), - [anon_sym_random] = ACTIONS(166), - [anon_sym_random_boolean] = ACTIONS(166), - [anon_sym_random_float] = ACTIONS(166), - [anon_sym_random_integer] = ACTIONS(166), - [anon_sym_read] = ACTIONS(166), - [anon_sym_to_json] = ACTIONS(166), - [anon_sym_write] = ACTIONS(166), - }, - [32] = { - [sym_block] = STATE(218), + [26] = { + [sym_block] = STATE(226), [sym_statement] = STATE(16), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), [aux_sym_root_repeat1] = STATE(16), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -4500,56 +4320,59 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [33] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(17), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(17), + [27] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(14), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(14), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -4560,115 +4383,58 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [34] = { - [sym_math_operator] = STATE(182), - [sym_logic_operator] = STATE(184), - [ts_builtin_sym_end] = ACTIONS(154), - [sym__identifier_pattern] = ACTIONS(156), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(156), - [anon_sym_LBRACE] = ACTIONS(154), - [anon_sym_RBRACE] = ACTIONS(154), - [anon_sym_SEMI] = ACTIONS(154), - [sym_integer] = ACTIONS(156), - [sym_float] = ACTIONS(154), - [sym_string] = ACTIONS(154), - [anon_sym_true] = ACTIONS(156), - [anon_sym_false] = ACTIONS(156), - [anon_sym_LBRACK] = ACTIONS(154), - [anon_sym_EQ] = ACTIONS(156), - [anon_sym_COLON] = ACTIONS(154), - [anon_sym_DOT_DOT] = ACTIONS(170), - [anon_sym_LPAREN] = ACTIONS(154), - [anon_sym_PLUS] = ACTIONS(156), - [anon_sym_DASH] = ACTIONS(156), - [anon_sym_STAR] = ACTIONS(154), - [anon_sym_SLASH] = ACTIONS(154), - [anon_sym_PERCENT] = ACTIONS(154), - [anon_sym_EQ_EQ] = ACTIONS(154), - [anon_sym_BANG_EQ] = ACTIONS(154), - [anon_sym_AMP_AMP] = ACTIONS(154), - [anon_sym_PIPE_PIPE] = ACTIONS(154), - [anon_sym_GT] = ACTIONS(156), - [anon_sym_LT] = ACTIONS(156), - [anon_sym_GT_EQ] = ACTIONS(154), - [anon_sym_LT_EQ] = ACTIONS(154), - [anon_sym_PLUS_EQ] = ACTIONS(154), - [anon_sym_DASH_EQ] = ACTIONS(154), - [anon_sym_if] = ACTIONS(156), - [anon_sym_match] = ACTIONS(156), - [anon_sym_while] = ACTIONS(156), - [anon_sym_for] = ACTIONS(156), - [anon_sym_asyncfor] = ACTIONS(154), - [anon_sym_return] = ACTIONS(156), - [anon_sym_DASH_GT] = ACTIONS(154), - [anon_sym_assert] = ACTIONS(156), - [anon_sym_assert_equal] = ACTIONS(156), - [anon_sym_bash] = ACTIONS(156), - [anon_sym_download] = ACTIONS(156), - [anon_sym_fish] = ACTIONS(156), - [anon_sym_from_json] = ACTIONS(156), - [anon_sym_length] = ACTIONS(156), - [anon_sym_metadata] = ACTIONS(156), - [anon_sym_output] = ACTIONS(156), - [anon_sym_output_error] = ACTIONS(156), - [anon_sym_random] = ACTIONS(156), - [anon_sym_random_boolean] = ACTIONS(156), - [anon_sym_random_float] = ACTIONS(156), - [anon_sym_random_integer] = ACTIONS(156), - [anon_sym_read] = ACTIONS(156), - [anon_sym_to_json] = ACTIONS(156), - [anon_sym_write] = ACTIONS(156), - }, - [35] = { - [sym_block] = STATE(218), + [28] = { + [sym_block] = STATE(226), [sym_statement] = STATE(20), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), [aux_sym_root_repeat1] = STATE(20), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -4680,55 +4446,121 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [36] = { - [sym_block] = STATE(218), + [29] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(12), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(12), + [sym__identifier_pattern] = ACTIONS(5), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), + }, + [30] = { + [sym_block] = STATE(226), [sym_statement] = STATE(13), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), [aux_sym_root_repeat1] = STATE(13), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), @@ -4740,56 +4572,59 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [37] = { - [sym_block] = STATE(218), - [sym_statement] = STATE(19), - [sym_expression] = STATE(76), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(218), - [sym_index_assignment] = STATE(218), - [sym_if_else] = STATE(218), - [sym_if] = STATE(151), - [sym_match] = STATE(218), - [sym_while] = STATE(218), - [sym_for] = STATE(218), - [sym_return] = STATE(218), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [aux_sym_root_repeat1] = STATE(19), + [31] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(7), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(7), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -4800,173 +4635,183 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [38] = { - [sym_math_operator] = STATE(170), - [sym_logic_operator] = STATE(193), - [ts_builtin_sym_end] = ACTIONS(150), - [sym__identifier_pattern] = ACTIONS(152), + [32] = { + [sym_block] = STATE(226), + [sym_statement] = STATE(9), + [sym_expression] = STATE(80), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(226), + [sym_index_assignment] = STATE(226), + [sym_if_else] = STATE(226), + [sym_if] = STATE(170), + [sym_match] = STATE(226), + [sym_while] = STATE(226), + [sym_for] = STATE(226), + [sym_return] = STATE(226), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [aux_sym_root_repeat1] = STATE(9), + [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(152), - [anon_sym_LBRACE] = ACTIONS(150), - [anon_sym_RBRACE] = ACTIONS(150), - [anon_sym_SEMI] = ACTIONS(150), - [sym_integer] = ACTIONS(152), - [sym_float] = ACTIONS(150), - [sym_string] = ACTIONS(150), - [anon_sym_true] = ACTIONS(152), - [anon_sym_false] = ACTIONS(152), - [anon_sym_LBRACK] = ACTIONS(150), - [anon_sym_EQ] = ACTIONS(152), - [anon_sym_COLON] = ACTIONS(150), - [anon_sym_LPAREN] = ACTIONS(150), - [anon_sym_PLUS] = ACTIONS(152), - [anon_sym_DASH] = ACTIONS(152), - [anon_sym_STAR] = ACTIONS(150), - [anon_sym_SLASH] = ACTIONS(150), - [anon_sym_PERCENT] = ACTIONS(150), - [anon_sym_EQ_EQ] = ACTIONS(150), - [anon_sym_BANG_EQ] = ACTIONS(150), - [anon_sym_AMP_AMP] = ACTIONS(150), - [anon_sym_PIPE_PIPE] = ACTIONS(150), - [anon_sym_GT] = ACTIONS(152), - [anon_sym_LT] = ACTIONS(152), - [anon_sym_GT_EQ] = ACTIONS(150), - [anon_sym_LT_EQ] = ACTIONS(150), - [anon_sym_PLUS_EQ] = ACTIONS(150), - [anon_sym_DASH_EQ] = ACTIONS(150), - [anon_sym_if] = ACTIONS(152), - [anon_sym_match] = ACTIONS(152), - [anon_sym_while] = ACTIONS(152), - [anon_sym_for] = ACTIONS(152), - [anon_sym_asyncfor] = ACTIONS(150), - [anon_sym_return] = ACTIONS(152), - [anon_sym_DASH_GT] = ACTIONS(150), - [anon_sym_assert] = ACTIONS(152), - [anon_sym_assert_equal] = ACTIONS(152), - [anon_sym_bash] = ACTIONS(152), - [anon_sym_download] = ACTIONS(152), - [anon_sym_fish] = ACTIONS(152), - [anon_sym_from_json] = ACTIONS(152), - [anon_sym_length] = ACTIONS(152), - [anon_sym_metadata] = ACTIONS(152), - [anon_sym_output] = ACTIONS(152), - [anon_sym_output_error] = ACTIONS(152), - [anon_sym_random] = ACTIONS(152), - [anon_sym_random_boolean] = ACTIONS(152), - [anon_sym_random_float] = ACTIONS(152), - [anon_sym_random_integer] = ACTIONS(152), - [anon_sym_read] = ACTIONS(152), - [anon_sym_to_json] = ACTIONS(152), - [anon_sym_write] = ACTIONS(152), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [39] = { - [ts_builtin_sym_end] = ACTIONS(172), - [sym__identifier_pattern] = ACTIONS(174), + [33] = { + [sym_block] = STATE(257), + [sym_statement] = STATE(291), + [sym_expression] = STATE(223), + [sym_identifier] = STATE(217), + [sym_value] = STATE(137), + [sym_boolean] = STATE(138), + [sym_list] = STATE(138), + [sym_map] = STATE(138), + [sym_option] = STATE(138), + [sym_index] = STATE(220), + [sym_math] = STATE(137), + [sym_logic] = STATE(137), + [sym_assignment] = STATE(257), + [sym_index_assignment] = STATE(257), + [sym_if_else] = STATE(257), + [sym_if] = STATE(239), + [sym_match] = STATE(257), + [sym_while] = STATE(257), + [sym_for] = STATE(257), + [sym_return] = STATE(257), + [sym_function] = STATE(138), + [sym_function_call] = STATE(137), + [sym_yield] = STATE(137), + [sym_built_in_function] = STATE(142), + [sym__identifier_pattern] = ACTIONS(164), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(174), - [anon_sym_LBRACE] = ACTIONS(172), - [anon_sym_RBRACE] = ACTIONS(172), - [anon_sym_SEMI] = ACTIONS(172), - [sym_integer] = ACTIONS(174), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(168), + [sym_integer] = ACTIONS(170), [sym_float] = ACTIONS(172), [sym_string] = ACTIONS(172), [anon_sym_true] = ACTIONS(174), [anon_sym_false] = ACTIONS(174), - [anon_sym_LBRACK] = ACTIONS(172), - [anon_sym_EQ] = ACTIONS(174), - [anon_sym_COLON] = ACTIONS(172), - [anon_sym_DOT_DOT] = ACTIONS(172), - [anon_sym_LPAREN] = ACTIONS(172), - [anon_sym_PLUS] = ACTIONS(174), - [anon_sym_DASH] = ACTIONS(174), - [anon_sym_STAR] = ACTIONS(172), - [anon_sym_SLASH] = ACTIONS(172), - [anon_sym_PERCENT] = ACTIONS(172), - [anon_sym_EQ_EQ] = ACTIONS(172), - [anon_sym_BANG_EQ] = ACTIONS(172), - [anon_sym_AMP_AMP] = ACTIONS(172), - [anon_sym_PIPE_PIPE] = ACTIONS(172), - [anon_sym_GT] = ACTIONS(174), - [anon_sym_LT] = ACTIONS(174), - [anon_sym_GT_EQ] = ACTIONS(172), - [anon_sym_LT_EQ] = ACTIONS(172), - [anon_sym_PLUS_EQ] = ACTIONS(172), - [anon_sym_DASH_EQ] = ACTIONS(172), - [anon_sym_if] = ACTIONS(174), - [anon_sym_match] = ACTIONS(174), - [anon_sym_while] = ACTIONS(174), - [anon_sym_for] = ACTIONS(174), - [anon_sym_asyncfor] = ACTIONS(172), - [anon_sym_in] = ACTIONS(174), - [anon_sym_return] = ACTIONS(174), - [anon_sym_DASH_GT] = ACTIONS(172), - [anon_sym_assert] = ACTIONS(174), - [anon_sym_assert_equal] = ACTIONS(174), - [anon_sym_bash] = ACTIONS(174), - [anon_sym_download] = ACTIONS(174), - [anon_sym_fish] = ACTIONS(174), - [anon_sym_from_json] = ACTIONS(174), - [anon_sym_length] = ACTIONS(174), - [anon_sym_metadata] = ACTIONS(174), - [anon_sym_output] = ACTIONS(174), - [anon_sym_output_error] = ACTIONS(174), - [anon_sym_random] = ACTIONS(174), - [anon_sym_random_boolean] = ACTIONS(174), - [anon_sym_random_float] = ACTIONS(174), - [anon_sym_random_integer] = ACTIONS(174), - [anon_sym_read] = ACTIONS(174), - [anon_sym_to_json] = ACTIONS(174), - [anon_sym_write] = ACTIONS(174), + [anon_sym_LBRACK] = ACTIONS(176), + [anon_sym_none] = ACTIONS(178), + [anon_sym_some] = ACTIONS(180), + [anon_sym_LPAREN] = ACTIONS(182), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(194), + [anon_sym_assert] = ACTIONS(196), + [anon_sym_assert_equal] = ACTIONS(196), + [anon_sym_bash] = ACTIONS(196), + [anon_sym_download] = ACTIONS(196), + [anon_sym_fish] = ACTIONS(196), + [anon_sym_from_json] = ACTIONS(196), + [anon_sym_length] = ACTIONS(196), + [anon_sym_metadata] = ACTIONS(196), + [anon_sym_output] = ACTIONS(196), + [anon_sym_output_error] = ACTIONS(196), + [anon_sym_random] = ACTIONS(196), + [anon_sym_random_boolean] = ACTIONS(196), + [anon_sym_random_float] = ACTIONS(196), + [anon_sym_random_integer] = ACTIONS(196), + [anon_sym_read] = ACTIONS(196), + [anon_sym_to_json] = ACTIONS(196), + [anon_sym_write] = ACTIONS(196), }, - [40] = { - [sym_block] = STATE(222), - [sym_statement] = STATE(220), - [sym_expression] = STATE(78), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(222), - [sym_index_assignment] = STATE(222), - [sym_if_else] = STATE(222), - [sym_if] = STATE(151), - [sym_match] = STATE(222), - [sym_while] = STATE(222), - [sym_for] = STATE(222), - [sym_return] = STATE(222), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), + [34] = { + [sym_block] = STATE(232), + [sym_statement] = STATE(224), + [sym_expression] = STATE(79), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(232), + [sym_index_assignment] = STATE(232), + [sym_if_else] = STATE(232), + [sym_if] = STATE(170), + [sym_match] = STATE(232), + [sym_while] = STATE(232), + [sym_for] = STATE(232), + [sym_return] = STATE(232), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -4977,150 +4822,470 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, - [41] = { - [sym_math_operator] = STATE(170), - [sym_logic_operator] = STATE(193), - [ts_builtin_sym_end] = ACTIONS(164), - [sym__identifier_pattern] = ACTIONS(166), + [35] = { + [sym_block] = STATE(257), + [sym_statement] = STATE(288), + [sym_expression] = STATE(223), + [sym_identifier] = STATE(217), + [sym_value] = STATE(137), + [sym_boolean] = STATE(138), + [sym_list] = STATE(138), + [sym_map] = STATE(138), + [sym_option] = STATE(138), + [sym_index] = STATE(220), + [sym_math] = STATE(137), + [sym_logic] = STATE(137), + [sym_assignment] = STATE(257), + [sym_index_assignment] = STATE(257), + [sym_if_else] = STATE(257), + [sym_if] = STATE(239), + [sym_match] = STATE(257), + [sym_while] = STATE(257), + [sym_for] = STATE(257), + [sym_return] = STATE(257), + [sym_function] = STATE(138), + [sym_function_call] = STATE(137), + [sym_yield] = STATE(137), + [sym_built_in_function] = STATE(142), + [sym__identifier_pattern] = ACTIONS(164), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(166), - [anon_sym_LBRACE] = ACTIONS(164), - [anon_sym_RBRACE] = ACTIONS(164), - [anon_sym_SEMI] = ACTIONS(164), - [sym_integer] = ACTIONS(166), - [sym_float] = ACTIONS(164), - [sym_string] = ACTIONS(164), - [anon_sym_true] = ACTIONS(166), - [anon_sym_false] = ACTIONS(166), - [anon_sym_LBRACK] = ACTIONS(164), - [anon_sym_EQ] = ACTIONS(166), - [anon_sym_COLON] = ACTIONS(176), - [anon_sym_LPAREN] = ACTIONS(164), - [anon_sym_PLUS] = ACTIONS(108), - [anon_sym_DASH] = ACTIONS(108), - [anon_sym_STAR] = ACTIONS(106), - [anon_sym_SLASH] = ACTIONS(106), - [anon_sym_PERCENT] = ACTIONS(106), - [anon_sym_EQ_EQ] = ACTIONS(110), - [anon_sym_BANG_EQ] = ACTIONS(110), - [anon_sym_AMP_AMP] = ACTIONS(110), - [anon_sym_PIPE_PIPE] = ACTIONS(110), - [anon_sym_GT] = ACTIONS(112), - [anon_sym_LT] = ACTIONS(112), - [anon_sym_GT_EQ] = ACTIONS(110), - [anon_sym_LT_EQ] = ACTIONS(110), - [anon_sym_PLUS_EQ] = ACTIONS(164), - [anon_sym_DASH_EQ] = ACTIONS(164), - [anon_sym_if] = ACTIONS(166), - [anon_sym_match] = ACTIONS(166), - [anon_sym_while] = ACTIONS(166), - [anon_sym_for] = ACTIONS(166), - [anon_sym_asyncfor] = ACTIONS(164), - [anon_sym_return] = ACTIONS(166), - [anon_sym_DASH_GT] = ACTIONS(168), - [anon_sym_assert] = ACTIONS(166), - [anon_sym_assert_equal] = ACTIONS(166), - [anon_sym_bash] = ACTIONS(166), - [anon_sym_download] = ACTIONS(166), - [anon_sym_fish] = ACTIONS(166), - [anon_sym_from_json] = ACTIONS(166), - [anon_sym_length] = ACTIONS(166), - [anon_sym_metadata] = ACTIONS(166), - [anon_sym_output] = ACTIONS(166), - [anon_sym_output_error] = ACTIONS(166), - [anon_sym_random] = ACTIONS(166), - [anon_sym_random_boolean] = ACTIONS(166), - [anon_sym_random_float] = ACTIONS(166), - [anon_sym_random_integer] = ACTIONS(166), - [anon_sym_read] = ACTIONS(166), - [anon_sym_to_json] = ACTIONS(166), - [anon_sym_write] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(168), + [sym_integer] = ACTIONS(170), + [sym_float] = ACTIONS(172), + [sym_string] = ACTIONS(172), + [anon_sym_true] = ACTIONS(174), + [anon_sym_false] = ACTIONS(174), + [anon_sym_LBRACK] = ACTIONS(176), + [anon_sym_none] = ACTIONS(178), + [anon_sym_some] = ACTIONS(180), + [anon_sym_LPAREN] = ACTIONS(182), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(194), + [anon_sym_assert] = ACTIONS(196), + [anon_sym_assert_equal] = ACTIONS(196), + [anon_sym_bash] = ACTIONS(196), + [anon_sym_download] = ACTIONS(196), + [anon_sym_fish] = ACTIONS(196), + [anon_sym_from_json] = ACTIONS(196), + [anon_sym_length] = ACTIONS(196), + [anon_sym_metadata] = ACTIONS(196), + [anon_sym_output] = ACTIONS(196), + [anon_sym_output_error] = ACTIONS(196), + [anon_sym_random] = ACTIONS(196), + [anon_sym_random_boolean] = ACTIONS(196), + [anon_sym_random_float] = ACTIONS(196), + [anon_sym_random_integer] = ACTIONS(196), + [anon_sym_read] = ACTIONS(196), + [anon_sym_to_json] = ACTIONS(196), + [anon_sym_write] = ACTIONS(196), }, - [42] = { - [sym_block] = STATE(242), - [sym_statement] = STATE(279), - [sym_expression] = STATE(210), - [sym_identifier] = STATE(155), - [sym_value] = STATE(140), - [sym_boolean] = STATE(134), - [sym_list] = STATE(134), - [sym_map] = STATE(134), - [sym_index] = STATE(165), - [sym_math] = STATE(140), - [sym_logic] = STATE(140), - [sym_assignment] = STATE(242), - [sym_index_assignment] = STATE(242), - [sym_if_else] = STATE(242), - [sym_if] = STATE(229), - [sym_match] = STATE(242), - [sym_while] = STATE(242), - [sym_for] = STATE(242), - [sym_return] = STATE(242), - [sym_function] = STATE(134), - [sym_function_call] = STATE(140), - [sym_yield] = STATE(140), - [sym_built_in_function] = STATE(130), - [sym__identifier_pattern] = ACTIONS(178), + [36] = { + [sym_block] = STATE(257), + [sym_statement] = STATE(288), + [sym_expression] = STATE(223), + [sym_identifier] = STATE(217), + [sym_value] = STATE(137), + [sym_boolean] = STATE(138), + [sym_list] = STATE(138), + [sym_map] = STATE(138), + [sym_option] = STATE(138), + [sym_index] = STATE(220), + [sym_math] = STATE(137), + [sym_logic] = STATE(137), + [sym_assignment] = STATE(257), + [sym_index_assignment] = STATE(257), + [sym_if_else] = STATE(257), + [sym_if] = STATE(239), + [sym_match] = STATE(257), + [sym_while] = STATE(257), + [sym_for] = STATE(257), + [sym_return] = STATE(257), + [sym_function] = STATE(138), + [sym_function_call] = STATE(137), + [sym_yield] = STATE(137), + [sym_built_in_function] = STATE(142), + [sym__identifier_pattern] = ACTIONS(164), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(182), - [sym_integer] = ACTIONS(184), - [sym_float] = ACTIONS(186), - [sym_string] = ACTIONS(186), - [anon_sym_true] = ACTIONS(188), - [anon_sym_false] = ACTIONS(188), - [anon_sym_LBRACK] = ACTIONS(190), - [anon_sym_LPAREN] = ACTIONS(192), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(168), + [sym_integer] = ACTIONS(170), + [sym_float] = ACTIONS(172), + [sym_string] = ACTIONS(172), + [anon_sym_true] = ACTIONS(174), + [anon_sym_false] = ACTIONS(174), + [anon_sym_LBRACK] = ACTIONS(176), + [anon_sym_none] = ACTIONS(178), + [anon_sym_some] = ACTIONS(180), + [anon_sym_LPAREN] = ACTIONS(182), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(194), + [anon_sym_assert] = ACTIONS(196), + [anon_sym_assert_equal] = ACTIONS(196), + [anon_sym_bash] = ACTIONS(196), + [anon_sym_download] = ACTIONS(196), + [anon_sym_fish] = ACTIONS(196), + [anon_sym_from_json] = ACTIONS(196), + [anon_sym_length] = ACTIONS(196), + [anon_sym_metadata] = ACTIONS(196), + [anon_sym_output] = ACTIONS(196), + [anon_sym_output_error] = ACTIONS(196), + [anon_sym_random] = ACTIONS(196), + [anon_sym_random_boolean] = ACTIONS(196), + [anon_sym_random_float] = ACTIONS(196), + [anon_sym_random_integer] = ACTIONS(196), + [anon_sym_read] = ACTIONS(196), + [anon_sym_to_json] = ACTIONS(196), + [anon_sym_write] = ACTIONS(196), + }, + [37] = { + [sym_block] = STATE(257), + [sym_statement] = STATE(258), + [sym_expression] = STATE(113), + [sym_identifier] = STATE(109), + [sym_value] = STATE(94), + [sym_boolean] = STATE(101), + [sym_list] = STATE(101), + [sym_map] = STATE(101), + [sym_option] = STATE(101), + [sym_index] = STATE(110), + [sym_math] = STATE(94), + [sym_logic] = STATE(94), + [sym_assignment] = STATE(257), + [sym_index_assignment] = STATE(257), + [sym_if_else] = STATE(257), + [sym_if] = STATE(239), + [sym_match] = STATE(257), + [sym_while] = STATE(257), + [sym_for] = STATE(257), + [sym_return] = STATE(257), + [sym_function] = STATE(101), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(198), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(200), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), + }, + [38] = { + [sym_math_operator] = STATE(177), + [sym_logic_operator] = STATE(181), + [ts_builtin_sym_end] = ACTIONS(202), + [sym__identifier_pattern] = ACTIONS(204), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(204), + [anon_sym_LBRACE] = ACTIONS(202), + [anon_sym_RBRACE] = ACTIONS(202), + [anon_sym_SEMI] = ACTIONS(202), + [sym_integer] = ACTIONS(204), + [sym_float] = ACTIONS(202), + [sym_string] = ACTIONS(202), + [anon_sym_true] = ACTIONS(204), + [anon_sym_false] = ACTIONS(204), + [anon_sym_LBRACK] = ACTIONS(202), + [anon_sym_EQ] = ACTIONS(204), + [anon_sym_none] = ACTIONS(204), + [anon_sym_some] = ACTIONS(204), + [anon_sym_LPAREN] = ACTIONS(202), + [anon_sym_COLON] = ACTIONS(202), + [anon_sym_DOT_DOT] = ACTIONS(206), + [anon_sym_PLUS] = ACTIONS(204), + [anon_sym_DASH] = ACTIONS(204), + [anon_sym_STAR] = ACTIONS(202), + [anon_sym_SLASH] = ACTIONS(202), + [anon_sym_PERCENT] = ACTIONS(202), + [anon_sym_EQ_EQ] = ACTIONS(202), + [anon_sym_BANG_EQ] = ACTIONS(202), + [anon_sym_AMP_AMP] = ACTIONS(202), + [anon_sym_PIPE_PIPE] = ACTIONS(202), + [anon_sym_GT] = ACTIONS(204), + [anon_sym_LT] = ACTIONS(204), + [anon_sym_GT_EQ] = ACTIONS(202), + [anon_sym_LT_EQ] = ACTIONS(202), + [anon_sym_PLUS_EQ] = ACTIONS(202), + [anon_sym_DASH_EQ] = ACTIONS(202), + [anon_sym_if] = ACTIONS(204), + [anon_sym_match] = ACTIONS(204), + [anon_sym_while] = ACTIONS(204), + [anon_sym_for] = ACTIONS(204), [anon_sym_asyncfor] = ACTIONS(202), [anon_sym_return] = ACTIONS(204), - [anon_sym_assert] = ACTIONS(206), - [anon_sym_assert_equal] = ACTIONS(206), - [anon_sym_bash] = ACTIONS(206), - [anon_sym_download] = ACTIONS(206), - [anon_sym_fish] = ACTIONS(206), - [anon_sym_from_json] = ACTIONS(206), - [anon_sym_length] = ACTIONS(206), - [anon_sym_metadata] = ACTIONS(206), - [anon_sym_output] = ACTIONS(206), - [anon_sym_output_error] = ACTIONS(206), - [anon_sym_random] = ACTIONS(206), - [anon_sym_random_boolean] = ACTIONS(206), - [anon_sym_random_float] = ACTIONS(206), - [anon_sym_random_integer] = ACTIONS(206), - [anon_sym_read] = ACTIONS(206), - [anon_sym_to_json] = ACTIONS(206), - [anon_sym_write] = ACTIONS(206), + [anon_sym_DASH_GT] = ACTIONS(202), + [anon_sym_assert] = ACTIONS(204), + [anon_sym_assert_equal] = ACTIONS(204), + [anon_sym_bash] = ACTIONS(204), + [anon_sym_download] = ACTIONS(204), + [anon_sym_fish] = ACTIONS(204), + [anon_sym_from_json] = ACTIONS(204), + [anon_sym_length] = ACTIONS(204), + [anon_sym_metadata] = ACTIONS(204), + [anon_sym_output] = ACTIONS(204), + [anon_sym_output_error] = ACTIONS(204), + [anon_sym_random] = ACTIONS(204), + [anon_sym_random_boolean] = ACTIONS(204), + [anon_sym_random_float] = ACTIONS(204), + [anon_sym_random_integer] = ACTIONS(204), + [anon_sym_read] = ACTIONS(204), + [anon_sym_to_json] = ACTIONS(204), + [anon_sym_write] = ACTIONS(204), }, - [43] = { + [39] = { + [sym_math_operator] = STATE(177), + [sym_logic_operator] = STATE(181), + [ts_builtin_sym_end] = ACTIONS(202), + [sym__identifier_pattern] = ACTIONS(204), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(204), + [anon_sym_LBRACE] = ACTIONS(202), + [anon_sym_RBRACE] = ACTIONS(202), + [anon_sym_SEMI] = ACTIONS(202), + [sym_integer] = ACTIONS(204), + [sym_float] = ACTIONS(202), + [sym_string] = ACTIONS(202), + [anon_sym_true] = ACTIONS(204), + [anon_sym_false] = ACTIONS(204), + [anon_sym_LBRACK] = ACTIONS(202), + [anon_sym_EQ] = ACTIONS(204), + [anon_sym_none] = ACTIONS(204), + [anon_sym_some] = ACTIONS(204), + [anon_sym_LPAREN] = ACTIONS(202), + [anon_sym_COLON] = ACTIONS(202), + [anon_sym_DOT_DOT] = ACTIONS(202), + [anon_sym_PLUS] = ACTIONS(204), + [anon_sym_DASH] = ACTIONS(204), + [anon_sym_STAR] = ACTIONS(202), + [anon_sym_SLASH] = ACTIONS(202), + [anon_sym_PERCENT] = ACTIONS(202), + [anon_sym_EQ_EQ] = ACTIONS(202), + [anon_sym_BANG_EQ] = ACTIONS(202), + [anon_sym_AMP_AMP] = ACTIONS(202), + [anon_sym_PIPE_PIPE] = ACTIONS(202), + [anon_sym_GT] = ACTIONS(204), + [anon_sym_LT] = ACTIONS(204), + [anon_sym_GT_EQ] = ACTIONS(202), + [anon_sym_LT_EQ] = ACTIONS(202), + [anon_sym_PLUS_EQ] = ACTIONS(202), + [anon_sym_DASH_EQ] = ACTIONS(202), + [anon_sym_if] = ACTIONS(204), + [anon_sym_match] = ACTIONS(204), + [anon_sym_while] = ACTIONS(204), + [anon_sym_for] = ACTIONS(204), + [anon_sym_asyncfor] = ACTIONS(202), + [anon_sym_return] = ACTIONS(204), + [anon_sym_DASH_GT] = ACTIONS(202), + [anon_sym_assert] = ACTIONS(204), + [anon_sym_assert_equal] = ACTIONS(204), + [anon_sym_bash] = ACTIONS(204), + [anon_sym_download] = ACTIONS(204), + [anon_sym_fish] = ACTIONS(204), + [anon_sym_from_json] = ACTIONS(204), + [anon_sym_length] = ACTIONS(204), + [anon_sym_metadata] = ACTIONS(204), + [anon_sym_output] = ACTIONS(204), + [anon_sym_output_error] = ACTIONS(204), + [anon_sym_random] = ACTIONS(204), + [anon_sym_random_boolean] = ACTIONS(204), + [anon_sym_random_float] = ACTIONS(204), + [anon_sym_random_integer] = ACTIONS(204), + [anon_sym_read] = ACTIONS(204), + [anon_sym_to_json] = ACTIONS(204), + [anon_sym_write] = ACTIONS(204), + }, + [40] = { + [sym_block] = STATE(248), + [sym_statement] = STATE(250), + [sym_expression] = STATE(111), + [sym_identifier] = STATE(109), + [sym_value] = STATE(94), + [sym_boolean] = STATE(101), + [sym_list] = STATE(101), + [sym_map] = STATE(101), + [sym_option] = STATE(101), + [sym_index] = STATE(110), + [sym_math] = STATE(94), + [sym_logic] = STATE(94), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(239), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), + [sym_function] = STATE(101), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(198), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(200), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), + }, + [41] = { + [sym_block] = STATE(248), + [sym_statement] = STATE(251), + [sym_expression] = STATE(234), + [sym_identifier] = STATE(217), + [sym_value] = STATE(137), + [sym_boolean] = STATE(138), + [sym_list] = STATE(138), + [sym_map] = STATE(138), + [sym_option] = STATE(138), + [sym_index] = STATE(220), + [sym_math] = STATE(137), + [sym_logic] = STATE(137), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(239), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), + [sym_function] = STATE(138), + [sym_function_call] = STATE(137), + [sym_yield] = STATE(137), + [sym_built_in_function] = STATE(142), + [sym__identifier_pattern] = ACTIONS(164), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(168), + [sym_integer] = ACTIONS(170), + [sym_float] = ACTIONS(172), + [sym_string] = ACTIONS(172), + [anon_sym_true] = ACTIONS(174), + [anon_sym_false] = ACTIONS(174), + [anon_sym_LBRACK] = ACTIONS(176), + [anon_sym_none] = ACTIONS(178), + [anon_sym_some] = ACTIONS(180), + [anon_sym_LPAREN] = ACTIONS(182), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(194), + [anon_sym_assert] = ACTIONS(196), + [anon_sym_assert_equal] = ACTIONS(196), + [anon_sym_bash] = ACTIONS(196), + [anon_sym_download] = ACTIONS(196), + [anon_sym_fish] = ACTIONS(196), + [anon_sym_from_json] = ACTIONS(196), + [anon_sym_length] = ACTIONS(196), + [anon_sym_metadata] = ACTIONS(196), + [anon_sym_output] = ACTIONS(196), + [anon_sym_output_error] = ACTIONS(196), + [anon_sym_random] = ACTIONS(196), + [anon_sym_random_boolean] = ACTIONS(196), + [anon_sym_random_float] = ACTIONS(196), + [anon_sym_random_integer] = ACTIONS(196), + [anon_sym_read] = ACTIONS(196), + [anon_sym_to_json] = ACTIONS(196), + [anon_sym_write] = ACTIONS(196), + }, + [42] = { + [sym_math_operator] = STATE(177), + [sym_logic_operator] = STATE(181), [ts_builtin_sym_end] = ACTIONS(208), [sym__identifier_pattern] = ACTIONS(210), [sym__comment] = ACTIONS(3), @@ -5135,9 +5300,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_false] = ACTIONS(210), [anon_sym_LBRACK] = ACTIONS(208), [anon_sym_EQ] = ACTIONS(210), + [anon_sym_none] = ACTIONS(210), + [anon_sym_some] = ACTIONS(210), + [anon_sym_LPAREN] = ACTIONS(208), [anon_sym_COLON] = ACTIONS(208), [anon_sym_DOT_DOT] = ACTIONS(208), - [anon_sym_LPAREN] = ACTIONS(208), [anon_sym_PLUS] = ACTIONS(210), [anon_sym_DASH] = ACTIONS(210), [anon_sym_STAR] = ACTIONS(208), @@ -5158,7 +5325,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_while] = ACTIONS(210), [anon_sym_for] = ACTIONS(210), [anon_sym_asyncfor] = ACTIONS(208), - [anon_sym_in] = ACTIONS(210), [anon_sym_return] = ACTIONS(210), [anon_sym_DASH_GT] = ACTIONS(208), [anon_sym_assert] = ACTIONS(210), @@ -5179,384 +5345,465 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_to_json] = ACTIONS(210), [anon_sym_write] = ACTIONS(210), }, - [44] = { - [sym_block] = STATE(242), - [sym_statement] = STATE(249), - [sym_expression] = STATE(109), - [sym_identifier] = STATE(105), - [sym_value] = STATE(88), + [43] = { + [sym_block] = STATE(248), + [sym_statement] = STATE(252), + [sym_expression] = STATE(111), + [sym_identifier] = STATE(109), + [sym_value] = STATE(94), [sym_boolean] = STATE(101), [sym_list] = STATE(101), [sym_map] = STATE(101), - [sym_index] = STATE(106), - [sym_math] = STATE(88), - [sym_logic] = STATE(88), - [sym_assignment] = STATE(242), - [sym_index_assignment] = STATE(242), - [sym_if_else] = STATE(242), - [sym_if] = STATE(229), - [sym_match] = STATE(242), - [sym_while] = STATE(242), - [sym_for] = STATE(242), - [sym_return] = STATE(242), + [sym_option] = STATE(101), + [sym_index] = STATE(110), + [sym_math] = STATE(94), + [sym_logic] = STATE(94), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(239), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(212), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(214), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(198), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(200), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), + }, + [44] = { + [sym_block] = STATE(248), + [sym_statement] = STATE(252), + [sym_expression] = STATE(234), + [sym_identifier] = STATE(217), + [sym_value] = STATE(137), + [sym_boolean] = STATE(138), + [sym_list] = STATE(138), + [sym_map] = STATE(138), + [sym_option] = STATE(138), + [sym_index] = STATE(220), + [sym_math] = STATE(137), + [sym_logic] = STATE(137), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(239), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), + [sym_function] = STATE(138), + [sym_function_call] = STATE(137), + [sym_yield] = STATE(137), + [sym_built_in_function] = STATE(142), + [sym__identifier_pattern] = ACTIONS(164), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(168), + [sym_integer] = ACTIONS(170), + [sym_float] = ACTIONS(172), + [sym_string] = ACTIONS(172), + [anon_sym_true] = ACTIONS(174), + [anon_sym_false] = ACTIONS(174), + [anon_sym_LBRACK] = ACTIONS(176), + [anon_sym_none] = ACTIONS(178), + [anon_sym_some] = ACTIONS(180), + [anon_sym_LPAREN] = ACTIONS(182), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(194), + [anon_sym_assert] = ACTIONS(196), + [anon_sym_assert_equal] = ACTIONS(196), + [anon_sym_bash] = ACTIONS(196), + [anon_sym_download] = ACTIONS(196), + [anon_sym_fish] = ACTIONS(196), + [anon_sym_from_json] = ACTIONS(196), + [anon_sym_length] = ACTIONS(196), + [anon_sym_metadata] = ACTIONS(196), + [anon_sym_output] = ACTIONS(196), + [anon_sym_output_error] = ACTIONS(196), + [anon_sym_random] = ACTIONS(196), + [anon_sym_random_boolean] = ACTIONS(196), + [anon_sym_random_float] = ACTIONS(196), + [anon_sym_random_integer] = ACTIONS(196), + [anon_sym_read] = ACTIONS(196), + [anon_sym_to_json] = ACTIONS(196), + [anon_sym_write] = ACTIONS(196), }, [45] = { - [sym_math_operator] = STATE(170), - [sym_logic_operator] = STATE(193), - [ts_builtin_sym_end] = ACTIONS(158), - [sym__identifier_pattern] = ACTIONS(160), + [sym_block] = STATE(248), + [sym_statement] = STATE(251), + [sym_expression] = STATE(111), + [sym_identifier] = STATE(109), + [sym_value] = STATE(94), + [sym_boolean] = STATE(101), + [sym_list] = STATE(101), + [sym_map] = STATE(101), + [sym_option] = STATE(101), + [sym_index] = STATE(110), + [sym_math] = STATE(94), + [sym_logic] = STATE(94), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(239), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), + [sym_function] = STATE(101), + [sym_function_call] = STATE(94), + [sym_yield] = STATE(94), + [sym_built_in_function] = STATE(102), + [sym__identifier_pattern] = ACTIONS(98), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(160), - [anon_sym_LBRACE] = ACTIONS(158), - [anon_sym_RBRACE] = ACTIONS(158), - [anon_sym_SEMI] = ACTIONS(158), - [sym_integer] = ACTIONS(160), - [sym_float] = ACTIONS(158), - [sym_string] = ACTIONS(158), - [anon_sym_true] = ACTIONS(160), - [anon_sym_false] = ACTIONS(160), - [anon_sym_LBRACK] = ACTIONS(158), - [anon_sym_EQ] = ACTIONS(160), - [anon_sym_COLON] = ACTIONS(176), - [anon_sym_LPAREN] = ACTIONS(158), - [anon_sym_PLUS] = ACTIONS(160), - [anon_sym_DASH] = ACTIONS(160), - [anon_sym_STAR] = ACTIONS(158), - [anon_sym_SLASH] = ACTIONS(158), - [anon_sym_PERCENT] = ACTIONS(158), - [anon_sym_EQ_EQ] = ACTIONS(158), - [anon_sym_BANG_EQ] = ACTIONS(158), - [anon_sym_AMP_AMP] = ACTIONS(158), - [anon_sym_PIPE_PIPE] = ACTIONS(158), - [anon_sym_GT] = ACTIONS(160), - [anon_sym_LT] = ACTIONS(160), - [anon_sym_GT_EQ] = ACTIONS(158), - [anon_sym_LT_EQ] = ACTIONS(158), - [anon_sym_PLUS_EQ] = ACTIONS(158), - [anon_sym_DASH_EQ] = ACTIONS(158), - [anon_sym_if] = ACTIONS(160), - [anon_sym_match] = ACTIONS(160), - [anon_sym_while] = ACTIONS(160), - [anon_sym_for] = ACTIONS(160), - [anon_sym_asyncfor] = ACTIONS(158), - [anon_sym_return] = ACTIONS(160), - [anon_sym_DASH_GT] = ACTIONS(158), - [anon_sym_assert] = ACTIONS(160), - [anon_sym_assert_equal] = ACTIONS(160), - [anon_sym_bash] = ACTIONS(160), - [anon_sym_download] = ACTIONS(160), - [anon_sym_fish] = ACTIONS(160), - [anon_sym_from_json] = ACTIONS(160), - [anon_sym_length] = ACTIONS(160), - [anon_sym_metadata] = ACTIONS(160), - [anon_sym_output] = ACTIONS(160), - [anon_sym_output_error] = ACTIONS(160), - [anon_sym_random] = ACTIONS(160), - [anon_sym_random_boolean] = ACTIONS(160), - [anon_sym_random_float] = ACTIONS(160), - [anon_sym_random_integer] = ACTIONS(160), - [anon_sym_read] = ACTIONS(160), - [anon_sym_to_json] = ACTIONS(160), - [anon_sym_write] = ACTIONS(160), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(198), + [sym_integer] = ACTIONS(102), + [sym_float] = ACTIONS(104), + [sym_string] = ACTIONS(104), + [anon_sym_true] = ACTIONS(106), + [anon_sym_false] = ACTIONS(106), + [anon_sym_LBRACK] = ACTIONS(108), + [anon_sym_none] = ACTIONS(110), + [anon_sym_some] = ACTIONS(112), + [anon_sym_LPAREN] = ACTIONS(114), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(200), + [anon_sym_assert] = ACTIONS(130), + [anon_sym_assert_equal] = ACTIONS(130), + [anon_sym_bash] = ACTIONS(130), + [anon_sym_download] = ACTIONS(130), + [anon_sym_fish] = ACTIONS(130), + [anon_sym_from_json] = ACTIONS(130), + [anon_sym_length] = ACTIONS(130), + [anon_sym_metadata] = ACTIONS(130), + [anon_sym_output] = ACTIONS(130), + [anon_sym_output_error] = ACTIONS(130), + [anon_sym_random] = ACTIONS(130), + [anon_sym_random_boolean] = ACTIONS(130), + [anon_sym_random_float] = ACTIONS(130), + [anon_sym_random_integer] = ACTIONS(130), + [anon_sym_read] = ACTIONS(130), + [anon_sym_to_json] = ACTIONS(130), + [anon_sym_write] = ACTIONS(130), }, [46] = { - [sym_block] = STATE(238), - [sym_statement] = STATE(240), - [sym_expression] = STATE(108), - [sym_identifier] = STATE(105), - [sym_value] = STATE(88), - [sym_boolean] = STATE(101), - [sym_list] = STATE(101), - [sym_map] = STATE(101), - [sym_index] = STATE(106), - [sym_math] = STATE(88), - [sym_logic] = STATE(88), - [sym_assignment] = STATE(238), - [sym_index_assignment] = STATE(238), - [sym_if_else] = STATE(238), - [sym_if] = STATE(229), - [sym_match] = STATE(238), - [sym_while] = STATE(238), - [sym_for] = STATE(238), - [sym_return] = STATE(238), - [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), + [sym_block] = STATE(232), + [sym_statement] = STATE(233), + [sym_expression] = STATE(79), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(232), + [sym_index_assignment] = STATE(232), + [sym_if_else] = STATE(232), + [sym_if] = STATE(170), + [sym_match] = STATE(232), + [sym_while] = STATE(232), + [sym_for] = STATE(232), + [sym_return] = STATE(232), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), + [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(212), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(214), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), + [anon_sym_async] = ACTIONS(7), + [anon_sym_LBRACE] = ACTIONS(9), + [sym_integer] = ACTIONS(11), + [sym_float] = ACTIONS(13), + [sym_string] = ACTIONS(13), + [anon_sym_true] = ACTIONS(15), + [anon_sym_false] = ACTIONS(15), + [anon_sym_LBRACK] = ACTIONS(17), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, [47] = { - [sym_block] = STATE(238), - [sym_statement] = STATE(244), - [sym_expression] = STATE(108), - [sym_identifier] = STATE(105), - [sym_value] = STATE(88), - [sym_boolean] = STATE(101), - [sym_list] = STATE(101), - [sym_map] = STATE(101), - [sym_index] = STATE(106), - [sym_math] = STATE(88), - [sym_logic] = STATE(88), - [sym_assignment] = STATE(238), - [sym_index_assignment] = STATE(238), - [sym_if_else] = STATE(238), - [sym_if] = STATE(229), - [sym_match] = STATE(238), - [sym_while] = STATE(238), - [sym_for] = STATE(238), - [sym_return] = STATE(238), - [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), + [sym_block] = STATE(248), + [sym_statement] = STATE(250), + [sym_expression] = STATE(234), + [sym_identifier] = STATE(217), + [sym_value] = STATE(137), + [sym_boolean] = STATE(138), + [sym_list] = STATE(138), + [sym_map] = STATE(138), + [sym_option] = STATE(138), + [sym_index] = STATE(220), + [sym_math] = STATE(137), + [sym_logic] = STATE(137), + [sym_assignment] = STATE(248), + [sym_index_assignment] = STATE(248), + [sym_if_else] = STATE(248), + [sym_if] = STATE(239), + [sym_match] = STATE(248), + [sym_while] = STATE(248), + [sym_for] = STATE(248), + [sym_return] = STATE(248), + [sym_function] = STATE(138), + [sym_function_call] = STATE(137), + [sym_yield] = STATE(137), + [sym_built_in_function] = STATE(142), + [sym__identifier_pattern] = ACTIONS(164), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(212), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(214), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(168), + [sym_integer] = ACTIONS(170), + [sym_float] = ACTIONS(172), + [sym_string] = ACTIONS(172), + [anon_sym_true] = ACTIONS(174), + [anon_sym_false] = ACTIONS(174), + [anon_sym_LBRACK] = ACTIONS(176), + [anon_sym_none] = ACTIONS(178), + [anon_sym_some] = ACTIONS(180), + [anon_sym_LPAREN] = ACTIONS(182), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(194), + [anon_sym_assert] = ACTIONS(196), + [anon_sym_assert_equal] = ACTIONS(196), + [anon_sym_bash] = ACTIONS(196), + [anon_sym_download] = ACTIONS(196), + [anon_sym_fish] = ACTIONS(196), + [anon_sym_from_json] = ACTIONS(196), + [anon_sym_length] = ACTIONS(196), + [anon_sym_metadata] = ACTIONS(196), + [anon_sym_output] = ACTIONS(196), + [anon_sym_output_error] = ACTIONS(196), + [anon_sym_random] = ACTIONS(196), + [anon_sym_random_boolean] = ACTIONS(196), + [anon_sym_random_float] = ACTIONS(196), + [anon_sym_random_integer] = ACTIONS(196), + [anon_sym_read] = ACTIONS(196), + [anon_sym_to_json] = ACTIONS(196), + [anon_sym_write] = ACTIONS(196), }, [48] = { - [sym_block] = STATE(222), - [sym_statement] = STATE(223), - [sym_expression] = STATE(78), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(222), - [sym_index_assignment] = STATE(222), - [sym_if_else] = STATE(222), - [sym_if] = STATE(151), - [sym_match] = STATE(222), - [sym_while] = STATE(222), - [sym_for] = STATE(222), - [sym_return] = STATE(222), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), - [sym__identifier_pattern] = ACTIONS(5), + [sym_math_operator] = STATE(177), + [sym_logic_operator] = STATE(181), + [ts_builtin_sym_end] = ACTIONS(212), + [sym__identifier_pattern] = ACTIONS(214), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(7), - [anon_sym_LBRACE] = ACTIONS(9), - [sym_integer] = ACTIONS(11), - [sym_float] = ACTIONS(13), - [sym_string] = ACTIONS(13), - [anon_sym_true] = ACTIONS(15), - [anon_sym_false] = ACTIONS(15), - [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_async] = ACTIONS(214), + [anon_sym_LBRACE] = ACTIONS(212), + [anon_sym_RBRACE] = ACTIONS(212), + [anon_sym_SEMI] = ACTIONS(212), + [sym_integer] = ACTIONS(214), + [sym_float] = ACTIONS(212), + [sym_string] = ACTIONS(212), + [anon_sym_true] = ACTIONS(214), + [anon_sym_false] = ACTIONS(214), + [anon_sym_LBRACK] = ACTIONS(212), + [anon_sym_EQ] = ACTIONS(214), + [anon_sym_none] = ACTIONS(214), + [anon_sym_some] = ACTIONS(214), + [anon_sym_LPAREN] = ACTIONS(212), + [anon_sym_COLON] = ACTIONS(216), + [anon_sym_DOT_DOT] = ACTIONS(212), + [anon_sym_PLUS] = ACTIONS(122), + [anon_sym_DASH] = ACTIONS(122), + [anon_sym_STAR] = ACTIONS(120), + [anon_sym_SLASH] = ACTIONS(120), + [anon_sym_PERCENT] = ACTIONS(120), + [anon_sym_EQ_EQ] = ACTIONS(124), + [anon_sym_BANG_EQ] = ACTIONS(124), + [anon_sym_AMP_AMP] = ACTIONS(124), + [anon_sym_PIPE_PIPE] = ACTIONS(124), + [anon_sym_GT] = ACTIONS(126), + [anon_sym_LT] = ACTIONS(126), + [anon_sym_GT_EQ] = ACTIONS(124), + [anon_sym_LT_EQ] = ACTIONS(124), + [anon_sym_PLUS_EQ] = ACTIONS(212), + [anon_sym_DASH_EQ] = ACTIONS(212), + [anon_sym_if] = ACTIONS(214), + [anon_sym_match] = ACTIONS(214), + [anon_sym_while] = ACTIONS(214), + [anon_sym_for] = ACTIONS(214), + [anon_sym_asyncfor] = ACTIONS(212), + [anon_sym_return] = ACTIONS(214), + [anon_sym_DASH_GT] = ACTIONS(218), + [anon_sym_assert] = ACTIONS(214), + [anon_sym_assert_equal] = ACTIONS(214), + [anon_sym_bash] = ACTIONS(214), + [anon_sym_download] = ACTIONS(214), + [anon_sym_fish] = ACTIONS(214), + [anon_sym_from_json] = ACTIONS(214), + [anon_sym_length] = ACTIONS(214), + [anon_sym_metadata] = ACTIONS(214), + [anon_sym_output] = ACTIONS(214), + [anon_sym_output_error] = ACTIONS(214), + [anon_sym_random] = ACTIONS(214), + [anon_sym_random_boolean] = ACTIONS(214), + [anon_sym_random_float] = ACTIONS(214), + [anon_sym_random_integer] = ACTIONS(214), + [anon_sym_read] = ACTIONS(214), + [anon_sym_to_json] = ACTIONS(214), + [anon_sym_write] = ACTIONS(214), }, [49] = { - [sym_block] = STATE(242), - [sym_statement] = STATE(274), - [sym_expression] = STATE(210), - [sym_identifier] = STATE(155), - [sym_value] = STATE(140), - [sym_boolean] = STATE(134), - [sym_list] = STATE(134), - [sym_map] = STATE(134), - [sym_index] = STATE(165), - [sym_math] = STATE(140), - [sym_logic] = STATE(140), - [sym_assignment] = STATE(242), - [sym_index_assignment] = STATE(242), - [sym_if_else] = STATE(242), - [sym_if] = STATE(229), - [sym_match] = STATE(242), - [sym_while] = STATE(242), - [sym_for] = STATE(242), - [sym_return] = STATE(242), - [sym_function] = STATE(134), - [sym_function_call] = STATE(140), - [sym_yield] = STATE(140), - [sym_built_in_function] = STATE(130), - [sym__identifier_pattern] = ACTIONS(178), + [sym_math_operator] = STATE(177), + [sym_logic_operator] = STATE(181), + [ts_builtin_sym_end] = ACTIONS(220), + [sym__identifier_pattern] = ACTIONS(222), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(182), - [sym_integer] = ACTIONS(184), - [sym_float] = ACTIONS(186), - [sym_string] = ACTIONS(186), - [anon_sym_true] = ACTIONS(188), - [anon_sym_false] = ACTIONS(188), - [anon_sym_LBRACK] = ACTIONS(190), - [anon_sym_LPAREN] = ACTIONS(192), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(204), - [anon_sym_assert] = ACTIONS(206), - [anon_sym_assert_equal] = ACTIONS(206), - [anon_sym_bash] = ACTIONS(206), - [anon_sym_download] = ACTIONS(206), - [anon_sym_fish] = ACTIONS(206), - [anon_sym_from_json] = ACTIONS(206), - [anon_sym_length] = ACTIONS(206), - [anon_sym_metadata] = ACTIONS(206), - [anon_sym_output] = ACTIONS(206), - [anon_sym_output_error] = ACTIONS(206), - [anon_sym_random] = ACTIONS(206), - [anon_sym_random_boolean] = ACTIONS(206), - [anon_sym_random_float] = ACTIONS(206), - [anon_sym_random_integer] = ACTIONS(206), - [anon_sym_read] = ACTIONS(206), - [anon_sym_to_json] = ACTIONS(206), - [anon_sym_write] = ACTIONS(206), + [anon_sym_async] = ACTIONS(222), + [anon_sym_LBRACE] = ACTIONS(220), + [anon_sym_RBRACE] = ACTIONS(220), + [anon_sym_SEMI] = ACTIONS(220), + [sym_integer] = ACTIONS(222), + [sym_float] = ACTIONS(220), + [sym_string] = ACTIONS(220), + [anon_sym_true] = ACTIONS(222), + [anon_sym_false] = ACTIONS(222), + [anon_sym_LBRACK] = ACTIONS(220), + [anon_sym_EQ] = ACTIONS(222), + [anon_sym_none] = ACTIONS(222), + [anon_sym_some] = ACTIONS(222), + [anon_sym_LPAREN] = ACTIONS(220), + [anon_sym_COLON] = ACTIONS(216), + [anon_sym_DOT_DOT] = ACTIONS(220), + [anon_sym_PLUS] = ACTIONS(222), + [anon_sym_DASH] = ACTIONS(222), + [anon_sym_STAR] = ACTIONS(220), + [anon_sym_SLASH] = ACTIONS(220), + [anon_sym_PERCENT] = ACTIONS(220), + [anon_sym_EQ_EQ] = ACTIONS(220), + [anon_sym_BANG_EQ] = ACTIONS(220), + [anon_sym_AMP_AMP] = ACTIONS(220), + [anon_sym_PIPE_PIPE] = ACTIONS(220), + [anon_sym_GT] = ACTIONS(222), + [anon_sym_LT] = ACTIONS(222), + [anon_sym_GT_EQ] = ACTIONS(220), + [anon_sym_LT_EQ] = ACTIONS(220), + [anon_sym_PLUS_EQ] = ACTIONS(220), + [anon_sym_DASH_EQ] = ACTIONS(220), + [anon_sym_if] = ACTIONS(222), + [anon_sym_match] = ACTIONS(222), + [anon_sym_while] = ACTIONS(222), + [anon_sym_for] = ACTIONS(222), + [anon_sym_asyncfor] = ACTIONS(220), + [anon_sym_return] = ACTIONS(222), + [anon_sym_DASH_GT] = ACTIONS(220), + [anon_sym_assert] = ACTIONS(222), + [anon_sym_assert_equal] = ACTIONS(222), + [anon_sym_bash] = ACTIONS(222), + [anon_sym_download] = ACTIONS(222), + [anon_sym_fish] = ACTIONS(222), + [anon_sym_from_json] = ACTIONS(222), + [anon_sym_length] = ACTIONS(222), + [anon_sym_metadata] = ACTIONS(222), + [anon_sym_output] = ACTIONS(222), + [anon_sym_output_error] = ACTIONS(222), + [anon_sym_random] = ACTIONS(222), + [anon_sym_random_boolean] = ACTIONS(222), + [anon_sym_random_float] = ACTIONS(222), + [anon_sym_random_integer] = ACTIONS(222), + [anon_sym_read] = ACTIONS(222), + [anon_sym_to_json] = ACTIONS(222), + [anon_sym_write] = ACTIONS(222), }, [50] = { - [sym_block] = STATE(222), - [sym_statement] = STATE(224), - [sym_expression] = STATE(78), - [sym_identifier] = STATE(56), - [sym_value] = STATE(62), - [sym_boolean] = STATE(67), - [sym_list] = STATE(67), - [sym_map] = STATE(67), - [sym_index] = STATE(63), - [sym_math] = STATE(62), - [sym_logic] = STATE(62), - [sym_assignment] = STATE(222), - [sym_index_assignment] = STATE(222), - [sym_if_else] = STATE(222), - [sym_if] = STATE(151), - [sym_match] = STATE(222), - [sym_while] = STATE(222), - [sym_for] = STATE(222), - [sym_return] = STATE(222), - [sym_function] = STATE(67), - [sym_function_call] = STATE(62), - [sym_yield] = STATE(62), - [sym_built_in_function] = STATE(43), + [sym_block] = STATE(232), + [sym_statement] = STATE(235), + [sym_expression] = STATE(79), + [sym_identifier] = STATE(55), + [sym_value] = STATE(58), + [sym_boolean] = STATE(71), + [sym_list] = STATE(71), + [sym_map] = STATE(71), + [sym_option] = STATE(71), + [sym_index] = STATE(68), + [sym_math] = STATE(58), + [sym_logic] = STATE(58), + [sym_assignment] = STATE(232), + [sym_index_assignment] = STATE(232), + [sym_if_else] = STATE(232), + [sym_if] = STATE(170), + [sym_match] = STATE(232), + [sym_while] = STATE(232), + [sym_for] = STATE(232), + [sym_return] = STATE(232), + [sym_function] = STATE(71), + [sym_function_call] = STATE(58), + [sym_yield] = STATE(58), + [sym_built_in_function] = STATE(53), [sym__identifier_pattern] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_async] = ACTIONS(7), @@ -5567,445 +5814,157 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_true] = ACTIONS(15), [anon_sym_false] = ACTIONS(15), [anon_sym_LBRACK] = ACTIONS(17), - [anon_sym_LPAREN] = ACTIONS(19), - [anon_sym_if] = ACTIONS(21), - [anon_sym_match] = ACTIONS(23), - [anon_sym_while] = ACTIONS(25), - [anon_sym_for] = ACTIONS(27), - [anon_sym_asyncfor] = ACTIONS(29), - [anon_sym_return] = ACTIONS(31), - [anon_sym_assert] = ACTIONS(33), - [anon_sym_assert_equal] = ACTIONS(33), - [anon_sym_bash] = ACTIONS(33), - [anon_sym_download] = ACTIONS(33), - [anon_sym_fish] = ACTIONS(33), - [anon_sym_from_json] = ACTIONS(33), - [anon_sym_length] = ACTIONS(33), - [anon_sym_metadata] = ACTIONS(33), - [anon_sym_output] = ACTIONS(33), - [anon_sym_output_error] = ACTIONS(33), - [anon_sym_random] = ACTIONS(33), - [anon_sym_random_boolean] = ACTIONS(33), - [anon_sym_random_float] = ACTIONS(33), - [anon_sym_random_integer] = ACTIONS(33), - [anon_sym_read] = ACTIONS(33), - [anon_sym_to_json] = ACTIONS(33), - [anon_sym_write] = ACTIONS(33), + [anon_sym_none] = ACTIONS(19), + [anon_sym_some] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(23), + [anon_sym_if] = ACTIONS(25), + [anon_sym_match] = ACTIONS(27), + [anon_sym_while] = ACTIONS(29), + [anon_sym_for] = ACTIONS(31), + [anon_sym_asyncfor] = ACTIONS(33), + [anon_sym_return] = ACTIONS(35), + [anon_sym_assert] = ACTIONS(37), + [anon_sym_assert_equal] = ACTIONS(37), + [anon_sym_bash] = ACTIONS(37), + [anon_sym_download] = ACTIONS(37), + [anon_sym_fish] = ACTIONS(37), + [anon_sym_from_json] = ACTIONS(37), + [anon_sym_length] = ACTIONS(37), + [anon_sym_metadata] = ACTIONS(37), + [anon_sym_output] = ACTIONS(37), + [anon_sym_output_error] = ACTIONS(37), + [anon_sym_random] = ACTIONS(37), + [anon_sym_random_boolean] = ACTIONS(37), + [anon_sym_random_float] = ACTIONS(37), + [anon_sym_random_integer] = ACTIONS(37), + [anon_sym_read] = ACTIONS(37), + [anon_sym_to_json] = ACTIONS(37), + [anon_sym_write] = ACTIONS(37), }, [51] = { - [sym_block] = STATE(238), - [sym_statement] = STATE(241), - [sym_expression] = STATE(212), - [sym_identifier] = STATE(155), - [sym_value] = STATE(140), - [sym_boolean] = STATE(134), - [sym_list] = STATE(134), - [sym_map] = STATE(134), - [sym_index] = STATE(165), - [sym_math] = STATE(140), - [sym_logic] = STATE(140), - [sym_assignment] = STATE(238), - [sym_index_assignment] = STATE(238), - [sym_if_else] = STATE(238), - [sym_if] = STATE(229), - [sym_match] = STATE(238), - [sym_while] = STATE(238), - [sym_for] = STATE(238), - [sym_return] = STATE(238), - [sym_function] = STATE(134), - [sym_function_call] = STATE(140), - [sym_yield] = STATE(140), - [sym_built_in_function] = STATE(130), - [sym__identifier_pattern] = ACTIONS(178), + [sym_block] = STATE(257), + [sym_statement] = STATE(291), + [sym_expression] = STATE(223), + [sym_identifier] = STATE(217), + [sym_value] = STATE(137), + [sym_boolean] = STATE(138), + [sym_list] = STATE(138), + [sym_map] = STATE(138), + [sym_option] = STATE(138), + [sym_index] = STATE(220), + [sym_math] = STATE(137), + [sym_logic] = STATE(137), + [sym_assignment] = STATE(257), + [sym_index_assignment] = STATE(257), + [sym_if_else] = STATE(257), + [sym_if] = STATE(239), + [sym_match] = STATE(257), + [sym_while] = STATE(257), + [sym_for] = STATE(257), + [sym_return] = STATE(257), + [sym_function] = STATE(138), + [sym_function_call] = STATE(137), + [sym_yield] = STATE(137), + [sym_built_in_function] = STATE(142), + [sym__identifier_pattern] = ACTIONS(164), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(182), - [sym_integer] = ACTIONS(184), - [sym_float] = ACTIONS(186), - [sym_string] = ACTIONS(186), - [anon_sym_true] = ACTIONS(188), - [anon_sym_false] = ACTIONS(188), - [anon_sym_LBRACK] = ACTIONS(190), - [anon_sym_LPAREN] = ACTIONS(192), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(204), - [anon_sym_assert] = ACTIONS(206), - [anon_sym_assert_equal] = ACTIONS(206), - [anon_sym_bash] = ACTIONS(206), - [anon_sym_download] = ACTIONS(206), - [anon_sym_fish] = ACTIONS(206), - [anon_sym_from_json] = ACTIONS(206), - [anon_sym_length] = ACTIONS(206), - [anon_sym_metadata] = ACTIONS(206), - [anon_sym_output] = ACTIONS(206), - [anon_sym_output_error] = ACTIONS(206), - [anon_sym_random] = ACTIONS(206), - [anon_sym_random_boolean] = ACTIONS(206), - [anon_sym_random_float] = ACTIONS(206), - [anon_sym_random_integer] = ACTIONS(206), - [anon_sym_read] = ACTIONS(206), - [anon_sym_to_json] = ACTIONS(206), - [anon_sym_write] = ACTIONS(206), + [anon_sym_async] = ACTIONS(166), + [anon_sym_LBRACE] = ACTIONS(168), + [sym_integer] = ACTIONS(170), + [sym_float] = ACTIONS(172), + [sym_string] = ACTIONS(172), + [anon_sym_true] = ACTIONS(174), + [anon_sym_false] = ACTIONS(174), + [anon_sym_LBRACK] = ACTIONS(176), + [anon_sym_none] = ACTIONS(178), + [anon_sym_some] = ACTIONS(180), + [anon_sym_LPAREN] = ACTIONS(182), + [anon_sym_if] = ACTIONS(184), + [anon_sym_match] = ACTIONS(186), + [anon_sym_while] = ACTIONS(188), + [anon_sym_for] = ACTIONS(190), + [anon_sym_asyncfor] = ACTIONS(192), + [anon_sym_return] = ACTIONS(194), + [anon_sym_assert] = ACTIONS(196), + [anon_sym_assert_equal] = ACTIONS(196), + [anon_sym_bash] = ACTIONS(196), + [anon_sym_download] = ACTIONS(196), + [anon_sym_fish] = ACTIONS(196), + [anon_sym_from_json] = ACTIONS(196), + [anon_sym_length] = ACTIONS(196), + [anon_sym_metadata] = ACTIONS(196), + [anon_sym_output] = ACTIONS(196), + [anon_sym_output_error] = ACTIONS(196), + [anon_sym_random] = ACTIONS(196), + [anon_sym_random_boolean] = ACTIONS(196), + [anon_sym_random_float] = ACTIONS(196), + [anon_sym_random_integer] = ACTIONS(196), + [anon_sym_read] = ACTIONS(196), + [anon_sym_to_json] = ACTIONS(196), + [anon_sym_write] = ACTIONS(196), }, [52] = { - [sym_block] = STATE(238), - [sym_statement] = STATE(244), - [sym_expression] = STATE(212), - [sym_identifier] = STATE(155), - [sym_value] = STATE(140), - [sym_boolean] = STATE(134), - [sym_list] = STATE(134), - [sym_map] = STATE(134), - [sym_index] = STATE(165), - [sym_math] = STATE(140), - [sym_logic] = STATE(140), - [sym_assignment] = STATE(238), - [sym_index_assignment] = STATE(238), - [sym_if_else] = STATE(238), - [sym_if] = STATE(229), - [sym_match] = STATE(238), - [sym_while] = STATE(238), - [sym_for] = STATE(238), - [sym_return] = STATE(238), - [sym_function] = STATE(134), - [sym_function_call] = STATE(140), - [sym_yield] = STATE(140), - [sym_built_in_function] = STATE(130), - [sym__identifier_pattern] = ACTIONS(178), + [sym_math_operator] = STATE(203), + [sym_logic_operator] = STATE(200), + [ts_builtin_sym_end] = ACTIONS(212), + [sym__identifier_pattern] = ACTIONS(214), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(182), - [sym_integer] = ACTIONS(184), - [sym_float] = ACTIONS(186), - [sym_string] = ACTIONS(186), - [anon_sym_true] = ACTIONS(188), - [anon_sym_false] = ACTIONS(188), - [anon_sym_LBRACK] = ACTIONS(190), - [anon_sym_LPAREN] = ACTIONS(192), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(204), - [anon_sym_assert] = ACTIONS(206), - [anon_sym_assert_equal] = ACTIONS(206), - [anon_sym_bash] = ACTIONS(206), - [anon_sym_download] = ACTIONS(206), - [anon_sym_fish] = ACTIONS(206), - [anon_sym_from_json] = ACTIONS(206), - [anon_sym_length] = ACTIONS(206), - [anon_sym_metadata] = ACTIONS(206), - [anon_sym_output] = ACTIONS(206), - [anon_sym_output_error] = ACTIONS(206), - [anon_sym_random] = ACTIONS(206), - [anon_sym_random_boolean] = ACTIONS(206), - [anon_sym_random_float] = ACTIONS(206), - [anon_sym_random_integer] = ACTIONS(206), - [anon_sym_read] = ACTIONS(206), - [anon_sym_to_json] = ACTIONS(206), - [anon_sym_write] = ACTIONS(206), + [anon_sym_async] = ACTIONS(214), + [anon_sym_LBRACE] = ACTIONS(212), + [anon_sym_RBRACE] = ACTIONS(212), + [anon_sym_SEMI] = ACTIONS(212), + [sym_integer] = ACTIONS(214), + [sym_float] = ACTIONS(212), + [sym_string] = ACTIONS(212), + [anon_sym_true] = ACTIONS(214), + [anon_sym_false] = ACTIONS(214), + [anon_sym_LBRACK] = ACTIONS(212), + [anon_sym_EQ] = ACTIONS(214), + [anon_sym_none] = ACTIONS(214), + [anon_sym_some] = ACTIONS(214), + [anon_sym_LPAREN] = ACTIONS(212), + [anon_sym_COLON] = ACTIONS(224), + [anon_sym_PLUS] = ACTIONS(122), + [anon_sym_DASH] = ACTIONS(122), + [anon_sym_STAR] = ACTIONS(120), + [anon_sym_SLASH] = ACTIONS(120), + [anon_sym_PERCENT] = ACTIONS(120), + [anon_sym_EQ_EQ] = ACTIONS(124), + [anon_sym_BANG_EQ] = ACTIONS(124), + [anon_sym_AMP_AMP] = ACTIONS(124), + [anon_sym_PIPE_PIPE] = ACTIONS(124), + [anon_sym_GT] = ACTIONS(126), + [anon_sym_LT] = ACTIONS(126), + [anon_sym_GT_EQ] = ACTIONS(124), + [anon_sym_LT_EQ] = ACTIONS(124), + [anon_sym_PLUS_EQ] = ACTIONS(212), + [anon_sym_DASH_EQ] = ACTIONS(212), + [anon_sym_if] = ACTIONS(214), + [anon_sym_match] = ACTIONS(214), + [anon_sym_while] = ACTIONS(214), + [anon_sym_for] = ACTIONS(214), + [anon_sym_asyncfor] = ACTIONS(212), + [anon_sym_return] = ACTIONS(214), + [anon_sym_DASH_GT] = ACTIONS(218), + [anon_sym_assert] = ACTIONS(214), + [anon_sym_assert_equal] = ACTIONS(214), + [anon_sym_bash] = ACTIONS(214), + [anon_sym_download] = ACTIONS(214), + [anon_sym_fish] = ACTIONS(214), + [anon_sym_from_json] = ACTIONS(214), + [anon_sym_length] = ACTIONS(214), + [anon_sym_metadata] = ACTIONS(214), + [anon_sym_output] = ACTIONS(214), + [anon_sym_output_error] = ACTIONS(214), + [anon_sym_random] = ACTIONS(214), + [anon_sym_random_boolean] = ACTIONS(214), + [anon_sym_random_float] = ACTIONS(214), + [anon_sym_random_integer] = ACTIONS(214), + [anon_sym_read] = ACTIONS(214), + [anon_sym_to_json] = ACTIONS(214), + [anon_sym_write] = ACTIONS(214), }, [53] = { - [sym_block] = STATE(242), - [sym_statement] = STATE(279), - [sym_expression] = STATE(210), - [sym_identifier] = STATE(155), - [sym_value] = STATE(140), - [sym_boolean] = STATE(134), - [sym_list] = STATE(134), - [sym_map] = STATE(134), - [sym_index] = STATE(165), - [sym_math] = STATE(140), - [sym_logic] = STATE(140), - [sym_assignment] = STATE(242), - [sym_index_assignment] = STATE(242), - [sym_if_else] = STATE(242), - [sym_if] = STATE(229), - [sym_match] = STATE(242), - [sym_while] = STATE(242), - [sym_for] = STATE(242), - [sym_return] = STATE(242), - [sym_function] = STATE(134), - [sym_function_call] = STATE(140), - [sym_yield] = STATE(140), - [sym_built_in_function] = STATE(130), - [sym__identifier_pattern] = ACTIONS(178), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(182), - [sym_integer] = ACTIONS(184), - [sym_float] = ACTIONS(186), - [sym_string] = ACTIONS(186), - [anon_sym_true] = ACTIONS(188), - [anon_sym_false] = ACTIONS(188), - [anon_sym_LBRACK] = ACTIONS(190), - [anon_sym_LPAREN] = ACTIONS(192), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(204), - [anon_sym_assert] = ACTIONS(206), - [anon_sym_assert_equal] = ACTIONS(206), - [anon_sym_bash] = ACTIONS(206), - [anon_sym_download] = ACTIONS(206), - [anon_sym_fish] = ACTIONS(206), - [anon_sym_from_json] = ACTIONS(206), - [anon_sym_length] = ACTIONS(206), - [anon_sym_metadata] = ACTIONS(206), - [anon_sym_output] = ACTIONS(206), - [anon_sym_output_error] = ACTIONS(206), - [anon_sym_random] = ACTIONS(206), - [anon_sym_random_boolean] = ACTIONS(206), - [anon_sym_random_float] = ACTIONS(206), - [anon_sym_random_integer] = ACTIONS(206), - [anon_sym_read] = ACTIONS(206), - [anon_sym_to_json] = ACTIONS(206), - [anon_sym_write] = ACTIONS(206), - }, - [54] = { - [sym_block] = STATE(238), - [sym_statement] = STATE(241), - [sym_expression] = STATE(108), - [sym_identifier] = STATE(105), - [sym_value] = STATE(88), - [sym_boolean] = STATE(101), - [sym_list] = STATE(101), - [sym_map] = STATE(101), - [sym_index] = STATE(106), - [sym_math] = STATE(88), - [sym_logic] = STATE(88), - [sym_assignment] = STATE(238), - [sym_index_assignment] = STATE(238), - [sym_if_else] = STATE(238), - [sym_if] = STATE(229), - [sym_match] = STATE(238), - [sym_while] = STATE(238), - [sym_for] = STATE(238), - [sym_return] = STATE(238), - [sym_function] = STATE(101), - [sym_function_call] = STATE(88), - [sym_yield] = STATE(88), - [sym_built_in_function] = STATE(89), - [sym__identifier_pattern] = ACTIONS(88), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(212), - [sym_integer] = ACTIONS(92), - [sym_float] = ACTIONS(94), - [sym_string] = ACTIONS(94), - [anon_sym_true] = ACTIONS(96), - [anon_sym_false] = ACTIONS(96), - [anon_sym_LBRACK] = ACTIONS(98), - [anon_sym_LPAREN] = ACTIONS(102), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(214), - [anon_sym_assert] = ACTIONS(116), - [anon_sym_assert_equal] = ACTIONS(116), - [anon_sym_bash] = ACTIONS(116), - [anon_sym_download] = ACTIONS(116), - [anon_sym_fish] = ACTIONS(116), - [anon_sym_from_json] = ACTIONS(116), - [anon_sym_length] = ACTIONS(116), - [anon_sym_metadata] = ACTIONS(116), - [anon_sym_output] = ACTIONS(116), - [anon_sym_output_error] = ACTIONS(116), - [anon_sym_random] = ACTIONS(116), - [anon_sym_random_boolean] = ACTIONS(116), - [anon_sym_random_float] = ACTIONS(116), - [anon_sym_random_integer] = ACTIONS(116), - [anon_sym_read] = ACTIONS(116), - [anon_sym_to_json] = ACTIONS(116), - [anon_sym_write] = ACTIONS(116), - }, - [55] = { - [sym_block] = STATE(238), - [sym_statement] = STATE(240), - [sym_expression] = STATE(212), - [sym_identifier] = STATE(155), - [sym_value] = STATE(140), - [sym_boolean] = STATE(134), - [sym_list] = STATE(134), - [sym_map] = STATE(134), - [sym_index] = STATE(165), - [sym_math] = STATE(140), - [sym_logic] = STATE(140), - [sym_assignment] = STATE(238), - [sym_index_assignment] = STATE(238), - [sym_if_else] = STATE(238), - [sym_if] = STATE(229), - [sym_match] = STATE(238), - [sym_while] = STATE(238), - [sym_for] = STATE(238), - [sym_return] = STATE(238), - [sym_function] = STATE(134), - [sym_function_call] = STATE(140), - [sym_yield] = STATE(140), - [sym_built_in_function] = STATE(130), - [sym__identifier_pattern] = ACTIONS(178), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(182), - [sym_integer] = ACTIONS(184), - [sym_float] = ACTIONS(186), - [sym_string] = ACTIONS(186), - [anon_sym_true] = ACTIONS(188), - [anon_sym_false] = ACTIONS(188), - [anon_sym_LBRACK] = ACTIONS(190), - [anon_sym_LPAREN] = ACTIONS(192), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(204), - [anon_sym_assert] = ACTIONS(206), - [anon_sym_assert_equal] = ACTIONS(206), - [anon_sym_bash] = ACTIONS(206), - [anon_sym_download] = ACTIONS(206), - [anon_sym_fish] = ACTIONS(206), - [anon_sym_from_json] = ACTIONS(206), - [anon_sym_length] = ACTIONS(206), - [anon_sym_metadata] = ACTIONS(206), - [anon_sym_output] = ACTIONS(206), - [anon_sym_output_error] = ACTIONS(206), - [anon_sym_random] = ACTIONS(206), - [anon_sym_random_boolean] = ACTIONS(206), - [anon_sym_random_float] = ACTIONS(206), - [anon_sym_random_integer] = ACTIONS(206), - [anon_sym_read] = ACTIONS(206), - [anon_sym_to_json] = ACTIONS(206), - [anon_sym_write] = ACTIONS(206), - }, - [56] = { - [sym_assignment_operator] = STATE(48), - [sym_type_definition] = STATE(304), - [ts_builtin_sym_end] = ACTIONS(216), - [sym__identifier_pattern] = ACTIONS(218), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(218), - [anon_sym_LBRACE] = ACTIONS(216), - [anon_sym_RBRACE] = ACTIONS(216), - [anon_sym_SEMI] = ACTIONS(216), - [sym_integer] = ACTIONS(218), - [sym_float] = ACTIONS(216), - [sym_string] = ACTIONS(216), - [anon_sym_true] = ACTIONS(218), - [anon_sym_false] = ACTIONS(218), - [anon_sym_LBRACK] = ACTIONS(216), - [anon_sym_EQ] = ACTIONS(220), - [anon_sym_COLON] = ACTIONS(216), - [anon_sym_LPAREN] = ACTIONS(216), - [anon_sym_PLUS] = ACTIONS(218), - [anon_sym_DASH] = ACTIONS(218), - [anon_sym_STAR] = ACTIONS(216), - [anon_sym_SLASH] = ACTIONS(216), - [anon_sym_PERCENT] = ACTIONS(216), - [anon_sym_EQ_EQ] = ACTIONS(216), - [anon_sym_BANG_EQ] = ACTIONS(216), - [anon_sym_AMP_AMP] = ACTIONS(216), - [anon_sym_PIPE_PIPE] = ACTIONS(216), - [anon_sym_GT] = ACTIONS(218), - [anon_sym_LT] = ACTIONS(222), - [anon_sym_GT_EQ] = ACTIONS(216), - [anon_sym_LT_EQ] = ACTIONS(216), - [anon_sym_PLUS_EQ] = ACTIONS(224), - [anon_sym_DASH_EQ] = ACTIONS(224), - [anon_sym_if] = ACTIONS(218), - [anon_sym_match] = ACTIONS(218), - [anon_sym_while] = ACTIONS(218), - [anon_sym_for] = ACTIONS(218), - [anon_sym_asyncfor] = ACTIONS(216), - [anon_sym_return] = ACTIONS(218), - [anon_sym_DASH_GT] = ACTIONS(216), - [anon_sym_assert] = ACTIONS(218), - [anon_sym_assert_equal] = ACTIONS(218), - [anon_sym_bash] = ACTIONS(218), - [anon_sym_download] = ACTIONS(218), - [anon_sym_fish] = ACTIONS(218), - [anon_sym_from_json] = ACTIONS(218), - [anon_sym_length] = ACTIONS(218), - [anon_sym_metadata] = ACTIONS(218), - [anon_sym_output] = ACTIONS(218), - [anon_sym_output_error] = ACTIONS(218), - [anon_sym_random] = ACTIONS(218), - [anon_sym_random_boolean] = ACTIONS(218), - [anon_sym_random_float] = ACTIONS(218), - [anon_sym_random_integer] = ACTIONS(218), - [anon_sym_read] = ACTIONS(218), - [anon_sym_to_json] = ACTIONS(218), - [anon_sym_write] = ACTIONS(218), - }, - [57] = { - [sym_block] = STATE(242), - [sym_statement] = STATE(274), - [sym_expression] = STATE(210), - [sym_identifier] = STATE(155), - [sym_value] = STATE(140), - [sym_boolean] = STATE(134), - [sym_list] = STATE(134), - [sym_map] = STATE(134), - [sym_index] = STATE(165), - [sym_math] = STATE(140), - [sym_logic] = STATE(140), - [sym_assignment] = STATE(242), - [sym_index_assignment] = STATE(242), - [sym_if_else] = STATE(242), - [sym_if] = STATE(229), - [sym_match] = STATE(242), - [sym_while] = STATE(242), - [sym_for] = STATE(242), - [sym_return] = STATE(242), - [sym_function] = STATE(134), - [sym_function_call] = STATE(140), - [sym_yield] = STATE(140), - [sym_built_in_function] = STATE(130), - [sym__identifier_pattern] = ACTIONS(178), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(180), - [anon_sym_LBRACE] = ACTIONS(182), - [sym_integer] = ACTIONS(184), - [sym_float] = ACTIONS(186), - [sym_string] = ACTIONS(186), - [anon_sym_true] = ACTIONS(188), - [anon_sym_false] = ACTIONS(188), - [anon_sym_LBRACK] = ACTIONS(190), - [anon_sym_LPAREN] = ACTIONS(192), - [anon_sym_if] = ACTIONS(194), - [anon_sym_match] = ACTIONS(196), - [anon_sym_while] = ACTIONS(198), - [anon_sym_for] = ACTIONS(200), - [anon_sym_asyncfor] = ACTIONS(202), - [anon_sym_return] = ACTIONS(204), - [anon_sym_assert] = ACTIONS(206), - [anon_sym_assert_equal] = ACTIONS(206), - [anon_sym_bash] = ACTIONS(206), - [anon_sym_download] = ACTIONS(206), - [anon_sym_fish] = ACTIONS(206), - [anon_sym_from_json] = ACTIONS(206), - [anon_sym_length] = ACTIONS(206), - [anon_sym_metadata] = ACTIONS(206), - [anon_sym_output] = ACTIONS(206), - [anon_sym_output_error] = ACTIONS(206), - [anon_sym_random] = ACTIONS(206), - [anon_sym_random_boolean] = ACTIONS(206), - [anon_sym_random_float] = ACTIONS(206), - [anon_sym_random_integer] = ACTIONS(206), - [anon_sym_read] = ACTIONS(206), - [anon_sym_to_json] = ACTIONS(206), - [anon_sym_write] = ACTIONS(206), - }, - [58] = { [ts_builtin_sym_end] = ACTIONS(226), [sym__identifier_pattern] = ACTIONS(228), [sym__comment] = ACTIONS(3), @@ -6020,9 +5979,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_false] = ACTIONS(228), [anon_sym_LBRACK] = ACTIONS(226), [anon_sym_EQ] = ACTIONS(228), + [anon_sym_none] = ACTIONS(228), + [anon_sym_some] = ACTIONS(228), + [anon_sym_LPAREN] = ACTIONS(226), [anon_sym_COLON] = ACTIONS(226), [anon_sym_DOT_DOT] = ACTIONS(226), - [anon_sym_LPAREN] = ACTIONS(226), [anon_sym_PLUS] = ACTIONS(228), [anon_sym_DASH] = ACTIONS(228), [anon_sym_STAR] = ACTIONS(226), @@ -6043,6 +6004,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_while] = ACTIONS(228), [anon_sym_for] = ACTIONS(228), [anon_sym_asyncfor] = ACTIONS(226), + [anon_sym_in] = ACTIONS(228), [anon_sym_return] = ACTIONS(228), [anon_sym_DASH_GT] = ACTIONS(226), [anon_sym_assert] = ACTIONS(228), @@ -6063,7 +6025,251 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_to_json] = ACTIONS(228), [anon_sym_write] = ACTIONS(228), }, - [59] = { + [54] = { + [sym_math_operator] = STATE(203), + [sym_logic_operator] = STATE(200), + [ts_builtin_sym_end] = ACTIONS(220), + [sym__identifier_pattern] = ACTIONS(222), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(222), + [anon_sym_LBRACE] = ACTIONS(220), + [anon_sym_RBRACE] = ACTIONS(220), + [anon_sym_SEMI] = ACTIONS(220), + [sym_integer] = ACTIONS(222), + [sym_float] = ACTIONS(220), + [sym_string] = ACTIONS(220), + [anon_sym_true] = ACTIONS(222), + [anon_sym_false] = ACTIONS(222), + [anon_sym_LBRACK] = ACTIONS(220), + [anon_sym_EQ] = ACTIONS(222), + [anon_sym_none] = ACTIONS(222), + [anon_sym_some] = ACTIONS(222), + [anon_sym_LPAREN] = ACTIONS(220), + [anon_sym_COLON] = ACTIONS(224), + [anon_sym_PLUS] = ACTIONS(222), + [anon_sym_DASH] = ACTIONS(222), + [anon_sym_STAR] = ACTIONS(220), + [anon_sym_SLASH] = ACTIONS(220), + [anon_sym_PERCENT] = ACTIONS(220), + [anon_sym_EQ_EQ] = ACTIONS(220), + [anon_sym_BANG_EQ] = ACTIONS(220), + [anon_sym_AMP_AMP] = ACTIONS(220), + [anon_sym_PIPE_PIPE] = ACTIONS(220), + [anon_sym_GT] = ACTIONS(222), + [anon_sym_LT] = ACTIONS(222), + [anon_sym_GT_EQ] = ACTIONS(220), + [anon_sym_LT_EQ] = ACTIONS(220), + [anon_sym_PLUS_EQ] = ACTIONS(220), + [anon_sym_DASH_EQ] = ACTIONS(220), + [anon_sym_if] = ACTIONS(222), + [anon_sym_match] = ACTIONS(222), + [anon_sym_while] = ACTIONS(222), + [anon_sym_for] = ACTIONS(222), + [anon_sym_asyncfor] = ACTIONS(220), + [anon_sym_return] = ACTIONS(222), + [anon_sym_DASH_GT] = ACTIONS(220), + [anon_sym_assert] = ACTIONS(222), + [anon_sym_assert_equal] = ACTIONS(222), + [anon_sym_bash] = ACTIONS(222), + [anon_sym_download] = ACTIONS(222), + [anon_sym_fish] = ACTIONS(222), + [anon_sym_from_json] = ACTIONS(222), + [anon_sym_length] = ACTIONS(222), + [anon_sym_metadata] = ACTIONS(222), + [anon_sym_output] = ACTIONS(222), + [anon_sym_output_error] = ACTIONS(222), + [anon_sym_random] = ACTIONS(222), + [anon_sym_random_boolean] = ACTIONS(222), + [anon_sym_random_float] = ACTIONS(222), + [anon_sym_random_integer] = ACTIONS(222), + [anon_sym_read] = ACTIONS(222), + [anon_sym_to_json] = ACTIONS(222), + [anon_sym_write] = ACTIONS(222), + }, + [55] = { + [sym_assignment_operator] = STATE(50), + [sym_type_definition] = STATE(317), + [ts_builtin_sym_end] = ACTIONS(230), + [sym__identifier_pattern] = ACTIONS(232), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(232), + [anon_sym_LBRACE] = ACTIONS(230), + [anon_sym_RBRACE] = ACTIONS(230), + [anon_sym_SEMI] = ACTIONS(230), + [sym_integer] = ACTIONS(232), + [sym_float] = ACTIONS(230), + [sym_string] = ACTIONS(230), + [anon_sym_true] = ACTIONS(232), + [anon_sym_false] = ACTIONS(232), + [anon_sym_LBRACK] = ACTIONS(230), + [anon_sym_EQ] = ACTIONS(234), + [anon_sym_none] = ACTIONS(232), + [anon_sym_some] = ACTIONS(232), + [anon_sym_LPAREN] = ACTIONS(230), + [anon_sym_COLON] = ACTIONS(230), + [anon_sym_PLUS] = ACTIONS(232), + [anon_sym_DASH] = ACTIONS(232), + [anon_sym_STAR] = ACTIONS(230), + [anon_sym_SLASH] = ACTIONS(230), + [anon_sym_PERCENT] = ACTIONS(230), + [anon_sym_EQ_EQ] = ACTIONS(230), + [anon_sym_BANG_EQ] = ACTIONS(230), + [anon_sym_AMP_AMP] = ACTIONS(230), + [anon_sym_PIPE_PIPE] = ACTIONS(230), + [anon_sym_GT] = ACTIONS(232), + [anon_sym_LT] = ACTIONS(236), + [anon_sym_GT_EQ] = ACTIONS(230), + [anon_sym_LT_EQ] = ACTIONS(230), + [anon_sym_PLUS_EQ] = ACTIONS(238), + [anon_sym_DASH_EQ] = ACTIONS(238), + [anon_sym_if] = ACTIONS(232), + [anon_sym_match] = ACTIONS(232), + [anon_sym_while] = ACTIONS(232), + [anon_sym_for] = ACTIONS(232), + [anon_sym_asyncfor] = ACTIONS(230), + [anon_sym_return] = ACTIONS(232), + [anon_sym_DASH_GT] = ACTIONS(230), + [anon_sym_assert] = ACTIONS(232), + [anon_sym_assert_equal] = ACTIONS(232), + [anon_sym_bash] = ACTIONS(232), + [anon_sym_download] = ACTIONS(232), + [anon_sym_fish] = ACTIONS(232), + [anon_sym_from_json] = ACTIONS(232), + [anon_sym_length] = ACTIONS(232), + [anon_sym_metadata] = ACTIONS(232), + [anon_sym_output] = ACTIONS(232), + [anon_sym_output_error] = ACTIONS(232), + [anon_sym_random] = ACTIONS(232), + [anon_sym_random_boolean] = ACTIONS(232), + [anon_sym_random_float] = ACTIONS(232), + [anon_sym_random_integer] = ACTIONS(232), + [anon_sym_read] = ACTIONS(232), + [anon_sym_to_json] = ACTIONS(232), + [anon_sym_write] = ACTIONS(232), + }, + [56] = { + [ts_builtin_sym_end] = ACTIONS(240), + [sym__identifier_pattern] = ACTIONS(242), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(242), + [anon_sym_LBRACE] = ACTIONS(240), + [anon_sym_RBRACE] = ACTIONS(240), + [anon_sym_SEMI] = ACTIONS(240), + [sym_integer] = ACTIONS(242), + [sym_float] = ACTIONS(240), + [sym_string] = ACTIONS(240), + [anon_sym_true] = ACTIONS(242), + [anon_sym_false] = ACTIONS(242), + [anon_sym_LBRACK] = ACTIONS(240), + [anon_sym_EQ] = ACTIONS(242), + [anon_sym_none] = ACTIONS(242), + [anon_sym_some] = ACTIONS(242), + [anon_sym_LPAREN] = ACTIONS(240), + [anon_sym_COLON] = ACTIONS(240), + [anon_sym_DOT_DOT] = ACTIONS(240), + [anon_sym_PLUS] = ACTIONS(242), + [anon_sym_DASH] = ACTIONS(242), + [anon_sym_STAR] = ACTIONS(240), + [anon_sym_SLASH] = ACTIONS(240), + [anon_sym_PERCENT] = ACTIONS(240), + [anon_sym_EQ_EQ] = ACTIONS(240), + [anon_sym_BANG_EQ] = ACTIONS(240), + [anon_sym_AMP_AMP] = ACTIONS(240), + [anon_sym_PIPE_PIPE] = ACTIONS(240), + [anon_sym_GT] = ACTIONS(242), + [anon_sym_LT] = ACTIONS(242), + [anon_sym_GT_EQ] = ACTIONS(240), + [anon_sym_LT_EQ] = ACTIONS(240), + [anon_sym_PLUS_EQ] = ACTIONS(240), + [anon_sym_DASH_EQ] = ACTIONS(240), + [anon_sym_if] = ACTIONS(242), + [anon_sym_match] = ACTIONS(242), + [anon_sym_while] = ACTIONS(242), + [anon_sym_for] = ACTIONS(242), + [anon_sym_asyncfor] = ACTIONS(240), + [anon_sym_in] = ACTIONS(242), + [anon_sym_return] = ACTIONS(242), + [anon_sym_DASH_GT] = ACTIONS(240), + [anon_sym_assert] = ACTIONS(242), + [anon_sym_assert_equal] = ACTIONS(242), + [anon_sym_bash] = ACTIONS(242), + [anon_sym_download] = ACTIONS(242), + [anon_sym_fish] = ACTIONS(242), + [anon_sym_from_json] = ACTIONS(242), + [anon_sym_length] = ACTIONS(242), + [anon_sym_metadata] = ACTIONS(242), + [anon_sym_output] = ACTIONS(242), + [anon_sym_output_error] = ACTIONS(242), + [anon_sym_random] = ACTIONS(242), + [anon_sym_random_boolean] = ACTIONS(242), + [anon_sym_random_float] = ACTIONS(242), + [anon_sym_random_integer] = ACTIONS(242), + [anon_sym_read] = ACTIONS(242), + [anon_sym_to_json] = ACTIONS(242), + [anon_sym_write] = ACTIONS(242), + }, + [57] = { + [sym_math_operator] = STATE(203), + [sym_logic_operator] = STATE(200), + [ts_builtin_sym_end] = ACTIONS(208), + [sym__identifier_pattern] = ACTIONS(210), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(210), + [anon_sym_LBRACE] = ACTIONS(208), + [anon_sym_RBRACE] = ACTIONS(208), + [anon_sym_SEMI] = ACTIONS(208), + [sym_integer] = ACTIONS(210), + [sym_float] = ACTIONS(208), + [sym_string] = ACTIONS(208), + [anon_sym_true] = ACTIONS(210), + [anon_sym_false] = ACTIONS(210), + [anon_sym_LBRACK] = ACTIONS(208), + [anon_sym_EQ] = ACTIONS(210), + [anon_sym_none] = ACTIONS(210), + [anon_sym_some] = ACTIONS(210), + [anon_sym_LPAREN] = ACTIONS(208), + [anon_sym_COLON] = ACTIONS(208), + [anon_sym_PLUS] = ACTIONS(210), + [anon_sym_DASH] = ACTIONS(210), + [anon_sym_STAR] = ACTIONS(208), + [anon_sym_SLASH] = ACTIONS(208), + [anon_sym_PERCENT] = ACTIONS(208), + [anon_sym_EQ_EQ] = ACTIONS(208), + [anon_sym_BANG_EQ] = ACTIONS(208), + [anon_sym_AMP_AMP] = ACTIONS(208), + [anon_sym_PIPE_PIPE] = ACTIONS(208), + [anon_sym_GT] = ACTIONS(210), + [anon_sym_LT] = ACTIONS(210), + [anon_sym_GT_EQ] = ACTIONS(208), + [anon_sym_LT_EQ] = ACTIONS(208), + [anon_sym_PLUS_EQ] = ACTIONS(208), + [anon_sym_DASH_EQ] = ACTIONS(208), + [anon_sym_if] = ACTIONS(210), + [anon_sym_match] = ACTIONS(210), + [anon_sym_while] = ACTIONS(210), + [anon_sym_for] = ACTIONS(210), + [anon_sym_asyncfor] = ACTIONS(208), + [anon_sym_return] = ACTIONS(210), + [anon_sym_DASH_GT] = ACTIONS(208), + [anon_sym_assert] = ACTIONS(210), + [anon_sym_assert_equal] = ACTIONS(210), + [anon_sym_bash] = ACTIONS(210), + [anon_sym_download] = ACTIONS(210), + [anon_sym_fish] = ACTIONS(210), + [anon_sym_from_json] = ACTIONS(210), + [anon_sym_length] = ACTIONS(210), + [anon_sym_metadata] = ACTIONS(210), + [anon_sym_output] = ACTIONS(210), + [anon_sym_output_error] = ACTIONS(210), + [anon_sym_random] = ACTIONS(210), + [anon_sym_random_boolean] = ACTIONS(210), + [anon_sym_random_float] = ACTIONS(210), + [anon_sym_random_integer] = ACTIONS(210), + [anon_sym_read] = ACTIONS(210), + [anon_sym_to_json] = ACTIONS(210), + [anon_sym_write] = ACTIONS(210), + }, + [58] = { [ts_builtin_sym_end] = ACTIONS(230), [sym__identifier_pattern] = ACTIONS(232), [sym__comment] = ACTIONS(3), @@ -6078,9 +6284,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_false] = ACTIONS(232), [anon_sym_LBRACK] = ACTIONS(230), [anon_sym_EQ] = ACTIONS(232), + [anon_sym_none] = ACTIONS(232), + [anon_sym_some] = ACTIONS(232), + [anon_sym_LPAREN] = ACTIONS(230), [anon_sym_COLON] = ACTIONS(230), [anon_sym_DOT_DOT] = ACTIONS(230), - [anon_sym_LPAREN] = ACTIONS(230), [anon_sym_PLUS] = ACTIONS(232), [anon_sym_DASH] = ACTIONS(232), [anon_sym_STAR] = ACTIONS(230), @@ -6121,819 +6329,607 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_to_json] = ACTIONS(232), [anon_sym_write] = ACTIONS(232), }, - [60] = { - [ts_builtin_sym_end] = ACTIONS(234), - [sym__identifier_pattern] = ACTIONS(236), + [59] = { + [ts_builtin_sym_end] = ACTIONS(244), + [sym__identifier_pattern] = ACTIONS(246), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(236), - [anon_sym_LBRACE] = ACTIONS(234), - [anon_sym_RBRACE] = ACTIONS(234), - [anon_sym_SEMI] = ACTIONS(234), - [sym_integer] = ACTIONS(236), - [sym_float] = ACTIONS(234), - [sym_string] = ACTIONS(234), - [anon_sym_true] = ACTIONS(236), - [anon_sym_false] = ACTIONS(236), - [anon_sym_LBRACK] = ACTIONS(234), - [anon_sym_EQ] = ACTIONS(236), - [anon_sym_COLON] = ACTIONS(234), - [anon_sym_DOT_DOT] = ACTIONS(234), - [anon_sym_LPAREN] = ACTIONS(234), - [anon_sym_PLUS] = ACTIONS(236), - [anon_sym_DASH] = ACTIONS(236), - [anon_sym_STAR] = ACTIONS(234), - [anon_sym_SLASH] = ACTIONS(234), - [anon_sym_PERCENT] = ACTIONS(234), - [anon_sym_EQ_EQ] = ACTIONS(234), - [anon_sym_BANG_EQ] = ACTIONS(234), - [anon_sym_AMP_AMP] = ACTIONS(234), - [anon_sym_PIPE_PIPE] = ACTIONS(234), - [anon_sym_GT] = ACTIONS(236), - [anon_sym_LT] = ACTIONS(236), - [anon_sym_GT_EQ] = ACTIONS(234), - [anon_sym_LT_EQ] = ACTIONS(234), - [anon_sym_PLUS_EQ] = ACTIONS(234), - [anon_sym_DASH_EQ] = ACTIONS(234), - [anon_sym_if] = ACTIONS(236), - [anon_sym_match] = ACTIONS(236), - [anon_sym_while] = ACTIONS(236), - [anon_sym_for] = ACTIONS(236), - [anon_sym_asyncfor] = ACTIONS(234), - [anon_sym_return] = ACTIONS(236), - [anon_sym_DASH_GT] = ACTIONS(234), - [anon_sym_assert] = ACTIONS(236), - [anon_sym_assert_equal] = ACTIONS(236), - [anon_sym_bash] = ACTIONS(236), - [anon_sym_download] = ACTIONS(236), - [anon_sym_fish] = ACTIONS(236), - [anon_sym_from_json] = ACTIONS(236), - [anon_sym_length] = ACTIONS(236), - [anon_sym_metadata] = ACTIONS(236), - [anon_sym_output] = ACTIONS(236), - [anon_sym_output_error] = ACTIONS(236), - [anon_sym_random] = ACTIONS(236), - [anon_sym_random_boolean] = ACTIONS(236), - [anon_sym_random_float] = ACTIONS(236), - [anon_sym_random_integer] = ACTIONS(236), - [anon_sym_read] = ACTIONS(236), - [anon_sym_to_json] = ACTIONS(236), - [anon_sym_write] = ACTIONS(236), + [anon_sym_async] = ACTIONS(246), + [anon_sym_LBRACE] = ACTIONS(244), + [anon_sym_RBRACE] = ACTIONS(244), + [anon_sym_SEMI] = ACTIONS(244), + [sym_integer] = ACTIONS(246), + [sym_float] = ACTIONS(244), + [sym_string] = ACTIONS(244), + [anon_sym_true] = ACTIONS(246), + [anon_sym_false] = ACTIONS(246), + [anon_sym_LBRACK] = ACTIONS(244), + [anon_sym_EQ] = ACTIONS(246), + [anon_sym_none] = ACTIONS(246), + [anon_sym_some] = ACTIONS(246), + [anon_sym_LPAREN] = ACTIONS(244), + [anon_sym_COLON] = ACTIONS(244), + [anon_sym_DOT_DOT] = ACTIONS(244), + [anon_sym_PLUS] = ACTIONS(246), + [anon_sym_DASH] = ACTIONS(246), + [anon_sym_STAR] = ACTIONS(244), + [anon_sym_SLASH] = ACTIONS(244), + [anon_sym_PERCENT] = ACTIONS(244), + [anon_sym_EQ_EQ] = ACTIONS(244), + [anon_sym_BANG_EQ] = ACTIONS(244), + [anon_sym_AMP_AMP] = ACTIONS(244), + [anon_sym_PIPE_PIPE] = ACTIONS(244), + [anon_sym_GT] = ACTIONS(246), + [anon_sym_LT] = ACTIONS(246), + [anon_sym_GT_EQ] = ACTIONS(244), + [anon_sym_LT_EQ] = ACTIONS(244), + [anon_sym_PLUS_EQ] = ACTIONS(244), + [anon_sym_DASH_EQ] = ACTIONS(244), + [anon_sym_if] = ACTIONS(246), + [anon_sym_match] = ACTIONS(246), + [anon_sym_while] = ACTIONS(246), + [anon_sym_for] = ACTIONS(246), + [anon_sym_asyncfor] = ACTIONS(244), + [anon_sym_return] = ACTIONS(246), + [anon_sym_DASH_GT] = ACTIONS(244), + [anon_sym_assert] = ACTIONS(246), + [anon_sym_assert_equal] = ACTIONS(246), + [anon_sym_bash] = ACTIONS(246), + [anon_sym_download] = ACTIONS(246), + [anon_sym_fish] = ACTIONS(246), + [anon_sym_from_json] = ACTIONS(246), + [anon_sym_length] = ACTIONS(246), + [anon_sym_metadata] = ACTIONS(246), + [anon_sym_output] = ACTIONS(246), + [anon_sym_output_error] = ACTIONS(246), + [anon_sym_random] = ACTIONS(246), + [anon_sym_random_boolean] = ACTIONS(246), + [anon_sym_random_float] = ACTIONS(246), + [anon_sym_random_integer] = ACTIONS(246), + [anon_sym_read] = ACTIONS(246), + [anon_sym_to_json] = ACTIONS(246), + [anon_sym_write] = ACTIONS(246), + }, + [60] = { + [ts_builtin_sym_end] = ACTIONS(248), + [sym__identifier_pattern] = ACTIONS(250), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(250), + [anon_sym_LBRACE] = ACTIONS(248), + [anon_sym_RBRACE] = ACTIONS(248), + [anon_sym_SEMI] = ACTIONS(248), + [sym_integer] = ACTIONS(250), + [sym_float] = ACTIONS(248), + [sym_string] = ACTIONS(248), + [anon_sym_true] = ACTIONS(250), + [anon_sym_false] = ACTIONS(250), + [anon_sym_LBRACK] = ACTIONS(248), + [anon_sym_EQ] = ACTIONS(250), + [anon_sym_none] = ACTIONS(250), + [anon_sym_some] = ACTIONS(250), + [anon_sym_LPAREN] = ACTIONS(248), + [anon_sym_COLON] = ACTIONS(248), + [anon_sym_DOT_DOT] = ACTIONS(248), + [anon_sym_PLUS] = ACTIONS(250), + [anon_sym_DASH] = ACTIONS(250), + [anon_sym_STAR] = ACTIONS(248), + [anon_sym_SLASH] = ACTIONS(248), + [anon_sym_PERCENT] = ACTIONS(248), + [anon_sym_EQ_EQ] = ACTIONS(248), + [anon_sym_BANG_EQ] = ACTIONS(248), + [anon_sym_AMP_AMP] = ACTIONS(248), + [anon_sym_PIPE_PIPE] = ACTIONS(248), + [anon_sym_GT] = ACTIONS(250), + [anon_sym_LT] = ACTIONS(250), + [anon_sym_GT_EQ] = ACTIONS(248), + [anon_sym_LT_EQ] = ACTIONS(248), + [anon_sym_PLUS_EQ] = ACTIONS(248), + [anon_sym_DASH_EQ] = ACTIONS(248), + [anon_sym_if] = ACTIONS(250), + [anon_sym_match] = ACTIONS(250), + [anon_sym_while] = ACTIONS(250), + [anon_sym_for] = ACTIONS(250), + [anon_sym_asyncfor] = ACTIONS(248), + [anon_sym_return] = ACTIONS(250), + [anon_sym_DASH_GT] = ACTIONS(248), + [anon_sym_assert] = ACTIONS(250), + [anon_sym_assert_equal] = ACTIONS(250), + [anon_sym_bash] = ACTIONS(250), + [anon_sym_download] = ACTIONS(250), + [anon_sym_fish] = ACTIONS(250), + [anon_sym_from_json] = ACTIONS(250), + [anon_sym_length] = ACTIONS(250), + [anon_sym_metadata] = ACTIONS(250), + [anon_sym_output] = ACTIONS(250), + [anon_sym_output_error] = ACTIONS(250), + [anon_sym_random] = ACTIONS(250), + [anon_sym_random_boolean] = ACTIONS(250), + [anon_sym_random_float] = ACTIONS(250), + [anon_sym_random_integer] = ACTIONS(250), + [anon_sym_read] = ACTIONS(250), + [anon_sym_to_json] = ACTIONS(250), + [anon_sym_write] = ACTIONS(250), }, [61] = { - [ts_builtin_sym_end] = ACTIONS(238), - [sym__identifier_pattern] = ACTIONS(240), + [ts_builtin_sym_end] = ACTIONS(252), + [sym__identifier_pattern] = ACTIONS(254), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(240), - [anon_sym_LBRACE] = ACTIONS(238), - [anon_sym_RBRACE] = ACTIONS(238), - [anon_sym_SEMI] = ACTIONS(238), - [sym_integer] = ACTIONS(240), - [sym_float] = ACTIONS(238), - [sym_string] = ACTIONS(238), - [anon_sym_true] = ACTIONS(240), - [anon_sym_false] = ACTIONS(240), - [anon_sym_LBRACK] = ACTIONS(238), - [anon_sym_EQ] = ACTIONS(240), - [anon_sym_COLON] = ACTIONS(238), - [anon_sym_DOT_DOT] = ACTIONS(238), - [anon_sym_LPAREN] = ACTIONS(238), - [anon_sym_PLUS] = ACTIONS(240), - [anon_sym_DASH] = ACTIONS(240), - [anon_sym_STAR] = ACTIONS(238), - [anon_sym_SLASH] = ACTIONS(238), - [anon_sym_PERCENT] = ACTIONS(238), - [anon_sym_EQ_EQ] = ACTIONS(238), - [anon_sym_BANG_EQ] = ACTIONS(238), - [anon_sym_AMP_AMP] = ACTIONS(238), - [anon_sym_PIPE_PIPE] = ACTIONS(238), - [anon_sym_GT] = ACTIONS(240), - [anon_sym_LT] = ACTIONS(240), - [anon_sym_GT_EQ] = ACTIONS(238), - [anon_sym_LT_EQ] = ACTIONS(238), - [anon_sym_PLUS_EQ] = ACTIONS(238), - [anon_sym_DASH_EQ] = ACTIONS(238), - [anon_sym_if] = ACTIONS(240), - [anon_sym_match] = ACTIONS(240), - [anon_sym_while] = ACTIONS(240), - [anon_sym_for] = ACTIONS(240), - [anon_sym_asyncfor] = ACTIONS(238), - [anon_sym_return] = ACTIONS(240), - [anon_sym_DASH_GT] = ACTIONS(238), - [anon_sym_assert] = ACTIONS(240), - [anon_sym_assert_equal] = ACTIONS(240), - [anon_sym_bash] = ACTIONS(240), - [anon_sym_download] = ACTIONS(240), - [anon_sym_fish] = ACTIONS(240), - [anon_sym_from_json] = ACTIONS(240), - [anon_sym_length] = ACTIONS(240), - [anon_sym_metadata] = ACTIONS(240), - [anon_sym_output] = ACTIONS(240), - [anon_sym_output_error] = ACTIONS(240), - [anon_sym_random] = ACTIONS(240), - [anon_sym_random_boolean] = ACTIONS(240), - [anon_sym_random_float] = ACTIONS(240), - [anon_sym_random_integer] = ACTIONS(240), - [anon_sym_read] = ACTIONS(240), - [anon_sym_to_json] = ACTIONS(240), - [anon_sym_write] = ACTIONS(240), + [anon_sym_async] = ACTIONS(254), + [anon_sym_LBRACE] = ACTIONS(252), + [anon_sym_RBRACE] = ACTIONS(252), + [anon_sym_SEMI] = ACTIONS(252), + [sym_integer] = ACTIONS(254), + [sym_float] = ACTIONS(252), + [sym_string] = ACTIONS(252), + [anon_sym_true] = ACTIONS(254), + [anon_sym_false] = ACTIONS(254), + [anon_sym_LBRACK] = ACTIONS(252), + [anon_sym_EQ] = ACTIONS(254), + [anon_sym_none] = ACTIONS(254), + [anon_sym_some] = ACTIONS(254), + [anon_sym_LPAREN] = ACTIONS(252), + [anon_sym_COLON] = ACTIONS(252), + [anon_sym_DOT_DOT] = ACTIONS(252), + [anon_sym_PLUS] = ACTIONS(254), + [anon_sym_DASH] = ACTIONS(254), + [anon_sym_STAR] = ACTIONS(252), + [anon_sym_SLASH] = ACTIONS(252), + [anon_sym_PERCENT] = ACTIONS(252), + [anon_sym_EQ_EQ] = ACTIONS(252), + [anon_sym_BANG_EQ] = ACTIONS(252), + [anon_sym_AMP_AMP] = ACTIONS(252), + [anon_sym_PIPE_PIPE] = ACTIONS(252), + [anon_sym_GT] = ACTIONS(254), + [anon_sym_LT] = ACTIONS(254), + [anon_sym_GT_EQ] = ACTIONS(252), + [anon_sym_LT_EQ] = ACTIONS(252), + [anon_sym_PLUS_EQ] = ACTIONS(252), + [anon_sym_DASH_EQ] = ACTIONS(252), + [anon_sym_if] = ACTIONS(254), + [anon_sym_match] = ACTIONS(254), + [anon_sym_while] = ACTIONS(254), + [anon_sym_for] = ACTIONS(254), + [anon_sym_asyncfor] = ACTIONS(252), + [anon_sym_return] = ACTIONS(254), + [anon_sym_DASH_GT] = ACTIONS(252), + [anon_sym_assert] = ACTIONS(254), + [anon_sym_assert_equal] = ACTIONS(254), + [anon_sym_bash] = ACTIONS(254), + [anon_sym_download] = ACTIONS(254), + [anon_sym_fish] = ACTIONS(254), + [anon_sym_from_json] = ACTIONS(254), + [anon_sym_length] = ACTIONS(254), + [anon_sym_metadata] = ACTIONS(254), + [anon_sym_output] = ACTIONS(254), + [anon_sym_output_error] = ACTIONS(254), + [anon_sym_random] = ACTIONS(254), + [anon_sym_random_boolean] = ACTIONS(254), + [anon_sym_random_float] = ACTIONS(254), + [anon_sym_random_integer] = ACTIONS(254), + [anon_sym_read] = ACTIONS(254), + [anon_sym_to_json] = ACTIONS(254), + [anon_sym_write] = ACTIONS(254), }, [62] = { - [ts_builtin_sym_end] = ACTIONS(216), - [sym__identifier_pattern] = ACTIONS(218), + [ts_builtin_sym_end] = ACTIONS(256), + [sym__identifier_pattern] = ACTIONS(258), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(218), - [anon_sym_LBRACE] = ACTIONS(216), - [anon_sym_RBRACE] = ACTIONS(216), - [anon_sym_SEMI] = ACTIONS(216), - [sym_integer] = ACTIONS(218), - [sym_float] = ACTIONS(216), - [sym_string] = ACTIONS(216), - [anon_sym_true] = ACTIONS(218), - [anon_sym_false] = ACTIONS(218), - [anon_sym_LBRACK] = ACTIONS(216), - [anon_sym_EQ] = ACTIONS(218), - [anon_sym_COLON] = ACTIONS(216), - [anon_sym_DOT_DOT] = ACTIONS(216), - [anon_sym_LPAREN] = ACTIONS(216), - [anon_sym_PLUS] = ACTIONS(218), - [anon_sym_DASH] = ACTIONS(218), - [anon_sym_STAR] = ACTIONS(216), - [anon_sym_SLASH] = ACTIONS(216), - [anon_sym_PERCENT] = ACTIONS(216), - [anon_sym_EQ_EQ] = ACTIONS(216), - [anon_sym_BANG_EQ] = ACTIONS(216), - [anon_sym_AMP_AMP] = ACTIONS(216), - [anon_sym_PIPE_PIPE] = ACTIONS(216), - [anon_sym_GT] = ACTIONS(218), - [anon_sym_LT] = ACTIONS(218), - [anon_sym_GT_EQ] = ACTIONS(216), - [anon_sym_LT_EQ] = ACTIONS(216), - [anon_sym_PLUS_EQ] = ACTIONS(216), - [anon_sym_DASH_EQ] = ACTIONS(216), - [anon_sym_if] = ACTIONS(218), - [anon_sym_match] = ACTIONS(218), - [anon_sym_while] = ACTIONS(218), - [anon_sym_for] = ACTIONS(218), - [anon_sym_asyncfor] = ACTIONS(216), - [anon_sym_return] = ACTIONS(218), - [anon_sym_DASH_GT] = ACTIONS(216), - [anon_sym_assert] = ACTIONS(218), - [anon_sym_assert_equal] = ACTIONS(218), - [anon_sym_bash] = ACTIONS(218), - [anon_sym_download] = ACTIONS(218), - [anon_sym_fish] = ACTIONS(218), - [anon_sym_from_json] = ACTIONS(218), - [anon_sym_length] = ACTIONS(218), - [anon_sym_metadata] = ACTIONS(218), - [anon_sym_output] = ACTIONS(218), - [anon_sym_output_error] = ACTIONS(218), - [anon_sym_random] = ACTIONS(218), - [anon_sym_random_boolean] = ACTIONS(218), - [anon_sym_random_float] = ACTIONS(218), - [anon_sym_random_integer] = ACTIONS(218), - [anon_sym_read] = ACTIONS(218), - [anon_sym_to_json] = ACTIONS(218), - [anon_sym_write] = ACTIONS(218), + [anon_sym_async] = ACTIONS(258), + [anon_sym_LBRACE] = ACTIONS(256), + [anon_sym_RBRACE] = ACTIONS(256), + [anon_sym_SEMI] = ACTIONS(256), + [sym_integer] = ACTIONS(258), + [sym_float] = ACTIONS(256), + [sym_string] = ACTIONS(256), + [anon_sym_true] = ACTIONS(258), + [anon_sym_false] = ACTIONS(258), + [anon_sym_LBRACK] = ACTIONS(256), + [anon_sym_EQ] = ACTIONS(258), + [anon_sym_none] = ACTIONS(258), + [anon_sym_some] = ACTIONS(258), + [anon_sym_LPAREN] = ACTIONS(256), + [anon_sym_COLON] = ACTIONS(256), + [anon_sym_DOT_DOT] = ACTIONS(256), + [anon_sym_PLUS] = ACTIONS(258), + [anon_sym_DASH] = ACTIONS(258), + [anon_sym_STAR] = ACTIONS(256), + [anon_sym_SLASH] = ACTIONS(256), + [anon_sym_PERCENT] = ACTIONS(256), + [anon_sym_EQ_EQ] = ACTIONS(256), + [anon_sym_BANG_EQ] = ACTIONS(256), + [anon_sym_AMP_AMP] = ACTIONS(256), + [anon_sym_PIPE_PIPE] = ACTIONS(256), + [anon_sym_GT] = ACTIONS(258), + [anon_sym_LT] = ACTIONS(258), + [anon_sym_GT_EQ] = ACTIONS(256), + [anon_sym_LT_EQ] = ACTIONS(256), + [anon_sym_PLUS_EQ] = ACTIONS(256), + [anon_sym_DASH_EQ] = ACTIONS(256), + [anon_sym_if] = ACTIONS(258), + [anon_sym_match] = ACTIONS(258), + [anon_sym_while] = ACTIONS(258), + [anon_sym_for] = ACTIONS(258), + [anon_sym_asyncfor] = ACTIONS(256), + [anon_sym_return] = ACTIONS(258), + [anon_sym_DASH_GT] = ACTIONS(256), + [anon_sym_assert] = ACTIONS(258), + [anon_sym_assert_equal] = ACTIONS(258), + [anon_sym_bash] = ACTIONS(258), + [anon_sym_download] = ACTIONS(258), + [anon_sym_fish] = ACTIONS(258), + [anon_sym_from_json] = ACTIONS(258), + [anon_sym_length] = ACTIONS(258), + [anon_sym_metadata] = ACTIONS(258), + [anon_sym_output] = ACTIONS(258), + [anon_sym_output_error] = ACTIONS(258), + [anon_sym_random] = ACTIONS(258), + [anon_sym_random_boolean] = ACTIONS(258), + [anon_sym_random_float] = ACTIONS(258), + [anon_sym_random_integer] = ACTIONS(258), + [anon_sym_read] = ACTIONS(258), + [anon_sym_to_json] = ACTIONS(258), + [anon_sym_write] = ACTIONS(258), }, [63] = { - [sym_assignment_operator] = STATE(50), - [ts_builtin_sym_end] = ACTIONS(216), - [sym__identifier_pattern] = ACTIONS(218), + [ts_builtin_sym_end] = ACTIONS(260), + [sym__identifier_pattern] = ACTIONS(262), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(218), - [anon_sym_LBRACE] = ACTIONS(216), - [anon_sym_RBRACE] = ACTIONS(216), - [anon_sym_SEMI] = ACTIONS(216), - [sym_integer] = ACTIONS(218), - [sym_float] = ACTIONS(216), - [sym_string] = ACTIONS(216), - [anon_sym_true] = ACTIONS(218), - [anon_sym_false] = ACTIONS(218), - [anon_sym_LBRACK] = ACTIONS(216), - [anon_sym_EQ] = ACTIONS(220), - [anon_sym_COLON] = ACTIONS(216), - [anon_sym_LPAREN] = ACTIONS(216), - [anon_sym_PLUS] = ACTIONS(218), - [anon_sym_DASH] = ACTIONS(218), - [anon_sym_STAR] = ACTIONS(216), - [anon_sym_SLASH] = ACTIONS(216), - [anon_sym_PERCENT] = ACTIONS(216), - [anon_sym_EQ_EQ] = ACTIONS(216), - [anon_sym_BANG_EQ] = ACTIONS(216), - [anon_sym_AMP_AMP] = ACTIONS(216), - [anon_sym_PIPE_PIPE] = ACTIONS(216), - [anon_sym_GT] = ACTIONS(218), - [anon_sym_LT] = ACTIONS(218), - [anon_sym_GT_EQ] = ACTIONS(216), - [anon_sym_LT_EQ] = ACTIONS(216), - [anon_sym_PLUS_EQ] = ACTIONS(224), - [anon_sym_DASH_EQ] = ACTIONS(224), - [anon_sym_if] = ACTIONS(218), - [anon_sym_match] = ACTIONS(218), - [anon_sym_while] = ACTIONS(218), - [anon_sym_for] = ACTIONS(218), - [anon_sym_asyncfor] = ACTIONS(216), - [anon_sym_return] = ACTIONS(218), - [anon_sym_DASH_GT] = ACTIONS(216), - [anon_sym_assert] = ACTIONS(218), - [anon_sym_assert_equal] = ACTIONS(218), - [anon_sym_bash] = ACTIONS(218), - [anon_sym_download] = ACTIONS(218), - [anon_sym_fish] = ACTIONS(218), - [anon_sym_from_json] = ACTIONS(218), - [anon_sym_length] = ACTIONS(218), - [anon_sym_metadata] = ACTIONS(218), - [anon_sym_output] = ACTIONS(218), - [anon_sym_output_error] = ACTIONS(218), - [anon_sym_random] = ACTIONS(218), - [anon_sym_random_boolean] = ACTIONS(218), - [anon_sym_random_float] = ACTIONS(218), - [anon_sym_random_integer] = ACTIONS(218), - [anon_sym_read] = ACTIONS(218), - [anon_sym_to_json] = ACTIONS(218), - [anon_sym_write] = ACTIONS(218), + [anon_sym_async] = ACTIONS(262), + [anon_sym_LBRACE] = ACTIONS(260), + [anon_sym_RBRACE] = ACTIONS(260), + [anon_sym_SEMI] = ACTIONS(260), + [sym_integer] = ACTIONS(262), + [sym_float] = ACTIONS(260), + [sym_string] = ACTIONS(260), + [anon_sym_true] = ACTIONS(262), + [anon_sym_false] = ACTIONS(262), + [anon_sym_LBRACK] = ACTIONS(260), + [anon_sym_EQ] = ACTIONS(262), + [anon_sym_none] = ACTIONS(262), + [anon_sym_some] = ACTIONS(262), + [anon_sym_LPAREN] = ACTIONS(260), + [anon_sym_COLON] = ACTIONS(260), + [anon_sym_DOT_DOT] = ACTIONS(260), + [anon_sym_PLUS] = ACTIONS(262), + [anon_sym_DASH] = ACTIONS(262), + [anon_sym_STAR] = ACTIONS(260), + [anon_sym_SLASH] = ACTIONS(260), + [anon_sym_PERCENT] = ACTIONS(260), + [anon_sym_EQ_EQ] = ACTIONS(260), + [anon_sym_BANG_EQ] = ACTIONS(260), + [anon_sym_AMP_AMP] = ACTIONS(260), + [anon_sym_PIPE_PIPE] = ACTIONS(260), + [anon_sym_GT] = ACTIONS(262), + [anon_sym_LT] = ACTIONS(262), + [anon_sym_GT_EQ] = ACTIONS(260), + [anon_sym_LT_EQ] = ACTIONS(260), + [anon_sym_PLUS_EQ] = ACTIONS(260), + [anon_sym_DASH_EQ] = ACTIONS(260), + [anon_sym_if] = ACTIONS(262), + [anon_sym_match] = ACTIONS(262), + [anon_sym_while] = ACTIONS(262), + [anon_sym_for] = ACTIONS(262), + [anon_sym_asyncfor] = ACTIONS(260), + [anon_sym_return] = ACTIONS(262), + [anon_sym_DASH_GT] = ACTIONS(260), + [anon_sym_assert] = ACTIONS(262), + [anon_sym_assert_equal] = ACTIONS(262), + [anon_sym_bash] = ACTIONS(262), + [anon_sym_download] = ACTIONS(262), + [anon_sym_fish] = ACTIONS(262), + [anon_sym_from_json] = ACTIONS(262), + [anon_sym_length] = ACTIONS(262), + [anon_sym_metadata] = ACTIONS(262), + [anon_sym_output] = ACTIONS(262), + [anon_sym_output_error] = ACTIONS(262), + [anon_sym_random] = ACTIONS(262), + [anon_sym_random_boolean] = ACTIONS(262), + [anon_sym_random_float] = ACTIONS(262), + [anon_sym_random_integer] = ACTIONS(262), + [anon_sym_read] = ACTIONS(262), + [anon_sym_to_json] = ACTIONS(262), + [anon_sym_write] = ACTIONS(262), }, [64] = { - [ts_builtin_sym_end] = ACTIONS(242), - [sym__identifier_pattern] = ACTIONS(244), + [ts_builtin_sym_end] = ACTIONS(264), + [sym__identifier_pattern] = ACTIONS(266), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(244), - [anon_sym_LBRACE] = ACTIONS(242), - [anon_sym_RBRACE] = ACTIONS(242), - [anon_sym_SEMI] = ACTIONS(242), - [sym_integer] = ACTIONS(244), - [sym_float] = ACTIONS(242), - [sym_string] = ACTIONS(242), - [anon_sym_true] = ACTIONS(244), - [anon_sym_false] = ACTIONS(244), - [anon_sym_LBRACK] = ACTIONS(242), - [anon_sym_EQ] = ACTIONS(244), - [anon_sym_COLON] = ACTIONS(242), - [anon_sym_DOT_DOT] = ACTIONS(242), - [anon_sym_LPAREN] = ACTIONS(242), - [anon_sym_PLUS] = ACTIONS(244), - [anon_sym_DASH] = ACTIONS(244), - [anon_sym_STAR] = ACTIONS(242), - [anon_sym_SLASH] = ACTIONS(242), - [anon_sym_PERCENT] = ACTIONS(242), - [anon_sym_EQ_EQ] = ACTIONS(242), - [anon_sym_BANG_EQ] = ACTIONS(242), - [anon_sym_AMP_AMP] = ACTIONS(242), - [anon_sym_PIPE_PIPE] = ACTIONS(242), - [anon_sym_GT] = ACTIONS(244), - [anon_sym_LT] = ACTIONS(244), - [anon_sym_GT_EQ] = ACTIONS(242), - [anon_sym_LT_EQ] = ACTIONS(242), - [anon_sym_PLUS_EQ] = ACTIONS(242), - [anon_sym_DASH_EQ] = ACTIONS(242), - [anon_sym_if] = ACTIONS(244), - [anon_sym_match] = ACTIONS(244), - [anon_sym_while] = ACTIONS(244), - [anon_sym_for] = ACTIONS(244), - [anon_sym_asyncfor] = ACTIONS(242), - [anon_sym_return] = ACTIONS(244), - [anon_sym_DASH_GT] = ACTIONS(242), - [anon_sym_assert] = ACTIONS(244), - [anon_sym_assert_equal] = ACTIONS(244), - [anon_sym_bash] = ACTIONS(244), - [anon_sym_download] = ACTIONS(244), - [anon_sym_fish] = ACTIONS(244), - [anon_sym_from_json] = ACTIONS(244), - [anon_sym_length] = ACTIONS(244), - [anon_sym_metadata] = ACTIONS(244), - [anon_sym_output] = ACTIONS(244), - [anon_sym_output_error] = ACTIONS(244), - [anon_sym_random] = ACTIONS(244), - [anon_sym_random_boolean] = ACTIONS(244), - [anon_sym_random_float] = ACTIONS(244), - [anon_sym_random_integer] = ACTIONS(244), - [anon_sym_read] = ACTIONS(244), - [anon_sym_to_json] = ACTIONS(244), - [anon_sym_write] = ACTIONS(244), + [anon_sym_async] = ACTIONS(266), + [anon_sym_LBRACE] = ACTIONS(264), + [anon_sym_RBRACE] = ACTIONS(264), + [anon_sym_SEMI] = ACTIONS(264), + [sym_integer] = ACTIONS(266), + [sym_float] = ACTIONS(264), + [sym_string] = ACTIONS(264), + [anon_sym_true] = ACTIONS(266), + [anon_sym_false] = ACTIONS(266), + [anon_sym_LBRACK] = ACTIONS(264), + [anon_sym_EQ] = ACTIONS(266), + [anon_sym_none] = ACTIONS(266), + [anon_sym_some] = ACTIONS(266), + [anon_sym_LPAREN] = ACTIONS(264), + [anon_sym_COLON] = ACTIONS(264), + [anon_sym_DOT_DOT] = ACTIONS(264), + [anon_sym_PLUS] = ACTIONS(266), + [anon_sym_DASH] = ACTIONS(266), + [anon_sym_STAR] = ACTIONS(264), + [anon_sym_SLASH] = ACTIONS(264), + [anon_sym_PERCENT] = ACTIONS(264), + [anon_sym_EQ_EQ] = ACTIONS(264), + [anon_sym_BANG_EQ] = ACTIONS(264), + [anon_sym_AMP_AMP] = ACTIONS(264), + [anon_sym_PIPE_PIPE] = ACTIONS(264), + [anon_sym_GT] = ACTIONS(266), + [anon_sym_LT] = ACTIONS(266), + [anon_sym_GT_EQ] = ACTIONS(264), + [anon_sym_LT_EQ] = ACTIONS(264), + [anon_sym_PLUS_EQ] = ACTIONS(264), + [anon_sym_DASH_EQ] = ACTIONS(264), + [anon_sym_if] = ACTIONS(266), + [anon_sym_match] = ACTIONS(266), + [anon_sym_while] = ACTIONS(266), + [anon_sym_for] = ACTIONS(266), + [anon_sym_asyncfor] = ACTIONS(264), + [anon_sym_return] = ACTIONS(266), + [anon_sym_DASH_GT] = ACTIONS(264), + [anon_sym_assert] = ACTIONS(266), + [anon_sym_assert_equal] = ACTIONS(266), + [anon_sym_bash] = ACTIONS(266), + [anon_sym_download] = ACTIONS(266), + [anon_sym_fish] = ACTIONS(266), + [anon_sym_from_json] = ACTIONS(266), + [anon_sym_length] = ACTIONS(266), + [anon_sym_metadata] = ACTIONS(266), + [anon_sym_output] = ACTIONS(266), + [anon_sym_output_error] = ACTIONS(266), + [anon_sym_random] = ACTIONS(266), + [anon_sym_random_boolean] = ACTIONS(266), + [anon_sym_random_float] = ACTIONS(266), + [anon_sym_random_integer] = ACTIONS(266), + [anon_sym_read] = ACTIONS(266), + [anon_sym_to_json] = ACTIONS(266), + [anon_sym_write] = ACTIONS(266), }, [65] = { - [ts_builtin_sym_end] = ACTIONS(246), - [sym__identifier_pattern] = ACTIONS(248), + [ts_builtin_sym_end] = ACTIONS(268), + [sym__identifier_pattern] = ACTIONS(270), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(248), - [anon_sym_LBRACE] = ACTIONS(246), - [anon_sym_RBRACE] = ACTIONS(246), - [anon_sym_SEMI] = ACTIONS(246), - [sym_integer] = ACTIONS(248), - [sym_float] = ACTIONS(246), - [sym_string] = ACTIONS(246), - [anon_sym_true] = ACTIONS(248), - [anon_sym_false] = ACTIONS(248), - [anon_sym_LBRACK] = ACTIONS(246), - [anon_sym_EQ] = ACTIONS(248), - [anon_sym_COLON] = ACTIONS(246), - [anon_sym_DOT_DOT] = ACTIONS(246), - [anon_sym_LPAREN] = ACTIONS(246), - [anon_sym_PLUS] = ACTIONS(248), - [anon_sym_DASH] = ACTIONS(248), - [anon_sym_STAR] = ACTIONS(246), - [anon_sym_SLASH] = ACTIONS(246), - [anon_sym_PERCENT] = ACTIONS(246), - [anon_sym_EQ_EQ] = ACTIONS(246), - [anon_sym_BANG_EQ] = ACTIONS(246), - [anon_sym_AMP_AMP] = ACTIONS(246), - [anon_sym_PIPE_PIPE] = ACTIONS(246), - [anon_sym_GT] = ACTIONS(248), - [anon_sym_LT] = ACTIONS(248), - [anon_sym_GT_EQ] = ACTIONS(246), - [anon_sym_LT_EQ] = ACTIONS(246), - [anon_sym_PLUS_EQ] = ACTIONS(246), - [anon_sym_DASH_EQ] = ACTIONS(246), - [anon_sym_if] = ACTIONS(248), - [anon_sym_match] = ACTIONS(248), - [anon_sym_while] = ACTIONS(248), - [anon_sym_for] = ACTIONS(248), - [anon_sym_asyncfor] = ACTIONS(246), - [anon_sym_return] = ACTIONS(248), - [anon_sym_DASH_GT] = ACTIONS(246), - [anon_sym_assert] = ACTIONS(248), - [anon_sym_assert_equal] = ACTIONS(248), - [anon_sym_bash] = ACTIONS(248), - [anon_sym_download] = ACTIONS(248), - [anon_sym_fish] = ACTIONS(248), - [anon_sym_from_json] = ACTIONS(248), - [anon_sym_length] = ACTIONS(248), - [anon_sym_metadata] = ACTIONS(248), - [anon_sym_output] = ACTIONS(248), - [anon_sym_output_error] = ACTIONS(248), - [anon_sym_random] = ACTIONS(248), - [anon_sym_random_boolean] = ACTIONS(248), - [anon_sym_random_float] = ACTIONS(248), - [anon_sym_random_integer] = ACTIONS(248), - [anon_sym_read] = ACTIONS(248), - [anon_sym_to_json] = ACTIONS(248), - [anon_sym_write] = ACTIONS(248), + [anon_sym_async] = ACTIONS(270), + [anon_sym_LBRACE] = ACTIONS(268), + [anon_sym_RBRACE] = ACTIONS(268), + [anon_sym_SEMI] = ACTIONS(268), + [sym_integer] = ACTIONS(270), + [sym_float] = ACTIONS(268), + [sym_string] = ACTIONS(268), + [anon_sym_true] = ACTIONS(270), + [anon_sym_false] = ACTIONS(270), + [anon_sym_LBRACK] = ACTIONS(268), + [anon_sym_EQ] = ACTIONS(270), + [anon_sym_none] = ACTIONS(270), + [anon_sym_some] = ACTIONS(270), + [anon_sym_LPAREN] = ACTIONS(268), + [anon_sym_COLON] = ACTIONS(268), + [anon_sym_DOT_DOT] = ACTIONS(268), + [anon_sym_PLUS] = ACTIONS(270), + [anon_sym_DASH] = ACTIONS(270), + [anon_sym_STAR] = ACTIONS(268), + [anon_sym_SLASH] = ACTIONS(268), + [anon_sym_PERCENT] = ACTIONS(268), + [anon_sym_EQ_EQ] = ACTIONS(268), + [anon_sym_BANG_EQ] = ACTIONS(268), + [anon_sym_AMP_AMP] = ACTIONS(268), + [anon_sym_PIPE_PIPE] = ACTIONS(268), + [anon_sym_GT] = ACTIONS(270), + [anon_sym_LT] = ACTIONS(270), + [anon_sym_GT_EQ] = ACTIONS(268), + [anon_sym_LT_EQ] = ACTIONS(268), + [anon_sym_PLUS_EQ] = ACTIONS(268), + [anon_sym_DASH_EQ] = ACTIONS(268), + [anon_sym_if] = ACTIONS(270), + [anon_sym_match] = ACTIONS(270), + [anon_sym_while] = ACTIONS(270), + [anon_sym_for] = ACTIONS(270), + [anon_sym_asyncfor] = ACTIONS(268), + [anon_sym_return] = ACTIONS(270), + [anon_sym_DASH_GT] = ACTIONS(268), + [anon_sym_assert] = ACTIONS(270), + [anon_sym_assert_equal] = ACTIONS(270), + [anon_sym_bash] = ACTIONS(270), + [anon_sym_download] = ACTIONS(270), + [anon_sym_fish] = ACTIONS(270), + [anon_sym_from_json] = ACTIONS(270), + [anon_sym_length] = ACTIONS(270), + [anon_sym_metadata] = ACTIONS(270), + [anon_sym_output] = ACTIONS(270), + [anon_sym_output_error] = ACTIONS(270), + [anon_sym_random] = ACTIONS(270), + [anon_sym_random_boolean] = ACTIONS(270), + [anon_sym_random_float] = ACTIONS(270), + [anon_sym_random_integer] = ACTIONS(270), + [anon_sym_read] = ACTIONS(270), + [anon_sym_to_json] = ACTIONS(270), + [anon_sym_write] = ACTIONS(270), }, [66] = { - [ts_builtin_sym_end] = ACTIONS(250), - [sym__identifier_pattern] = ACTIONS(252), + [ts_builtin_sym_end] = ACTIONS(272), + [sym__identifier_pattern] = ACTIONS(274), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(252), - [anon_sym_LBRACE] = ACTIONS(250), - [anon_sym_RBRACE] = ACTIONS(250), - [anon_sym_SEMI] = ACTIONS(250), - [sym_integer] = ACTIONS(252), - [sym_float] = ACTIONS(250), - [sym_string] = ACTIONS(250), - [anon_sym_true] = ACTIONS(252), - [anon_sym_false] = ACTIONS(252), - [anon_sym_LBRACK] = ACTIONS(250), - [anon_sym_EQ] = ACTIONS(252), - [anon_sym_COLON] = ACTIONS(250), - [anon_sym_DOT_DOT] = ACTIONS(250), - [anon_sym_LPAREN] = ACTIONS(250), - [anon_sym_PLUS] = ACTIONS(252), - [anon_sym_DASH] = ACTIONS(252), - [anon_sym_STAR] = ACTIONS(250), - [anon_sym_SLASH] = ACTIONS(250), - [anon_sym_PERCENT] = ACTIONS(250), - [anon_sym_EQ_EQ] = ACTIONS(250), - [anon_sym_BANG_EQ] = ACTIONS(250), - [anon_sym_AMP_AMP] = ACTIONS(250), - [anon_sym_PIPE_PIPE] = ACTIONS(250), - [anon_sym_GT] = ACTIONS(252), - [anon_sym_LT] = ACTIONS(252), - [anon_sym_GT_EQ] = ACTIONS(250), - [anon_sym_LT_EQ] = ACTIONS(250), - [anon_sym_PLUS_EQ] = ACTIONS(250), - [anon_sym_DASH_EQ] = ACTIONS(250), - [anon_sym_if] = ACTIONS(252), - [anon_sym_match] = ACTIONS(252), - [anon_sym_while] = ACTIONS(252), - [anon_sym_for] = ACTIONS(252), - [anon_sym_asyncfor] = ACTIONS(250), - [anon_sym_return] = ACTIONS(252), - [anon_sym_DASH_GT] = ACTIONS(250), - [anon_sym_assert] = ACTIONS(252), - [anon_sym_assert_equal] = ACTIONS(252), - [anon_sym_bash] = ACTIONS(252), - [anon_sym_download] = ACTIONS(252), - [anon_sym_fish] = ACTIONS(252), - [anon_sym_from_json] = ACTIONS(252), - [anon_sym_length] = ACTIONS(252), - [anon_sym_metadata] = ACTIONS(252), - [anon_sym_output] = ACTIONS(252), - [anon_sym_output_error] = ACTIONS(252), - [anon_sym_random] = ACTIONS(252), - [anon_sym_random_boolean] = ACTIONS(252), - [anon_sym_random_float] = ACTIONS(252), - [anon_sym_random_integer] = ACTIONS(252), - [anon_sym_read] = ACTIONS(252), - [anon_sym_to_json] = ACTIONS(252), - [anon_sym_write] = ACTIONS(252), + [anon_sym_async] = ACTIONS(274), + [anon_sym_LBRACE] = ACTIONS(272), + [anon_sym_RBRACE] = ACTIONS(272), + [anon_sym_SEMI] = ACTIONS(272), + [sym_integer] = ACTIONS(274), + [sym_float] = ACTIONS(272), + [sym_string] = ACTIONS(272), + [anon_sym_true] = ACTIONS(274), + [anon_sym_false] = ACTIONS(274), + [anon_sym_LBRACK] = ACTIONS(272), + [anon_sym_EQ] = ACTIONS(274), + [anon_sym_none] = ACTIONS(274), + [anon_sym_some] = ACTIONS(274), + [anon_sym_LPAREN] = ACTIONS(272), + [anon_sym_COLON] = ACTIONS(272), + [anon_sym_DOT_DOT] = ACTIONS(272), + [anon_sym_PLUS] = ACTIONS(274), + [anon_sym_DASH] = ACTIONS(274), + [anon_sym_STAR] = ACTIONS(272), + [anon_sym_SLASH] = ACTIONS(272), + [anon_sym_PERCENT] = ACTIONS(272), + [anon_sym_EQ_EQ] = ACTIONS(272), + [anon_sym_BANG_EQ] = ACTIONS(272), + [anon_sym_AMP_AMP] = ACTIONS(272), + [anon_sym_PIPE_PIPE] = ACTIONS(272), + [anon_sym_GT] = ACTIONS(274), + [anon_sym_LT] = ACTIONS(274), + [anon_sym_GT_EQ] = ACTIONS(272), + [anon_sym_LT_EQ] = ACTIONS(272), + [anon_sym_PLUS_EQ] = ACTIONS(272), + [anon_sym_DASH_EQ] = ACTIONS(272), + [anon_sym_if] = ACTIONS(274), + [anon_sym_match] = ACTIONS(274), + [anon_sym_while] = ACTIONS(274), + [anon_sym_for] = ACTIONS(274), + [anon_sym_asyncfor] = ACTIONS(272), + [anon_sym_return] = ACTIONS(274), + [anon_sym_DASH_GT] = ACTIONS(272), + [anon_sym_assert] = ACTIONS(274), + [anon_sym_assert_equal] = ACTIONS(274), + [anon_sym_bash] = ACTIONS(274), + [anon_sym_download] = ACTIONS(274), + [anon_sym_fish] = ACTIONS(274), + [anon_sym_from_json] = ACTIONS(274), + [anon_sym_length] = ACTIONS(274), + [anon_sym_metadata] = ACTIONS(274), + [anon_sym_output] = ACTIONS(274), + [anon_sym_output_error] = ACTIONS(274), + [anon_sym_random] = ACTIONS(274), + [anon_sym_random_boolean] = ACTIONS(274), + [anon_sym_random_float] = ACTIONS(274), + [anon_sym_random_integer] = ACTIONS(274), + [anon_sym_read] = ACTIONS(274), + [anon_sym_to_json] = ACTIONS(274), + [anon_sym_write] = ACTIONS(274), }, [67] = { - [ts_builtin_sym_end] = ACTIONS(254), - [sym__identifier_pattern] = ACTIONS(256), + [ts_builtin_sym_end] = ACTIONS(276), + [sym__identifier_pattern] = ACTIONS(278), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(256), - [anon_sym_LBRACE] = ACTIONS(254), - [anon_sym_RBRACE] = ACTIONS(254), - [anon_sym_SEMI] = ACTIONS(254), - [sym_integer] = ACTIONS(256), - [sym_float] = ACTIONS(254), - [sym_string] = ACTIONS(254), - [anon_sym_true] = ACTIONS(256), - [anon_sym_false] = ACTIONS(256), - [anon_sym_LBRACK] = ACTIONS(254), - [anon_sym_EQ] = ACTIONS(256), - [anon_sym_COLON] = ACTIONS(254), - [anon_sym_DOT_DOT] = ACTIONS(254), - [anon_sym_LPAREN] = ACTIONS(254), - [anon_sym_PLUS] = ACTIONS(256), - [anon_sym_DASH] = ACTIONS(256), - [anon_sym_STAR] = ACTIONS(254), - [anon_sym_SLASH] = ACTIONS(254), - [anon_sym_PERCENT] = ACTIONS(254), - [anon_sym_EQ_EQ] = ACTIONS(254), - [anon_sym_BANG_EQ] = ACTIONS(254), - [anon_sym_AMP_AMP] = ACTIONS(254), - [anon_sym_PIPE_PIPE] = ACTIONS(254), - [anon_sym_GT] = ACTIONS(256), - [anon_sym_LT] = ACTIONS(256), - [anon_sym_GT_EQ] = ACTIONS(254), - [anon_sym_LT_EQ] = ACTIONS(254), - [anon_sym_PLUS_EQ] = ACTIONS(254), - [anon_sym_DASH_EQ] = ACTIONS(254), - [anon_sym_if] = ACTIONS(256), - [anon_sym_match] = ACTIONS(256), - [anon_sym_while] = ACTIONS(256), - [anon_sym_for] = ACTIONS(256), - [anon_sym_asyncfor] = ACTIONS(254), - [anon_sym_return] = ACTIONS(256), - [anon_sym_DASH_GT] = ACTIONS(254), - [anon_sym_assert] = ACTIONS(256), - [anon_sym_assert_equal] = ACTIONS(256), - [anon_sym_bash] = ACTIONS(256), - [anon_sym_download] = ACTIONS(256), - [anon_sym_fish] = ACTIONS(256), - [anon_sym_from_json] = ACTIONS(256), - [anon_sym_length] = ACTIONS(256), - [anon_sym_metadata] = ACTIONS(256), - [anon_sym_output] = ACTIONS(256), - [anon_sym_output_error] = ACTIONS(256), - [anon_sym_random] = ACTIONS(256), - [anon_sym_random_boolean] = ACTIONS(256), - [anon_sym_random_float] = ACTIONS(256), - [anon_sym_random_integer] = ACTIONS(256), - [anon_sym_read] = ACTIONS(256), - [anon_sym_to_json] = ACTIONS(256), - [anon_sym_write] = ACTIONS(256), + [anon_sym_async] = ACTIONS(278), + [anon_sym_LBRACE] = ACTIONS(276), + [anon_sym_RBRACE] = ACTIONS(276), + [anon_sym_SEMI] = ACTIONS(276), + [sym_integer] = ACTIONS(278), + [sym_float] = ACTIONS(276), + [sym_string] = ACTIONS(276), + [anon_sym_true] = ACTIONS(278), + [anon_sym_false] = ACTIONS(278), + [anon_sym_LBRACK] = ACTIONS(276), + [anon_sym_EQ] = ACTIONS(278), + [anon_sym_none] = ACTIONS(278), + [anon_sym_some] = ACTIONS(278), + [anon_sym_LPAREN] = ACTIONS(276), + [anon_sym_COLON] = ACTIONS(276), + [anon_sym_DOT_DOT] = ACTIONS(276), + [anon_sym_PLUS] = ACTIONS(278), + [anon_sym_DASH] = ACTIONS(278), + [anon_sym_STAR] = ACTIONS(276), + [anon_sym_SLASH] = ACTIONS(276), + [anon_sym_PERCENT] = ACTIONS(276), + [anon_sym_EQ_EQ] = ACTIONS(276), + [anon_sym_BANG_EQ] = ACTIONS(276), + [anon_sym_AMP_AMP] = ACTIONS(276), + [anon_sym_PIPE_PIPE] = ACTIONS(276), + [anon_sym_GT] = ACTIONS(278), + [anon_sym_LT] = ACTIONS(278), + [anon_sym_GT_EQ] = ACTIONS(276), + [anon_sym_LT_EQ] = ACTIONS(276), + [anon_sym_PLUS_EQ] = ACTIONS(276), + [anon_sym_DASH_EQ] = ACTIONS(276), + [anon_sym_if] = ACTIONS(278), + [anon_sym_match] = ACTIONS(278), + [anon_sym_while] = ACTIONS(278), + [anon_sym_for] = ACTIONS(278), + [anon_sym_asyncfor] = ACTIONS(276), + [anon_sym_return] = ACTIONS(278), + [anon_sym_DASH_GT] = ACTIONS(276), + [anon_sym_assert] = ACTIONS(278), + [anon_sym_assert_equal] = ACTIONS(278), + [anon_sym_bash] = ACTIONS(278), + [anon_sym_download] = ACTIONS(278), + [anon_sym_fish] = ACTIONS(278), + [anon_sym_from_json] = ACTIONS(278), + [anon_sym_length] = ACTIONS(278), + [anon_sym_metadata] = ACTIONS(278), + [anon_sym_output] = ACTIONS(278), + [anon_sym_output_error] = ACTIONS(278), + [anon_sym_random] = ACTIONS(278), + [anon_sym_random_boolean] = ACTIONS(278), + [anon_sym_random_float] = ACTIONS(278), + [anon_sym_random_integer] = ACTIONS(278), + [anon_sym_read] = ACTIONS(278), + [anon_sym_to_json] = ACTIONS(278), + [anon_sym_write] = ACTIONS(278), }, [68] = { - [ts_builtin_sym_end] = ACTIONS(258), - [sym__identifier_pattern] = ACTIONS(260), + [sym_assignment_operator] = STATE(34), + [ts_builtin_sym_end] = ACTIONS(230), + [sym__identifier_pattern] = ACTIONS(232), [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(260), - [anon_sym_LBRACE] = ACTIONS(258), - [anon_sym_RBRACE] = ACTIONS(258), - [anon_sym_SEMI] = ACTIONS(258), - [sym_integer] = ACTIONS(260), - [sym_float] = ACTIONS(258), - [sym_string] = ACTIONS(258), - [anon_sym_true] = ACTIONS(260), - [anon_sym_false] = ACTIONS(260), - [anon_sym_LBRACK] = ACTIONS(258), - [anon_sym_EQ] = ACTIONS(260), - [anon_sym_COLON] = ACTIONS(258), - [anon_sym_DOT_DOT] = ACTIONS(258), - [anon_sym_LPAREN] = ACTIONS(258), - [anon_sym_PLUS] = ACTIONS(260), - [anon_sym_DASH] = ACTIONS(260), - [anon_sym_STAR] = ACTIONS(258), - [anon_sym_SLASH] = ACTIONS(258), - [anon_sym_PERCENT] = ACTIONS(258), - [anon_sym_EQ_EQ] = ACTIONS(258), - [anon_sym_BANG_EQ] = ACTIONS(258), - [anon_sym_AMP_AMP] = ACTIONS(258), - [anon_sym_PIPE_PIPE] = ACTIONS(258), - [anon_sym_GT] = ACTIONS(260), - [anon_sym_LT] = ACTIONS(260), - [anon_sym_GT_EQ] = ACTIONS(258), - [anon_sym_LT_EQ] = ACTIONS(258), - [anon_sym_PLUS_EQ] = ACTIONS(258), - [anon_sym_DASH_EQ] = ACTIONS(258), - [anon_sym_if] = ACTIONS(260), - [anon_sym_match] = ACTIONS(260), - [anon_sym_while] = ACTIONS(260), - [anon_sym_for] = ACTIONS(260), - [anon_sym_asyncfor] = ACTIONS(258), - [anon_sym_return] = ACTIONS(260), - [anon_sym_DASH_GT] = ACTIONS(258), - [anon_sym_assert] = ACTIONS(260), - [anon_sym_assert_equal] = ACTIONS(260), - [anon_sym_bash] = ACTIONS(260), - [anon_sym_download] = ACTIONS(260), - [anon_sym_fish] = ACTIONS(260), - [anon_sym_from_json] = ACTIONS(260), - [anon_sym_length] = ACTIONS(260), - [anon_sym_metadata] = ACTIONS(260), - [anon_sym_output] = ACTIONS(260), - [anon_sym_output_error] = ACTIONS(260), - [anon_sym_random] = ACTIONS(260), - [anon_sym_random_boolean] = ACTIONS(260), - [anon_sym_random_float] = ACTIONS(260), - [anon_sym_random_integer] = ACTIONS(260), - [anon_sym_read] = ACTIONS(260), - [anon_sym_to_json] = ACTIONS(260), - [anon_sym_write] = ACTIONS(260), + [anon_sym_async] = ACTIONS(232), + [anon_sym_LBRACE] = ACTIONS(230), + [anon_sym_RBRACE] = ACTIONS(230), + [anon_sym_SEMI] = ACTIONS(230), + [sym_integer] = ACTIONS(232), + [sym_float] = ACTIONS(230), + [sym_string] = ACTIONS(230), + [anon_sym_true] = ACTIONS(232), + [anon_sym_false] = ACTIONS(232), + [anon_sym_LBRACK] = ACTIONS(230), + [anon_sym_EQ] = ACTIONS(234), + [anon_sym_none] = ACTIONS(232), + [anon_sym_some] = ACTIONS(232), + [anon_sym_LPAREN] = ACTIONS(230), + [anon_sym_COLON] = ACTIONS(230), + [anon_sym_PLUS] = ACTIONS(232), + [anon_sym_DASH] = ACTIONS(232), + [anon_sym_STAR] = ACTIONS(230), + [anon_sym_SLASH] = ACTIONS(230), + [anon_sym_PERCENT] = ACTIONS(230), + [anon_sym_EQ_EQ] = ACTIONS(230), + [anon_sym_BANG_EQ] = ACTIONS(230), + [anon_sym_AMP_AMP] = ACTIONS(230), + [anon_sym_PIPE_PIPE] = ACTIONS(230), + [anon_sym_GT] = ACTIONS(232), + [anon_sym_LT] = ACTIONS(232), + [anon_sym_GT_EQ] = ACTIONS(230), + [anon_sym_LT_EQ] = ACTIONS(230), + [anon_sym_PLUS_EQ] = ACTIONS(238), + [anon_sym_DASH_EQ] = ACTIONS(238), + [anon_sym_if] = ACTIONS(232), + [anon_sym_match] = ACTIONS(232), + [anon_sym_while] = ACTIONS(232), + [anon_sym_for] = ACTIONS(232), + [anon_sym_asyncfor] = ACTIONS(230), + [anon_sym_return] = ACTIONS(232), + [anon_sym_DASH_GT] = ACTIONS(230), + [anon_sym_assert] = ACTIONS(232), + [anon_sym_assert_equal] = ACTIONS(232), + [anon_sym_bash] = ACTIONS(232), + [anon_sym_download] = ACTIONS(232), + [anon_sym_fish] = ACTIONS(232), + [anon_sym_from_json] = ACTIONS(232), + [anon_sym_length] = ACTIONS(232), + [anon_sym_metadata] = ACTIONS(232), + [anon_sym_output] = ACTIONS(232), + [anon_sym_output_error] = ACTIONS(232), + [anon_sym_random] = ACTIONS(232), + [anon_sym_random_boolean] = ACTIONS(232), + [anon_sym_random_float] = ACTIONS(232), + [anon_sym_random_integer] = ACTIONS(232), + [anon_sym_read] = ACTIONS(232), + [anon_sym_to_json] = ACTIONS(232), + [anon_sym_write] = ACTIONS(232), }, [69] = { - [ts_builtin_sym_end] = ACTIONS(262), - [sym__identifier_pattern] = ACTIONS(264), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(264), - [anon_sym_LBRACE] = ACTIONS(262), - [anon_sym_RBRACE] = ACTIONS(262), - [anon_sym_SEMI] = ACTIONS(262), - [sym_integer] = ACTIONS(264), - [sym_float] = ACTIONS(262), - [sym_string] = ACTIONS(262), - [anon_sym_true] = ACTIONS(264), - [anon_sym_false] = ACTIONS(264), - [anon_sym_LBRACK] = ACTIONS(262), - [anon_sym_EQ] = ACTIONS(264), - [anon_sym_COLON] = ACTIONS(262), - [anon_sym_DOT_DOT] = ACTIONS(262), - [anon_sym_LPAREN] = ACTIONS(262), - [anon_sym_PLUS] = ACTIONS(264), - [anon_sym_DASH] = ACTIONS(264), - [anon_sym_STAR] = ACTIONS(262), - [anon_sym_SLASH] = ACTIONS(262), - [anon_sym_PERCENT] = ACTIONS(262), - [anon_sym_EQ_EQ] = ACTIONS(262), - [anon_sym_BANG_EQ] = ACTIONS(262), - [anon_sym_AMP_AMP] = ACTIONS(262), - [anon_sym_PIPE_PIPE] = ACTIONS(262), - [anon_sym_GT] = ACTIONS(264), - [anon_sym_LT] = ACTIONS(264), - [anon_sym_GT_EQ] = ACTIONS(262), - [anon_sym_LT_EQ] = ACTIONS(262), - [anon_sym_PLUS_EQ] = ACTIONS(262), - [anon_sym_DASH_EQ] = ACTIONS(262), - [anon_sym_if] = ACTIONS(264), - [anon_sym_match] = ACTIONS(264), - [anon_sym_while] = ACTIONS(264), - [anon_sym_for] = ACTIONS(264), - [anon_sym_asyncfor] = ACTIONS(262), - [anon_sym_return] = ACTIONS(264), - [anon_sym_DASH_GT] = ACTIONS(262), - [anon_sym_assert] = ACTIONS(264), - [anon_sym_assert_equal] = ACTIONS(264), - [anon_sym_bash] = ACTIONS(264), - [anon_sym_download] = ACTIONS(264), - [anon_sym_fish] = ACTIONS(264), - [anon_sym_from_json] = ACTIONS(264), - [anon_sym_length] = ACTIONS(264), - [anon_sym_metadata] = ACTIONS(264), - [anon_sym_output] = ACTIONS(264), - [anon_sym_output_error] = ACTIONS(264), - [anon_sym_random] = ACTIONS(264), - [anon_sym_random_boolean] = ACTIONS(264), - [anon_sym_random_float] = ACTIONS(264), - [anon_sym_random_integer] = ACTIONS(264), - [anon_sym_read] = ACTIONS(264), - [anon_sym_to_json] = ACTIONS(264), - [anon_sym_write] = ACTIONS(264), - }, - [70] = { - [ts_builtin_sym_end] = ACTIONS(266), - [sym__identifier_pattern] = ACTIONS(268), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(268), - [anon_sym_LBRACE] = ACTIONS(266), - [anon_sym_RBRACE] = ACTIONS(266), - [anon_sym_SEMI] = ACTIONS(266), - [sym_integer] = ACTIONS(268), - [sym_float] = ACTIONS(266), - [sym_string] = ACTIONS(266), - [anon_sym_true] = ACTIONS(268), - [anon_sym_false] = ACTIONS(268), - [anon_sym_LBRACK] = ACTIONS(266), - [anon_sym_EQ] = ACTIONS(268), - [anon_sym_COLON] = ACTIONS(266), - [anon_sym_DOT_DOT] = ACTIONS(266), - [anon_sym_LPAREN] = ACTIONS(266), - [anon_sym_PLUS] = ACTIONS(268), - [anon_sym_DASH] = ACTIONS(268), - [anon_sym_STAR] = ACTIONS(266), - [anon_sym_SLASH] = ACTIONS(266), - [anon_sym_PERCENT] = ACTIONS(266), - [anon_sym_EQ_EQ] = ACTIONS(266), - [anon_sym_BANG_EQ] = ACTIONS(266), - [anon_sym_AMP_AMP] = ACTIONS(266), - [anon_sym_PIPE_PIPE] = ACTIONS(266), - [anon_sym_GT] = ACTIONS(268), - [anon_sym_LT] = ACTIONS(268), - [anon_sym_GT_EQ] = ACTIONS(266), - [anon_sym_LT_EQ] = ACTIONS(266), - [anon_sym_PLUS_EQ] = ACTIONS(266), - [anon_sym_DASH_EQ] = ACTIONS(266), - [anon_sym_if] = ACTIONS(268), - [anon_sym_match] = ACTIONS(268), - [anon_sym_while] = ACTIONS(268), - [anon_sym_for] = ACTIONS(268), - [anon_sym_asyncfor] = ACTIONS(266), - [anon_sym_return] = ACTIONS(268), - [anon_sym_DASH_GT] = ACTIONS(266), - [anon_sym_assert] = ACTIONS(268), - [anon_sym_assert_equal] = ACTIONS(268), - [anon_sym_bash] = ACTIONS(268), - [anon_sym_download] = ACTIONS(268), - [anon_sym_fish] = ACTIONS(268), - [anon_sym_from_json] = ACTIONS(268), - [anon_sym_length] = ACTIONS(268), - [anon_sym_metadata] = ACTIONS(268), - [anon_sym_output] = ACTIONS(268), - [anon_sym_output_error] = ACTIONS(268), - [anon_sym_random] = ACTIONS(268), - [anon_sym_random_boolean] = ACTIONS(268), - [anon_sym_random_float] = ACTIONS(268), - [anon_sym_random_integer] = ACTIONS(268), - [anon_sym_read] = ACTIONS(268), - [anon_sym_to_json] = ACTIONS(268), - [anon_sym_write] = ACTIONS(268), - }, - [71] = { - [ts_builtin_sym_end] = ACTIONS(270), - [sym__identifier_pattern] = ACTIONS(272), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(272), - [anon_sym_LBRACE] = ACTIONS(270), - [anon_sym_RBRACE] = ACTIONS(270), - [anon_sym_SEMI] = ACTIONS(270), - [sym_integer] = ACTIONS(272), - [sym_float] = ACTIONS(270), - [sym_string] = ACTIONS(270), - [anon_sym_true] = ACTIONS(272), - [anon_sym_false] = ACTIONS(272), - [anon_sym_LBRACK] = ACTIONS(270), - [anon_sym_EQ] = ACTIONS(272), - [anon_sym_COLON] = ACTIONS(270), - [anon_sym_DOT_DOT] = ACTIONS(270), - [anon_sym_LPAREN] = ACTIONS(270), - [anon_sym_PLUS] = ACTIONS(272), - [anon_sym_DASH] = ACTIONS(272), - [anon_sym_STAR] = ACTIONS(270), - [anon_sym_SLASH] = ACTIONS(270), - [anon_sym_PERCENT] = ACTIONS(270), - [anon_sym_EQ_EQ] = ACTIONS(270), - [anon_sym_BANG_EQ] = ACTIONS(270), - [anon_sym_AMP_AMP] = ACTIONS(270), - [anon_sym_PIPE_PIPE] = ACTIONS(270), - [anon_sym_GT] = ACTIONS(272), - [anon_sym_LT] = ACTIONS(272), - [anon_sym_GT_EQ] = ACTIONS(270), - [anon_sym_LT_EQ] = ACTIONS(270), - [anon_sym_PLUS_EQ] = ACTIONS(270), - [anon_sym_DASH_EQ] = ACTIONS(270), - [anon_sym_if] = ACTIONS(272), - [anon_sym_match] = ACTIONS(272), - [anon_sym_while] = ACTIONS(272), - [anon_sym_for] = ACTIONS(272), - [anon_sym_asyncfor] = ACTIONS(270), - [anon_sym_return] = ACTIONS(272), - [anon_sym_DASH_GT] = ACTIONS(270), - [anon_sym_assert] = ACTIONS(272), - [anon_sym_assert_equal] = ACTIONS(272), - [anon_sym_bash] = ACTIONS(272), - [anon_sym_download] = ACTIONS(272), - [anon_sym_fish] = ACTIONS(272), - [anon_sym_from_json] = ACTIONS(272), - [anon_sym_length] = ACTIONS(272), - [anon_sym_metadata] = ACTIONS(272), - [anon_sym_output] = ACTIONS(272), - [anon_sym_output_error] = ACTIONS(272), - [anon_sym_random] = ACTIONS(272), - [anon_sym_random_boolean] = ACTIONS(272), - [anon_sym_random_float] = ACTIONS(272), - [anon_sym_random_integer] = ACTIONS(272), - [anon_sym_read] = ACTIONS(272), - [anon_sym_to_json] = ACTIONS(272), - [anon_sym_write] = ACTIONS(272), - }, - [72] = { - [ts_builtin_sym_end] = ACTIONS(274), - [sym__identifier_pattern] = ACTIONS(276), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(276), - [anon_sym_LBRACE] = ACTIONS(274), - [anon_sym_RBRACE] = ACTIONS(274), - [anon_sym_SEMI] = ACTIONS(274), - [sym_integer] = ACTIONS(276), - [sym_float] = ACTIONS(274), - [sym_string] = ACTIONS(274), - [anon_sym_true] = ACTIONS(276), - [anon_sym_false] = ACTIONS(276), - [anon_sym_LBRACK] = ACTIONS(274), - [anon_sym_EQ] = ACTIONS(276), - [anon_sym_COLON] = ACTIONS(274), - [anon_sym_DOT_DOT] = ACTIONS(274), - [anon_sym_LPAREN] = ACTIONS(274), - [anon_sym_PLUS] = ACTIONS(276), - [anon_sym_DASH] = ACTIONS(276), - [anon_sym_STAR] = ACTIONS(274), - [anon_sym_SLASH] = ACTIONS(274), - [anon_sym_PERCENT] = ACTIONS(274), - [anon_sym_EQ_EQ] = ACTIONS(274), - [anon_sym_BANG_EQ] = ACTIONS(274), - [anon_sym_AMP_AMP] = ACTIONS(274), - [anon_sym_PIPE_PIPE] = ACTIONS(274), - [anon_sym_GT] = ACTIONS(276), - [anon_sym_LT] = ACTIONS(276), - [anon_sym_GT_EQ] = ACTIONS(274), - [anon_sym_LT_EQ] = ACTIONS(274), - [anon_sym_PLUS_EQ] = ACTIONS(274), - [anon_sym_DASH_EQ] = ACTIONS(274), - [anon_sym_if] = ACTIONS(276), - [anon_sym_match] = ACTIONS(276), - [anon_sym_while] = ACTIONS(276), - [anon_sym_for] = ACTIONS(276), - [anon_sym_asyncfor] = ACTIONS(274), - [anon_sym_return] = ACTIONS(276), - [anon_sym_DASH_GT] = ACTIONS(274), - [anon_sym_assert] = ACTIONS(276), - [anon_sym_assert_equal] = ACTIONS(276), - [anon_sym_bash] = ACTIONS(276), - [anon_sym_download] = ACTIONS(276), - [anon_sym_fish] = ACTIONS(276), - [anon_sym_from_json] = ACTIONS(276), - [anon_sym_length] = ACTIONS(276), - [anon_sym_metadata] = ACTIONS(276), - [anon_sym_output] = ACTIONS(276), - [anon_sym_output_error] = ACTIONS(276), - [anon_sym_random] = ACTIONS(276), - [anon_sym_random_boolean] = ACTIONS(276), - [anon_sym_random_float] = ACTIONS(276), - [anon_sym_random_integer] = ACTIONS(276), - [anon_sym_read] = ACTIONS(276), - [anon_sym_to_json] = ACTIONS(276), - [anon_sym_write] = ACTIONS(276), - }, - [73] = { - [sym_assignment_operator] = STATE(48), - [sym_type_definition] = STATE(305), - [sym__identifier_pattern] = ACTIONS(218), - [sym__comment] = ACTIONS(3), - [anon_sym_async] = ACTIONS(218), - [anon_sym_LBRACE] = ACTIONS(216), - [anon_sym_RBRACE] = ACTIONS(216), - [anon_sym_SEMI] = ACTIONS(216), - [sym_integer] = ACTIONS(218), - [sym_float] = ACTIONS(216), - [sym_string] = ACTIONS(216), - [anon_sym_true] = ACTIONS(218), - [anon_sym_false] = ACTIONS(218), - [anon_sym_LBRACK] = ACTIONS(216), - [anon_sym_EQ] = ACTIONS(278), - [anon_sym_COLON] = ACTIONS(216), - [anon_sym_LPAREN] = ACTIONS(216), - [anon_sym_PLUS] = ACTIONS(218), - [anon_sym_DASH] = ACTIONS(218), - [anon_sym_STAR] = ACTIONS(216), - [anon_sym_SLASH] = ACTIONS(216), - [anon_sym_PERCENT] = ACTIONS(216), - [anon_sym_EQ_EQ] = ACTIONS(216), - [anon_sym_BANG_EQ] = ACTIONS(216), - [anon_sym_AMP_AMP] = ACTIONS(216), - [anon_sym_PIPE_PIPE] = ACTIONS(216), - [anon_sym_GT] = ACTIONS(218), - [anon_sym_LT] = ACTIONS(222), - [anon_sym_GT_EQ] = ACTIONS(216), - [anon_sym_LT_EQ] = ACTIONS(216), - [anon_sym_PLUS_EQ] = ACTIONS(224), - [anon_sym_DASH_EQ] = ACTIONS(224), - [anon_sym_if] = ACTIONS(218), - [anon_sym_match] = ACTIONS(218), - [anon_sym_while] = ACTIONS(218), - [anon_sym_for] = ACTIONS(218), - [anon_sym_asyncfor] = ACTIONS(216), - [anon_sym_return] = ACTIONS(218), - [anon_sym_DASH_GT] = ACTIONS(216), - [anon_sym_assert] = ACTIONS(218), - [anon_sym_assert_equal] = ACTIONS(218), - [anon_sym_bash] = ACTIONS(218), - [anon_sym_download] = ACTIONS(218), - [anon_sym_fish] = ACTIONS(218), - [anon_sym_from_json] = ACTIONS(218), - [anon_sym_length] = ACTIONS(218), - [anon_sym_metadata] = ACTIONS(218), - [anon_sym_output] = ACTIONS(218), - [anon_sym_output_error] = ACTIONS(218), - [anon_sym_random] = ACTIONS(218), - [anon_sym_random_boolean] = ACTIONS(218), - [anon_sym_random_float] = ACTIONS(218), - [anon_sym_random_integer] = ACTIONS(218), - [anon_sym_read] = ACTIONS(218), - [anon_sym_to_json] = ACTIONS(218), - [anon_sym_write] = ACTIONS(218), - }, - [74] = { [ts_builtin_sym_end] = ACTIONS(280), [sym__identifier_pattern] = ACTIONS(282), [sym__comment] = ACTIONS(3), @@ -6948,9 +6944,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_false] = ACTIONS(282), [anon_sym_LBRACK] = ACTIONS(280), [anon_sym_EQ] = ACTIONS(282), + [anon_sym_none] = ACTIONS(282), + [anon_sym_some] = ACTIONS(282), + [anon_sym_LPAREN] = ACTIONS(280), [anon_sym_COLON] = ACTIONS(280), [anon_sym_DOT_DOT] = ACTIONS(280), - [anon_sym_LPAREN] = ACTIONS(280), [anon_sym_PLUS] = ACTIONS(282), [anon_sym_DASH] = ACTIONS(282), [anon_sym_STAR] = ACTIONS(280), @@ -6991,7 +6989,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_to_json] = ACTIONS(282), [anon_sym_write] = ACTIONS(282), }, - [75] = { + [70] = { [ts_builtin_sym_end] = ACTIONS(284), [sym__identifier_pattern] = ACTIONS(286), [sym__comment] = ACTIONS(3), @@ -7006,9 +7004,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_false] = ACTIONS(286), [anon_sym_LBRACK] = ACTIONS(284), [anon_sym_EQ] = ACTIONS(286), + [anon_sym_none] = ACTIONS(286), + [anon_sym_some] = ACTIONS(286), + [anon_sym_LPAREN] = ACTIONS(284), [anon_sym_COLON] = ACTIONS(284), [anon_sym_DOT_DOT] = ACTIONS(284), - [anon_sym_LPAREN] = ACTIONS(284), [anon_sym_PLUS] = ACTIONS(286), [anon_sym_DASH] = ACTIONS(286), [anon_sym_STAR] = ACTIONS(284), @@ -7049,54 +7049,475 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_to_json] = ACTIONS(286), [anon_sym_write] = ACTIONS(286), }, + [71] = { + [ts_builtin_sym_end] = ACTIONS(288), + [sym__identifier_pattern] = ACTIONS(290), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(290), + [anon_sym_LBRACE] = ACTIONS(288), + [anon_sym_RBRACE] = ACTIONS(288), + [anon_sym_SEMI] = ACTIONS(288), + [sym_integer] = ACTIONS(290), + [sym_float] = ACTIONS(288), + [sym_string] = ACTIONS(288), + [anon_sym_true] = ACTIONS(290), + [anon_sym_false] = ACTIONS(290), + [anon_sym_LBRACK] = ACTIONS(288), + [anon_sym_EQ] = ACTIONS(290), + [anon_sym_none] = ACTIONS(290), + [anon_sym_some] = ACTIONS(290), + [anon_sym_LPAREN] = ACTIONS(288), + [anon_sym_COLON] = ACTIONS(288), + [anon_sym_DOT_DOT] = ACTIONS(288), + [anon_sym_PLUS] = ACTIONS(290), + [anon_sym_DASH] = ACTIONS(290), + [anon_sym_STAR] = ACTIONS(288), + [anon_sym_SLASH] = ACTIONS(288), + [anon_sym_PERCENT] = ACTIONS(288), + [anon_sym_EQ_EQ] = ACTIONS(288), + [anon_sym_BANG_EQ] = ACTIONS(288), + [anon_sym_AMP_AMP] = ACTIONS(288), + [anon_sym_PIPE_PIPE] = ACTIONS(288), + [anon_sym_GT] = ACTIONS(290), + [anon_sym_LT] = ACTIONS(290), + [anon_sym_GT_EQ] = ACTIONS(288), + [anon_sym_LT_EQ] = ACTIONS(288), + [anon_sym_PLUS_EQ] = ACTIONS(288), + [anon_sym_DASH_EQ] = ACTIONS(288), + [anon_sym_if] = ACTIONS(290), + [anon_sym_match] = ACTIONS(290), + [anon_sym_while] = ACTIONS(290), + [anon_sym_for] = ACTIONS(290), + [anon_sym_asyncfor] = ACTIONS(288), + [anon_sym_return] = ACTIONS(290), + [anon_sym_DASH_GT] = ACTIONS(288), + [anon_sym_assert] = ACTIONS(290), + [anon_sym_assert_equal] = ACTIONS(290), + [anon_sym_bash] = ACTIONS(290), + [anon_sym_download] = ACTIONS(290), + [anon_sym_fish] = ACTIONS(290), + [anon_sym_from_json] = ACTIONS(290), + [anon_sym_length] = ACTIONS(290), + [anon_sym_metadata] = ACTIONS(290), + [anon_sym_output] = ACTIONS(290), + [anon_sym_output_error] = ACTIONS(290), + [anon_sym_random] = ACTIONS(290), + [anon_sym_random_boolean] = ACTIONS(290), + [anon_sym_random_float] = ACTIONS(290), + [anon_sym_random_integer] = ACTIONS(290), + [anon_sym_read] = ACTIONS(290), + [anon_sym_to_json] = ACTIONS(290), + [anon_sym_write] = ACTIONS(290), + }, + [72] = { + [ts_builtin_sym_end] = ACTIONS(292), + [sym__identifier_pattern] = ACTIONS(294), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(294), + [anon_sym_LBRACE] = ACTIONS(292), + [anon_sym_RBRACE] = ACTIONS(292), + [anon_sym_SEMI] = ACTIONS(292), + [sym_integer] = ACTIONS(294), + [sym_float] = ACTIONS(292), + [sym_string] = ACTIONS(292), + [anon_sym_true] = ACTIONS(294), + [anon_sym_false] = ACTIONS(294), + [anon_sym_LBRACK] = ACTIONS(292), + [anon_sym_EQ] = ACTIONS(294), + [anon_sym_none] = ACTIONS(294), + [anon_sym_some] = ACTIONS(294), + [anon_sym_LPAREN] = ACTIONS(292), + [anon_sym_COLON] = ACTIONS(292), + [anon_sym_DOT_DOT] = ACTIONS(292), + [anon_sym_PLUS] = ACTIONS(294), + [anon_sym_DASH] = ACTIONS(294), + [anon_sym_STAR] = ACTIONS(292), + [anon_sym_SLASH] = ACTIONS(292), + [anon_sym_PERCENT] = ACTIONS(292), + [anon_sym_EQ_EQ] = ACTIONS(292), + [anon_sym_BANG_EQ] = ACTIONS(292), + [anon_sym_AMP_AMP] = ACTIONS(292), + [anon_sym_PIPE_PIPE] = ACTIONS(292), + [anon_sym_GT] = ACTIONS(294), + [anon_sym_LT] = ACTIONS(294), + [anon_sym_GT_EQ] = ACTIONS(292), + [anon_sym_LT_EQ] = ACTIONS(292), + [anon_sym_PLUS_EQ] = ACTIONS(292), + [anon_sym_DASH_EQ] = ACTIONS(292), + [anon_sym_if] = ACTIONS(294), + [anon_sym_match] = ACTIONS(294), + [anon_sym_while] = ACTIONS(294), + [anon_sym_for] = ACTIONS(294), + [anon_sym_asyncfor] = ACTIONS(292), + [anon_sym_return] = ACTIONS(294), + [anon_sym_DASH_GT] = ACTIONS(292), + [anon_sym_assert] = ACTIONS(294), + [anon_sym_assert_equal] = ACTIONS(294), + [anon_sym_bash] = ACTIONS(294), + [anon_sym_download] = ACTIONS(294), + [anon_sym_fish] = ACTIONS(294), + [anon_sym_from_json] = ACTIONS(294), + [anon_sym_length] = ACTIONS(294), + [anon_sym_metadata] = ACTIONS(294), + [anon_sym_output] = ACTIONS(294), + [anon_sym_output_error] = ACTIONS(294), + [anon_sym_random] = ACTIONS(294), + [anon_sym_random_boolean] = ACTIONS(294), + [anon_sym_random_float] = ACTIONS(294), + [anon_sym_random_integer] = ACTIONS(294), + [anon_sym_read] = ACTIONS(294), + [anon_sym_to_json] = ACTIONS(294), + [anon_sym_write] = ACTIONS(294), + }, + [73] = { + [ts_builtin_sym_end] = ACTIONS(296), + [sym__identifier_pattern] = ACTIONS(298), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(298), + [anon_sym_LBRACE] = ACTIONS(296), + [anon_sym_RBRACE] = ACTIONS(296), + [anon_sym_SEMI] = ACTIONS(296), + [sym_integer] = ACTIONS(298), + [sym_float] = ACTIONS(296), + [sym_string] = ACTIONS(296), + [anon_sym_true] = ACTIONS(298), + [anon_sym_false] = ACTIONS(298), + [anon_sym_LBRACK] = ACTIONS(296), + [anon_sym_EQ] = ACTIONS(298), + [anon_sym_none] = ACTIONS(298), + [anon_sym_some] = ACTIONS(298), + [anon_sym_LPAREN] = ACTIONS(296), + [anon_sym_COLON] = ACTIONS(296), + [anon_sym_DOT_DOT] = ACTIONS(296), + [anon_sym_PLUS] = ACTIONS(298), + [anon_sym_DASH] = ACTIONS(298), + [anon_sym_STAR] = ACTIONS(296), + [anon_sym_SLASH] = ACTIONS(296), + [anon_sym_PERCENT] = ACTIONS(296), + [anon_sym_EQ_EQ] = ACTIONS(296), + [anon_sym_BANG_EQ] = ACTIONS(296), + [anon_sym_AMP_AMP] = ACTIONS(296), + [anon_sym_PIPE_PIPE] = ACTIONS(296), + [anon_sym_GT] = ACTIONS(298), + [anon_sym_LT] = ACTIONS(298), + [anon_sym_GT_EQ] = ACTIONS(296), + [anon_sym_LT_EQ] = ACTIONS(296), + [anon_sym_PLUS_EQ] = ACTIONS(296), + [anon_sym_DASH_EQ] = ACTIONS(296), + [anon_sym_if] = ACTIONS(298), + [anon_sym_match] = ACTIONS(298), + [anon_sym_while] = ACTIONS(298), + [anon_sym_for] = ACTIONS(298), + [anon_sym_asyncfor] = ACTIONS(296), + [anon_sym_return] = ACTIONS(298), + [anon_sym_DASH_GT] = ACTIONS(296), + [anon_sym_assert] = ACTIONS(298), + [anon_sym_assert_equal] = ACTIONS(298), + [anon_sym_bash] = ACTIONS(298), + [anon_sym_download] = ACTIONS(298), + [anon_sym_fish] = ACTIONS(298), + [anon_sym_from_json] = ACTIONS(298), + [anon_sym_length] = ACTIONS(298), + [anon_sym_metadata] = ACTIONS(298), + [anon_sym_output] = ACTIONS(298), + [anon_sym_output_error] = ACTIONS(298), + [anon_sym_random] = ACTIONS(298), + [anon_sym_random_boolean] = ACTIONS(298), + [anon_sym_random_float] = ACTIONS(298), + [anon_sym_random_integer] = ACTIONS(298), + [anon_sym_read] = ACTIONS(298), + [anon_sym_to_json] = ACTIONS(298), + [anon_sym_write] = ACTIONS(298), + }, + [74] = { + [ts_builtin_sym_end] = ACTIONS(300), + [sym__identifier_pattern] = ACTIONS(302), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(302), + [anon_sym_LBRACE] = ACTIONS(300), + [anon_sym_RBRACE] = ACTIONS(300), + [anon_sym_SEMI] = ACTIONS(300), + [sym_integer] = ACTIONS(302), + [sym_float] = ACTIONS(300), + [sym_string] = ACTIONS(300), + [anon_sym_true] = ACTIONS(302), + [anon_sym_false] = ACTIONS(302), + [anon_sym_LBRACK] = ACTIONS(300), + [anon_sym_EQ] = ACTIONS(302), + [anon_sym_none] = ACTIONS(302), + [anon_sym_some] = ACTIONS(302), + [anon_sym_LPAREN] = ACTIONS(300), + [anon_sym_COLON] = ACTIONS(300), + [anon_sym_DOT_DOT] = ACTIONS(300), + [anon_sym_PLUS] = ACTIONS(302), + [anon_sym_DASH] = ACTIONS(302), + [anon_sym_STAR] = ACTIONS(300), + [anon_sym_SLASH] = ACTIONS(300), + [anon_sym_PERCENT] = ACTIONS(300), + [anon_sym_EQ_EQ] = ACTIONS(300), + [anon_sym_BANG_EQ] = ACTIONS(300), + [anon_sym_AMP_AMP] = ACTIONS(300), + [anon_sym_PIPE_PIPE] = ACTIONS(300), + [anon_sym_GT] = ACTIONS(302), + [anon_sym_LT] = ACTIONS(302), + [anon_sym_GT_EQ] = ACTIONS(300), + [anon_sym_LT_EQ] = ACTIONS(300), + [anon_sym_PLUS_EQ] = ACTIONS(300), + [anon_sym_DASH_EQ] = ACTIONS(300), + [anon_sym_if] = ACTIONS(302), + [anon_sym_match] = ACTIONS(302), + [anon_sym_while] = ACTIONS(302), + [anon_sym_for] = ACTIONS(302), + [anon_sym_asyncfor] = ACTIONS(300), + [anon_sym_return] = ACTIONS(302), + [anon_sym_DASH_GT] = ACTIONS(300), + [anon_sym_assert] = ACTIONS(302), + [anon_sym_assert_equal] = ACTIONS(302), + [anon_sym_bash] = ACTIONS(302), + [anon_sym_download] = ACTIONS(302), + [anon_sym_fish] = ACTIONS(302), + [anon_sym_from_json] = ACTIONS(302), + [anon_sym_length] = ACTIONS(302), + [anon_sym_metadata] = ACTIONS(302), + [anon_sym_output] = ACTIONS(302), + [anon_sym_output_error] = ACTIONS(302), + [anon_sym_random] = ACTIONS(302), + [anon_sym_random_boolean] = ACTIONS(302), + [anon_sym_random_float] = ACTIONS(302), + [anon_sym_random_integer] = ACTIONS(302), + [anon_sym_read] = ACTIONS(302), + [anon_sym_to_json] = ACTIONS(302), + [anon_sym_write] = ACTIONS(302), + }, + [75] = { + [sym_assignment_operator] = STATE(50), + [sym_type_definition] = STATE(320), + [sym__identifier_pattern] = ACTIONS(232), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(232), + [anon_sym_LBRACE] = ACTIONS(230), + [anon_sym_RBRACE] = ACTIONS(230), + [anon_sym_SEMI] = ACTIONS(230), + [sym_integer] = ACTIONS(232), + [sym_float] = ACTIONS(230), + [sym_string] = ACTIONS(230), + [anon_sym_true] = ACTIONS(232), + [anon_sym_false] = ACTIONS(232), + [anon_sym_LBRACK] = ACTIONS(230), + [anon_sym_EQ] = ACTIONS(304), + [anon_sym_none] = ACTIONS(232), + [anon_sym_some] = ACTIONS(232), + [anon_sym_LPAREN] = ACTIONS(230), + [anon_sym_COLON] = ACTIONS(230), + [anon_sym_PLUS] = ACTIONS(232), + [anon_sym_DASH] = ACTIONS(232), + [anon_sym_STAR] = ACTIONS(230), + [anon_sym_SLASH] = ACTIONS(230), + [anon_sym_PERCENT] = ACTIONS(230), + [anon_sym_EQ_EQ] = ACTIONS(230), + [anon_sym_BANG_EQ] = ACTIONS(230), + [anon_sym_AMP_AMP] = ACTIONS(230), + [anon_sym_PIPE_PIPE] = ACTIONS(230), + [anon_sym_GT] = ACTIONS(232), + [anon_sym_LT] = ACTIONS(236), + [anon_sym_GT_EQ] = ACTIONS(230), + [anon_sym_LT_EQ] = ACTIONS(230), + [anon_sym_PLUS_EQ] = ACTIONS(238), + [anon_sym_DASH_EQ] = ACTIONS(238), + [anon_sym_if] = ACTIONS(232), + [anon_sym_match] = ACTIONS(232), + [anon_sym_while] = ACTIONS(232), + [anon_sym_for] = ACTIONS(232), + [anon_sym_asyncfor] = ACTIONS(230), + [anon_sym_return] = ACTIONS(232), + [anon_sym_DASH_GT] = ACTIONS(230), + [anon_sym_assert] = ACTIONS(232), + [anon_sym_assert_equal] = ACTIONS(232), + [anon_sym_bash] = ACTIONS(232), + [anon_sym_download] = ACTIONS(232), + [anon_sym_fish] = ACTIONS(232), + [anon_sym_from_json] = ACTIONS(232), + [anon_sym_length] = ACTIONS(232), + [anon_sym_metadata] = ACTIONS(232), + [anon_sym_output] = ACTIONS(232), + [anon_sym_output_error] = ACTIONS(232), + [anon_sym_random] = ACTIONS(232), + [anon_sym_random_boolean] = ACTIONS(232), + [anon_sym_random_float] = ACTIONS(232), + [anon_sym_random_integer] = ACTIONS(232), + [anon_sym_read] = ACTIONS(232), + [anon_sym_to_json] = ACTIONS(232), + [anon_sym_write] = ACTIONS(232), + }, + [76] = { + [ts_builtin_sym_end] = ACTIONS(306), + [sym__identifier_pattern] = ACTIONS(308), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(308), + [anon_sym_LBRACE] = ACTIONS(306), + [anon_sym_RBRACE] = ACTIONS(306), + [anon_sym_SEMI] = ACTIONS(306), + [sym_integer] = ACTIONS(308), + [sym_float] = ACTIONS(306), + [sym_string] = ACTIONS(306), + [anon_sym_true] = ACTIONS(308), + [anon_sym_false] = ACTIONS(308), + [anon_sym_LBRACK] = ACTIONS(306), + [anon_sym_EQ] = ACTIONS(308), + [anon_sym_none] = ACTIONS(308), + [anon_sym_some] = ACTIONS(308), + [anon_sym_LPAREN] = ACTIONS(306), + [anon_sym_COLON] = ACTIONS(306), + [anon_sym_DOT_DOT] = ACTIONS(306), + [anon_sym_PLUS] = ACTIONS(308), + [anon_sym_DASH] = ACTIONS(308), + [anon_sym_STAR] = ACTIONS(306), + [anon_sym_SLASH] = ACTIONS(306), + [anon_sym_PERCENT] = ACTIONS(306), + [anon_sym_EQ_EQ] = ACTIONS(306), + [anon_sym_BANG_EQ] = ACTIONS(306), + [anon_sym_AMP_AMP] = ACTIONS(306), + [anon_sym_PIPE_PIPE] = ACTIONS(306), + [anon_sym_GT] = ACTIONS(308), + [anon_sym_LT] = ACTIONS(308), + [anon_sym_GT_EQ] = ACTIONS(306), + [anon_sym_LT_EQ] = ACTIONS(306), + [anon_sym_PLUS_EQ] = ACTIONS(306), + [anon_sym_DASH_EQ] = ACTIONS(306), + [anon_sym_if] = ACTIONS(308), + [anon_sym_match] = ACTIONS(308), + [anon_sym_while] = ACTIONS(308), + [anon_sym_for] = ACTIONS(308), + [anon_sym_asyncfor] = ACTIONS(306), + [anon_sym_return] = ACTIONS(308), + [anon_sym_DASH_GT] = ACTIONS(306), + [anon_sym_assert] = ACTIONS(308), + [anon_sym_assert_equal] = ACTIONS(308), + [anon_sym_bash] = ACTIONS(308), + [anon_sym_download] = ACTIONS(308), + [anon_sym_fish] = ACTIONS(308), + [anon_sym_from_json] = ACTIONS(308), + [anon_sym_length] = ACTIONS(308), + [anon_sym_metadata] = ACTIONS(308), + [anon_sym_output] = ACTIONS(308), + [anon_sym_output_error] = ACTIONS(308), + [anon_sym_random] = ACTIONS(308), + [anon_sym_random_boolean] = ACTIONS(308), + [anon_sym_random_float] = ACTIONS(308), + [anon_sym_random_integer] = ACTIONS(308), + [anon_sym_read] = ACTIONS(308), + [anon_sym_to_json] = ACTIONS(308), + [anon_sym_write] = ACTIONS(308), + }, + [77] = { + [ts_builtin_sym_end] = ACTIONS(310), + [sym__identifier_pattern] = ACTIONS(312), + [sym__comment] = ACTIONS(3), + [anon_sym_async] = ACTIONS(312), + [anon_sym_LBRACE] = ACTIONS(310), + [anon_sym_RBRACE] = ACTIONS(310), + [anon_sym_SEMI] = ACTIONS(310), + [sym_integer] = ACTIONS(312), + [sym_float] = ACTIONS(310), + [sym_string] = ACTIONS(310), + [anon_sym_true] = ACTIONS(312), + [anon_sym_false] = ACTIONS(312), + [anon_sym_LBRACK] = ACTIONS(310), + [anon_sym_EQ] = ACTIONS(312), + [anon_sym_none] = ACTIONS(312), + [anon_sym_some] = ACTIONS(312), + [anon_sym_LPAREN] = ACTIONS(310), + [anon_sym_COLON] = ACTIONS(310), + [anon_sym_DOT_DOT] = ACTIONS(310), + [anon_sym_PLUS] = ACTIONS(312), + [anon_sym_DASH] = ACTIONS(312), + [anon_sym_STAR] = ACTIONS(310), + [anon_sym_SLASH] = ACTIONS(310), + [anon_sym_PERCENT] = ACTIONS(310), + [anon_sym_EQ_EQ] = ACTIONS(310), + [anon_sym_BANG_EQ] = ACTIONS(310), + [anon_sym_AMP_AMP] = ACTIONS(310), + [anon_sym_PIPE_PIPE] = ACTIONS(310), + [anon_sym_GT] = ACTIONS(312), + [anon_sym_LT] = ACTIONS(312), + [anon_sym_GT_EQ] = ACTIONS(310), + [anon_sym_LT_EQ] = ACTIONS(310), + [anon_sym_PLUS_EQ] = ACTIONS(310), + [anon_sym_DASH_EQ] = ACTIONS(310), + [anon_sym_if] = ACTIONS(312), + [anon_sym_match] = ACTIONS(312), + [anon_sym_while] = ACTIONS(312), + [anon_sym_for] = ACTIONS(312), + [anon_sym_asyncfor] = ACTIONS(310), + [anon_sym_return] = ACTIONS(312), + [anon_sym_DASH_GT] = ACTIONS(310), + [anon_sym_assert] = ACTIONS(312), + [anon_sym_assert_equal] = ACTIONS(312), + [anon_sym_bash] = ACTIONS(312), + [anon_sym_download] = ACTIONS(312), + [anon_sym_fish] = ACTIONS(312), + [anon_sym_from_json] = ACTIONS(312), + [anon_sym_length] = ACTIONS(312), + [anon_sym_metadata] = ACTIONS(312), + [anon_sym_output] = ACTIONS(312), + [anon_sym_output_error] = ACTIONS(312), + [anon_sym_random] = ACTIONS(312), + [anon_sym_random_boolean] = ACTIONS(312), + [anon_sym_random_float] = ACTIONS(312), + [anon_sym_random_integer] = ACTIONS(312), + [anon_sym_read] = ACTIONS(312), + [anon_sym_to_json] = ACTIONS(312), + [anon_sym_write] = ACTIONS(312), + }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 12, + [0] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(108), 1, + ACTIONS(122), 1, anon_sym_DASH, - ACTIONS(168), 1, + ACTIONS(218), 1, anon_sym_DASH_GT, - ACTIONS(176), 1, + ACTIONS(224), 1, anon_sym_COLON, - ACTIONS(292), 1, - anon_sym_SEMI, - STATE(170), 1, - sym_math_operator, - STATE(193), 1, + STATE(200), 1, sym_logic_operator, - ACTIONS(112), 2, + STATE(203), 1, + sym_math_operator, + ACTIONS(126), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(106), 4, + ACTIONS(120), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(110), 6, + ACTIONS(124), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(288), 8, + ACTIONS(314), 9, ts_builtin_sym_end, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_SEMI, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_asyncfor, - ACTIONS(290), 27, + ACTIONS(316), 29, anon_sym_async, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, @@ -7122,32 +7543,32 @@ static const uint16_t ts_small_parse_table[] = { [79] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(108), 1, + ACTIONS(122), 1, anon_sym_DASH, - ACTIONS(168), 1, + ACTIONS(218), 1, anon_sym_DASH_GT, - ACTIONS(176), 1, + ACTIONS(224), 1, anon_sym_COLON, - STATE(170), 1, - sym_math_operator, - STATE(193), 1, + STATE(200), 1, sym_logic_operator, - ACTIONS(112), 2, + STATE(203), 1, + sym_math_operator, + ACTIONS(126), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(106), 4, + ACTIONS(120), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(110), 6, + ACTIONS(124), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(294), 9, + ACTIONS(318), 9, ts_builtin_sym_end, anon_sym_LBRACE, anon_sym_RBRACE, @@ -7157,12 +7578,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_asyncfor, - ACTIONS(296), 27, + ACTIONS(320), 29, anon_sym_async, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, @@ -7185,50 +7608,53 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [156] = 11, + [158] = 12, ACTIONS(3), 1, sym__comment, - ACTIONS(108), 1, + ACTIONS(122), 1, anon_sym_DASH, - ACTIONS(168), 1, + ACTIONS(218), 1, anon_sym_DASH_GT, - ACTIONS(176), 1, + ACTIONS(224), 1, anon_sym_COLON, - STATE(170), 1, - sym_math_operator, - STATE(193), 1, + ACTIONS(322), 1, + anon_sym_SEMI, + STATE(200), 1, sym_logic_operator, - ACTIONS(112), 2, + STATE(203), 1, + sym_math_operator, + ACTIONS(126), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(106), 4, + ACTIONS(120), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(110), 6, + ACTIONS(124), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(288), 9, + ACTIONS(318), 8, ts_builtin_sym_end, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_SEMI, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_asyncfor, - ACTIONS(290), 27, + ACTIONS(320), 29, anon_sym_async, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, @@ -7251,35 +7677,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [233] = 11, + [239] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(114), 1, - anon_sym_DASH_GT, - ACTIONS(298), 1, + ACTIONS(324), 1, anon_sym_COLON, - STATE(169), 1, - sym_logic_operator, - STATE(208), 1, + STATE(209), 1, sym_math_operator, - ACTIONS(108), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 3, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(164), 13, + STATE(216), 1, + sym_logic_operator, + ACTIONS(220), 23, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -7288,17 +7695,33 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_DOT_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(166), 22, + anon_sym_DASH_GT, + ACTIONS(222), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -7316,26 +7739,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [309] = 5, + [307] = 6, ACTIONS(3), 1, sym__comment, - STATE(169), 1, - sym_logic_operator, - STATE(208), 1, - sym_math_operator, - ACTIONS(154), 24, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, + ACTIONS(326), 1, anon_sym_DOT_DOT, + STATE(209), 1, + sym_math_operator, + STATE(216), 1, + sym_logic_operator, + ACTIONS(202), 23, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -7348,12 +7772,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(156), 26, + ACTIONS(204), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -7375,14 +7801,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [373] = 5, + [375] = 11, ACTIONS(3), 1, sym__comment, - STATE(169), 1, - sym_logic_operator, - STATE(208), 1, + ACTIONS(128), 1, + anon_sym_DASH_GT, + ACTIONS(324), 1, + anon_sym_COLON, + STATE(209), 1, sym_math_operator, - ACTIONS(150), 24, + STATE(216), 1, + sym_logic_operator, + ACTIONS(122), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(212), 13, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -7391,32 +7838,19 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_DOT_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - anon_sym_DASH_GT, - ACTIONS(152), 26, + ACTIONS(214), 24, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -7434,420 +7868,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [437] = 6, + [453] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(300), 1, - anon_sym_DOT_DOT, - STATE(169), 1, - sym_logic_operator, - STATE(208), 1, + STATE(209), 1, sym_math_operator, - ACTIONS(154), 23, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - ACTIONS(156), 26, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [503] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(298), 1, - anon_sym_COLON, - STATE(169), 1, + STATE(216), 1, sym_logic_operator, - STATE(208), 1, - sym_math_operator, - ACTIONS(158), 23, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - ACTIONS(160), 26, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [569] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(100), 1, - anon_sym_COLON, - ACTIONS(114), 1, - anon_sym_DASH_GT, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(108), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 3, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(164), 12, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(166), 22, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [644] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(150), 23, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - ACTIONS(152), 26, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [707] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(100), 1, - anon_sym_COLON, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(158), 22, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - ACTIONS(160), 26, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [772] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(242), 24, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - ACTIONS(244), 26, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [830] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(216), 24, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_DASH_GT, - ACTIONS(218), 26, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [888] = 3, - ACTIONS(3), 1, - sym__comment, ACTIONS(208), 24, anon_sym_LBRACE, anon_sym_RBRACE, @@ -7857,10 +7884,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -7873,12 +7900,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(210), 26, + ACTIONS(210), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -7900,10 +7929,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [946] = 3, + [519] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(266), 24, + STATE(209), 1, + sym_math_operator, + STATE(216), 1, + sym_logic_operator, + ACTIONS(202), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -7912,10 +7945,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -7928,12 +7961,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(268), 26, + ACTIONS(204), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -7955,7 +7990,479 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1004] = 3, + [585] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(175), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(208), 23, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + ACTIONS(210), 28, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [650] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(118), 1, + anon_sym_COLON, + STATE(175), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(220), 22, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + ACTIONS(222), 28, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [717] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(118), 1, + anon_sym_COLON, + ACTIONS(128), 1, + anon_sym_DASH_GT, + STATE(175), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(122), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(212), 12, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(214), 24, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [794] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(256), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + ACTIONS(258), 28, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [854] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(310), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + ACTIONS(312), 28, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [914] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(268), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + ACTIONS(270), 28, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [974] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(276), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + ACTIONS(278), 28, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [1034] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(296), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + ACTIONS(298), 28, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_EQ, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [1094] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(230), 24, @@ -7967,10 +8474,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -7983,12 +8490,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(232), 26, + ACTIONS(232), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8010,10 +8519,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1062] = 3, + [1154] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(172), 24, + ACTIONS(248), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8022,10 +8531,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8038,12 +8547,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(174), 26, + ACTIONS(250), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8065,10 +8576,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1120] = 3, + [1214] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(262), 24, + ACTIONS(240), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8077,10 +8588,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8093,12 +8604,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(264), 26, + ACTIONS(242), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8120,10 +8633,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1178] = 3, + [1274] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(226), 24, + ACTIONS(292), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8132,10 +8645,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8148,12 +8661,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(228), 26, + ACTIONS(294), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8175,10 +8690,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1236] = 3, + [1334] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(280), 24, + ACTIONS(306), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8187,10 +8702,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8203,12 +8718,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(282), 26, + ACTIONS(308), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8230,10 +8747,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1294] = 3, + [1394] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(238), 24, + ACTIONS(252), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8242,10 +8759,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8258,12 +8775,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(240), 26, + ACTIONS(254), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8285,7 +8804,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1352] = 3, + [1454] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(284), 24, @@ -8297,10 +8816,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8313,12 +8832,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(286), 26, + ACTIONS(286), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8340,10 +8861,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1410] = 3, + [1514] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(250), 24, + ACTIONS(288), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8352,10 +8873,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8368,12 +8889,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(252), 26, + ACTIONS(290), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8395,10 +8918,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1468] = 3, + [1574] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(258), 24, + ACTIONS(226), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8407,10 +8930,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8423,12 +8946,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(260), 26, + ACTIONS(228), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8450,10 +8975,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1526] = 3, + [1634] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(270), 24, + ACTIONS(264), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8462,10 +8987,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8478,12 +9003,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(272), 26, + ACTIONS(266), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8505,10 +9032,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1584] = 3, + [1694] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(254), 24, + ACTIONS(260), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8517,10 +9044,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8533,12 +9060,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(256), 26, + ACTIONS(262), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8560,10 +9089,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1642] = 3, + [1754] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(274), 24, + ACTIONS(272), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8572,10 +9101,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8588,12 +9117,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(276), 26, + ACTIONS(274), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8615,10 +9146,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1700] = 3, + [1814] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(246), 24, + ACTIONS(300), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8627,10 +9158,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8643,12 +9174,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(248), 26, + ACTIONS(302), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8670,10 +9203,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1758] = 3, + [1874] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(234), 24, + ACTIONS(280), 24, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8682,10 +9215,10 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_LPAREN, anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8698,12 +9231,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, - ACTIONS(236), 26, + ACTIONS(282), 28, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8725,21 +9260,78 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1816] = 8, + [1934] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(220), 1, + ACTIONS(244), 24, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_DASH_GT, + ACTIONS(246), 28, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, anon_sym_EQ, - ACTIONS(222), 1, + anon_sym_none, + anon_sym_some, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, anon_sym_LT, - STATE(46), 1, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [1994] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(234), 1, + anon_sym_EQ, + ACTIONS(236), 1, + anon_sym_LT, + STATE(43), 1, sym_assignment_operator, - STATE(307), 1, + STATE(319), 1, sym_type_definition, - ACTIONS(224), 2, + ACTIONS(238), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(216), 19, + ACTIONS(230), 19, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8747,8 +9339,8 @@ static const uint16_t ts_small_parse_table[] = { sym_float, sym_string, anon_sym_LBRACK, - anon_sym_COLON, anon_sym_LPAREN, + anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -8759,11 +9351,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - ACTIONS(218), 24, + ACTIONS(232), 26, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -8784,91 +9378,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [1883] = 6, + [2063] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(220), 1, + ACTIONS(234), 1, anon_sym_EQ, - STATE(47), 1, + STATE(45), 1, sym_assignment_operator, - ACTIONS(224), 2, + ACTIONS(238), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(216), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_COLON, - anon_sym_LPAREN, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_DASH_GT, - ACTIONS(218), 25, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [1945] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(100), 1, - anon_sym_COLON, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(114), 1, - anon_sym_DASH_GT, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(294), 8, + ACTIONS(230), 19, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -8877,179 +9397,24 @@ static const uint16_t ts_small_parse_table[] = { sym_string, anon_sym_LBRACK, anon_sym_LPAREN, - ACTIONS(296), 21, + anon_sym_COLON, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_DASH_GT, + ACTIONS(232), 27, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2015] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(100), 1, - anon_sym_COLON, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(114), 1, - anon_sym_DASH_GT, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 3, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(288), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(290), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2085] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(100), 1, - anon_sym_COLON, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(114), 1, - anon_sym_DASH_GT, - ACTIONS(302), 1, - anon_sym_SEMI, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 3, - anon_sym_PLUS, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(288), 8, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(290), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2157] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(304), 1, - anon_sym_COLON, - STATE(205), 1, - sym_math_operator, - STATE(206), 1, - sym_logic_operator, - ACTIONS(158), 18, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(160), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, + anon_sym_none, + anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -9071,490 +9436,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [2216] = 12, + [2127] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(100), 1, + ACTIONS(118), 1, anon_sym_COLON, - ACTIONS(108), 1, + ACTIONS(122), 1, anon_sym_DASH, - ACTIONS(114), 1, + ACTIONS(128), 1, anon_sym_DASH_GT, - ACTIONS(310), 1, - anon_sym_COMMA, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(308), 6, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_LPAREN, - ACTIONS(306), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2287] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(100), 1, - anon_sym_COLON, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(114), 1, - anon_sym_DASH_GT, - ACTIONS(316), 1, - anon_sym_COMMA, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(314), 6, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - ACTIONS(312), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2358] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(318), 1, - anon_sym_DOT_DOT, - STATE(205), 1, - sym_math_operator, - STATE(206), 1, - sym_logic_operator, - ACTIONS(154), 18, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(156), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2417] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(205), 1, - sym_math_operator, - STATE(206), 1, - sym_logic_operator, - ACTIONS(154), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(156), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2474] = 5, - ACTIONS(3), 1, - sym__comment, - STATE(205), 1, - sym_math_operator, - STATE(206), 1, - sym_logic_operator, - ACTIONS(150), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(152), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2531] = 11, - ACTIONS(3), 1, - sym__comment, - ACTIONS(304), 1, - anon_sym_COLON, - ACTIONS(320), 1, - anon_sym_DASH_GT, - STATE(205), 1, - sym_math_operator, - STATE(206), 1, - sym_logic_operator, - ACTIONS(108), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 3, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(164), 8, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_DOT_DOT, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - ACTIONS(166), 20, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2600] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(100), 1, - anon_sym_COLON, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(114), 1, - anon_sym_DASH_GT, - ACTIONS(322), 1, - anon_sym_RPAREN, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(164), 5, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(166), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2670] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(100), 1, - anon_sym_COLON, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(114), 1, - anon_sym_DASH_GT, - ACTIONS(324), 1, - anon_sym_RPAREN, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(164), 5, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(166), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [2740] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(326), 1, - anon_sym_COLON, STATE(175), 1, - sym_logic_operator, - STATE(189), 1, sym_math_operator, - ACTIONS(158), 17, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_STAR, + STATE(176), 1, + sym_logic_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 3, + anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(124), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(160), 24, - anon_sym_async, + ACTIONS(318), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(320), 23, sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -9572,47 +9497,173 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [2798] = 12, + [2199] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(100), 1, + ACTIONS(118), 1, anon_sym_COLON, - ACTIONS(108), 1, + ACTIONS(122), 1, anon_sym_DASH, - ACTIONS(114), 1, + ACTIONS(128), 1, + anon_sym_DASH_GT, + STATE(175), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(314), 8, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + ACTIONS(316), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [2271] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(118), 1, + anon_sym_COLON, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(128), 1, anon_sym_DASH_GT, ACTIONS(328), 1, - anon_sym_RPAREN, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, + anon_sym_SEMI, + STATE(175), 1, sym_math_operator, - ACTIONS(112), 2, + STATE(176), 1, + sym_logic_operator, + ACTIONS(126), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(106), 4, + ACTIONS(120), 3, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(318), 8, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(320), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [2345] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(118), 1, + anon_sym_COLON, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(128), 1, + anon_sym_DASH_GT, + ACTIONS(334), 1, + anon_sym_COMMA, + STATE(175), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(164), 5, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(332), 6, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LPAREN, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(166), 21, + anon_sym_RPAREN, + ACTIONS(330), 23, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -9630,43 +9681,106 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [2868] = 11, + [2418] = 12, ACTIONS(3), 1, sym__comment, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, + ACTIONS(118), 1, anon_sym_COLON, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - ACTIONS(108), 2, - anon_sym_PLUS, + ACTIONS(122), 1, anon_sym_DASH, - ACTIONS(112), 2, + ACTIONS(128), 1, + anon_sym_DASH_GT, + ACTIONS(340), 1, + anon_sym_COMMA, + STATE(175), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(126), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(106), 3, + ACTIONS(120), 4, + anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(110), 6, + ACTIONS(124), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(164), 7, + ACTIONS(338), 6, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + ACTIONS(336), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [2491] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(342), 1, + anon_sym_COLON, + ACTIONS(344), 1, + anon_sym_DASH_GT, + STATE(199), 1, + sym_logic_operator, + STATE(204), 1, + sym_math_operator, + ACTIONS(122), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(212), 9, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DOT_DOT, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, - ACTIONS(166), 20, + ACTIONS(214), 20, anon_sym_async, sym__identifier_pattern, anon_sym_EQ, @@ -9687,40 +9801,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [2936] = 5, + [2561] = 12, ACTIONS(3), 1, sym__comment, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - ACTIONS(150), 18, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, + ACTIONS(118), 1, anon_sym_COLON, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(128), 1, + anon_sym_DASH_GT, + ACTIONS(346), 1, + anon_sym_RPAREN, + STATE(175), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, + ACTIONS(212), 5, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + ACTIONS(124), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(152), 24, - anon_sym_async, + ACTIONS(214), 23, sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -9738,16 +9861,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [2992] = 6, + [2633] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(100), 1, + ACTIONS(118), 1, anon_sym_COLON, - STATE(187), 1, - sym_logic_operator, - STATE(207), 1, + STATE(175), 1, sym_math_operator, - ACTIONS(158), 17, + STATE(176), 1, + sym_logic_operator, + ACTIONS(220), 17, anon_sym_LBRACE, sym_float, sym_string, @@ -9765,11 +9888,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, - ACTIONS(160), 24, + ACTIONS(222), 26, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, @@ -9790,16 +9915,82 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3050] = 3, + [2693] = 12, ACTIONS(3), 1, sym__comment, - ACTIONS(274), 19, + ACTIONS(118), 1, + anon_sym_COLON, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(128), 1, + anon_sym_DASH_GT, + ACTIONS(348), 1, + anon_sym_RPAREN, + STATE(175), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(212), 5, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(214), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [2765] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(350), 1, + anon_sym_DOT_DOT, + STATE(199), 1, + sym_logic_operator, + STATE(204), 1, + sym_math_operator, + ACTIONS(202), 19, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -9813,7 +10004,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(276), 24, + ACTIONS(204), 24, anon_sym_async, sym__identifier_pattern, anon_sym_EQ, @@ -9838,15 +10029,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3101] = 3, + [2825] = 6, ACTIONS(3), 1, sym__comment, - ACTIONS(242), 19, + ACTIONS(342), 1, + anon_sym_COLON, + STATE(199), 1, + sym_logic_operator, + STATE(204), 1, + sym_math_operator, + ACTIONS(220), 19, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, - anon_sym_COLON, + anon_sym_RPAREN, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, @@ -9861,7 +10058,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(244), 24, + ACTIONS(222), 24, anon_sym_async, sym__identifier_pattern, anon_sym_EQ, @@ -9886,206 +10083,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3152] = 3, + [2885] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(262), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(264), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [3203] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(246), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(248), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [3254] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(280), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(282), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [3305] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(226), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(228), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [3356] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(208), 19, + STATE(199), 1, + sym_logic_operator, + STATE(204), 1, + sym_math_operator, + ACTIONS(208), 20, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, @@ -10126,14 +10136,79 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3407] = 3, + [2943] = 12, ACTIONS(3), 1, sym__comment, - ACTIONS(270), 19, + ACTIONS(118), 1, + anon_sym_COLON, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(128), 1, + anon_sym_DASH_GT, + ACTIONS(352), 1, + anon_sym_RPAREN, + STATE(175), 1, + sym_math_operator, + STATE(176), 1, + sym_logic_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(212), 5, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(214), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [3015] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(199), 1, + sym_logic_operator, + STATE(204), 1, + sym_math_operator, + ACTIONS(202), 20, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, @@ -10149,7 +10224,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(272), 24, + ACTIONS(204), 24, anon_sym_async, sym__identifier_pattern, anon_sym_EQ, @@ -10174,16 +10249,78 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3458] = 3, + [3073] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(266), 19, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(122), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(212), 8, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + ACTIONS(214), 20, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [3142] = 5, + ACTIONS(3), 1, + sym__comment, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(208), 19, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, - anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -10197,7 +10334,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(268), 24, + ACTIONS(210), 24, anon_sym_async, sym__identifier_pattern, anon_sym_EQ, @@ -10222,16 +10359,86 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3509] = 3, + [3199] = 18, ACTIONS(3), 1, sym__comment, - ACTIONS(238), 19, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + ACTIONS(358), 1, + anon_sym_RBRACE, + ACTIONS(360), 1, + anon_sym_STAR, + STATE(129), 1, + aux_sym_match_repeat1, + STATE(142), 1, + sym_built_in_function, + STATE(300), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [3282] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(354), 1, + anon_sym_COLON, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(220), 18, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, + anon_sym_RPAREN, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -10245,7 +10452,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(240), 24, + ACTIONS(222), 24, anon_sym_async, sym__identifier_pattern, anon_sym_EQ, @@ -10270,14 +10477,271 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3560] = 3, + [3341] = 18, ACTIONS(3), 1, sym__comment, - ACTIONS(254), 19, + ACTIONS(362), 1, + sym__identifier_pattern, + ACTIONS(365), 1, + anon_sym_LBRACE, + ACTIONS(368), 1, + anon_sym_RBRACE, + ACTIONS(370), 1, + sym_integer, + ACTIONS(379), 1, + anon_sym_LBRACK, + ACTIONS(382), 1, + anon_sym_none, + ACTIONS(385), 1, + anon_sym_some, + ACTIONS(388), 1, + anon_sym_LPAREN, + ACTIONS(391), 1, + anon_sym_STAR, + STATE(129), 1, + aux_sym_match_repeat1, + STATE(142), 1, + sym_built_in_function, + STATE(300), 1, + sym_expression, + ACTIONS(373), 2, + sym_float, + sym_string, + ACTIONS(376), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(394), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [3424] = 18, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + ACTIONS(360), 1, + anon_sym_STAR, + ACTIONS(397), 1, + anon_sym_RBRACE, + STATE(129), 1, + aux_sym_match_repeat1, + STATE(142), 1, + sym_built_in_function, + STATE(300), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [3507] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(399), 1, + anon_sym_RBRACK, + STATE(102), 1, + sym_built_in_function, + STATE(115), 1, + sym_expression, + STATE(157), 1, + aux_sym_list_repeat1, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [3587] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(401), 1, + sym__identifier_pattern, + ACTIONS(404), 1, + anon_sym_LBRACE, + ACTIONS(407), 1, + sym_integer, + ACTIONS(416), 1, + anon_sym_LBRACK, + ACTIONS(419), 1, + anon_sym_none, + ACTIONS(422), 1, + anon_sym_some, + ACTIONS(425), 1, + anon_sym_LPAREN, + ACTIONS(428), 1, + anon_sym_RPAREN, + STATE(102), 1, + sym_built_in_function, + STATE(114), 1, + sym_expression, + STATE(132), 1, + aux_sym__expression_list, + ACTIONS(410), 2, + sym_float, + sym_string, + ACTIONS(413), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(430), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [3667] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(292), 20, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, @@ -10293,7 +10757,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(256), 24, + ACTIONS(294), 24, anon_sym_async, sym__identifier_pattern, anon_sym_EQ, @@ -10318,14 +10782,141 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3611] = 3, + [3719] = 17, ACTIONS(3), 1, sym__comment, - ACTIONS(284), 19, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(433), 1, + anon_sym_RBRACK, + STATE(102), 1, + sym_built_in_function, + STATE(115), 1, + sym_expression, + STATE(135), 1, + aux_sym_list_repeat1, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [3799] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(435), 1, + anon_sym_RBRACK, + STATE(102), 1, + sym_built_in_function, + STATE(115), 1, + sym_expression, + STATE(157), 1, + aux_sym_list_repeat1, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [3879] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(306), 20, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, @@ -10341,7 +10932,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(286), 24, + ACTIONS(308), 24, anon_sym_async, sym__identifier_pattern, anon_sym_EQ, @@ -10366,62 +10957,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3662] = 3, + [3931] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(234), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(236), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [3713] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(230), 19, + ACTIONS(230), 20, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, @@ -10462,14 +11006,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3764] = 3, + [3983] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(250), 19, + ACTIONS(288), 20, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, @@ -10485,7 +11030,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(252), 24, + ACTIONS(290), 24, anon_sym_async, sym__identifier_pattern, anon_sym_EQ, @@ -10510,245 +11055,317 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [3815] = 3, + [4035] = 17, ACTIONS(3), 1, sym__comment, - ACTIONS(258), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(260), 24, - anon_sym_async, + ACTIONS(98), 1, sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [3866] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(216), 19, + ACTIONS(100), 1, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(218), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [3917] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(172), 19, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_DOT_DOT, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_EQ_GT, - anon_sym_DASH_GT, - ACTIONS(174), 24, - anon_sym_async, - sym__identifier_pattern, - anon_sym_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [3968] = 16, - ACTIONS(3), 1, - sym__comment, - ACTIONS(330), 1, - sym__identifier_pattern, - ACTIONS(333), 1, - anon_sym_LBRACE, - ACTIONS(336), 1, - anon_sym_RBRACE, - ACTIONS(338), 1, + ACTIONS(102), 1, sym_integer, - ACTIONS(347), 1, + ACTIONS(108), 1, anon_sym_LBRACK, - ACTIONS(350), 1, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, anon_sym_LPAREN, - ACTIONS(353), 1, - anon_sym_STAR, - STATE(130), 1, + ACTIONS(437), 1, + anon_sym_RBRACK, + STATE(102), 1, sym_built_in_function, + STATE(115), 1, + sym_expression, + STATE(157), 1, + aux_sym_list_repeat1, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [4115] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(284), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(286), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [4167] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(439), 1, + anon_sym_RPAREN, + STATE(102), 1, + sym_built_in_function, + STATE(114), 1, + sym_expression, + STATE(132), 1, + aux_sym__expression_list, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [4247] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(226), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(228), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [4299] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(244), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(246), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [4351] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + ACTIONS(360), 1, + anon_sym_STAR, + STATE(127), 1, + aux_sym_match_repeat1, STATE(142), 1, - aux_sym_match_repeat1, - STATE(288), 1, - sym_expression, - ACTIONS(341), 2, - sym_float, - sym_string, - ACTIONS(344), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(356), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4044] = 16, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - ACTIONS(361), 1, - anon_sym_RBRACE, - ACTIONS(363), 1, - anon_sym_STAR, - STATE(130), 1, sym_built_in_function, - STATE(142), 1, - aux_sym_match_repeat1, - STATE(288), 1, + STATE(300), 1, sym_expression, - ACTIONS(186), 2, + ACTIONS(172), 2, sym_float, sym_string, - ACTIONS(188), 2, + ACTIONS(174), 2, anon_sym_true, anon_sym_false, - STATE(134), 4, + STATE(138), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(140), 7, + STATE(137), 7, sym_identifier, sym_value, sym_index, @@ -10756,7 +11373,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(206), 17, + ACTIONS(196), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -10774,657 +11391,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [4120] = 16, + [4431] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, + ACTIONS(248), 20, anon_sym_LBRACE, - ACTIONS(363), 1, - anon_sym_STAR, - ACTIONS(365), 1, - anon_sym_RBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(142), 1, - aux_sym_match_repeat1, - STATE(288), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4196] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(367), 1, - anon_sym_RPAREN, - STATE(89), 1, - sym_built_in_function, - STATE(112), 1, - sym_expression, - STATE(149), 1, - aux_sym__expression_list, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4269] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(369), 1, - anon_sym_RBRACK, - STATE(89), 1, - sym_built_in_function, - STATE(111), 1, - sym_expression, - STATE(148), 1, - aux_sym_list_repeat1, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4342] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(371), 1, - anon_sym_RBRACK, - STATE(89), 1, - sym_built_in_function, - STATE(111), 1, - sym_expression, - STATE(158), 1, - aux_sym_list_repeat1, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4415] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(373), 1, - anon_sym_RBRACK, - STATE(89), 1, - sym_built_in_function, - STATE(111), 1, - sym_expression, - STATE(163), 1, - aux_sym_list_repeat1, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4488] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(375), 1, - sym__identifier_pattern, - ACTIONS(378), 1, - anon_sym_LBRACE, - ACTIONS(381), 1, - sym_integer, - ACTIONS(390), 1, - anon_sym_LBRACK, - ACTIONS(393), 1, - anon_sym_LPAREN, - ACTIONS(396), 1, - anon_sym_RPAREN, - STATE(89), 1, - sym_built_in_function, - STATE(112), 1, - sym_expression, - STATE(149), 1, - aux_sym__expression_list, - ACTIONS(384), 2, - sym_float, - sym_string, - ACTIONS(387), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(398), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4561] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(401), 1, - anon_sym_RPAREN, - STATE(89), 1, - sym_built_in_function, - STATE(112), 1, - sym_expression, - STATE(149), 1, - aux_sym__expression_list, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4634] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(407), 1, - anon_sym_elseif, - ACTIONS(409), 1, - anon_sym_else, - STATE(227), 1, - sym_else, - STATE(161), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(403), 9, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(405), 27, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4691] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(411), 1, - anon_sym_RPAREN, - STATE(89), 1, - sym_built_in_function, - STATE(112), 1, - sym_expression, - STATE(149), 1, - aux_sym__expression_list, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4764] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(413), 1, - anon_sym_RPAREN, - STATE(89), 1, - sym_built_in_function, - STATE(112), 1, - sym_expression, - STATE(149), 1, - aux_sym__expression_list, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4837] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(415), 1, - anon_sym_RPAREN, - STATE(89), 1, - sym_built_in_function, - STATE(112), 1, - sym_expression, - STATE(149), 1, - aux_sym__expression_list, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [4910] = 8, - ACTIONS(3), 1, - sym__comment, - ACTIONS(220), 1, - anon_sym_EQ, - ACTIONS(222), 1, - anon_sym_LT, - STATE(55), 1, - sym_assignment_operator, - STATE(306), 1, - sym_type_definition, - ACTIONS(224), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(216), 14, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -11434,12 +11411,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(218), 21, + ACTIONS(250), 24, + anon_sym_async, sym__identifier_pattern, + anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, + anon_sym_LT, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -11457,213 +11440,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [4969] = 15, + [4483] = 17, ACTIONS(3), 1, sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - ACTIONS(363), 1, - anon_sym_STAR, - STATE(130), 1, - sym_built_in_function, - STATE(144), 1, - aux_sym_match_repeat1, - STATE(288), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [5042] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - ACTIONS(363), 1, - anon_sym_STAR, - STATE(130), 1, - sym_built_in_function, - STATE(143), 1, - aux_sym_match_repeat1, - STATE(288), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [5115] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(417), 1, - anon_sym_RBRACK, - STATE(89), 1, - sym_built_in_function, - STATE(111), 1, - sym_expression, - STATE(163), 1, - aux_sym_list_repeat1, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [5188] = 15, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, sym__identifier_pattern, - ACTIONS(90), 1, + ACTIONS(100), 1, anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, anon_sym_LPAREN, - ACTIONS(419), 1, - anon_sym_RBRACK, - STATE(89), 1, + ACTIONS(441), 1, + anon_sym_RPAREN, + STATE(102), 1, sym_built_in_function, - STATE(111), 1, + STATE(114), 1, sym_expression, - STATE(163), 1, - aux_sym_list_repeat1, - ACTIONS(94), 2, + STATE(132), 1, + aux_sym__expression_list, + ACTIONS(104), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(106), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(101), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(94), 7, sym_identifier, sym_value, sym_index, @@ -11671,7 +11485,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(130), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -11689,39 +11503,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [5261] = 15, + [4563] = 17, ACTIONS(3), 1, sym__comment, - ACTIONS(88), 1, + ACTIONS(98), 1, sym__identifier_pattern, - ACTIONS(90), 1, + ACTIONS(100), 1, anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, anon_sym_LPAREN, - ACTIONS(421), 1, - anon_sym_RBRACK, - STATE(89), 1, + ACTIONS(443), 1, + anon_sym_RPAREN, + STATE(102), 1, sym_built_in_function, - STATE(111), 1, + STATE(114), 1, sym_expression, - STATE(159), 1, - aux_sym_list_repeat1, - ACTIONS(94), 2, + STATE(132), 1, + aux_sym__expression_list, + ACTIONS(104), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(106), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(101), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(94), 7, sym_identifier, sym_value, sym_index, @@ -11729,7 +11548,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(130), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -11747,39 +11566,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [5334] = 7, + [4643] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(407), 1, - anon_sym_elseif, - ACTIONS(409), 1, - anon_sym_else, - STATE(226), 1, - sym_else, - STATE(166), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(423), 9, - ts_builtin_sym_end, + ACTIONS(260), 20, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(425), 27, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(262), 24, anon_sym_async, sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -11797,39 +11615,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [5391] = 15, + [4695] = 17, ACTIONS(3), 1, sym__comment, - ACTIONS(88), 1, + ACTIONS(164), 1, sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, + ACTIONS(170), 1, sym_integer, - ACTIONS(98), 1, + ACTIONS(176), 1, anon_sym_LBRACK, - ACTIONS(102), 1, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, anon_sym_LPAREN, - ACTIONS(427), 1, - anon_sym_RPAREN, - STATE(89), 1, + ACTIONS(356), 1, + anon_sym_LBRACE, + ACTIONS(360), 1, + anon_sym_STAR, + STATE(130), 1, + aux_sym_match_repeat1, + STATE(142), 1, sym_built_in_function, - STATE(112), 1, + STATE(300), 1, sym_expression, - STATE(149), 1, - aux_sym__expression_list, - ACTIONS(94), 2, + ACTIONS(172), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(174), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(138), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(137), 7, sym_identifier, sym_value, sym_index, @@ -11837,7 +11660,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(196), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -11855,39 +11678,303 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [5464] = 15, + [4775] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(429), 1, - sym__identifier_pattern, - ACTIONS(432), 1, + ACTIONS(276), 20, anon_sym_LBRACE, - ACTIONS(435), 1, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(278), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [4827] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(296), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(298), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [4879] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(240), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(242), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [4931] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, sym_integer, - ACTIONS(444), 1, + ACTIONS(108), 1, anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(445), 1, + anon_sym_RPAREN, + STATE(102), 1, + sym_built_in_function, + STATE(114), 1, + sym_expression, + STATE(132), 1, + aux_sym__expression_list, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5011] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(256), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(258), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5063] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, ACTIONS(447), 1, - anon_sym_RBRACK, - ACTIONS(449), 1, - anon_sym_LPAREN, - STATE(89), 1, + anon_sym_RPAREN, + STATE(102), 1, sym_built_in_function, - STATE(111), 1, + STATE(114), 1, sym_expression, - STATE(163), 1, - aux_sym_list_repeat1, - ACTIONS(438), 2, + STATE(132), 1, + aux_sym__expression_list, + ACTIONS(104), 2, sym_float, sym_string, - ACTIONS(441), 2, + ACTIONS(106), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(101), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(94), 7, sym_identifier, sym_value, sym_index, @@ -11895,7 +11982,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(452), 17, + ACTIONS(130), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -11913,77 +12000,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [5537] = 14, + [5143] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, + ACTIONS(268), 20, anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - ACTIONS(455), 1, - anon_sym_fn, - STATE(14), 1, - sym_expression, - STATE(89), 1, - sym_built_in_function, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [5607] = 6, - ACTIONS(3), 1, - sym__comment, - ACTIONS(220), 1, - anon_sym_EQ, - STATE(52), 1, - sym_assignment_operator, - ACTIONS(224), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - ACTIONS(216), 14, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_COLON, + anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, @@ -11993,9 +12020,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, anon_sym_DASH_GT, - ACTIONS(218), 22, + ACTIONS(270), 24, + anon_sym_async, sym__identifier_pattern, + anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, @@ -12017,36 +12049,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [5661] = 5, + [5195] = 17, ACTIONS(3), 1, sym__comment, - ACTIONS(461), 1, - anon_sym_elseif, - STATE(166), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(457), 9, - ts_builtin_sym_end, + ACTIONS(449), 1, + sym__identifier_pattern, + ACTIONS(452), 1, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, + ACTIONS(455), 1, + sym_integer, + ACTIONS(464), 1, + anon_sym_LBRACK, + ACTIONS(467), 1, + anon_sym_RBRACK, + ACTIONS(469), 1, + anon_sym_none, + ACTIONS(472), 1, + anon_sym_some, + ACTIONS(475), 1, + anon_sym_LPAREN, + STATE(102), 1, + sym_built_in_function, + STATE(115), 1, + sym_expression, + STATE(157), 1, + aux_sym_list_repeat1, + ACTIONS(458), 2, sym_float, sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(459), 28, - anon_sym_async, - sym__identifier_pattern, - sym_integer, + ACTIONS(461), 2, anon_sym_true, anon_sym_false, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(478), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -12064,37 +12112,586 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [5713] = 14, + [5275] = 17, ACTIONS(3), 1, sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, ACTIONS(98), 1, - anon_sym_LBRACK, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, anon_sym_LPAREN, - ACTIONS(464), 1, + ACTIONS(481), 1, + anon_sym_RBRACK, + STATE(102), 1, + sym_built_in_function, + STATE(115), 1, + sym_expression, + STATE(131), 1, + aux_sym_list_repeat1, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5355] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(264), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(266), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5407] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(300), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(302), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5459] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(310), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(312), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5511] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(280), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(282), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5563] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(252), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(254), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5615] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(483), 1, + anon_sym_RPAREN, + STATE(102), 1, + sym_built_in_function, + STATE(114), 1, + sym_expression, + STATE(132), 1, + aux_sym__expression_list, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5695] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(272), 20, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_DOT_DOT, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_EQ_GT, + anon_sym_DASH_GT, + ACTIONS(274), 24, + anon_sym_async, + sym__identifier_pattern, + anon_sym_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5747] = 17, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(485), 1, + anon_sym_RBRACK, + STATE(102), 1, + sym_built_in_function, + STATE(115), 1, + sym_expression, + STATE(139), 1, + aux_sym_list_repeat1, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5827] = 16, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(487), 1, + anon_sym_fn, + STATE(19), 1, + sym_expression, + STATE(102), 1, + sym_built_in_function, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [5904] = 16, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(489), 1, anon_sym_fn, STATE(15), 1, sym_expression, - STATE(89), 1, + STATE(102), 1, sym_built_in_function, - ACTIONS(94), 2, + ACTIONS(104), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(106), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(101), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(94), 7, sym_identifier, sym_value, sym_index, @@ -12102,7 +12699,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(130), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -12120,37 +12717,146 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [5783] = 14, + [5981] = 7, ACTIONS(3), 1, sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, + ACTIONS(495), 1, + anon_sym_elseif, + ACTIONS(497), 1, + anon_sym_else, + STATE(236), 1, + sym_else, + STATE(193), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(491), 9, + ts_builtin_sym_end, anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, anon_sym_LBRACK, - ACTIONS(102), 1, anon_sym_LPAREN, - ACTIONS(466), 1, + anon_sym_asyncfor, + ACTIONS(493), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6040] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(495), 1, + anon_sym_elseif, + ACTIONS(497), 1, + anon_sym_else, + STATE(227), 1, + sym_else, + STATE(169), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(499), 9, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(501), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6099] = 16, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + ACTIONS(503), 1, anon_sym_fn, - STATE(10), 1, + STATE(6), 1, sym_expression, - STATE(89), 1, + STATE(102), 1, sym_built_in_function, - ACTIONS(94), 2, + ACTIONS(104), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(106), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(101), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(94), 7, sym_identifier, sym_value, sym_index, @@ -12158,7 +12864,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(130), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -12176,1601 +12882,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [5853] = 13, + [6176] = 15, ACTIONS(3), 1, sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, ACTIONS(98), 1, - anon_sym_LBRACK, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(79), 1, - sym_expression, - STATE(89), 1, - sym_built_in_function, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [5920] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(11), 1, sym_integer, - ACTIONS(17), 1, + ACTIONS(108), 1, anon_sym_LBRACK, - ACTIONS(19), 1, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, anon_sym_LPAREN, - ACTIONS(468), 1, - anon_sym_LBRACE, - STATE(43), 1, - sym_built_in_function, - STATE(45), 1, - sym_expression, - ACTIONS(13), 2, - sym_float, - sym_string, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(67), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(62), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [5987] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(278), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6054] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(271), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6121] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(114), 1, - sym_expression, - STATE(130), 1, - sym_built_in_function, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6188] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(286), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6255] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(121), 1, - sym_expression, - STATE(130), 1, - sym_built_in_function, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6322] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(280), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6389] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(270), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6456] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(80), 1, - sym_expression, - STATE(89), 1, - sym_built_in_function, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6523] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(211), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6590] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(272), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6657] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(11), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACK, - ACTIONS(19), 1, - anon_sym_LPAREN, - ACTIONS(468), 1, - anon_sym_LBRACE, - STATE(38), 1, - sym_expression, - STATE(43), 1, - sym_built_in_function, - ACTIONS(13), 2, - sym_float, - sym_string, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(67), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(62), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6724] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(11), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACK, - ACTIONS(19), 1, - anon_sym_LPAREN, - ACTIONS(468), 1, - anon_sym_LBRACE, - STATE(30), 1, - sym_expression, - STATE(43), 1, - sym_built_in_function, - ACTIONS(13), 2, - sym_float, - sym_string, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(67), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(62), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6791] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(11), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACK, - ACTIONS(19), 1, - anon_sym_LPAREN, - ACTIONS(468), 1, - anon_sym_LBRACE, - STATE(43), 1, - sym_built_in_function, - STATE(77), 1, - sym_expression, - ACTIONS(13), 2, - sym_float, - sym_string, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(67), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(62), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6858] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(11), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACK, - ACTIONS(19), 1, - anon_sym_LPAREN, - ACTIONS(468), 1, - anon_sym_LBRACE, - STATE(31), 1, - sym_expression, - STATE(43), 1, - sym_built_in_function, - ACTIONS(13), 2, - sym_float, - sym_string, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(67), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(62), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6925] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(11), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACK, - ACTIONS(19), 1, - anon_sym_LPAREN, - ACTIONS(468), 1, - anon_sym_LBRACE, - STATE(29), 1, - sym_expression, - STATE(43), 1, - sym_built_in_function, - ACTIONS(13), 2, - sym_float, - sym_string, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(67), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(62), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [6992] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(287), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7059] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(84), 1, - sym_expression, - STATE(89), 1, - sym_built_in_function, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7126] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(11), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACK, - ACTIONS(19), 1, - anon_sym_LPAREN, - ACTIONS(468), 1, - anon_sym_LBRACE, - STATE(34), 1, - sym_expression, - STATE(43), 1, - sym_built_in_function, - ACTIONS(13), 2, - sym_float, - sym_string, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(67), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(62), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7193] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(119), 1, - sym_expression, - STATE(130), 1, - sym_built_in_function, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7260] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(276), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7327] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(85), 1, - sym_expression, - STATE(89), 1, - sym_built_in_function, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7394] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(89), 1, - sym_built_in_function, - STATE(117), 1, - sym_expression, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7461] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(11), 1, - sym_integer, - ACTIONS(17), 1, - anon_sym_LBRACK, - ACTIONS(19), 1, - anon_sym_LPAREN, - ACTIONS(468), 1, - anon_sym_LBRACE, - STATE(41), 1, - sym_expression, - STATE(43), 1, - sym_built_in_function, - ACTIONS(13), 2, - sym_float, - sym_string, - ACTIONS(15), 2, - anon_sym_true, - anon_sym_false, - STATE(67), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(62), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7528] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(113), 1, - sym_expression, - STATE(130), 1, - sym_built_in_function, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7595] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(9), 1, - sym_expression, - STATE(89), 1, - sym_built_in_function, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7662] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(130), 1, - sym_built_in_function, - STATE(281), 1, - sym_expression, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7729] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(89), 1, - sym_built_in_function, - STATE(120), 1, - sym_expression, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7796] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(89), 1, + STATE(102), 1, sym_built_in_function, STATE(118), 1, sym_expression, - ACTIONS(94), 2, + ACTIONS(104), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(106), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(101), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(94), 7, sym_identifier, sym_value, sym_index, @@ -13778,7 +12923,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(130), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -13796,35 +12941,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [7863] = 13, + [6250] = 15, ACTIONS(3), 1, sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, anon_sym_LPAREN, - ACTIONS(359), 1, + ACTIONS(356), 1, anon_sym_LBRACE, - STATE(130), 1, + STATE(142), 1, sym_built_in_function, - STATE(273), 1, + STATE(281), 1, sym_expression, - ACTIONS(186), 2, + ACTIONS(172), 2, sym_float, sym_string, - ACTIONS(188), 2, + ACTIONS(174), 2, anon_sym_true, anon_sym_false, - STATE(134), 4, + STATE(138), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(140), 7, + STATE(137), 7, sym_identifier, sym_value, sym_index, @@ -13832,7 +12982,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(206), 17, + ACTIONS(196), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -13850,251 +13000,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [7930] = 13, + [6324] = 15, ACTIONS(3), 1, sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(12), 1, - sym_expression, - STATE(89), 1, - sym_built_in_function, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [7997] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, sym__identifier_pattern, - ACTIONS(90), 1, + ACTIONS(100), 1, anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(6), 1, - sym_expression, - STATE(89), 1, - sym_built_in_function, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [8064] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, sym_integer, - ACTIONS(98), 1, + ACTIONS(108), 1, anon_sym_LBRACK, - ACTIONS(102), 1, - anon_sym_LPAREN, - STATE(89), 1, - sym_built_in_function, - STATE(107), 1, - sym_expression, - ACTIONS(94), 2, - sym_float, - sym_string, - ACTIONS(96), 2, - anon_sym_true, - anon_sym_false, - STATE(101), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(88), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(116), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [8131] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(122), 1, - sym_expression, - STATE(130), 1, - sym_built_in_function, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [8198] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, - ACTIONS(98), 1, - anon_sym_LBRACK, - ACTIONS(102), 1, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, anon_sym_LPAREN, STATE(82), 1, sym_expression, - STATE(89), 1, + STATE(102), 1, sym_built_in_function, - ACTIONS(94), 2, + ACTIONS(104), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(106), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(101), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(94), 7, sym_identifier, sym_value, sym_index, @@ -14102,7 +13041,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(130), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -14120,143 +13059,1387 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [8265] = 13, + [6398] = 15, ACTIONS(3), 1, sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(110), 1, - sym_expression, - STATE(130), 1, - sym_built_in_function, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [8332] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(178), 1, - sym__identifier_pattern, - ACTIONS(184), 1, - sym_integer, - ACTIONS(190), 1, - anon_sym_LBRACK, - ACTIONS(192), 1, - anon_sym_LPAREN, - ACTIONS(359), 1, - anon_sym_LBRACE, - STATE(116), 1, - sym_expression, - STATE(130), 1, - sym_built_in_function, - ACTIONS(186), 2, - sym_float, - sym_string, - ACTIONS(188), 2, - anon_sym_true, - anon_sym_false, - STATE(134), 4, - sym_boolean, - sym_list, - sym_map, - sym_function, - STATE(140), 7, - sym_identifier, - sym_value, - sym_index, - sym_math, - sym_logic, - sym_function_call, - sym_yield, - ACTIONS(206), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [8399] = 13, - ACTIONS(3), 1, - sym__comment, - ACTIONS(88), 1, - sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, - sym_integer, ACTIONS(98), 1, - anon_sym_LBRACK, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(87), 1, + sym_expression, + STATE(102), 1, + sym_built_in_function, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6472] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(88), 1, + sym_expression, + STATE(102), 1, + sym_built_in_function, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6546] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(11), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACK, + ACTIONS(19), 1, + anon_sym_none, + ACTIONS(21), 1, + anon_sym_some, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(505), 1, + anon_sym_LBRACE, + STATE(49), 1, + sym_expression, + STATE(53), 1, + sym_built_in_function, + ACTIONS(13), 2, + sym_float, + sym_string, + ACTIONS(15), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(58), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6620] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(11), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACK, + ACTIONS(19), 1, + anon_sym_none, + ACTIONS(21), 1, + anon_sym_some, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(505), 1, + anon_sym_LBRACE, + STATE(39), 1, + sym_expression, + STATE(53), 1, + sym_built_in_function, + ACTIONS(13), 2, + sym_float, + sym_string, + ACTIONS(15), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(58), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6694] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(17), 1, + sym_expression, + STATE(102), 1, + sym_built_in_function, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6768] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(125), 1, + sym_expression, + STATE(142), 1, + sym_built_in_function, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6842] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(11), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACK, + ACTIONS(19), 1, + anon_sym_none, + ACTIONS(21), 1, + anon_sym_some, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(505), 1, + anon_sym_LBRACE, + STATE(48), 1, + sym_expression, + STATE(53), 1, + sym_built_in_function, + ACTIONS(13), 2, + sym_float, + sym_string, + ACTIONS(15), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(58), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6916] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(296), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [6990] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(102), 1, + sym_built_in_function, + STATE(119), 1, + sym_expression, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7064] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(128), 1, + sym_expression, + STATE(142), 1, + sym_built_in_function, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7138] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(279), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7212] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(120), 1, + sym_expression, + STATE(142), 1, + sym_built_in_function, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7286] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(299), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7360] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(22), 1, + sym_expression, + STATE(102), 1, + sym_built_in_function, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7434] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(102), 1, + sym_built_in_function, + STATE(117), 1, + sym_expression, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7508] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(228), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7582] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(295), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7656] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(126), 1, + sym_expression, + STATE(142), 1, + sym_built_in_function, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7730] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(511), 1, + anon_sym_elseif, + STATE(193), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(507), 9, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(509), 30, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7784] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(283), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7858] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(11), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACK, + ACTIONS(19), 1, + anon_sym_none, + ACTIONS(21), 1, + anon_sym_some, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(505), 1, + anon_sym_LBRACE, + STATE(53), 1, + sym_built_in_function, + STATE(78), 1, + sym_expression, + ACTIONS(13), 2, + sym_float, + sym_string, + ACTIONS(15), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(58), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [7932] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(297), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8006] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(284), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8080] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, anon_sym_LPAREN, STATE(86), 1, sym_expression, - STATE(89), 1, + STATE(102), 1, sym_built_in_function, - ACTIONS(94), 2, + ACTIONS(104), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(106), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(101), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(94), 7, sym_identifier, sym_value, sym_index, @@ -14264,7 +14447,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(130), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -14282,35 +14465,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [8466] = 13, + [8154] = 15, ACTIONS(3), 1, sym__comment, - ACTIONS(88), 1, + ACTIONS(164), 1, sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, + ACTIONS(170), 1, sym_integer, - ACTIONS(98), 1, + ACTIONS(176), 1, anon_sym_LBRACK, - ACTIONS(102), 1, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, anon_sym_LPAREN, - STATE(83), 1, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(116), 1, sym_expression, - STATE(89), 1, + STATE(142), 1, sym_built_in_function, - ACTIONS(94), 2, + ACTIONS(172), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(174), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(138), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(137), 7, sym_identifier, sym_value, sym_index, @@ -14318,7 +14506,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(196), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -14336,35 +14524,453 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [8533] = 13, + [8228] = 15, ACTIONS(3), 1, sym__comment, - ACTIONS(88), 1, + ACTIONS(5), 1, sym__identifier_pattern, - ACTIONS(90), 1, - anon_sym_LBRACE, - ACTIONS(92), 1, + ACTIONS(11), 1, sym_integer, - ACTIONS(98), 1, + ACTIONS(17), 1, anon_sym_LBRACK, - ACTIONS(102), 1, + ACTIONS(19), 1, + anon_sym_none, + ACTIONS(21), 1, + anon_sym_some, + ACTIONS(23), 1, anon_sym_LPAREN, - STATE(89), 1, + ACTIONS(505), 1, + anon_sym_LBRACE, + STATE(52), 1, + sym_expression, + STATE(53), 1, + sym_built_in_function, + ACTIONS(13), 2, + sym_float, + sym_string, + ACTIONS(15), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(58), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8302] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(290), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8376] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(282), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8450] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(11), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACK, + ACTIONS(19), 1, + anon_sym_none, + ACTIONS(21), 1, + anon_sym_some, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(505), 1, + anon_sym_LBRACE, + STATE(53), 1, + sym_built_in_function, + STATE(54), 1, + sym_expression, + ACTIONS(13), 2, + sym_float, + sym_string, + ACTIONS(15), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(58), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8524] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(121), 1, + sym_expression, + STATE(142), 1, + sym_built_in_function, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8598] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(85), 1, + sym_expression, + STATE(102), 1, + sym_built_in_function, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8672] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(289), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8746] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(102), 1, sym_built_in_function, STATE(123), 1, sym_expression, - ACTIONS(94), 2, + ACTIONS(104), 2, sym_float, sym_string, - ACTIONS(96), 2, + ACTIONS(106), 2, anon_sym_true, anon_sym_false, - STATE(101), 4, + STATE(101), 5, sym_boolean, sym_list, sym_map, + sym_option, sym_function, - STATE(88), 7, + STATE(94), 7, sym_identifier, sym_value, sym_index, @@ -14372,7 +14978,7 @@ static const uint16_t ts_small_parse_table[] = { sym_logic, sym_function_call, sym_yield, - ACTIONS(116), 17, + ACTIONS(130), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -14390,41 +14996,571 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [8600] = 12, + [8820] = 15, ACTIONS(3), 1, sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(298), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8894] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(302), 1, - anon_sym_SEMI, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(81), 1, + sym_expression, + STATE(102), 1, + sym_built_in_function, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [8968] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(142), 1, + sym_built_in_function, + STATE(286), 1, + sym_expression, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9042] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(164), 1, + sym__identifier_pattern, + ACTIONS(170), 1, + sym_integer, + ACTIONS(176), 1, + anon_sym_LBRACK, + ACTIONS(178), 1, + anon_sym_none, + ACTIONS(180), 1, + anon_sym_some, + ACTIONS(182), 1, + anon_sym_LPAREN, + ACTIONS(356), 1, + anon_sym_LBRACE, + STATE(124), 1, + sym_expression, + STATE(142), 1, + sym_built_in_function, + ACTIONS(172), 2, + sym_float, + sym_string, + ACTIONS(174), 2, + anon_sym_true, + anon_sym_false, + STATE(138), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(137), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(196), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9116] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(11), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACK, + ACTIONS(19), 1, + anon_sym_none, + ACTIONS(21), 1, + anon_sym_some, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(505), 1, + anon_sym_LBRACE, + STATE(53), 1, + sym_built_in_function, + STATE(57), 1, + sym_expression, + ACTIONS(13), 2, + sym_float, + sym_string, + ACTIONS(15), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(58), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9190] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(102), 1, + sym_built_in_function, + STATE(112), 1, + sym_expression, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9264] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(10), 1, + sym_expression, + STATE(102), 1, + sym_built_in_function, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9338] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(11), 1, + sym_integer, + ACTIONS(17), 1, + anon_sym_LBRACK, + ACTIONS(19), 1, + anon_sym_none, + ACTIONS(21), 1, + anon_sym_some, + ACTIONS(23), 1, + anon_sym_LPAREN, + ACTIONS(505), 1, + anon_sym_LBRACE, + STATE(38), 1, + sym_expression, + STATE(53), 1, + sym_built_in_function, + ACTIONS(13), 2, + sym_float, + sym_string, + ACTIONS(15), 2, + anon_sym_true, + anon_sym_false, + STATE(71), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(58), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9412] = 15, + ACTIONS(3), 1, + sym__comment, + ACTIONS(98), 1, + sym__identifier_pattern, + ACTIONS(100), 1, + anon_sym_LBRACE, + ACTIONS(102), 1, + sym_integer, + ACTIONS(108), 1, + anon_sym_LBRACK, + ACTIONS(110), 1, + anon_sym_none, + ACTIONS(112), 1, + anon_sym_some, + ACTIONS(114), 1, + anon_sym_LPAREN, + STATE(83), 1, + sym_expression, + STATE(102), 1, + sym_built_in_function, + ACTIONS(104), 2, + sym_float, + sym_string, + ACTIONS(106), 2, + anon_sym_true, + anon_sym_false, + STATE(101), 5, + sym_boolean, + sym_list, + sym_map, + sym_option, + sym_function, + STATE(94), 7, + sym_identifier, + sym_value, + sym_index, + sym_math, + sym_logic, + sym_function_call, + sym_yield, + ACTIONS(130), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9486] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(234), 1, + anon_sym_EQ, + ACTIONS(236), 1, anon_sym_LT, - ACTIONS(288), 2, + STATE(44), 1, + sym_assignment_operator, + STATE(318), 1, + sym_type_definition, + ACTIONS(238), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(230), 14, anon_sym_RBRACE, + anon_sym_SEMI, anon_sym_COMMA, - ACTIONS(106), 4, - anon_sym_PLUS, + anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(110), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(290), 18, + anon_sym_DASH_GT, + ACTIONS(232), 21, sym__identifier_pattern, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -14442,40 +15578,127 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [8664] = 11, + [9545] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(294), 3, + ACTIONS(284), 10, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_elseif, + anon_sym_asyncfor, + ACTIONS(286), 30, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9593] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(514), 10, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_elseif, + anon_sym_asyncfor, + ACTIONS(516), 30, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9641] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(234), 1, + anon_sym_EQ, + STATE(41), 1, + sym_assignment_operator, + ACTIONS(238), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + ACTIONS(230), 14, anon_sym_RBRACE, anon_sym_SEMI, anon_sym_COMMA, - ACTIONS(106), 4, - anon_sym_PLUS, + anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(110), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(296), 18, + anon_sym_DASH_GT, + ACTIONS(232), 22, sym__identifier_pattern, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_GT, + anon_sym_LT, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -14493,39 +15716,130 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [8726] = 11, + [9695] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(288), 3, + ACTIONS(518), 10, + ts_builtin_sym_end, + anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_elseif, + anon_sym_asyncfor, + ACTIONS(520), 30, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9743] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(256), 10, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_elseif, + anon_sym_asyncfor, + ACTIONS(258), 30, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_else, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9791] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(328), 1, + anon_sym_SEMI, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(318), 2, + anon_sym_RBRACE, anon_sym_COMMA, - ACTIONS(106), 4, + ACTIONS(120), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(110), 6, + ACTIONS(124), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(290), 18, + ACTIONS(320), 18, sym__identifier_pattern, anon_sym_assert, anon_sym_assert_equal, @@ -14544,182 +15858,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [8788] = 3, + [9855] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(238), 10, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_elseif, - anon_sym_asyncfor, - ACTIONS(240), 28, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [8834] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(266), 10, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_elseif, - anon_sym_asyncfor, - ACTIONS(268), 28, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [8880] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(470), 10, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_elseif, - anon_sym_asyncfor, - ACTIONS(472), 28, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [8926] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(474), 10, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_elseif, - anon_sym_asyncfor, - ACTIONS(476), 28, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_else, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [8972] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(478), 9, + ACTIONS(522), 9, ts_builtin_sym_end, anon_sym_LBRACE, anon_sym_RBRACE, @@ -14729,12 +15871,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_asyncfor, - ACTIONS(480), 27, + ACTIONS(524), 29, anon_sym_async, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, @@ -14757,52 +15901,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [9016] = 4, + [9901] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(292), 1, - anon_sym_SEMI, - ACTIONS(288), 8, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(290), 27, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9062] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(482), 9, + ACTIONS(526), 9, ts_builtin_sym_end, anon_sym_LBRACE, anon_sym_RBRACE, @@ -14812,12 +15914,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_asyncfor, - ACTIONS(484), 27, + ACTIONS(528), 29, anon_sym_async, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, @@ -14840,10 +15944,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [9106] = 3, + [9947] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(486), 9, + ACTIONS(322), 1, + anon_sym_SEMI, + ACTIONS(318), 8, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(320), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [9995] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(491), 9, ts_builtin_sym_end, anon_sym_LBRACE, anon_sym_RBRACE, @@ -14853,12 +16001,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_asyncfor, - ACTIONS(488), 27, + ACTIONS(493), 29, anon_sym_async, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, @@ -14881,10 +16031,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [9150] = 3, + [10041] = 11, ACTIONS(3), 1, sym__comment, - ACTIONS(490), 9, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(314), 3, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(316), 18, + sym__identifier_pattern, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10103] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(530), 9, ts_builtin_sym_end, anon_sym_LBRACE, anon_sym_RBRACE, @@ -14894,12 +16095,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_asyncfor, - ACTIONS(492), 27, + ACTIONS(532), 29, anon_sym_async, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, @@ -14922,10 +16125,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [9194] = 3, + [10149] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(288), 9, + ACTIONS(534), 9, ts_builtin_sym_end, anon_sym_LBRACE, anon_sym_RBRACE, @@ -14935,12 +16138,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_asyncfor, - ACTIONS(290), 27, + ACTIONS(536), 29, anon_sym_async, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, @@ -14963,887 +16168,328 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [9238] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(494), 9, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(496), 27, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9282] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(498), 9, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(500), 27, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9326] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(502), 9, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(504), 27, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9370] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(506), 9, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(508), 27, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9414] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(423), 9, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(425), 27, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9458] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(510), 9, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(512), 27, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9502] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(514), 1, - anon_sym_elseif, - ACTIONS(516), 1, - anon_sym_else, - STATE(245), 1, - sym_else, - STATE(230), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(403), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(405), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9553] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(514), 1, - anon_sym_elseif, - ACTIONS(516), 1, - anon_sym_else, - STATE(247), 1, - sym_else, - STATE(231), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(423), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(425), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9604] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(518), 1, - anon_sym_elseif, - STATE(231), 2, - sym_else_if, - aux_sym_if_else_repeat1, - ACTIONS(457), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(459), 22, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_else, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9650] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(523), 6, - anon_sym_LBRACE, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_asyncfor, - ACTIONS(521), 27, - anon_sym_async, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_if, - anon_sym_match, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9691] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(474), 10, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - anon_sym_elseif, - ACTIONS(476), 22, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_else, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9731] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(238), 10, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - anon_sym_elseif, - ACTIONS(240), 22, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_else, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9771] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(470), 10, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - anon_sym_elseif, - ACTIONS(472), 22, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_else, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9811] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(266), 10, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - anon_sym_elseif, - ACTIONS(268), 22, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_else, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9851] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(490), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(492), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9889] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(288), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(290), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9927] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(478), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(480), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [9965] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(494), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(496), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10003] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(486), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(488), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10041] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(302), 1, - anon_sym_SEMI, - ACTIONS(288), 8, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(290), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10081] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(482), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(484), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10119] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(498), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(500), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10157] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(423), 9, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_SEMI, - anon_sym_COMMA, - sym_float, - sym_string, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_STAR, - ACTIONS(425), 21, - sym__identifier_pattern, - sym_integer, - anon_sym_true, - anon_sym_false, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, [10195] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(502), 9, + ACTIONS(538), 9, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(540), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10241] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(318), 9, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(320), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10287] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(542), 9, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(544), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10333] = 11, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(318), 3, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(320), 18, + sym__identifier_pattern, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10395] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(546), 9, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(548), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10441] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(550), 9, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(552), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10487] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(554), 9, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(556), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10533] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(558), 1, + anon_sym_elseif, + ACTIONS(560), 1, + anon_sym_else, + STATE(249), 1, + sym_else, + STATE(240), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(491), 9, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -15853,11 +16499,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_STAR, - ACTIONS(504), 21, + ACTIONS(493), 23, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -15875,10 +16523,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10233] = 3, + [10586] = 7, ACTIONS(3), 1, sym__comment, - ACTIONS(506), 9, + ACTIONS(558), 1, + anon_sym_elseif, + ACTIONS(560), 1, + anon_sym_else, + STATE(246), 1, + sym_else, + STATE(238), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(499), 9, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -15888,11 +16545,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_STAR, - ACTIONS(508), 21, + ACTIONS(501), 23, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -15910,10 +16569,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10271] = 3, + [10639] = 5, ACTIONS(3), 1, sym__comment, - ACTIONS(510), 9, + ACTIONS(562), 1, + anon_sym_elseif, + STATE(240), 2, + sym_else_if, + aux_sym_if_else_repeat1, + ACTIONS(507), 9, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SEMI, @@ -15923,11 +16587,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_STAR, - ACTIONS(512), 21, + ACTIONS(509), 24, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -15945,24 +16612,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10309] = 4, + [10687] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(529), 1, + ACTIONS(567), 6, + anon_sym_LBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_asyncfor, + ACTIONS(565), 29, + anon_sym_async, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10730] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(284), 10, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, anon_sym_COMMA, - ACTIONS(527), 7, - anon_sym_LBRACE, - anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_STAR, - ACTIONS(525), 21, + anon_sym_elseif, + ACTIONS(286), 24, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -15980,22 +16691,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10348] = 3, + [10772] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(533), 7, + ACTIONS(256), 10, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_STAR, - ACTIONS(531), 21, + anon_sym_elseif, + ACTIONS(258), 24, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -16013,21 +16730,618 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10384] = 3, + [10814] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(396), 6, + ACTIONS(514), 10, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + anon_sym_elseif, + ACTIONS(516), 24, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10856] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(518), 10, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + anon_sym_elseif, + ACTIONS(520), 24, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_else, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10898] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(491), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(493), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10938] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(554), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(556), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [10978] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(318), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(320), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11018] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(550), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(552), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11058] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(542), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(544), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11098] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(522), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(524), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11138] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(546), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(548), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11178] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(530), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(532), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11218] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(538), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(540), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11258] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(534), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(536), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11298] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(526), 9, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_SEMI, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(528), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11338] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(328), 1, + anon_sym_SEMI, + ACTIONS(318), 8, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(320), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11380] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(573), 1, + anon_sym_COMMA, + ACTIONS(571), 7, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(569), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11421] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(577), 7, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_float, + sym_string, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_STAR, + ACTIONS(575), 23, + sym__identifier_pattern, + sym_integer, + anon_sym_true, + anon_sym_false, + anon_sym_none, + anon_sym_some, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11459] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(428), 6, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(535), 21, + ACTIONS(579), 23, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -16045,21 +17359,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10419] = 3, + [11496] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(447), 6, + ACTIONS(467), 6, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LPAREN, - ACTIONS(537), 21, + ACTIONS(581), 23, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -16077,20 +17393,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10454] = 3, + [11533] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(541), 5, + ACTIONS(585), 5, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LPAREN, - ACTIONS(539), 21, + ACTIONS(583), 23, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -16108,20 +17426,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10488] = 3, + [11569] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(545), 5, + ACTIONS(589), 5, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_LPAREN, - ACTIONS(543), 21, + ACTIONS(587), 23, sym__identifier_pattern, sym_integer, anon_sym_true, anon_sym_false, + anon_sym_none, + anon_sym_some, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -16139,17 +17459,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10522] = 3, + [11605] = 3, ACTIONS(3), 1, sym__comment, - ACTIONS(549), 6, + ACTIONS(593), 6, anon_sym_LBRACE, anon_sym_COMMA, anon_sym_EQ, anon_sym_RPAREN, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, - ACTIONS(547), 19, + ACTIONS(591), 19, anon_sym_async, sym__identifier_pattern, anon_sym_assert, @@ -16169,20 +17489,82 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10555] = 7, + [11638] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(5), 1, sym__identifier_pattern, - ACTIONS(86), 1, + ACTIONS(595), 1, anon_sym_RBRACE, - STATE(43), 1, + STATE(53), 1, + sym_built_in_function, + STATE(270), 1, + aux_sym_map_repeat1, + STATE(328), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11676] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(39), 1, + anon_sym_RBRACE, + STATE(53), 1, + sym_built_in_function, + STATE(275), 1, + aux_sym_map_repeat1, + STATE(328), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11714] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(94), 1, + anon_sym_RBRACE, + STATE(53), 1, sym_built_in_function, STATE(269), 1, aux_sym_map_repeat1, - STATE(314), 1, + STATE(328), 1, sym_identifier, - ACTIONS(33), 17, + ACTIONS(37), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -16200,20 +17582,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10593] = 7, + [11752] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(5), 1, sym__identifier_pattern, - ACTIONS(551), 1, + ACTIONS(597), 1, anon_sym_RPAREN, - STATE(43), 1, + STATE(53), 1, sym_built_in_function, - STATE(268), 1, + STATE(277), 1, aux_sym_function_repeat1, - STATE(317), 1, + STATE(336), 1, sym_identifier, - ACTIONS(33), 17, + ACTIONS(37), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -16231,550 +17613,82 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [10631] = 7, + [11790] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(5), 1, sym__identifier_pattern, - ACTIONS(553), 1, - anon_sym_RPAREN, - STATE(43), 1, - sym_built_in_function, - STATE(257), 1, - aux_sym_function_repeat1, - STATE(317), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10669] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(555), 1, - anon_sym_RPAREN, - STATE(43), 1, - sym_built_in_function, - STATE(261), 1, - aux_sym_function_repeat1, - STATE(317), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10707] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(82), 1, + ACTIONS(599), 1, anon_sym_RBRACE, - STATE(43), 1, + STATE(53), 1, + sym_built_in_function, + STATE(270), 1, + aux_sym_map_repeat1, + STATE(328), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11828] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(601), 1, + sym__identifier_pattern, + ACTIONS(604), 1, + anon_sym_RBRACE, + STATE(53), 1, + sym_built_in_function, + STATE(270), 1, + aux_sym_map_repeat1, + STATE(328), 1, + sym_identifier, + ACTIONS(606), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11866] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(96), 1, + anon_sym_RBRACE, + STATE(53), 1, sym_built_in_function, STATE(265), 1, aux_sym_map_repeat1, - STATE(314), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10745] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(557), 1, - anon_sym_RPAREN, - STATE(43), 1, - sym_built_in_function, - STATE(268), 1, - aux_sym_function_repeat1, - STATE(317), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10783] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(84), 1, - anon_sym_RBRACE, - STATE(43), 1, - sym_built_in_function, - STATE(263), 1, - aux_sym_map_repeat1, - STATE(314), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10821] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(559), 1, - anon_sym_RBRACE, - STATE(43), 1, - sym_built_in_function, - STATE(264), 1, - aux_sym_map_repeat1, - STATE(314), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10859] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(561), 1, - sym__identifier_pattern, - ACTIONS(564), 1, - anon_sym_RBRACE, - STATE(43), 1, - sym_built_in_function, - STATE(264), 1, - aux_sym_map_repeat1, - STATE(314), 1, - sym_identifier, - ACTIONS(566), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10897] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(569), 1, - anon_sym_RBRACE, - STATE(43), 1, - sym_built_in_function, - STATE(264), 1, - aux_sym_map_repeat1, - STATE(314), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10935] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(571), 1, - anon_sym_RPAREN, - STATE(43), 1, - sym_built_in_function, - STATE(268), 1, - aux_sym_function_repeat1, - STATE(317), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [10973] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(573), 1, - anon_sym_RPAREN, - STATE(43), 1, - sym_built_in_function, - STATE(266), 1, - aux_sym_function_repeat1, - STATE(317), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [11011] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(575), 1, - sym__identifier_pattern, - ACTIONS(578), 1, - anon_sym_RPAREN, - STATE(43), 1, - sym_built_in_function, - STATE(268), 1, - aux_sym_function_repeat1, - STATE(317), 1, - sym_identifier, - ACTIONS(580), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [11049] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - ACTIONS(583), 1, - anon_sym_RBRACE, - STATE(43), 1, - sym_built_in_function, - STATE(264), 1, - aux_sym_map_repeat1, - STATE(314), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [11087] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(585), 1, - anon_sym_async, - ACTIONS(587), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - STATE(233), 1, - sym_block, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11133] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(589), 1, - anon_sym_async, - ACTIONS(591), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - STATE(216), 1, - sym_block, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11179] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(593), 1, - anon_sym_async, - ACTIONS(595), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - STATE(237), 1, - sym_block, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11225] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(593), 1, - anon_sym_async, - ACTIONS(595), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - STATE(243), 1, - sym_block, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11271] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(599), 1, - anon_sym_RBRACE, - ACTIONS(601), 1, - anon_sym_COMMA, - ACTIONS(597), 18, - sym__identifier_pattern, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [11301] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(5), 1, - sym__identifier_pattern, - STATE(43), 1, - sym_built_in_function, STATE(328), 1, sym_identifier, - ACTIONS(33), 17, + ACTIONS(37), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -16792,204 +17706,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [11333] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(585), 1, - anon_sym_async, - ACTIONS(587), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - STATE(235), 1, - sym_block, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11379] = 5, + [11904] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(5), 1, sym__identifier_pattern, - STATE(43), 1, - sym_built_in_function, - STATE(327), 1, - sym_identifier, - ACTIONS(33), 17, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [11411] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(603), 1, - anon_sym_async, - ACTIONS(605), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - STATE(219), 1, - sym_block, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11457] = 4, - ACTIONS(3), 1, - sym__comment, ACTIONS(609), 1, - anon_sym_RBRACE, - ACTIONS(611), 1, - anon_sym_COMMA, - ACTIONS(607), 18, - sym__identifier_pattern, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [11487] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(603), 1, - anon_sym_async, - ACTIONS(605), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - STATE(221), 1, - sym_block, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11533] = 12, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(589), 1, - anon_sym_async, - ACTIONS(591), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - STATE(215), 1, - sym_block, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11579] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(578), 1, anon_sym_RPAREN, - ACTIONS(615), 1, - anon_sym_COMMA, - ACTIONS(613), 18, - sym__identifier_pattern, + STATE(53), 1, + sym_built_in_function, + STATE(277), 1, + aux_sym_function_repeat1, + STATE(336), 1, + sym_identifier, + ACTIONS(37), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -17007,13 +17737,144 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [11609] = 3, + [11942] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(611), 1, + anon_sym_RPAREN, + STATE(53), 1, + sym_built_in_function, + STATE(278), 1, + aux_sym_function_repeat1, + STATE(336), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [11980] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(613), 1, + anon_sym_RPAREN, + STATE(53), 1, + sym_built_in_function, + STATE(272), 1, + aux_sym_function_repeat1, + STATE(336), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12018] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(615), 1, + anon_sym_RBRACE, + STATE(53), 1, + sym_built_in_function, + STATE(270), 1, + aux_sym_map_repeat1, + STATE(328), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12056] = 7, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + ACTIONS(617), 1, + anon_sym_RPAREN, + STATE(53), 1, + sym_built_in_function, + STATE(268), 1, + aux_sym_function_repeat1, + STATE(336), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12094] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(619), 1, + sym__identifier_pattern, + ACTIONS(622), 1, anon_sym_RPAREN, - ACTIONS(617), 18, - sym__identifier_pattern, + STATE(53), 1, + sym_built_in_function, + STATE(277), 1, + aux_sym_function_repeat1, + STATE(336), 1, + sym_identifier, + ACTIONS(624), 17, anon_sym_assert, anon_sym_assert_equal, anon_sym_bash, @@ -17031,1252 +17892,1911 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_read, anon_sym_to_json, anon_sym_write, - [11636] = 3, + [12132] = 7, ACTIONS(3), 1, sym__comment, - ACTIONS(623), 1, - anon_sym_RBRACE, - ACTIONS(621), 18, + ACTIONS(5), 1, sym__identifier_pattern, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [11663] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(609), 1, - anon_sym_RBRACE, - ACTIONS(607), 18, - sym__identifier_pattern, - anon_sym_assert, - anon_sym_assert_equal, - anon_sym_bash, - anon_sym_download, - anon_sym_fish, - anon_sym_from_json, - anon_sym_length, - anon_sym_metadata, - anon_sym_output, - anon_sym_output_error, - anon_sym_random, - anon_sym_random_boolean, - anon_sym_random_float, - anon_sym_random_integer, - anon_sym_read, - anon_sym_to_json, - anon_sym_write, - [11690] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, - ACTIONS(625), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11730] = 10, - ACTIONS(3), 1, - sym__comment, - ACTIONS(108), 1, - anon_sym_DASH, - ACTIONS(320), 1, - anon_sym_DASH_GT, - ACTIONS(326), 1, - anon_sym_COLON, ACTIONS(627), 1, - anon_sym_LBRACE, - STATE(175), 1, - sym_logic_operator, - STATE(189), 1, - sym_math_operator, - ACTIONS(112), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(106), 4, - anon_sym_PLUS, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(110), 6, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - [11770] = 10, + anon_sym_RPAREN, + STATE(53), 1, + sym_built_in_function, + STATE(277), 1, + aux_sym_function_repeat1, + STATE(336), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12170] = 12, ACTIONS(3), 1, sym__comment, - ACTIONS(108), 1, + ACTIONS(122), 1, anon_sym_DASH, - ACTIONS(320), 1, + ACTIONS(344), 1, anon_sym_DASH_GT, - ACTIONS(326), 1, + ACTIONS(354), 1, anon_sym_COLON, ACTIONS(629), 1, - anon_sym_EQ_GT, - STATE(175), 1, + anon_sym_async, + ACTIONS(631), 1, + anon_sym_LBRACE, + STATE(180), 1, sym_logic_operator, - STATE(189), 1, + STATE(184), 1, sym_math_operator, - ACTIONS(112), 2, + STATE(230), 1, + sym_block, + ACTIONS(126), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(106), 4, + ACTIONS(120), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(110), 6, + ACTIONS(124), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, - [11810] = 3, + [12216] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + STATE(53), 1, + sym_built_in_function, + STATE(352), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12248] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(633), 1, + anon_sym_async, + ACTIONS(635), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + STATE(255), 1, + sym_block, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12294] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(637), 1, + anon_sym_async, + ACTIONS(639), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + STATE(245), 1, + sym_block, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12340] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(641), 1, + anon_sym_async, + ACTIONS(643), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + STATE(219), 1, + sym_block, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12386] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(633), 1, + anon_sym_async, + ACTIONS(635), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + STATE(254), 1, + sym_block, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12432] = 5, + ACTIONS(3), 1, + sym__comment, + ACTIONS(5), 1, + sym__identifier_pattern, + STATE(53), 1, + sym_built_in_function, + STATE(345), 1, + sym_identifier, + ACTIONS(37), 17, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12464] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(629), 1, + anon_sym_async, + ACTIONS(631), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + STATE(231), 1, + sym_block, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12510] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(622), 1, + anon_sym_RPAREN, + ACTIONS(647), 1, + anon_sym_COMMA, + ACTIONS(645), 18, + sym__identifier_pattern, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12540] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(651), 1, + anon_sym_RBRACE, + ACTIONS(653), 1, + anon_sym_COMMA, + ACTIONS(649), 18, + sym__identifier_pattern, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12570] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(641), 1, + anon_sym_async, + ACTIONS(643), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + STATE(221), 1, + sym_block, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12616] = 12, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(637), 1, + anon_sym_async, + ACTIONS(639), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + STATE(244), 1, + sym_block, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12662] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(657), 1, + anon_sym_RBRACE, + ACTIONS(659), 1, + anon_sym_COMMA, + ACTIONS(655), 18, + sym__identifier_pattern, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12692] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(663), 1, + anon_sym_RPAREN, + ACTIONS(661), 18, + sym__identifier_pattern, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12719] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(657), 1, + anon_sym_RBRACE, + ACTIONS(655), 18, + sym__identifier_pattern, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12746] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(667), 1, + anon_sym_RBRACE, + ACTIONS(665), 18, + sym__identifier_pattern, + anon_sym_assert, + anon_sym_assert_equal, + anon_sym_bash, + anon_sym_download, + anon_sym_fish, + anon_sym_from_json, + anon_sym_length, + anon_sym_metadata, + anon_sym_output, + anon_sym_output_error, + anon_sym_random, + anon_sym_random_boolean, + anon_sym_random_float, + anon_sym_random_integer, + anon_sym_read, + anon_sym_to_json, + anon_sym_write, + [12773] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(669), 1, + anon_sym_RPAREN, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12813] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(671), 1, + anon_sym_RPAREN, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12853] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(673), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12893] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(675), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12933] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(677), 1, + anon_sym_RPAREN, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [12973] = 10, + ACTIONS(3), 1, + sym__comment, + ACTIONS(122), 1, + anon_sym_DASH, + ACTIONS(344), 1, + anon_sym_DASH_GT, + ACTIONS(354), 1, + anon_sym_COLON, + ACTIONS(679), 1, + anon_sym_EQ_GT, + STATE(180), 1, + sym_logic_operator, + STATE(184), 1, + sym_math_operator, + ACTIONS(126), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(120), 4, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(124), 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + [13013] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(683), 1, + anon_sym_DASH_GT, + ACTIONS(681), 14, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [13036] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(687), 1, + anon_sym_DASH_GT, + ACTIONS(685), 14, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [13059] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(689), 14, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [13079] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(681), 14, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [13099] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(691), 14, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [13119] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(693), 14, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_GT, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [13139] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(695), 1, + anon_sym_LBRACK, + ACTIONS(697), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, + anon_sym_RPAREN, + ACTIONS(703), 1, + anon_sym_option, + STATE(309), 1, + aux_sym_type_repeat1, + STATE(310), 1, + sym_type, + ACTIONS(701), 7, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [13170] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(705), 1, + anon_sym_LBRACK, + ACTIONS(708), 1, + anon_sym_LPAREN, + ACTIONS(711), 1, + anon_sym_RPAREN, + ACTIONS(716), 1, + anon_sym_option, + STATE(308), 1, + aux_sym_type_repeat1, + STATE(310), 1, + sym_type, + ACTIONS(713), 7, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [13201] = 8, + ACTIONS(3), 1, + sym__comment, + ACTIONS(695), 1, + anon_sym_LBRACK, + ACTIONS(697), 1, + anon_sym_LPAREN, + ACTIONS(703), 1, + anon_sym_option, + ACTIONS(719), 1, + anon_sym_RPAREN, + STATE(308), 1, + aux_sym_type_repeat1, + STATE(310), 1, + sym_type, + ACTIONS(701), 7, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [13232] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(721), 1, + anon_sym_COMMA, + ACTIONS(723), 11, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [13252] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(695), 1, + anon_sym_LBRACK, + ACTIONS(697), 1, + anon_sym_LPAREN, + ACTIONS(703), 1, + anon_sym_option, + STATE(306), 1, + sym_type, + ACTIONS(701), 7, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [13277] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(695), 1, + anon_sym_LBRACK, + ACTIONS(697), 1, + anon_sym_LPAREN, + ACTIONS(703), 1, + anon_sym_option, + STATE(340), 1, + sym_type, + ACTIONS(701), 7, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [13302] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(695), 1, + anon_sym_LBRACK, + ACTIONS(697), 1, + anon_sym_LPAREN, + ACTIONS(703), 1, + anon_sym_option, + STATE(337), 1, + sym_type, + ACTIONS(701), 7, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [13327] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(695), 1, + anon_sym_LBRACK, + ACTIONS(697), 1, + anon_sym_LPAREN, + ACTIONS(703), 1, + anon_sym_option, + STATE(338), 1, + sym_type, + ACTIONS(701), 7, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [13352] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(711), 11, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + anon_sym_option, + [13369] = 6, + ACTIONS(3), 1, + sym__comment, + ACTIONS(695), 1, + anon_sym_LBRACK, + ACTIONS(697), 1, + anon_sym_LPAREN, + ACTIONS(703), 1, + anon_sym_option, + STATE(305), 1, + sym_type, + ACTIONS(701), 7, + anon_sym_any, + anon_sym_bool, + anon_sym_float, + anon_sym_int, + anon_sym_map, + anon_sym_num, + anon_sym_str, + [13394] = 3, + ACTIONS(3), 1, + sym__comment, + STATE(46), 1, + sym_assignment_operator, + ACTIONS(238), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [13406] = 3, + ACTIONS(3), 1, + sym__comment, + STATE(47), 1, + sym_assignment_operator, + ACTIONS(238), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [13418] = 3, + ACTIONS(3), 1, + sym__comment, + STATE(40), 1, + sym_assignment_operator, + ACTIONS(238), 3, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [13430] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(725), 1, + anon_sym_EQ, + STATE(46), 1, + sym_assignment_operator, + ACTIONS(238), 2, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + [13444] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(633), 1, - anon_sym_DASH_GT, - ACTIONS(631), 13, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [11832] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(637), 1, - anon_sym_DASH_GT, - ACTIONS(635), 13, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [11854] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(631), 13, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [11873] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(639), 13, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [11892] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(641), 13, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [11911] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(643), 13, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_GT, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [11930] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(645), 1, - anon_sym_LBRACK, - ACTIONS(647), 1, - anon_sym_LPAREN, - ACTIONS(649), 1, - anon_sym_RPAREN, - STATE(297), 1, - aux_sym_type_repeat1, - STATE(298), 1, - sym_type, - ACTIONS(651), 7, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [11958] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(653), 1, - anon_sym_LBRACK, - ACTIONS(656), 1, - anon_sym_LPAREN, - ACTIONS(659), 1, - anon_sym_RPAREN, - STATE(296), 1, - aux_sym_type_repeat1, - STATE(298), 1, - sym_type, - ACTIONS(661), 7, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [11986] = 7, - ACTIONS(3), 1, - sym__comment, - ACTIONS(645), 1, - anon_sym_LBRACK, - ACTIONS(647), 1, - anon_sym_LPAREN, - ACTIONS(664), 1, - anon_sym_RPAREN, - STATE(296), 1, - aux_sym_type_repeat1, - STATE(298), 1, - sym_type, - ACTIONS(651), 7, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [12014] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(666), 1, - anon_sym_COMMA, - ACTIONS(668), 10, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [12033] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(645), 1, - anon_sym_LBRACK, - ACTIONS(647), 1, - anon_sym_LPAREN, - STATE(292), 1, - sym_type, - ACTIONS(651), 7, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [12055] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(645), 1, - anon_sym_LBRACK, - ACTIONS(647), 1, - anon_sym_LPAREN, - STATE(332), 1, - sym_type, - ACTIONS(651), 7, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [12077] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(645), 1, - anon_sym_LBRACK, - ACTIONS(647), 1, - anon_sym_LPAREN, - STATE(326), 1, - sym_type, - ACTIONS(651), 7, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [12099] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(659), 10, - anon_sym_LBRACK, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [12115] = 5, - ACTIONS(3), 1, - sym__comment, - ACTIONS(645), 1, - anon_sym_LBRACK, - ACTIONS(647), 1, - anon_sym_LPAREN, - STATE(294), 1, - sym_type, - ACTIONS(651), 7, - anon_sym_any, - anon_sym_bool, - anon_sym_float, - anon_sym_int, - anon_sym_map, - anon_sym_num, - anon_sym_str, - [12137] = 3, - ACTIONS(3), 1, - sym__comment, - STATE(40), 1, - sym_assignment_operator, - ACTIONS(224), 3, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [12149] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(670), 1, - anon_sym_EQ, - STATE(40), 1, - sym_assignment_operator, - ACTIONS(224), 2, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [12163] = 3, - ACTIONS(3), 1, - sym__comment, - STATE(51), 1, - sym_assignment_operator, - ACTIONS(224), 3, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [12175] = 3, - ACTIONS(3), 1, - sym__comment, - STATE(54), 1, - sym_assignment_operator, - ACTIONS(224), 3, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - [12187] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(603), 1, anon_sym_async, - ACTIONS(605), 1, + ACTIONS(635), 1, anon_sym_LBRACE, - STATE(65), 1, + STATE(99), 1, sym_block, - [12200] = 4, + [13457] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(603), 1, + ACTIONS(727), 1, anon_sym_async, - ACTIONS(605), 1, + ACTIONS(729), 1, anon_sym_LBRACE, - STATE(66), 1, + STATE(161), 1, sym_block, - [12213] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(593), 1, - anon_sym_async, - ACTIONS(595), 1, - anon_sym_LBRACE, - STATE(103), 1, - sym_block, - [12226] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(593), 1, - anon_sym_async, - ACTIONS(595), 1, - anon_sym_LBRACE, - STATE(98), 1, - sym_block, - [12239] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(672), 1, - anon_sym_async, - ACTIONS(674), 1, - anon_sym_LBRACE, - STATE(127), 1, - sym_block, - [12252] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(593), 1, - anon_sym_async, - ACTIONS(595), 1, - anon_sym_LBRACE, - STATE(248), 1, - sym_block, - [12265] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(676), 1, - anon_sym_EQ, - ACTIONS(678), 1, - anon_sym_LT, - STATE(338), 1, - sym_type_definition, - [12278] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(603), 1, - anon_sym_async, - ACTIONS(605), 1, - anon_sym_LBRACE, - STATE(228), 1, - sym_block, - [12291] = 4, - ACTIONS(3), 1, - sym__comment, - ACTIONS(672), 1, - anon_sym_async, - ACTIONS(674), 1, - anon_sym_LBRACE, - STATE(138), 1, - sym_block, - [12304] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(678), 1, - anon_sym_LT, - STATE(282), 1, - sym_type_definition, - [12314] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(678), 1, - anon_sym_LT, - STATE(308), 1, - sym_type_definition, - [12324] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(678), 1, - anon_sym_LT, - STATE(312), 1, - sym_type_definition, - [12334] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(678), 1, - anon_sym_LT, - STATE(309), 1, - sym_type_definition, - [12344] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(678), 1, - anon_sym_LT, - STATE(316), 1, - sym_type_definition, - [12354] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(678), 1, - anon_sym_LT, - STATE(310), 1, - sym_type_definition, - [12364] = 3, - ACTIONS(3), 1, - sym__comment, - ACTIONS(678), 1, - anon_sym_LT, - STATE(311), 1, - sym_type_definition, - [12374] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(680), 1, - anon_sym_LPAREN, - [12381] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(682), 1, - anon_sym_LBRACE, - [12388] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(684), 1, - anon_sym_RBRACK, - [12395] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(686), 1, - anon_sym_in, - [12402] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(688), 1, - anon_sym_in, - [12409] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(690), 1, - anon_sym_LPAREN, - [12416] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(692), 1, - anon_sym_LBRACE, - [12423] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(694), 1, - anon_sym_LBRACE, - [12430] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(696), 1, - anon_sym_GT, - [12437] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(698), 1, - anon_sym_LPAREN, - [12444] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(700), 1, - ts_builtin_sym_end, - [12451] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(702), 1, - anon_sym_LBRACE, - [12458] = 2, - ACTIONS(3), 1, - sym__comment, - ACTIONS(704), 1, - anon_sym_LBRACE, - [12465] = 2, + [13470] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(629), 1, - anon_sym_EQ_GT, - [12472] = 2, + anon_sym_async, + ACTIONS(631), 1, + anon_sym_LBRACE, + STATE(61), 1, + sym_block, + [13483] = 4, ACTIONS(3), 1, sym__comment, - ACTIONS(706), 1, + ACTIONS(633), 1, + anon_sym_async, + ACTIONS(635), 1, + anon_sym_LBRACE, + STATE(90), 1, + sym_block, + [13496] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(633), 1, + anon_sym_async, + ACTIONS(635), 1, + anon_sym_LBRACE, + STATE(247), 1, + sym_block, + [13509] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(629), 1, + anon_sym_async, + ACTIONS(631), 1, + anon_sym_LBRACE, + STATE(237), 1, + sym_block, + [13522] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(629), 1, + anon_sym_async, + ACTIONS(631), 1, + anon_sym_LBRACE, + STATE(77), 1, + sym_block, + [13535] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(731), 1, anon_sym_EQ, + ACTIONS(733), 1, + anon_sym_LT, + STATE(343), 1, + sym_type_definition, + [13548] = 4, + ACTIONS(3), 1, + sym__comment, + ACTIONS(727), 1, + anon_sym_async, + ACTIONS(729), 1, + anon_sym_LBRACE, + STATE(163), 1, + sym_block, + [13561] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(733), 1, + anon_sym_LT, + STATE(329), 1, + sym_type_definition, + [13571] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(733), 1, + anon_sym_LT, + STATE(324), 1, + sym_type_definition, + [13581] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(733), 1, + anon_sym_LT, + STATE(321), 1, + sym_type_definition, + [13591] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(733), 1, + anon_sym_LT, + STATE(323), 1, + sym_type_definition, + [13601] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(733), 1, + anon_sym_LT, + STATE(322), 1, + sym_type_definition, + [13611] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(733), 1, + anon_sym_LT, + STATE(327), 1, + sym_type_definition, + [13621] = 3, + ACTIONS(3), 1, + sym__comment, + ACTIONS(733), 1, + anon_sym_LT, + STATE(287), 1, + sym_type_definition, + [13631] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(735), 1, + anon_sym_RBRACK, + [13638] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(737), 1, + anon_sym_RPAREN, + [13645] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(739), 1, + anon_sym_LPAREN, + [13652] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(741), 1, + anon_sym_GT, + [13659] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(743), 1, + anon_sym_LBRACE, + [13666] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(745), 1, + anon_sym_LPAREN, + [13673] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(747), 1, + anon_sym_EQ, + [13680] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(679), 1, + anon_sym_EQ_GT, + [13687] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(749), 1, + anon_sym_in, + [13694] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(751), 1, + anon_sym_LPAREN, + [13701] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(753), 1, + anon_sym_LBRACE, + [13708] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(755), 1, + anon_sym_LBRACE, + [13715] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(757), 1, + anon_sym_LPAREN, + [13722] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(759), 1, + anon_sym_LPAREN, + [13729] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(761), 1, + anon_sym_LPAREN, + [13736] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(763), 1, + anon_sym_in, + [13743] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(765), 1, + anon_sym_LBRACE, + [13750] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(767), 1, + anon_sym_LBRACE, + [13757] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(769), 1, + ts_builtin_sym_end, + [13764] = 2, + ACTIONS(3), 1, + sym__comment, + ACTIONS(771), 1, + anon_sym_LPAREN, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(76)] = 0, - [SMALL_STATE(77)] = 79, - [SMALL_STATE(78)] = 156, - [SMALL_STATE(79)] = 233, - [SMALL_STATE(80)] = 309, - [SMALL_STATE(81)] = 373, - [SMALL_STATE(82)] = 437, - [SMALL_STATE(83)] = 503, - [SMALL_STATE(84)] = 569, - [SMALL_STATE(85)] = 644, - [SMALL_STATE(86)] = 707, - [SMALL_STATE(87)] = 772, - [SMALL_STATE(88)] = 830, - [SMALL_STATE(89)] = 888, - [SMALL_STATE(90)] = 946, - [SMALL_STATE(91)] = 1004, - [SMALL_STATE(92)] = 1062, - [SMALL_STATE(93)] = 1120, - [SMALL_STATE(94)] = 1178, - [SMALL_STATE(95)] = 1236, - [SMALL_STATE(96)] = 1294, - [SMALL_STATE(97)] = 1352, - [SMALL_STATE(98)] = 1410, - [SMALL_STATE(99)] = 1468, - [SMALL_STATE(100)] = 1526, - [SMALL_STATE(101)] = 1584, - [SMALL_STATE(102)] = 1642, - [SMALL_STATE(103)] = 1700, - [SMALL_STATE(104)] = 1758, - [SMALL_STATE(105)] = 1816, - [SMALL_STATE(106)] = 1883, - [SMALL_STATE(107)] = 1945, - [SMALL_STATE(108)] = 2015, - [SMALL_STATE(109)] = 2085, - [SMALL_STATE(110)] = 2157, - [SMALL_STATE(111)] = 2216, - [SMALL_STATE(112)] = 2287, - [SMALL_STATE(113)] = 2358, - [SMALL_STATE(114)] = 2417, - [SMALL_STATE(115)] = 2474, - [SMALL_STATE(116)] = 2531, - [SMALL_STATE(117)] = 2600, - [SMALL_STATE(118)] = 2670, - [SMALL_STATE(119)] = 2740, - [SMALL_STATE(120)] = 2798, - [SMALL_STATE(121)] = 2868, - [SMALL_STATE(122)] = 2936, - [SMALL_STATE(123)] = 2992, - [SMALL_STATE(124)] = 3050, - [SMALL_STATE(125)] = 3101, - [SMALL_STATE(126)] = 3152, - [SMALL_STATE(127)] = 3203, - [SMALL_STATE(128)] = 3254, - [SMALL_STATE(129)] = 3305, - [SMALL_STATE(130)] = 3356, - [SMALL_STATE(131)] = 3407, - [SMALL_STATE(132)] = 3458, - [SMALL_STATE(133)] = 3509, - [SMALL_STATE(134)] = 3560, - [SMALL_STATE(135)] = 3611, - [SMALL_STATE(136)] = 3662, - [SMALL_STATE(137)] = 3713, - [SMALL_STATE(138)] = 3764, - [SMALL_STATE(139)] = 3815, - [SMALL_STATE(140)] = 3866, - [SMALL_STATE(141)] = 3917, - [SMALL_STATE(142)] = 3968, - [SMALL_STATE(143)] = 4044, - [SMALL_STATE(144)] = 4120, - [SMALL_STATE(145)] = 4196, - [SMALL_STATE(146)] = 4269, - [SMALL_STATE(147)] = 4342, - [SMALL_STATE(148)] = 4415, - [SMALL_STATE(149)] = 4488, - [SMALL_STATE(150)] = 4561, - [SMALL_STATE(151)] = 4634, - [SMALL_STATE(152)] = 4691, - [SMALL_STATE(153)] = 4764, - [SMALL_STATE(154)] = 4837, - [SMALL_STATE(155)] = 4910, - [SMALL_STATE(156)] = 4969, - [SMALL_STATE(157)] = 5042, - [SMALL_STATE(158)] = 5115, - [SMALL_STATE(159)] = 5188, - [SMALL_STATE(160)] = 5261, - [SMALL_STATE(161)] = 5334, - [SMALL_STATE(162)] = 5391, - [SMALL_STATE(163)] = 5464, - [SMALL_STATE(164)] = 5537, - [SMALL_STATE(165)] = 5607, - [SMALL_STATE(166)] = 5661, - [SMALL_STATE(167)] = 5713, - [SMALL_STATE(168)] = 5783, - [SMALL_STATE(169)] = 5853, - [SMALL_STATE(170)] = 5920, - [SMALL_STATE(171)] = 5987, - [SMALL_STATE(172)] = 6054, - [SMALL_STATE(173)] = 6121, - [SMALL_STATE(174)] = 6188, - [SMALL_STATE(175)] = 6255, - [SMALL_STATE(176)] = 6322, - [SMALL_STATE(177)] = 6389, - [SMALL_STATE(178)] = 6456, - [SMALL_STATE(179)] = 6523, - [SMALL_STATE(180)] = 6590, - [SMALL_STATE(181)] = 6657, - [SMALL_STATE(182)] = 6724, - [SMALL_STATE(183)] = 6791, - [SMALL_STATE(184)] = 6858, - [SMALL_STATE(185)] = 6925, - [SMALL_STATE(186)] = 6992, - [SMALL_STATE(187)] = 7059, - [SMALL_STATE(188)] = 7126, - [SMALL_STATE(189)] = 7193, - [SMALL_STATE(190)] = 7260, - [SMALL_STATE(191)] = 7327, - [SMALL_STATE(192)] = 7394, - [SMALL_STATE(193)] = 7461, - [SMALL_STATE(194)] = 7528, - [SMALL_STATE(195)] = 7595, - [SMALL_STATE(196)] = 7662, - [SMALL_STATE(197)] = 7729, - [SMALL_STATE(198)] = 7796, - [SMALL_STATE(199)] = 7863, - [SMALL_STATE(200)] = 7930, - [SMALL_STATE(201)] = 7997, - [SMALL_STATE(202)] = 8064, - [SMALL_STATE(203)] = 8131, - [SMALL_STATE(204)] = 8198, - [SMALL_STATE(205)] = 8265, - [SMALL_STATE(206)] = 8332, - [SMALL_STATE(207)] = 8399, - [SMALL_STATE(208)] = 8466, - [SMALL_STATE(209)] = 8533, - [SMALL_STATE(210)] = 8600, - [SMALL_STATE(211)] = 8664, - [SMALL_STATE(212)] = 8726, - [SMALL_STATE(213)] = 8788, - [SMALL_STATE(214)] = 8834, - [SMALL_STATE(215)] = 8880, - [SMALL_STATE(216)] = 8926, - [SMALL_STATE(217)] = 8972, - [SMALL_STATE(218)] = 9016, - [SMALL_STATE(219)] = 9062, - [SMALL_STATE(220)] = 9106, - [SMALL_STATE(221)] = 9150, - [SMALL_STATE(222)] = 9194, - [SMALL_STATE(223)] = 9238, - [SMALL_STATE(224)] = 9282, - [SMALL_STATE(225)] = 9326, - [SMALL_STATE(226)] = 9370, - [SMALL_STATE(227)] = 9414, - [SMALL_STATE(228)] = 9458, - [SMALL_STATE(229)] = 9502, - [SMALL_STATE(230)] = 9553, - [SMALL_STATE(231)] = 9604, - [SMALL_STATE(232)] = 9650, - [SMALL_STATE(233)] = 9691, - [SMALL_STATE(234)] = 9731, - [SMALL_STATE(235)] = 9771, - [SMALL_STATE(236)] = 9811, - [SMALL_STATE(237)] = 9851, - [SMALL_STATE(238)] = 9889, - [SMALL_STATE(239)] = 9927, - [SMALL_STATE(240)] = 9965, - [SMALL_STATE(241)] = 10003, - [SMALL_STATE(242)] = 10041, - [SMALL_STATE(243)] = 10081, - [SMALL_STATE(244)] = 10119, - [SMALL_STATE(245)] = 10157, - [SMALL_STATE(246)] = 10195, - [SMALL_STATE(247)] = 10233, - [SMALL_STATE(248)] = 10271, - [SMALL_STATE(249)] = 10309, - [SMALL_STATE(250)] = 10348, - [SMALL_STATE(251)] = 10384, - [SMALL_STATE(252)] = 10419, - [SMALL_STATE(253)] = 10454, - [SMALL_STATE(254)] = 10488, - [SMALL_STATE(255)] = 10522, - [SMALL_STATE(256)] = 10555, - [SMALL_STATE(257)] = 10593, - [SMALL_STATE(258)] = 10631, - [SMALL_STATE(259)] = 10669, - [SMALL_STATE(260)] = 10707, - [SMALL_STATE(261)] = 10745, - [SMALL_STATE(262)] = 10783, - [SMALL_STATE(263)] = 10821, - [SMALL_STATE(264)] = 10859, - [SMALL_STATE(265)] = 10897, - [SMALL_STATE(266)] = 10935, - [SMALL_STATE(267)] = 10973, - [SMALL_STATE(268)] = 11011, - [SMALL_STATE(269)] = 11049, - [SMALL_STATE(270)] = 11087, - [SMALL_STATE(271)] = 11133, - [SMALL_STATE(272)] = 11179, - [SMALL_STATE(273)] = 11225, - [SMALL_STATE(274)] = 11271, - [SMALL_STATE(275)] = 11301, - [SMALL_STATE(276)] = 11333, - [SMALL_STATE(277)] = 11379, - [SMALL_STATE(278)] = 11411, - [SMALL_STATE(279)] = 11457, - [SMALL_STATE(280)] = 11487, - [SMALL_STATE(281)] = 11533, - [SMALL_STATE(282)] = 11579, - [SMALL_STATE(283)] = 11609, - [SMALL_STATE(284)] = 11636, - [SMALL_STATE(285)] = 11663, - [SMALL_STATE(286)] = 11690, - [SMALL_STATE(287)] = 11730, - [SMALL_STATE(288)] = 11770, - [SMALL_STATE(289)] = 11810, - [SMALL_STATE(290)] = 11832, - [SMALL_STATE(291)] = 11854, - [SMALL_STATE(292)] = 11873, - [SMALL_STATE(293)] = 11892, - [SMALL_STATE(294)] = 11911, - [SMALL_STATE(295)] = 11930, - [SMALL_STATE(296)] = 11958, - [SMALL_STATE(297)] = 11986, - [SMALL_STATE(298)] = 12014, - [SMALL_STATE(299)] = 12033, - [SMALL_STATE(300)] = 12055, - [SMALL_STATE(301)] = 12077, - [SMALL_STATE(302)] = 12099, - [SMALL_STATE(303)] = 12115, - [SMALL_STATE(304)] = 12137, - [SMALL_STATE(305)] = 12149, - [SMALL_STATE(306)] = 12163, - [SMALL_STATE(307)] = 12175, - [SMALL_STATE(308)] = 12187, - [SMALL_STATE(309)] = 12200, - [SMALL_STATE(310)] = 12213, - [SMALL_STATE(311)] = 12226, - [SMALL_STATE(312)] = 12239, - [SMALL_STATE(313)] = 12252, - [SMALL_STATE(314)] = 12265, - [SMALL_STATE(315)] = 12278, - [SMALL_STATE(316)] = 12291, - [SMALL_STATE(317)] = 12304, - [SMALL_STATE(318)] = 12314, - [SMALL_STATE(319)] = 12324, - [SMALL_STATE(320)] = 12334, - [SMALL_STATE(321)] = 12344, - [SMALL_STATE(322)] = 12354, - [SMALL_STATE(323)] = 12364, - [SMALL_STATE(324)] = 12374, - [SMALL_STATE(325)] = 12381, - [SMALL_STATE(326)] = 12388, - [SMALL_STATE(327)] = 12395, - [SMALL_STATE(328)] = 12402, - [SMALL_STATE(329)] = 12409, - [SMALL_STATE(330)] = 12416, - [SMALL_STATE(331)] = 12423, - [SMALL_STATE(332)] = 12430, - [SMALL_STATE(333)] = 12437, - [SMALL_STATE(334)] = 12444, - [SMALL_STATE(335)] = 12451, - [SMALL_STATE(336)] = 12458, - [SMALL_STATE(337)] = 12465, - [SMALL_STATE(338)] = 12472, + [SMALL_STATE(78)] = 0, + [SMALL_STATE(79)] = 79, + [SMALL_STATE(80)] = 158, + [SMALL_STATE(81)] = 239, + [SMALL_STATE(82)] = 307, + [SMALL_STATE(83)] = 375, + [SMALL_STATE(84)] = 453, + [SMALL_STATE(85)] = 519, + [SMALL_STATE(86)] = 585, + [SMALL_STATE(87)] = 650, + [SMALL_STATE(88)] = 717, + [SMALL_STATE(89)] = 794, + [SMALL_STATE(90)] = 854, + [SMALL_STATE(91)] = 914, + [SMALL_STATE(92)] = 974, + [SMALL_STATE(93)] = 1034, + [SMALL_STATE(94)] = 1094, + [SMALL_STATE(95)] = 1154, + [SMALL_STATE(96)] = 1214, + [SMALL_STATE(97)] = 1274, + [SMALL_STATE(98)] = 1334, + [SMALL_STATE(99)] = 1394, + [SMALL_STATE(100)] = 1454, + [SMALL_STATE(101)] = 1514, + [SMALL_STATE(102)] = 1574, + [SMALL_STATE(103)] = 1634, + [SMALL_STATE(104)] = 1694, + [SMALL_STATE(105)] = 1754, + [SMALL_STATE(106)] = 1814, + [SMALL_STATE(107)] = 1874, + [SMALL_STATE(108)] = 1934, + [SMALL_STATE(109)] = 1994, + [SMALL_STATE(110)] = 2063, + [SMALL_STATE(111)] = 2127, + [SMALL_STATE(112)] = 2199, + [SMALL_STATE(113)] = 2271, + [SMALL_STATE(114)] = 2345, + [SMALL_STATE(115)] = 2418, + [SMALL_STATE(116)] = 2491, + [SMALL_STATE(117)] = 2561, + [SMALL_STATE(118)] = 2633, + [SMALL_STATE(119)] = 2693, + [SMALL_STATE(120)] = 2765, + [SMALL_STATE(121)] = 2825, + [SMALL_STATE(122)] = 2885, + [SMALL_STATE(123)] = 2943, + [SMALL_STATE(124)] = 3015, + [SMALL_STATE(125)] = 3073, + [SMALL_STATE(126)] = 3142, + [SMALL_STATE(127)] = 3199, + [SMALL_STATE(128)] = 3282, + [SMALL_STATE(129)] = 3341, + [SMALL_STATE(130)] = 3424, + [SMALL_STATE(131)] = 3507, + [SMALL_STATE(132)] = 3587, + [SMALL_STATE(133)] = 3667, + [SMALL_STATE(134)] = 3719, + [SMALL_STATE(135)] = 3799, + [SMALL_STATE(136)] = 3879, + [SMALL_STATE(137)] = 3931, + [SMALL_STATE(138)] = 3983, + [SMALL_STATE(139)] = 4035, + [SMALL_STATE(140)] = 4115, + [SMALL_STATE(141)] = 4167, + [SMALL_STATE(142)] = 4247, + [SMALL_STATE(143)] = 4299, + [SMALL_STATE(144)] = 4351, + [SMALL_STATE(145)] = 4431, + [SMALL_STATE(146)] = 4483, + [SMALL_STATE(147)] = 4563, + [SMALL_STATE(148)] = 4643, + [SMALL_STATE(149)] = 4695, + [SMALL_STATE(150)] = 4775, + [SMALL_STATE(151)] = 4827, + [SMALL_STATE(152)] = 4879, + [SMALL_STATE(153)] = 4931, + [SMALL_STATE(154)] = 5011, + [SMALL_STATE(155)] = 5063, + [SMALL_STATE(156)] = 5143, + [SMALL_STATE(157)] = 5195, + [SMALL_STATE(158)] = 5275, + [SMALL_STATE(159)] = 5355, + [SMALL_STATE(160)] = 5407, + [SMALL_STATE(161)] = 5459, + [SMALL_STATE(162)] = 5511, + [SMALL_STATE(163)] = 5563, + [SMALL_STATE(164)] = 5615, + [SMALL_STATE(165)] = 5695, + [SMALL_STATE(166)] = 5747, + [SMALL_STATE(167)] = 5827, + [SMALL_STATE(168)] = 5904, + [SMALL_STATE(169)] = 5981, + [SMALL_STATE(170)] = 6040, + [SMALL_STATE(171)] = 6099, + [SMALL_STATE(172)] = 6176, + [SMALL_STATE(173)] = 6250, + [SMALL_STATE(174)] = 6324, + [SMALL_STATE(175)] = 6398, + [SMALL_STATE(176)] = 6472, + [SMALL_STATE(177)] = 6546, + [SMALL_STATE(178)] = 6620, + [SMALL_STATE(179)] = 6694, + [SMALL_STATE(180)] = 6768, + [SMALL_STATE(181)] = 6842, + [SMALL_STATE(182)] = 6916, + [SMALL_STATE(183)] = 6990, + [SMALL_STATE(184)] = 7064, + [SMALL_STATE(185)] = 7138, + [SMALL_STATE(186)] = 7212, + [SMALL_STATE(187)] = 7286, + [SMALL_STATE(188)] = 7360, + [SMALL_STATE(189)] = 7434, + [SMALL_STATE(190)] = 7508, + [SMALL_STATE(191)] = 7582, + [SMALL_STATE(192)] = 7656, + [SMALL_STATE(193)] = 7730, + [SMALL_STATE(194)] = 7784, + [SMALL_STATE(195)] = 7858, + [SMALL_STATE(196)] = 7932, + [SMALL_STATE(197)] = 8006, + [SMALL_STATE(198)] = 8080, + [SMALL_STATE(199)] = 8154, + [SMALL_STATE(200)] = 8228, + [SMALL_STATE(201)] = 8302, + [SMALL_STATE(202)] = 8376, + [SMALL_STATE(203)] = 8450, + [SMALL_STATE(204)] = 8524, + [SMALL_STATE(205)] = 8598, + [SMALL_STATE(206)] = 8672, + [SMALL_STATE(207)] = 8746, + [SMALL_STATE(208)] = 8820, + [SMALL_STATE(209)] = 8894, + [SMALL_STATE(210)] = 8968, + [SMALL_STATE(211)] = 9042, + [SMALL_STATE(212)] = 9116, + [SMALL_STATE(213)] = 9190, + [SMALL_STATE(214)] = 9264, + [SMALL_STATE(215)] = 9338, + [SMALL_STATE(216)] = 9412, + [SMALL_STATE(217)] = 9486, + [SMALL_STATE(218)] = 9545, + [SMALL_STATE(219)] = 9593, + [SMALL_STATE(220)] = 9641, + [SMALL_STATE(221)] = 9695, + [SMALL_STATE(222)] = 9743, + [SMALL_STATE(223)] = 9791, + [SMALL_STATE(224)] = 9855, + [SMALL_STATE(225)] = 9901, + [SMALL_STATE(226)] = 9947, + [SMALL_STATE(227)] = 9995, + [SMALL_STATE(228)] = 10041, + [SMALL_STATE(229)] = 10103, + [SMALL_STATE(230)] = 10149, + [SMALL_STATE(231)] = 10195, + [SMALL_STATE(232)] = 10241, + [SMALL_STATE(233)] = 10287, + [SMALL_STATE(234)] = 10333, + [SMALL_STATE(235)] = 10395, + [SMALL_STATE(236)] = 10441, + [SMALL_STATE(237)] = 10487, + [SMALL_STATE(238)] = 10533, + [SMALL_STATE(239)] = 10586, + [SMALL_STATE(240)] = 10639, + [SMALL_STATE(241)] = 10687, + [SMALL_STATE(242)] = 10730, + [SMALL_STATE(243)] = 10772, + [SMALL_STATE(244)] = 10814, + [SMALL_STATE(245)] = 10856, + [SMALL_STATE(246)] = 10898, + [SMALL_STATE(247)] = 10938, + [SMALL_STATE(248)] = 10978, + [SMALL_STATE(249)] = 11018, + [SMALL_STATE(250)] = 11058, + [SMALL_STATE(251)] = 11098, + [SMALL_STATE(252)] = 11138, + [SMALL_STATE(253)] = 11178, + [SMALL_STATE(254)] = 11218, + [SMALL_STATE(255)] = 11258, + [SMALL_STATE(256)] = 11298, + [SMALL_STATE(257)] = 11338, + [SMALL_STATE(258)] = 11380, + [SMALL_STATE(259)] = 11421, + [SMALL_STATE(260)] = 11459, + [SMALL_STATE(261)] = 11496, + [SMALL_STATE(262)] = 11533, + [SMALL_STATE(263)] = 11569, + [SMALL_STATE(264)] = 11605, + [SMALL_STATE(265)] = 11638, + [SMALL_STATE(266)] = 11676, + [SMALL_STATE(267)] = 11714, + [SMALL_STATE(268)] = 11752, + [SMALL_STATE(269)] = 11790, + [SMALL_STATE(270)] = 11828, + [SMALL_STATE(271)] = 11866, + [SMALL_STATE(272)] = 11904, + [SMALL_STATE(273)] = 11942, + [SMALL_STATE(274)] = 11980, + [SMALL_STATE(275)] = 12018, + [SMALL_STATE(276)] = 12056, + [SMALL_STATE(277)] = 12094, + [SMALL_STATE(278)] = 12132, + [SMALL_STATE(279)] = 12170, + [SMALL_STATE(280)] = 12216, + [SMALL_STATE(281)] = 12248, + [SMALL_STATE(282)] = 12294, + [SMALL_STATE(283)] = 12340, + [SMALL_STATE(284)] = 12386, + [SMALL_STATE(285)] = 12432, + [SMALL_STATE(286)] = 12464, + [SMALL_STATE(287)] = 12510, + [SMALL_STATE(288)] = 12540, + [SMALL_STATE(289)] = 12570, + [SMALL_STATE(290)] = 12616, + [SMALL_STATE(291)] = 12662, + [SMALL_STATE(292)] = 12692, + [SMALL_STATE(293)] = 12719, + [SMALL_STATE(294)] = 12746, + [SMALL_STATE(295)] = 12773, + [SMALL_STATE(296)] = 12813, + [SMALL_STATE(297)] = 12853, + [SMALL_STATE(298)] = 12893, + [SMALL_STATE(299)] = 12933, + [SMALL_STATE(300)] = 12973, + [SMALL_STATE(301)] = 13013, + [SMALL_STATE(302)] = 13036, + [SMALL_STATE(303)] = 13059, + [SMALL_STATE(304)] = 13079, + [SMALL_STATE(305)] = 13099, + [SMALL_STATE(306)] = 13119, + [SMALL_STATE(307)] = 13139, + [SMALL_STATE(308)] = 13170, + [SMALL_STATE(309)] = 13201, + [SMALL_STATE(310)] = 13232, + [SMALL_STATE(311)] = 13252, + [SMALL_STATE(312)] = 13277, + [SMALL_STATE(313)] = 13302, + [SMALL_STATE(314)] = 13327, + [SMALL_STATE(315)] = 13352, + [SMALL_STATE(316)] = 13369, + [SMALL_STATE(317)] = 13394, + [SMALL_STATE(318)] = 13406, + [SMALL_STATE(319)] = 13418, + [SMALL_STATE(320)] = 13430, + [SMALL_STATE(321)] = 13444, + [SMALL_STATE(322)] = 13457, + [SMALL_STATE(323)] = 13470, + [SMALL_STATE(324)] = 13483, + [SMALL_STATE(325)] = 13496, + [SMALL_STATE(326)] = 13509, + [SMALL_STATE(327)] = 13522, + [SMALL_STATE(328)] = 13535, + [SMALL_STATE(329)] = 13548, + [SMALL_STATE(330)] = 13561, + [SMALL_STATE(331)] = 13571, + [SMALL_STATE(332)] = 13581, + [SMALL_STATE(333)] = 13591, + [SMALL_STATE(334)] = 13601, + [SMALL_STATE(335)] = 13611, + [SMALL_STATE(336)] = 13621, + [SMALL_STATE(337)] = 13631, + [SMALL_STATE(338)] = 13638, + [SMALL_STATE(339)] = 13645, + [SMALL_STATE(340)] = 13652, + [SMALL_STATE(341)] = 13659, + [SMALL_STATE(342)] = 13666, + [SMALL_STATE(343)] = 13673, + [SMALL_STATE(344)] = 13680, + [SMALL_STATE(345)] = 13687, + [SMALL_STATE(346)] = 13694, + [SMALL_STATE(347)] = 13701, + [SMALL_STATE(348)] = 13708, + [SMALL_STATE(349)] = 13715, + [SMALL_STATE(350)] = 13722, + [SMALL_STATE(351)] = 13729, + [SMALL_STATE(352)] = 13736, + [SMALL_STATE(353)] = 13743, + [SMALL_STATE(354)] = 13750, + [SMALL_STATE(355)] = 13757, + [SMALL_STATE(356)] = 13764, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), - [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(330), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(347), [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), - [35] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), - [37] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(43), - [40] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(330), - [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(4), - [46] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(67), - [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(67), - [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(59), - [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(147), - [58] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(168), - [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(172), - [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(174), - [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(176), - [70] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(277), - [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(277), - [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(183), - [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(39), - [82] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [86] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [88] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [92] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [96] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), - [108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(254), - [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), - [112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(253), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), - [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 5), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), - [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_function, 1), - [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_function, 1), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), - [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331), - [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), - [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), - [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(177), - [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), - [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), - [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), - [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179), - [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), - [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), - [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), - [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2), - [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2), - [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), - [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), - [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), - [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), - [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), - [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), - [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), - [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 6), - [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 6), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), - [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), - [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 5), - [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 5), - [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), - [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), - [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), - [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 5), - [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 5), - [278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), - [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), - [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), - [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), - [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), - [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), - [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), - [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), - [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), - [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 1), - [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 1), - [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), - [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(130), - [333] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(256), - [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), - [338] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(134), - [341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(134), - [344] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(137), - [347] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(146), - [350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(164), - [353] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(337), - [356] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(141), - [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), - [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [375] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(89), - [378] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(260), - [381] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(101), - [384] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(101), - [387] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(91), - [390] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(160), - [393] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(167), - [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), - [398] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(92), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 1), - [405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 1), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 2), - [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 2), - [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [429] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(89), - [432] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(260), - [435] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(101), - [438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(101), - [441] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(91), - [444] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(160), - [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), - [449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(167), - [452] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(92), - [455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259), - [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), - [459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_else_repeat1, 2), - [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(196), - [464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267), - [466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), - [472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if, 3), - [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), - [476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), - [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), - [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), - [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), - [484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), - [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), - [488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), - [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while, 3), - [492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), - [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), - [496] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), - [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), - [500] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), - [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), - [504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), - [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), - [508] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), - [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), - [512] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(313), - [518] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(190), - [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), - [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), - [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), - [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), - [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [531] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 4), - [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 4), - [535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), - [537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), - [539] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), - [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), - [543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), - [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), - [547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 3), - [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 3), - [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), - [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), - [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [561] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(43), - [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), - [566] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(39), - [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), - [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [575] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(43), - [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), - [580] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(39), - [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), - [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), - [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), - [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 3), - [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), - [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), - [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), - [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 4), - [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), - [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), - [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), - [617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 3), - [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), - [621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 5), - [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 5), - [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), - [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), - [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), - [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), - [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), - [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), - [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), - [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), - [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), - [653] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(301), - [656] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(295), - [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), - [661] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(293), - [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), - [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1), - [670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), - [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), - [680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [700] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(356), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(206), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), + [43] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(53), + [46] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(347), + [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(4), + [52] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(71), + [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(71), + [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(76), + [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(166), + [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(72), + [67] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(356), + [70] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(167), + [73] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(206), + [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(208), + [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(210), + [82] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(280), + [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(280), + [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(195), + [91] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(56), + [94] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [98] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [110] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(342), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(263), + [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), + [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(349), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196), + [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(197), + [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(285), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), + [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213), + [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), + [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), + [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 5), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), + [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier, 1), + [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier, 1), + [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(241), + [236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312), + [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_function, 1), + [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_function, 1), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 2), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 2), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), + [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 6), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 6), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 5), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 5), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 5), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 5), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 1), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), + [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), + [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), + [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), + [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), + [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), + [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), + [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), + [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 1), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 1), + [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), + [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), + [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [362] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(142), + [365] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(266), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), + [370] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(138), + [373] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(138), + [376] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(136), + [379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(134), + [382] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(133), + [385] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(349), + [388] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(168), + [391] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(344), + [394] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(152), + [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [401] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(102), + [404] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(271), + [407] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(101), + [410] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(101), + [413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(98), + [416] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(158), + [419] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(97), + [422] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(342), + [425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(171), + [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), + [430] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(96), + [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [449] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(102), + [452] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(271), + [455] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(101), + [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(101), + [461] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(98), + [464] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(158), + [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), + [469] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(97), + [472] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(342), + [475] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(171), + [478] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(96), + [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [487] = {.entry = {.count = 1, .reusable = false}}, SHIFT(274), + [489] = {.entry = {.count = 1, .reusable = false}}, SHIFT(276), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 2), + [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 2), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [497] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 1), + [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 1), + [503] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273), + [505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), + [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_else_repeat1, 2), + [511] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(194), + [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), + [516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if, 3), + [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), + [520] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), + [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), + [524] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), + [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), + [528] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), + [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), + [532] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), + [534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), + [536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), + [538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while, 3), + [540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), + [542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), + [544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), + [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), + [548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), + [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), + [552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), + [554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), + [556] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), + [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), + [562] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(201), + [565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), + [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), + [569] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), + [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), + [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 4), + [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 4), + [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), + [581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), + [583] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), + [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), + [587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), + [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), + [591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 3), + [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 3), + [595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [601] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(53), + [604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), + [606] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(56), + [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [619] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(53), + [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), + [624] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(56), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 2), + [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 3), + [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 4), + [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), + [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_repeat1, 3), + [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), + [665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_map_repeat1, 5), + [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 5), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), + [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), + [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), + [693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), + [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [705] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(313), + [708] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(307), + [711] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), + [713] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(303), + [716] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(339), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [769] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), }; #ifdef __cplusplus