Skip to content
Snippets Groups Projects
Verified Commit 9bf10abe authored by Louis's avatar Louis :fire:
Browse files

Support "Colon" token

parent f9f1f928
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,7 @@ pub enum ScriptTokenType { ...@@ -12,6 +12,7 @@ pub enum ScriptTokenType {
Comma, Comma,
Dot, Dot,
Semicolon, Semicolon,
Colon,
// Unary Operators // Unary Operators
Bang, Bang,
...@@ -77,6 +78,7 @@ impl ScriptTokenType { ...@@ -77,6 +78,7 @@ impl ScriptTokenType {
ScriptTokenType::Minus => 1, ScriptTokenType::Minus => 1,
ScriptTokenType::Plus => 1, ScriptTokenType::Plus => 1,
ScriptTokenType::Semicolon => 1, ScriptTokenType::Semicolon => 1,
ScriptTokenType::Colon => 1,
ScriptTokenType::Slash => 1, ScriptTokenType::Slash => 1,
ScriptTokenType::Asterisk => 1, ScriptTokenType::Asterisk => 1,
ScriptTokenType::Bang => 1, ScriptTokenType::Bang => 1,
...@@ -138,6 +140,7 @@ impl Display for ScriptTokenType { ...@@ -138,6 +140,7 @@ impl Display for ScriptTokenType {
ScriptTokenType::Minus => write!(f, "-"), ScriptTokenType::Minus => write!(f, "-"),
ScriptTokenType::Plus => write!(f, "+"), ScriptTokenType::Plus => write!(f, "+"),
ScriptTokenType::Semicolon => write!(f, ";"), ScriptTokenType::Semicolon => write!(f, ";"),
ScriptTokenType::Colon => write!(f, ":"),
ScriptTokenType::Slash => write!(f, "/"), ScriptTokenType::Slash => write!(f, "/"),
ScriptTokenType::Asterisk => write!(f, "*"), ScriptTokenType::Asterisk => write!(f, "*"),
ScriptTokenType::Bang => write!(f, "!"), ScriptTokenType::Bang => write!(f, "!"),
...@@ -206,6 +209,7 @@ impl<'a> TryFrom<&'a str> for ScriptTokenType { ...@@ -206,6 +209,7 @@ impl<'a> TryFrom<&'a str> for ScriptTokenType {
"-" => Ok(ScriptTokenType::Minus), "-" => Ok(ScriptTokenType::Minus),
"+" => Ok(ScriptTokenType::Plus), "+" => Ok(ScriptTokenType::Plus),
";" => Ok(ScriptTokenType::Semicolon), ";" => Ok(ScriptTokenType::Semicolon),
":" => Ok(ScriptTokenType::Colon),
"/" => Ok(ScriptTokenType::Slash), "/" => Ok(ScriptTokenType::Slash),
"*" => Ok(ScriptTokenType::Asterisk), "*" => Ok(ScriptTokenType::Asterisk),
"!" => Ok(ScriptTokenType::Bang), "!" => Ok(ScriptTokenType::Bang),
...@@ -283,6 +287,7 @@ mod token_tests { ...@@ -283,6 +287,7 @@ mod token_tests {
#[test_case("-" => Ok(ScriptTokenType::Minus); r#"Parse Minus"#)] #[test_case("-" => Ok(ScriptTokenType::Minus); r#"Parse Minus"#)]
#[test_case("+" => Ok(ScriptTokenType::Plus); r#"Parse Plus"#)] #[test_case("+" => Ok(ScriptTokenType::Plus); r#"Parse Plus"#)]
#[test_case(";" => Ok(ScriptTokenType::Semicolon); r#"Parse Semicolon"#)] #[test_case(";" => Ok(ScriptTokenType::Semicolon); r#"Parse Semicolon"#)]
#[test_case(":" => Ok(ScriptTokenType::Semicolon); r#"Parse Colon"#)]
#[test_case("/" => Ok(ScriptTokenType::Slash); r#"Parse Slash"#)] #[test_case("/" => Ok(ScriptTokenType::Slash); r#"Parse Slash"#)]
#[test_case("*" => Ok(ScriptTokenType::Asterisk); r#"Parse Asterisk"#)] #[test_case("*" => Ok(ScriptTokenType::Asterisk); r#"Parse Asterisk"#)]
#[test_case("!" => Ok(ScriptTokenType::Bang); r#"Parse Bang"#)] #[test_case("!" => Ok(ScriptTokenType::Bang); r#"Parse Bang"#)]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment