From 1f47b15963c9343b6aa3a0cf7cea25e239b5d416 Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Sun, 21 Jul 2024 15:34:54 -0700 Subject: [PATCH] typegen: fix .s in type references --- typegen/src/parse.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/typegen/src/parse.rs b/typegen/src/parse.rs index 24966fb..738807e 100644 --- a/typegen/src/parse.rs +++ b/typegen/src/parse.rs @@ -650,13 +650,12 @@ fn parse_details(comment: Comment) -> String { let separators = [ ('$', true), (' ', false), - ('.', false), (',', false), (';', false), (':', false), ]; - let (end, ty) = src.chars().enumerate() + let (mut end, mut ty) = src.chars().enumerate() .find_map(|(i, char)| { separators.iter() .find(|(sc, _)| char == *sc) @@ -678,6 +677,11 @@ fn parse_details(comment: Comment) -> String { prop }) .unwrap_or(""); + // special case for . as it is contained in valid types as well + if ty.ends_with('.') { + end -= 1; + ty = &ty[..ty.len() - 1]; + } let (prop, func, signal) = match member { name if name.ends_with("()") => ("", &name[..name.len() - 2], ""),