mirror of
https://github.com/nushell/nushell
synced 2024-11-10 07:04:13 +00:00
Bump rustyline (#1644)
* Bump rustyline * Fix new clippy warnings * Add pipeline command
This commit is contained in:
parent
9e8434326d
commit
d7bd77829f
10 changed files with 52 additions and 60 deletions
|
@ -37,6 +37,8 @@ steps:
|
|||
fi
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --default-toolchain "stable"
|
||||
echo "Installing clippy"
|
||||
rustup component add clippy --toolchain stable-x86_64-apple-darwin
|
||||
export PATH=$HOME/.cargo/bin:$PATH
|
||||
fi
|
||||
rustup update
|
||||
|
|
5
Cargo.lock
generated
5
Cargo.lock
generated
|
@ -3175,9 +3175,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rustyline"
|
||||
version = "6.1.1"
|
||||
version = "6.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "61a7384a84da856bd163ef2c22982c816b0bcedaf17978ec13d8e0e277ddc332"
|
||||
checksum = "1cd20b28d972040c627e209eb29f19c24a71a19d661cc5a220089176e20ee202"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"dirs 2.0.2",
|
||||
|
@ -3185,6 +3185,7 @@ dependencies = [
|
|||
"log",
|
||||
"memchr",
|
||||
"nix 0.17.0",
|
||||
"scopeguard",
|
||||
"unicode-segmentation",
|
||||
"unicode-width",
|
||||
"utf8parse 0.2.0",
|
||||
|
|
|
@ -64,7 +64,7 @@ query_interface = "0.3.5"
|
|||
rand = "0.7"
|
||||
regex = "1"
|
||||
roxmltree = "0.10.1"
|
||||
rustyline = "6.1.1"
|
||||
rustyline = "6.1.2"
|
||||
serde = { version = "1.0.106", features = ["derive"] }
|
||||
serde-hjson = "0.9.1"
|
||||
serde_bytes = "0.11.3"
|
||||
|
|
|
@ -110,30 +110,24 @@ pub fn compare_values(
|
|||
left: &UntaggedValue,
|
||||
right: &UntaggedValue,
|
||||
) -> Result<bool, (&'static str, &'static str)> {
|
||||
match operator {
|
||||
_ => {
|
||||
let coerced = coerce_compare(left, right)?;
|
||||
let ordering = coerced.compare();
|
||||
let coerced = coerce_compare(left, right)?;
|
||||
let ordering = coerced.compare();
|
||||
|
||||
use std::cmp::Ordering;
|
||||
use std::cmp::Ordering;
|
||||
|
||||
let result = match (operator, ordering) {
|
||||
(Operator::Equal, Ordering::Equal) => true,
|
||||
(Operator::NotEqual, Ordering::Less) | (Operator::NotEqual, Ordering::Greater) => {
|
||||
true
|
||||
}
|
||||
(Operator::LessThan, Ordering::Less) => true,
|
||||
(Operator::GreaterThan, Ordering::Greater) => true,
|
||||
(Operator::GreaterThanOrEqual, Ordering::Greater)
|
||||
| (Operator::GreaterThanOrEqual, Ordering::Equal) => true,
|
||||
(Operator::LessThanOrEqual, Ordering::Less)
|
||||
| (Operator::LessThanOrEqual, Ordering::Equal) => true,
|
||||
_ => false,
|
||||
};
|
||||
let result = match (operator, ordering) {
|
||||
(Operator::Equal, Ordering::Equal) => true,
|
||||
(Operator::NotEqual, Ordering::Less) | (Operator::NotEqual, Ordering::Greater) => true,
|
||||
(Operator::LessThan, Ordering::Less) => true,
|
||||
(Operator::GreaterThan, Ordering::Greater) => true,
|
||||
(Operator::GreaterThanOrEqual, Ordering::Greater)
|
||||
| (Operator::GreaterThanOrEqual, Ordering::Equal) => true,
|
||||
(Operator::LessThanOrEqual, Ordering::Less)
|
||||
| (Operator::LessThanOrEqual, Ordering::Equal) => true,
|
||||
_ => false,
|
||||
};
|
||||
|
||||
Ok(result)
|
||||
}
|
||||
}
|
||||
Ok(result)
|
||||
}
|
||||
|
||||
pub fn format_type<'a>(value: impl Into<&'a UntaggedValue>, width: usize) -> String {
|
||||
|
|
|
@ -204,12 +204,9 @@ impl Shell for HelpShell {
|
|||
let mut possible_completion = vec![];
|
||||
let commands = self.commands();
|
||||
for cmd in commands {
|
||||
match cmd {
|
||||
Value { value, .. } => {
|
||||
for desc in value.data_descriptors() {
|
||||
possible_completion.push(desc);
|
||||
}
|
||||
}
|
||||
let Value { value, .. } = cmd;
|
||||
for desc in value.data_descriptors() {
|
||||
possible_completion.push(desc);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -238,12 +238,9 @@ impl Shell for ValueShell {
|
|||
let mut possible_completion = vec![];
|
||||
let members = self.members();
|
||||
for member in members {
|
||||
match member {
|
||||
Value { value, .. } => {
|
||||
for desc in value.data_descriptors() {
|
||||
possible_completion.push(desc);
|
||||
}
|
||||
}
|
||||
let Value { value, .. } = member;
|
||||
for desc in value.data_descriptors() {
|
||||
possible_completion.push(desc);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -152,15 +152,16 @@ impl ExternalCommand {
|
|||
SpannedExpression {
|
||||
expr: Expression::Path(path),
|
||||
..
|
||||
} => match &**path {
|
||||
Path { head, .. } => match head {
|
||||
} => {
|
||||
let Path { head, .. } = &**path;
|
||||
match head {
|
||||
SpannedExpression {
|
||||
expr: Expression::Variable(Variable::It(_)),
|
||||
..
|
||||
} => true,
|
||||
_ => false,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
_ => false,
|
||||
})
|
||||
}
|
||||
|
|
|
@ -21,17 +21,16 @@ impl Fetch {
|
|||
}
|
||||
|
||||
pub fn setup(&mut self, call_info: CallInfo) -> ReturnValue {
|
||||
self.path = Some(
|
||||
match call_info.args.nth(0).ok_or_else(|| {
|
||||
self.path = Some({
|
||||
let file = call_info.args.nth(0).ok_or_else(|| {
|
||||
ShellError::labeled_error(
|
||||
"No file or directory specified",
|
||||
"for command",
|
||||
&call_info.name_tag,
|
||||
)
|
||||
})? {
|
||||
file => file.clone(),
|
||||
},
|
||||
);
|
||||
})?;
|
||||
file.clone()
|
||||
});
|
||||
|
||||
self.has_raw = call_info.args.has("raw");
|
||||
|
||||
|
|
|
@ -42,24 +42,24 @@ impl Post {
|
|||
}
|
||||
|
||||
pub fn setup(&mut self, call_info: CallInfo) -> ReturnValue {
|
||||
self.path = Some(
|
||||
match call_info.args.nth(0).ok_or_else(|| {
|
||||
self.path = Some({
|
||||
let file = call_info.args.nth(0).ok_or_else(|| {
|
||||
ShellError::labeled_error(
|
||||
"No file or directory specified",
|
||||
"for command",
|
||||
&call_info.name_tag,
|
||||
)
|
||||
})? {
|
||||
file => file.clone(),
|
||||
},
|
||||
);
|
||||
})?;
|
||||
file.clone()
|
||||
});
|
||||
|
||||
self.has_raw = call_info.args.has("raw");
|
||||
|
||||
self.body = match call_info.args.nth(1).ok_or_else(|| {
|
||||
ShellError::labeled_error("No body specified", "for command", &call_info.name_tag)
|
||||
})? {
|
||||
file => Some(file.clone()),
|
||||
self.body = {
|
||||
let file = call_info.args.nth(1).ok_or_else(|| {
|
||||
ShellError::labeled_error("No body specified", "for command", &call_info.name_tag)
|
||||
})?;
|
||||
Some(file.clone())
|
||||
};
|
||||
|
||||
self.user = match call_info.args.get("user") {
|
||||
|
|
|
@ -68,12 +68,13 @@ impl Str {
|
|||
}
|
||||
}
|
||||
},
|
||||
Some(Action::ToInteger) => match input.trim() {
|
||||
other => match other.parse::<i64>() {
|
||||
Some(Action::ToInteger) => {
|
||||
let other = input.trim();
|
||||
match other.parse::<i64>() {
|
||||
Ok(v) => UntaggedValue::int(v),
|
||||
Err(_) => UntaggedValue::string(input),
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
Some(Action::ToDateTime(dt)) => match DateTime::parse_from_str(input, dt) {
|
||||
Ok(d) => UntaggedValue::date(d),
|
||||
Err(_) => UntaggedValue::string(input),
|
||||
|
|
Loading…
Reference in a new issue