Rule words to generate words from a command
Run the tests for a working verification of xtcl. / build (ubuntu-20.04) (push) Successful in 45s Details

This commit is contained in:
Yannick Reiß 2025-09-03 06:06:33 +02:00
parent b4cbc81aaa
commit 2a05453f8e
1 changed files with 28 additions and 1 deletions

View File

@ -38,5 +38,32 @@ pub fn commands(tcl: &str) -> Vec<String> {
// @brief Split command into words.
// @param command: &str
pub fn words(command: &str) -> Vec<String> {
vec![]
let mut words: Vec<String> = vec![];
let mut new_word: String = String::new();
let mut quote: bool = false;
for character in command.chars() {
if quote {
new_word.push(character);
if character == '"' {
quote = false;
}
} else {
match character {
' ' => {
words.push(new_word.clone());
new_word = String::new();
}
'"' => {
new_word.push(character);
quote = true;
}
_ => new_word.push(character),
}
}
}
words.push(new_word.clone());
return words;
}