mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-02-13 04:02:02 +08:00
Match stdlib strip_prefix return value
This commit is contained in:
parent
30fbd4280d
commit
7dc0446c5c
|
@ -291,7 +291,7 @@ pub(crate) fn parse_keys(value: &wstr) -> Result<Vec<Key>, WString> {
|
||||||
codepoint,
|
codepoint,
|
||||||
})?
|
})?
|
||||||
} else if codepoint.is_none() && key_name.starts_with('F') && key_name.len() <= 3 {
|
} else if codepoint.is_none() && key_name.starts_with('F') && key_name.len() <= 3 {
|
||||||
let num = key_name.strip_prefix('F');
|
let num = key_name.strip_prefix('F').unwrap();
|
||||||
let codepoint = match fish_wcstoi(num) {
|
let codepoint = match fish_wcstoi(num) {
|
||||||
Ok(n) if (1..=12).contains(&n) => function_key(u32::try_from(n).unwrap()),
|
Ok(n) if (1..=12).contains(&n) => function_key(u32::try_from(n).unwrap()),
|
||||||
_ => {
|
_ => {
|
||||||
|
|
|
@ -277,14 +277,11 @@ pub trait WExt {
|
||||||
iter_prefixes_iter(prefix.chars(), self.as_char_slice().iter().copied())
|
iter_prefixes_iter(prefix.chars(), self.as_char_slice().iter().copied())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn strip_prefix<Prefix: IntoCharIter>(&self, prefix: Prefix) -> &wstr {
|
fn strip_prefix<Prefix: IntoCharIter>(&self, prefix: Prefix) -> Option<&wstr> {
|
||||||
let iter = prefix.chars();
|
let iter = prefix.chars();
|
||||||
let prefix_len = iter.clone().count();
|
let prefix_len = iter.clone().count();
|
||||||
if iter_prefixes_iter(iter, self.as_char_slice().iter().copied()) {
|
iter_prefixes_iter(iter, self.as_char_slice().iter().copied())
|
||||||
self.slice_from(prefix_len)
|
.then(|| self.slice_from(prefix_len))
|
||||||
} else {
|
|
||||||
self.slice_from(0)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \return whether we end with a given Suffix.
|
/// \return whether we end with a given Suffix.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user