mirror of
https://github.com/sharkdp/bat.git
synced 2024-11-29 11:13:43 +01:00
Merge pull request #2865 from cyqsimon/syntax-mapping-fix
Relax syntax mapping rule restrictions to allow brace expansion
This commit is contained in:
commit
e6e8f847be
@ -26,6 +26,7 @@
|
|||||||
- Pull in fix for unsafe-libyaml security advisory, see #2812 (@dtolnay)
|
- Pull in fix for unsafe-libyaml security advisory, see #2812 (@dtolnay)
|
||||||
- Update git-version dependency to use Syn v2, see #2816 (@dtolnay)
|
- Update git-version dependency to use Syn v2, see #2816 (@dtolnay)
|
||||||
- Update git2 dependency to v0.18.2, see #2852 (@eth-p)
|
- Update git2 dependency to v0.18.2, see #2852 (@eth-p)
|
||||||
|
- Relax syntax mapping rule restrictions to allow brace expansion #2865 (@cyqsimon)
|
||||||
- Apply clippy fixes #2864 (@cyqsimon)
|
- Apply clippy fixes #2864 (@cyqsimon)
|
||||||
|
|
||||||
## Syntaxes
|
## Syntaxes
|
||||||
|
@ -53,14 +53,16 @@ struct Matcher(Vec<MatcherSegment>);
|
|||||||
///
|
///
|
||||||
/// Note that this implementation is rather strict: it will greedily interpret
|
/// Note that this implementation is rather strict: it will greedily interpret
|
||||||
/// every valid environment variable replacement as such, then immediately
|
/// every valid environment variable replacement as such, then immediately
|
||||||
/// hard-error if it finds a '$', '{', or '}' anywhere in the remaining text
|
/// hard-error if it finds a '$' anywhere in the remaining text segments.
|
||||||
/// segments.
|
|
||||||
///
|
///
|
||||||
/// The reason for this strictness is I currently cannot think of a valid reason
|
/// The reason for this strictness is I currently cannot think of a valid reason
|
||||||
/// why you would ever need '$', '{', or '}' as plaintext in a glob pattern.
|
/// why you would ever need '$' as plaintext in a glob pattern. Therefore any
|
||||||
/// Therefore any such occurrences are likely human errors.
|
/// such occurrences are likely human errors.
|
||||||
///
|
///
|
||||||
/// If we later discover some edge cases, it's okay to make it more permissive.
|
/// If we later discover some edge cases, it's okay to make it more permissive.
|
||||||
|
///
|
||||||
|
/// Revision history:
|
||||||
|
/// - 2024-02-20: allow `{` and `}` (glob brace expansion)
|
||||||
impl FromStr for Matcher {
|
impl FromStr for Matcher {
|
||||||
type Err = anyhow::Error;
|
type Err = anyhow::Error;
|
||||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||||
@ -106,7 +108,7 @@ impl FromStr for Matcher {
|
|||||||
if non_empty_segments
|
if non_empty_segments
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(Seg::text)
|
.filter_map(Seg::text)
|
||||||
.any(|t| t.contains(['$', '{', '}']))
|
.any(|t| t.contains('$'))
|
||||||
{
|
{
|
||||||
bail!(r#"Invalid matcher: "{s}""#);
|
bail!(r#"Invalid matcher: "{s}""#);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user