Upgrade to logos 0.13

This commit is contained in:
Patrick Förster 2023-04-11 20:50:50 +02:00
parent c09e3bcbb8
commit eebfda7bf0
5 changed files with 20 additions and 15 deletions

21
Cargo.lock generated
View file

@ -929,25 +929,34 @@ dependencies = [
[[package]]
name = "logos"
version = "0.12.1"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf8b031682c67a8e3d5446840f9573eb7fe26efe7ec8d195c9ac4c0647c502f1"
checksum = "c000ca4d908ff18ac99b93a062cb8958d331c3220719c52e77cb19cc6ac5d2c1"
dependencies = [
"logos-derive",
]
[[package]]
name = "logos-derive"
version = "0.12.1"
name = "logos-codegen"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1d849148dbaf9661a6151d1ca82b13bb4c4c128146a88d05253b38d4e2f496c"
checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68"
dependencies = [
"beef",
"fnv",
"proc-macro2",
"quote",
"regex-syntax",
"syn 1.0.109",
"syn 2.0.13",
]
[[package]]
name = "logos-derive"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbfc0d229f1f42d790440136d941afd806bc9e949e2bcb8faa813b0f00d1267e"
dependencies = [
"logos-codegen",
]
[[package]]

View file

@ -7,7 +7,7 @@ edition.workspace = true
rust-version.workspace = true
[dependencies]
logos = "0.12.1"
logos = "0.13.0"
once_cell = "1.17.1"
regex = "1.7.3"
rowan = "0.15.11"

View file

@ -250,7 +250,7 @@ where
fn peek(&mut self) -> Option<(T, &'a str)> {
if self.token.is_none() {
let kind = self.lexer.next()?;
let kind = self.lexer.next()?.unwrap();
let text = self.lexer.slice();
self.token = Some((kind, text));
}
@ -274,7 +274,6 @@ enum RootToken {
Entry,
#[regex(r"[^@]+")]
#[error]
Junk,
}
@ -300,7 +299,7 @@ enum BodyToken {
#[regex(r"[^\s\(\)\{\}@,=]+")]
Name,
#[error]
#[token("@")]
Error,
}
@ -327,8 +326,7 @@ enum ValueToken {
#[regex(r"\d+", priority = 2)]
Integer,
#[regex(r#"[^\s"\{\},]+"#)]
#[error]
#[regex(r#"[^\s"\{\},#]+"#)]
Name,
}
@ -377,7 +375,6 @@ enum ContentToken {
CommandName,
#[regex(r#"[^\s"\{\}\\~,]+"#)]
#[error]
Word,
}

View file

@ -48,7 +48,7 @@ impl<'a> Lexer<'a> {
fn tokenize(input: &str) -> Vec<(Token, &str)> {
let mut lexer = Token::lexer(input);
std::iter::from_fn(move || {
let kind = lexer.next()?;
let kind = lexer.next()?.unwrap();
let text = lexer.slice();
Some((kind, text))
})

View file

@ -36,7 +36,6 @@ pub enum Token {
Eq,
#[regex(r"[^\s\\%\{\},\$\[\]\(\)=]+")]
#[error]
Word,
#[regex(r"\$\$?")]