diff --git a/src/main.rs b/src/main.rs index 5e944ecd79..80121f8f61 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,4 @@ -use engine_q::{lex, lite_parse, LexMode, ParserWorkingSet, Signature, SyntaxShape}; +use engine_q::{ParserWorkingSet, Signature, SyntaxShape}; fn main() -> std::io::Result<()> { if let Some(path) = std::env::args().nth(1) { diff --git a/src/parser.rs b/src/parser.rs index b89539fa29..d1c4115af2 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -40,7 +40,7 @@ pub enum SyntaxShape { /// A math expression which expands shorthand forms on the lefthand side, eg `foo > 1` /// The shorthand allows us to more easily reach columns inside of the row being passed in RowCondition, - /// A general math expression, eg the `1 + 2` of `= 1 + 2` + /// A general math expression, eg `1 + 2` MathExpression, } @@ -283,6 +283,10 @@ impl ParserWorkingSet { } else if let Some(first) = unmatched_short_flags.first() { error = error.or(Some(ParseError::UnknownFlag(*first))); } + } else if !unmatched_short_flags.is_empty() { + if let Some(first) = unmatched_short_flags.first() { + error = error.or(Some(ParseError::UnknownFlag(*first))); + } } for flag in found_short_flags { diff --git a/src/parser_state.rs b/src/parser_state.rs index 79b806201a..63a51d19e2 100644 --- a/src/parser_state.rs +++ b/src/parser_state.rs @@ -1,5 +1,4 @@ -use crate::{ParseError, Signature, Span}; -use core::num; +use crate::{Signature, Span}; use std::{collections::HashMap, sync::Arc}; pub struct ParserState { @@ -79,6 +78,7 @@ impl ParserState { self.decls.get(decl_id) } + #[allow(unused)] pub(crate) fn add_file(&mut self, filename: String, contents: Vec) -> usize { self.files.push((filename, contents)); @@ -258,11 +258,11 @@ mod parser_state_tests { #[test] fn merge_states() { let mut parser_state = ParserState::new(); - let parent_id = parser_state.add_file("test.nu".into(), vec![]); + parser_state.add_file("test.nu".into(), vec![]); let mut parser_state = Arc::new(parser_state); let mut working_set = ParserWorkingSet::new(Some(parser_state.clone())); - let working_set_id = working_set.add_file("child.nu".into(), vec![]); + working_set.add_file("child.nu".into(), vec![]); ParserState::merge_working_set(&mut parser_state, working_set);