mirror of
https://github.com/nushell/nushell.git
synced 2025-07-03 16:13:20 +02:00
Minor housekeeping in the parser (#12540)
- **Move lone `check_name` to the alias place** - **Restrict visibility of `check_call` helper**
This commit is contained in:
committed by
GitHub
parent
43814dcb0f
commit
a67dad3d15
@ -148,7 +148,12 @@ pub fn trim_quotes_str(s: &str) -> &str {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn check_call(working_set: &mut StateWorkingSet, command: Span, sig: &Signature, call: &Call) {
|
||||
pub(crate) fn check_call(
|
||||
working_set: &mut StateWorkingSet,
|
||||
command: Span,
|
||||
sig: &Signature,
|
||||
call: &Call,
|
||||
) {
|
||||
// Allow the call to pass if they pass in the help flag
|
||||
if call.named_iter().any(|(n, _, _)| n.item == "help") {
|
||||
return;
|
||||
@ -211,46 +216,6 @@ pub fn check_call(working_set: &mut StateWorkingSet, command: Span, sig: &Signat
|
||||
}
|
||||
}
|
||||
|
||||
pub fn check_name<'a>(working_set: &mut StateWorkingSet, spans: &'a [Span]) -> Option<&'a Span> {
|
||||
let command_len = if !spans.is_empty() {
|
||||
if working_set.get_span_contents(spans[0]) == b"export" {
|
||||
2
|
||||
} else {
|
||||
1
|
||||
}
|
||||
} else {
|
||||
return None;
|
||||
};
|
||||
|
||||
if spans.len() == 1 {
|
||||
None
|
||||
} else if spans.len() < command_len + 3 {
|
||||
if working_set.get_span_contents(spans[command_len]) == b"=" {
|
||||
let name =
|
||||
String::from_utf8_lossy(working_set.get_span_contents(span(&spans[..command_len])));
|
||||
working_set.error(ParseError::AssignmentMismatch(
|
||||
format!("{name} missing name"),
|
||||
"missing name".into(),
|
||||
spans[command_len],
|
||||
));
|
||||
Some(&spans[command_len])
|
||||
} else {
|
||||
None
|
||||
}
|
||||
} else if working_set.get_span_contents(spans[command_len + 1]) != b"=" {
|
||||
let name =
|
||||
String::from_utf8_lossy(working_set.get_span_contents(span(&spans[..command_len])));
|
||||
working_set.error(ParseError::AssignmentMismatch(
|
||||
format!("{name} missing sign"),
|
||||
"missing equal sign".into(),
|
||||
spans[command_len + 1],
|
||||
));
|
||||
Some(&spans[command_len + 1])
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
fn parse_external_arg(working_set: &mut StateWorkingSet, span: Span) -> ExternalArgument {
|
||||
let contents = working_set.get_span_contents(span);
|
||||
|
||||
|
Reference in New Issue
Block a user