1
0
Fork 0

Adding upstream version 21.0.2.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-13 21:22:05 +01:00
parent 91f2cef5f0
commit d51e69137a
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
58 changed files with 25616 additions and 25078 deletions

View file

@ -399,6 +399,19 @@ impl<'a> TokenizerState<'a> {
} else if *token_type == self.token_types.bit_string {
(Some(2), *token_type, end.clone())
} else if *token_type == self.token_types.heredoc_string {
if self.settings.heredoc_tag_is_identifier
&& !self.is_identifier(self.peek_char)
&& self.peek_char.to_string() != *end
{
if self.token_types.heredoc_string_alternative != self.token_types.var {
self.add(self.token_types.heredoc_string_alternative, None)?
} else {
self.scan_var()?
};
return Ok(true)
};
self.advance(1)?;
let tag = if self.current_char.to_string() == *end {
String::from("")
@ -469,7 +482,7 @@ impl<'a> TokenizerState<'a> {
} else if self.peek_char.to_ascii_uppercase() == 'E' && scientific == 0 {
scientific += 1;
self.advance(1)?;
} else if self.peek_char.is_alphabetic() || self.peek_char == '_' {
} else if self.is_identifier(self.peek_char) {
let number_text = self.text();
let mut literal = String::from("");
@ -643,6 +656,10 @@ impl<'a> TokenizerState<'a> {
Ok(text)
}
fn is_identifier(&mut self, name: char) -> bool {
name.is_alphabetic() || name == '_'
}
fn extract_value(&mut self) -> Result<String, TokenizerError> {
loop {
if !self.peek_char.is_whitespace()