diff --git a/crates/cli/src/tests/helpers/query_helpers.rs b/crates/cli/src/tests/helpers/query_helpers.rs index 976a4f46..bab0b891 100644 --- a/crates/cli/src/tests/helpers/query_helpers.rs +++ b/crates/cli/src/tests/helpers/query_helpers.rs @@ -131,11 +131,12 @@ impl Pattern { if self.named { string.push('('); - let mut has_contents = false; - if let Some(kind) = &self.kind { + let mut has_contents = if let Some(kind) = &self.kind { write!(string, "{kind}").unwrap(); - has_contents = true; - } + true + } else { + false + }; for child in &self.children { let indent = indent + 2; if has_contents { diff --git a/crates/generate/src/prepare_grammar/extract_tokens.rs b/crates/generate/src/prepare_grammar/extract_tokens.rs index 579ded06..1c96c17d 100644 --- a/crates/generate/src/prepare_grammar/extract_tokens.rs +++ b/crates/generate/src/prepare_grammar/extract_tokens.rs @@ -181,8 +181,7 @@ pub(super) fn extract_tokens( } } - let mut word_token = None; - if let Some(token) = grammar.word_token { + let word_token = if let Some(token) = grammar.word_token { let token = symbol_replacer.replace_symbol(token); if token.is_non_terminal() { let word_token_variable = &variables[token.index]; @@ -197,8 +196,10 @@ pub(super) fn extract_tokens( conflicting_symbol_name, }))?; } - word_token = Some(token); - } + Some(token) + } else { + None + }; let mut reserved_word_contexts = Vec::with_capacity(grammar.reserved_word_sets.len()); for reserved_word_context in grammar.reserved_word_sets { @@ -280,10 +281,11 @@ impl TokenExtractor { let mut params = params.clone(); params.is_token = false; - let mut string_value = None; - if let Rule::String(value) = rule.as_ref() { - string_value = Some(value); - } + let string_value = if let Rule::String(value) = rule.as_ref() { + Some(value) + } else { + None + }; let rule_to_extract = if params == MetadataParams::default() { rule.as_ref() diff --git a/crates/generate/src/prepare_grammar/intern_symbols.rs b/crates/generate/src/prepare_grammar/intern_symbols.rs index 41a5b56e..a46c9f72 100644 --- a/crates/generate/src/prepare_grammar/intern_symbols.rs +++ b/crates/generate/src/prepare_grammar/intern_symbols.rs @@ -95,14 +95,15 @@ pub(super) fn intern_symbols(grammar: &InputGrammar) -> InternSymbolsResult()) }); } - let c_logger; - if let Some(logger) = logger { + let c_logger = if let Some(logger) = logger { let container = Box::new(logger); unsafe extern "C" fn log( @@ -727,16 +726,16 @@ impl Parser { let raw_container = Box::into_raw(container); - c_logger = ffi::TSLogger { + ffi::TSLogger { payload: raw_container.cast::(), log: Some(log), - }; + } } else { - c_logger = ffi::TSLogger { + ffi::TSLogger { payload: ptr::null_mut(), log: None, - }; - } + } + }; unsafe { ffi::ts_parser_set_logger(self.0.as_ptr(), c_logger) }; }