From 3a9d574770301f874af55b19b39d2c618966f135 Mon Sep 17 00:00:00 2001 From: cyqsimon <28627918+cyqsimon@users.noreply.github.com> Date: Wed, 15 May 2024 14:31:25 +0800 Subject: [PATCH 001/189] Add syntax mapping for `/etc/pacman.conf` --- src/syntax_mapping/builtins/linux/50-pacman.toml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/syntax_mapping/builtins/linux/50-pacman.toml b/src/syntax_mapping/builtins/linux/50-pacman.toml index 655118c5..2f4ee71f 100644 --- a/src/syntax_mapping/builtins/linux/50-pacman.toml +++ b/src/syntax_mapping/builtins/linux/50-pacman.toml @@ -1,3 +1,8 @@ [mappings] -# pacman hooks -"INI" = ["/usr/share/libalpm/hooks/*.hook", "/etc/pacman.d/hooks/*.hook"] +"INI" = [ + # config + "/etc/pacman.conf", + # hooks + "/usr/share/libalpm/hooks/*.hook", + "/etc/pacman.d/hooks/*.hook", +] From f82487daf8d24285c6206af49809992a7371ff18 Mon Sep 17 00:00:00 2001 From: cyqsimon <28627918+cyqsimon@users.noreply.github.com> Date: Wed, 15 May 2024 14:35:47 +0800 Subject: [PATCH 002/189] Write changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28e56e34..5a7177c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ - Added auto detect syntax for `.jsonc` #2795 (@mxaddict) - Added auto detect syntax for `.aws/{config,credentials}` #2795 (@mxaddict) - Add syntax mapping for Wireguard config #2874 (@cyqsimon) +- Add syntax mapping for `/etc/pacman.conf` #2961 (@cyqsimon) ## Themes From 575457c94485c73173941200aa622db525a170ac Mon Sep 17 00:00:00 2001 From: Cosmic Horror Date: Sun, 30 Jun 2024 16:15:21 -0600 Subject: [PATCH 003/189] Bump themes/sublime-snazzy from `7034320` `48f43a7` --- assets/themes/sublime-snazzy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/themes/sublime-snazzy b/assets/themes/sublime-snazzy index 70343201..48f43a73 160000 --- a/assets/themes/sublime-snazzy +++ b/assets/themes/sublime-snazzy @@ -1 +1 @@ -Subproject commit 70343201f1d7539adbba3c79e2fe81c2559a0431 +Subproject commit 48f43a735037195021fa69d99c1180bf12f38f78 From 7bd6cdbebc232585e09bea563c5ee0cdaa50f0f9 Mon Sep 17 00:00:00 2001 From: cyqsimon <28627918+cyqsimon@users.noreply.github.com> Date: Fri, 26 Jul 2024 15:37:48 +0800 Subject: [PATCH 004/189] Add syntax mapping for kubernetes config files --- src/syntax_mapping/builtins/linux/50-kubernetes.toml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 src/syntax_mapping/builtins/linux/50-kubernetes.toml diff --git a/src/syntax_mapping/builtins/linux/50-kubernetes.toml b/src/syntax_mapping/builtins/linux/50-kubernetes.toml new file mode 100644 index 00000000..6a81a35a --- /dev/null +++ b/src/syntax_mapping/builtins/linux/50-kubernetes.toml @@ -0,0 +1,2 @@ +[mappings] +"YAML" = ["/etc/kubernetes/*.conf"] From 319b8868fc93c1fd026a67b58c4192fa535e015c Mon Sep 17 00:00:00 2001 From: cyqsimon <28627918+cyqsimon@users.noreply.github.com> Date: Fri, 26 Jul 2024 23:39:27 +0800 Subject: [PATCH 005/189] Write changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27a2d806..a4a6ed16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,7 @@ - Added auto detect syntax for `.aws/{config,credentials}` #2795 (@mxaddict) - Add syntax mapping for Wireguard config #2874 (@cyqsimon) - Associate `.textproto` files with `ProtoBuf` syntax, see #3038 (@vorburger). +- Add syntax mapping for kubernetes config files #3049 (@cyqsimon) ## Themes From 1423dd944066f060aa814817b2867097f2bac4d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:16 +0200 Subject: [PATCH 006/189] Choose theme based on the terminal's color scheme --- src/lib.rs | 1 + src/theme.rs | 334 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 335 insertions(+) create mode 100644 src/theme.rs diff --git a/src/lib.rs b/src/lib.rs index 23c4a800..5699d87a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -49,6 +49,7 @@ pub(crate) mod printer; pub mod style; pub(crate) mod syntax_mapping; mod terminal; +pub mod theme; mod vscreen; pub(crate) mod wrapping; diff --git a/src/theme.rs b/src/theme.rs new file mode 100644 index 00000000..b1607140 --- /dev/null +++ b/src/theme.rs @@ -0,0 +1,334 @@ +use std::convert::Infallible; +use std::str::FromStr; + +/// Chooses an appropriate theme or falls back to a default theme +/// based on the user-provided options and the color scheme of the terminal. +pub fn theme(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> String { + // Implementation note: This function is mostly pure (i.e. it has no side effects) for the sake of testing. + // All the side effects (e.g. querying the terminal for its colors) are performed in the detector. + if let Some(theme) = options.theme { + theme.into_theme(ColorScheme::default()) + } else { + let color_scheme = detect(options.detect_color_scheme, detector).unwrap_or_default(); + choose_theme(options, color_scheme) + .map(|t| t.into_theme(color_scheme)) + .unwrap_or_else(|| default_theme(color_scheme).to_owned()) + } +} + +fn choose_theme(options: ThemeOptions, color_scheme: ColorScheme) -> Option { + match color_scheme { + ColorScheme::Dark => options.dark_theme, + ColorScheme::Light => options.light_theme, + } +} + +fn detect(when: DetectColorScheme, detector: &dyn ColorSchemeDetector) -> Option { + let should_detect = match when { + DetectColorScheme::Auto => detector.should_detect(), + DetectColorScheme::Always => true, + DetectColorScheme::Never => false, + }; + should_detect.then(|| detector.detect()).flatten() +} + +const fn default_theme(color_scheme: ColorScheme) -> &'static str { + match color_scheme { + ColorScheme::Dark => "Monokai Extended", + ColorScheme::Light => "Monokai Extended Light", + } +} + +/// Options for configuring the theme used for syntax highlighting. +#[derive(Debug, Default)] +pub struct ThemeOptions { + /// Always use this theme regardless of the terminal's background color. + pub theme: Option, + /// The theme to use in case the terminal uses a dark background with light text. + pub dark_theme: Option, + /// The theme to use in case the terminal uses a light background with dark text. + pub light_theme: Option, + /// Detect whether or not the terminal is dark or light by querying for its colors. + pub detect_color_scheme: DetectColorScheme, +} + +/// The name of a theme or the default theme. +#[derive(Debug)] +pub enum ThemeRequest { + Named(String), + Default, +} + +impl FromStr for ThemeRequest { + type Err = Infallible; + + fn from_str(s: &str) -> Result { + if s == "default" { + Ok(ThemeRequest::Default) + } else { + Ok(ThemeRequest::Named(s.to_owned())) + } + } +} + +impl ThemeRequest { + fn into_theme(self, color_scheme: ColorScheme) -> String { + match self { + ThemeRequest::Named(t) => t, + ThemeRequest::Default => default_theme(color_scheme).to_owned(), + } + } +} + +#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)] +pub enum DetectColorScheme { + /// Only query the terminal for its colors when appropriate (e.g. when the the output is not redirected). + #[default] + Auto, + /// Always query the terminal for its colors. + Always, + /// Never query the terminal for its colors. + Never, +} + +/// The color scheme used to pick a fitting theme. Defaults to [`ColorScheme::Dark`]. +#[derive(Default, Copy, Clone)] +pub enum ColorScheme { + #[default] + Dark, + Light, +} + +pub trait ColorSchemeDetector { + fn should_detect(&self) -> bool; + + fn detect(&self) -> Option; +} + +#[cfg(test)] +impl ColorSchemeDetector for Option { + fn should_detect(&self) -> bool { + true + } + + fn detect(&self) -> Option { + *self + } +} + +#[cfg(test)] +mod tests { + use super::ColorScheme::*; + use super::DetectColorScheme::*; + use super::*; + use std::cell::Cell; + use std::iter; + + mod color_scheme_detection { + use super::*; + + #[test] + fn not_called_for_never() { + let detector = DetectorStub::should_detect(Some(Dark)); + let options = ThemeOptions { + detect_color_scheme: Never, + ..Default::default() + }; + _ = theme(options, &detector); + assert!(!detector.was_called.get()); + } + + #[test] + fn called_for_always() { + let detectors = [ + DetectorStub::should_detect(Some(Dark)), + DetectorStub::should_not_detect(), + ]; + for detector in detectors { + let options = ThemeOptions { + detect_color_scheme: Always, + ..Default::default() + }; + _ = theme(options, &detector); + assert!(detector.was_called.get()); + } + } + + #[test] + fn called_for_auto_if_should_detect() { + let detector = DetectorStub::should_detect(Some(Dark)); + _ = theme(ThemeOptions::default(), &detector); + assert!(detector.was_called.get()); + } + + #[test] + fn not_called_for_auto_if_not_should_detect() { + let detector = DetectorStub::should_not_detect(); + _ = theme(ThemeOptions::default(), &detector); + assert!(!detector.was_called.get()); + } + } + + mod precedence { + use super::*; + + #[test] + fn theme_is_preferred_over_light_or_dark_themes() { + for color_scheme in optional(color_schemes()) { + for options in [ + ThemeOptions { + theme: Some(ThemeRequest::Named("Theme".to_string())), + ..Default::default() + }, + ThemeOptions { + theme: Some(ThemeRequest::Named("Theme".to_string())), + dark_theme: Some(ThemeRequest::Named("Dark Theme".to_string())), + light_theme: Some(ThemeRequest::Named("Light Theme".to_string())), + ..Default::default() + }, + ] { + let detector = ConstantDetector(color_scheme); + assert_eq!("Theme", theme(options, &detector)); + } + } + } + + #[test] + fn detector_is_not_called_if_theme_is_present() { + let options = ThemeOptions { + theme: Some(ThemeRequest::Named("Theme".to_string())), + ..Default::default() + }; + let detector = DetectorStub::should_detect(Some(Dark)); + _ = theme(options, &detector); + assert!(!detector.was_called.get()); + } + } + + mod default_theme { + use super::*; + + #[test] + fn dark_if_unable_to_detect_color_scheme() { + let detector = ConstantDetector(None); + assert_eq!( + default_theme(ColorScheme::Dark), + theme(ThemeOptions::default(), &detector) + ); + } + + // For backwards compatibility, if the default theme is requested + // explicitly through BAT_THEME, we always pick the default dark theme. + #[test] + fn dark_if_requested_explicitly_through_theme() { + for color_scheme in optional(color_schemes()) { + let options = ThemeOptions { + theme: Some(ThemeRequest::Default), + ..Default::default() + }; + let detector = ConstantDetector(color_scheme); + assert_eq!(default_theme(ColorScheme::Dark), theme(options, &detector)); + } + } + + #[test] + fn varies_depending_on_color_scheme() { + for color_scheme in color_schemes() { + for options in [ + ThemeOptions::default(), + ThemeOptions { + dark_theme: Some(ThemeRequest::Default), + light_theme: Some(ThemeRequest::Default), + ..Default::default() + }, + ] { + let detector = ConstantDetector(Some(color_scheme)); + assert_eq!(default_theme(color_scheme), theme(options, &detector)); + } + } + } + } + + mod choosing { + use super::*; + + #[test] + fn chooses_dark_theme_if_dark_or_unknown() { + for color_scheme in [Some(Dark), None] { + let options = ThemeOptions { + dark_theme: Some(ThemeRequest::Named("Dark".to_string())), + light_theme: Some(ThemeRequest::Named("Light".to_string())), + ..Default::default() + }; + let detector = ConstantDetector(color_scheme); + assert_eq!("Dark", theme(options, &detector)); + } + } + + #[test] + fn chooses_light_theme_if_light() { + let options = ThemeOptions { + dark_theme: Some(ThemeRequest::Named("Dark".to_string())), + light_theme: Some(ThemeRequest::Named("Light".to_string())), + ..Default::default() + }; + let detector = ConstantDetector(Some(ColorScheme::Light)); + assert_eq!("Light", theme(options, &detector)); + } + } + + struct DetectorStub { + should_detect: bool, + color_scheme: Option, + was_called: Cell, + } + + impl DetectorStub { + fn should_detect(color_scheme: Option) -> Self { + DetectorStub { + should_detect: true, + color_scheme, + was_called: Cell::default(), + } + } + + fn should_not_detect() -> Self { + DetectorStub { + should_detect: false, + color_scheme: None, + was_called: Cell::default(), + } + } + } + + impl ColorSchemeDetector for DetectorStub { + fn should_detect(&self) -> bool { + self.should_detect + } + + fn detect(&self) -> Option { + self.was_called.set(true); + self.color_scheme + } + } + + struct ConstantDetector(Option); + + impl ColorSchemeDetector for ConstantDetector { + fn should_detect(&self) -> bool { + true + } + + fn detect(&self) -> Option { + self.0 + } + } + + fn optional(value: impl Iterator) -> impl Iterator> { + value.map(Some).chain(iter::once(None)) + } + + fn color_schemes() -> impl Iterator { + [Dark, Light].into_iter() + } +} From de796392cfba07a86d48ca9099e053b176ac916b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:18 +0200 Subject: [PATCH 007/189] Deprecate old `default_theme` function --- src/assets.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/assets.rs b/src/assets.rs index 9655553d..53414366 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -90,6 +90,7 @@ impl HighlightingAssets { /// /// See and /// for more context. + #[deprecated(note = "use bat::theme::theme instead")] pub fn default_theme() -> &'static str { #[cfg(not(target_os = "macos"))] { From cda363a3f742fe4ef112ffcd4a61bb756332c16c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:20 +0200 Subject: [PATCH 008/189] Use `default_theme()` function from theme module --- src/assets.rs | 27 ++++++++------------------- src/theme.rs | 2 +- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/assets.rs b/src/assets.rs index 53414366..857f416b 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -13,6 +13,7 @@ use crate::error::*; use crate::input::{InputReader, OpenedInput}; use crate::syntax_mapping::ignored_suffixes::IgnoredSuffixes; use crate::syntax_mapping::MappingTarget; +use crate::theme::{default_theme, ColorScheme}; use crate::{bat_warning, SyntaxMapping}; use lazy_theme_set::LazyThemeSet; @@ -94,33 +95,18 @@ impl HighlightingAssets { pub fn default_theme() -> &'static str { #[cfg(not(target_os = "macos"))] { - Self::default_dark_theme() + default_theme(ColorScheme::Dark) } #[cfg(target_os = "macos")] { if macos_dark_mode_active() { - Self::default_dark_theme() + default_theme(ColorScheme::Dark) } else { - Self::default_light_theme() + default_theme(ColorScheme::Light) } } } - /** - * The default theme that looks good on a dark background. - */ - fn default_dark_theme() -> &'static str { - "Monokai Extended" - } - - /** - * The default theme that looks good on a light background. - */ - #[cfg(target_os = "macos")] - fn default_light_theme() -> &'static str { - "Monokai Extended Light" - } - pub fn from_cache(cache_path: &Path) -> Result { Ok(HighlightingAssets::new( SerializedSyntaxSet::FromFile(cache_path.join("syntaxes.bin")), @@ -249,7 +235,10 @@ impl HighlightingAssets { bat_warning!("Unknown theme '{}', using default.", theme) } self.get_theme_set() - .get(self.fallback_theme.unwrap_or_else(Self::default_theme)) + .get( + self.fallback_theme + .unwrap_or_else(|| default_theme(ColorScheme::Dark)), + ) .expect("something is very wrong if the default theme is missing") } } diff --git a/src/theme.rs b/src/theme.rs index b1607140..8ce75e1f 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -32,7 +32,7 @@ fn detect(when: DetectColorScheme, detector: &dyn ColorSchemeDetector) -> Option should_detect.then(|| detector.detect()).flatten() } -const fn default_theme(color_scheme: ColorScheme) -> &'static str { +pub(crate) const fn default_theme(color_scheme: ColorScheme) -> &'static str { match color_scheme { ColorScheme::Dark => "Monokai Extended", ColorScheme::Light => "Monokai Extended Light", From cea45e05f3e3f2fea3eed6cbd8e2ac4bd1036fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Thu, 18 Jul 2024 15:38:28 +0200 Subject: [PATCH 009/189] Expose new theme selection in CLI --- Cargo.lock | 51 +++++++++++++++++++++++-- Cargo.toml | 3 ++ doc/long-help.txt | 36 +++++++++++++++-- doc/short-help.txt | 6 +++ src/bin/bat/app.rs | 85 ++++++++++++++++++++++++++++++++++------- src/bin/bat/clap_app.rs | 53 ++++++++++++++++++++++++- src/bin/bat/config.rs | 2 + src/theme.rs | 24 ++++++------ 8 files changed, 227 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1168501a..6d413de6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -149,6 +149,7 @@ dependencies = [ "shell-words", "syntect", "tempfile", + "terminal-colorsaurus", "thiserror", "toml", "unicode-width", @@ -620,6 +621,12 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + [[package]] name = "home" version = "0.5.9" @@ -688,9 +695,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libgit2-sys" @@ -755,9 +762,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "miniz_oxide" @@ -768,6 +775,18 @@ dependencies = [ "adler", ] +[[package]] +name = "mio" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4929e1f84c5e54c3ec6141cd5d8b5a5c055f031f80cf78f2072920173cb4d880" +dependencies = [ + "hermit-abi", + "libc", + "wasi", + "windows-sys 0.52.0", +] + [[package]] name = "nix" version = "0.26.4" @@ -1309,6 +1328,30 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "terminal-colorsaurus" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f99bb1dc5cde9eada5a8f466641240f9d5b9f55291d675df4160b097fbfa42e" +dependencies = [ + "cfg-if", + "libc", + "memchr", + "mio", + "terminal-trx", +] + +[[package]] +name = "terminal-trx" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d4c86910e10c782a02d3b7606de43cf7ebd80e1fafdca8e49a0db2b0d4611f0" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "terminal_size" version = "0.3.0" diff --git a/Cargo.toml b/Cargo.toml index 720e629b..affce17f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ application = [ "bugreport", "build-assets", "git", + "detect-color-scheme", "minimal-application", ] # Mainly for developers that want to iterate quickly @@ -35,6 +36,7 @@ git = ["git2"] # Support indicating git modifications paging = ["shell-words", "grep-cli"] # Support applying a pager on the output lessopen = ["run_script", "os_str_bytes"] # Support $LESSOPEN preprocessor build-assets = ["syntect/yaml-load", "syntect/plist-load", "regex", "walkdir"] +detect-color-scheme = ["dep:terminal-colorsaurus"] # You need to use one of these if you depend on bat as a library: regex-onig = ["syntect/regex-onig"] # Use the "oniguruma" regex engine @@ -68,6 +70,7 @@ bytesize = { version = "1.3.0" } encoding_rs = "0.8.34" os_str_bytes = { version = "~7.0", optional = true } run_script = { version = "^0.10.1", optional = true} +terminal-colorsaurus = { version = "0.4", optional = true } [dependencies.git2] version = "0.18" diff --git a/doc/long-help.txt b/doc/long-help.txt index 2b03490f..86e9a532 100644 --- a/doc/long-help.txt +++ b/doc/long-help.txt @@ -109,9 +109,39 @@ Options: 'bat --ignored-suffix ".dev" my_file.json.dev' will use JSON syntax, and ignore '.dev' --theme - Set the theme for syntax highlighting. Use '--list-themes' to see all available themes. To - set a default theme, add the '--theme="..."' option to the configuration file or export - the BAT_THEME environment variable (e.g.: export BAT_THEME="..."). + Set the theme for syntax highlighting. Note that this option overrides '--theme-dark' and + '--theme-light'. Use '--list-themes' to see all available themes. To set a default theme, + add the '--theme="..."' option to the configuration file or export the BAT_THEME + environment variable (e.g.: export BAT_THEME="..."). + + --detect-color-scheme + Specify when to query the terminal for its colors in order to pick an appropriate syntax + highlighting theme. Use '--theme-light' and '--theme-dark' (or the environment variables + BAT_THEME_LIGHT and BAT_THEME_DARK) to configure which themes are picked. You may also use + '--theme' to set a theme that is used regardless of the terminal's colors. + + Possible values: + * auto (default): + Only query the terminals colors if the output is not redirected. This is to prevent + race conditions with pagers such as less. + * never + Never query the terminal for its colors and assume that the terminal has a dark + background. + * always + Always query the terminal for its colors, regardless of whether or not the output is + redirected. + + --theme-light + Sets the theme name for syntax highlighting used when the terminal uses a light + background. Use '--list-themes' to see all available themes. To set a default theme, add + the '--theme-light="..." option to the configuration file or export the BAT_THEME_LIGHT + environment variable (e.g. export BAT_THEME_LIGHT="..."). + + --theme-dark + Sets the theme name for syntax highlighting used when the terminal uses a dark background. + Use '--list-themes' to see all available themes. To set a default theme, add the + '--theme-dark="..." option to the configuration file or export the BAT_THEME_DARK + environment variable (e.g. export BAT_THEME_DARK="..."). --list-themes Display a list of supported themes for syntax highlighting. diff --git a/doc/short-help.txt b/doc/short-help.txt index 305bbf3d..3e369229 100644 --- a/doc/short-help.txt +++ b/doc/short-help.txt @@ -41,6 +41,12 @@ Options: Use the specified syntax for files matching the glob pattern ('*.cpp:C++'). --theme Set the color theme for syntax highlighting. + --detect-color-scheme + Specify when to query the terminal for its colors. + --theme-light + Sets the color theme for syntax highlighting used for light backgrounds. + --theme-dark + Sets the color theme for syntax highlighting used for dark backgrounds. --list-themes Display all supported highlighting themes. -s, --squeeze-blank diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index d6628668..d9e1662b 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -9,6 +9,9 @@ use crate::{ config::{get_args_from_config_file, get_args_from_env_opts_var, get_args_from_env_vars}, }; use bat::style::StyleComponentList; +use bat::theme::{ + theme, ColorScheme, ColorSchemeDetector, DetectColorScheme, ThemeOptions, ThemeRequest, +}; use bat::StripAnsiMode; use clap::ArgMatches; @@ -16,7 +19,6 @@ use console::Term; use crate::input::{new_file_input, new_stdin_input}; use bat::{ - assets::HighlightingAssets, bat_warning, config::{Config, VisibleLines}, error::*, @@ -254,18 +256,7 @@ impl App { Some("auto") => StripAnsiMode::Auto, _ => unreachable!("other values for --strip-ansi are not allowed"), }, - theme: self - .matches - .get_one::("theme") - .map(String::from) - .map(|s| { - if s == "default" { - String::from(HighlightingAssets::default_theme()) - } else { - s - } - }) - .unwrap_or_else(|| String::from(HighlightingAssets::default_theme())), + theme: theme(self.theme_options(), &TerminalColorSchemeDetector), visible_lines: match self.matches.try_contains_id("diff").unwrap_or_default() && self.matches.get_flag("diff") { @@ -424,4 +415,72 @@ impl App { Ok(styled_components) } + + fn theme_options(&self) -> ThemeOptions { + let theme = self + .matches + .get_one::("theme") + .map(|t| ThemeRequest::from_str(t).unwrap()); + let theme_dark = self + .matches + .get_one::("theme-dark") + .map(|t| ThemeRequest::from_str(t).unwrap()); + let theme_light = self + .matches + .get_one::("theme-light") + .map(|t| ThemeRequest::from_str(t).unwrap()); + let detect_color_scheme = match self + .matches + .get_one::("detect-color-scheme") + .map(|s| s.as_str()) + { + Some("auto") => DetectColorScheme::Auto, + Some("never") => DetectColorScheme::Never, + Some("always") => DetectColorScheme::Always, + _ => unreachable!("other values for --detect-color-scheme are not allowed"), + }; + ThemeOptions { + theme, + theme_dark, + theme_light, + detect_color_scheme, + } + } +} + +struct TerminalColorSchemeDetector; + +#[cfg(feature = "detect-color-scheme")] +impl ColorSchemeDetector for TerminalColorSchemeDetector { + fn should_detect(&self) -> bool { + // Querying the terminal for its colors via OSC 10 / OSC 11 requires "exclusive" access + // since we read/write from the terminal and enable/disable raw mode. + // This causes race conditions with pagers such as less when they are attached to the + // same terminal as us. + // + // This is usually only an issue when the output is manually piped to a pager. + // For example: `bat Cargo.toml | less`. + // Otherwise, if we start the pager ourselves, then there's no race condition + // since the pager is started *after* the color is detected. + std::io::stdout().is_terminal() + } + + fn detect(&self) -> Option { + use terminal_colorsaurus::{color_scheme, ColorScheme as ColorsaurusScheme, QueryOptions}; + match color_scheme(QueryOptions::default()).ok()? { + ColorsaurusScheme::Dark => Some(ColorScheme::Dark), + ColorsaurusScheme::Light => Some(ColorScheme::Light), + } + } +} + +#[cfg(not(feature = "detect-color-scheme"))] +impl ColorSchemeDetector for TerminalColorSchemeDetector { + fn should_detect(&self) -> bool { + false + } + + fn detect(&self) -> Option { + None + } } diff --git a/src/bin/bat/clap_app.rs b/src/bin/bat/clap_app.rs index 33dde980..6abdab9c 100644 --- a/src/bin/bat/clap_app.rs +++ b/src/bin/bat/clap_app.rs @@ -375,13 +375,64 @@ pub fn build_app(interactive_output: bool) -> Command { .overrides_with("theme") .help("Set the color theme for syntax highlighting.") .long_help( - "Set the theme for syntax highlighting. Use '--list-themes' to \ + "Set the theme for syntax highlighting. Note that this option overrides \ + '--theme-dark' and '--theme-light'. Use '--list-themes' to \ see all available themes. To set a default theme, add the \ '--theme=\"...\"' option to the configuration file or export the \ BAT_THEME environment variable (e.g.: export \ BAT_THEME=\"...\").", ), ) + .arg( + Arg::new("detect-color-scheme") + .long("detect-color-scheme") + .overrides_with("detect-color-scheme") + .value_name("when") + .value_parser(["auto", "never", "always"]) + .default_value("auto") + .hide_default_value(true) + .help("Specify when to query the terminal for its colors.") + .long_help( + "Specify when to query the terminal for its colors \ + in order to pick an appropriate syntax highlighting theme. \ + Use '--theme-light' and '--theme-dark' (or the environment variables \ + BAT_THEME_LIGHT and BAT_THEME_DARK) to configure which themes are picked. \ + You may also use '--theme' to set a theme that is used regardless of the terminal's colors.\n\n\ + Possible values:\n\ + * auto (default):\n \ + Only query the terminals colors if the output is not redirected. \ + This is to prevent race conditions with pagers such as less.\n\ + * never\n \ + Never query the terminal for its colors \ + and assume that the terminal has a dark background.\n\ + * always\n \ + Always query the terminal for its colors, \ + regardless of whether or not the output is redirected."), + ) + .arg( + Arg::new("theme-light") + .long("theme-light") + .overrides_with("theme-light") + .value_name("theme") + .help("Sets the color theme for syntax highlighting used for light backgrounds.") + .long_help( + "Sets the theme name for syntax highlighting used when the terminal uses a light background. \ + Use '--list-themes' to see all available themes. To set a default theme, add the \ + '--theme-light=\"...\" option to the configuration file or export the BAT_THEME_LIGHT \ + environment variable (e.g. export BAT_THEME_LIGHT=\"...\")."), + ) + .arg( + Arg::new("theme-dark") + .long("theme-dark") + .overrides_with("theme-dark") + .value_name("theme") + .help("Sets the color theme for syntax highlighting used for dark backgrounds.") + .long_help( + "Sets the theme name for syntax highlighting used when the terminal uses a dark background. \ + Use '--list-themes' to see all available themes. To set a default theme, add the \ + '--theme-dark=\"...\" option to the configuration file or export the BAT_THEME_DARK \ + environment variable (e.g. export BAT_THEME_DARK=\"...\")."), + ) .arg( Arg::new("list-themes") .long("list-themes") diff --git a/src/bin/bat/config.rs b/src/bin/bat/config.rs index 6fa18f09..f1ec3d53 100644 --- a/src/bin/bat/config.rs +++ b/src/bin/bat/config.rs @@ -141,6 +141,8 @@ pub fn get_args_from_env_vars() -> Vec { [ ("--tabs", "BAT_TABS"), ("--theme", "BAT_THEME"), + ("--theme-dark", "BAT_THEME_DARK"), + ("--theme-light", "BAT_THEME_LIGHT"), ("--pager", "BAT_PAGER"), ("--paging", "BAT_PAGING"), ("--style", "BAT_STYLE"), diff --git a/src/theme.rs b/src/theme.rs index 8ce75e1f..ec3e3d34 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -18,8 +18,8 @@ pub fn theme(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> Strin fn choose_theme(options: ThemeOptions, color_scheme: ColorScheme) -> Option { match color_scheme { - ColorScheme::Dark => options.dark_theme, - ColorScheme::Light => options.light_theme, + ColorScheme::Dark => options.theme_dark, + ColorScheme::Light => options.theme_light, } } @@ -45,9 +45,9 @@ pub struct ThemeOptions { /// Always use this theme regardless of the terminal's background color. pub theme: Option, /// The theme to use in case the terminal uses a dark background with light text. - pub dark_theme: Option, + pub theme_dark: Option, /// The theme to use in case the terminal uses a light background with dark text. - pub light_theme: Option, + pub theme_light: Option, /// Detect whether or not the terminal is dark or light by querying for its colors. pub detect_color_scheme: DetectColorScheme, } @@ -182,8 +182,8 @@ mod tests { }, ThemeOptions { theme: Some(ThemeRequest::Named("Theme".to_string())), - dark_theme: Some(ThemeRequest::Named("Dark Theme".to_string())), - light_theme: Some(ThemeRequest::Named("Light Theme".to_string())), + theme_dark: Some(ThemeRequest::Named("Dark Theme".to_string())), + theme_light: Some(ThemeRequest::Named("Light Theme".to_string())), ..Default::default() }, ] { @@ -237,8 +237,8 @@ mod tests { for options in [ ThemeOptions::default(), ThemeOptions { - dark_theme: Some(ThemeRequest::Default), - light_theme: Some(ThemeRequest::Default), + theme_dark: Some(ThemeRequest::Default), + theme_light: Some(ThemeRequest::Default), ..Default::default() }, ] { @@ -256,8 +256,8 @@ mod tests { fn chooses_dark_theme_if_dark_or_unknown() { for color_scheme in [Some(Dark), None] { let options = ThemeOptions { - dark_theme: Some(ThemeRequest::Named("Dark".to_string())), - light_theme: Some(ThemeRequest::Named("Light".to_string())), + theme_dark: Some(ThemeRequest::Named("Dark".to_string())), + theme_light: Some(ThemeRequest::Named("Light".to_string())), ..Default::default() }; let detector = ConstantDetector(color_scheme); @@ -268,8 +268,8 @@ mod tests { #[test] fn chooses_light_theme_if_light() { let options = ThemeOptions { - dark_theme: Some(ThemeRequest::Named("Dark".to_string())), - light_theme: Some(ThemeRequest::Named("Light".to_string())), + theme_dark: Some(ThemeRequest::Named("Dark".to_string())), + theme_light: Some(ThemeRequest::Named("Light".to_string())), ..Default::default() }; let detector = ConstantDetector(Some(ColorScheme::Light)); From 9a1bfe946dafcd095895737b7b395dd636114737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:24 +0200 Subject: [PATCH 010/189] Update completions and man page --- assets/completions/_bat.ps1.in | 3 +++ assets/completions/bat.bash.in | 9 ++++++-- assets/completions/bat.fish.in | 7 +++++++ assets/completions/bat.zsh.in | 3 +++ assets/manual/bat.1.in | 38 +++++++++++++++++++++++++++++++--- 5 files changed, 55 insertions(+), 5 deletions(-) diff --git a/assets/completions/_bat.ps1.in b/assets/completions/_bat.ps1.in index c0c151e1..5635dea2 100644 --- a/assets/completions/_bat.ps1.in +++ b/assets/completions/_bat.ps1.in @@ -32,11 +32,14 @@ Register-ArgumentCompleter -Native -CommandName '{{PROJECT_EXECUTABLE}}' -Script [CompletionResult]::new('--color', 'color', [CompletionResultType]::ParameterName, 'When to use colors (*auto*, never, always).') [CompletionResult]::new('--italic-text', 'italic-text', [CompletionResultType]::ParameterName, 'Use italics in output (always, *never*)') [CompletionResult]::new('--decorations', 'decorations', [CompletionResultType]::ParameterName, 'When to show the decorations (*auto*, never, always).') + [CompletionResult]::new('--detect-color-scheme', 'detect-color-scheme', [CompletionResultType]::ParameterName, 'When to detect the terminal''s color scheme (*auto*, never, always).') [CompletionResult]::new('--paging', 'paging', [CompletionResultType]::ParameterName, 'Specify when to use the pager, or use `-P` to disable (*auto*, never, always).') [CompletionResult]::new('--pager', 'pager', [CompletionResultType]::ParameterName, 'Determine which pager to use.') [CompletionResult]::new('-m', 'm', [CompletionResultType]::ParameterName, 'Use the specified syntax for files matching the glob pattern (''*.cpp:C++'').') [CompletionResult]::new('--map-syntax', 'map-syntax', [CompletionResultType]::ParameterName, 'Use the specified syntax for files matching the glob pattern (''*.cpp:C++'').') [CompletionResult]::new('--theme', 'theme', [CompletionResultType]::ParameterName, 'Set the color theme for syntax highlighting.') + [CompletionResult]::new('--theme-dark', 'theme', [CompletionResultType]::ParameterName, 'Set the color theme for syntax highlighting for dark backgrounds.') + [CompletionResult]::new('--theme-light', 'theme', [CompletionResultType]::ParameterName, 'Set the color theme for syntax highlighting for light backgrounds.') [CompletionResult]::new('--style', 'style', [CompletionResultType]::ParameterName, 'Comma-separated list of style elements to display (*default*, auto, full, plain, changes, header, header-filename, header-filesize, grid, rule, numbers, snip).') [CompletionResult]::new('-r', 'r', [CompletionResultType]::ParameterName, 'Only print the lines from N to M.') [CompletionResult]::new('--line-range', 'line-range', [CompletionResultType]::ParameterName, 'Only print the lines from N to M.') diff --git a/assets/completions/bat.bash.in b/assets/completions/bat.bash.in index f314bb25..a02c5a04 100644 --- a/assets/completions/bat.bash.in +++ b/assets/completions/bat.bash.in @@ -100,7 +100,7 @@ _bat() { COMPREPLY=($(compgen -W "auto never character" -- "$cur")) return 0 ;; - --color | --decorations | --paging) + --color | --decorations | --paging | --detect-color-scheme) COMPREPLY=($(compgen -W "auto never always" -- "$cur")) return 0 ;; @@ -112,7 +112,9 @@ _bat() { COMPREPLY=($(compgen -c -- "$cur")) return 0 ;; - --theme) + --theme | \ + --theme-dark | \ + --theme-light) local IFS=$'\n' COMPREPLY=($(compgen -W "$("$1" --list-themes)" -- "$cur")) __bat_escape_completions @@ -164,12 +166,15 @@ _bat() { --color --italic-text --decorations + --detect-color-scheme --force-colorization --paging --pager --map-syntax --ignored-suffix --theme + --theme-dark + --theme-light --list-themes --squeeze-blank --squeeze-limit diff --git a/assets/completions/bat.fish.in b/assets/completions/bat.fish.in index 788f71b0..7bd0ebca 100644 --- a/assets/completions/bat.fish.in +++ b/assets/completions/bat.fish.in @@ -99,6 +99,7 @@ set -l color_opts ' ' set -l decorations_opts $color_opts set -l paging_opts $color_opts +set -l detect_color_scheme_opts $color_opts # Include some examples so we can indicate the default. set -l pager_opts ' @@ -143,6 +144,8 @@ complete -c $bat -l config-file -f -d "Display location of configuration file" - complete -c $bat -l decorations -x -a "$decorations_opts" -d "When to use --style decorations" -n __bat_no_excl_args +complete -c $bat -l detect-color-scheme -x -a "$detect_color_scheme_opts" -d "When to detect the terminal's color scheme" -n __bat_no_excl_args + complete -c $bat -l diagnostic -d "Print diagnostic info for bug reports" -n __fish_is_first_arg complete -c $bat -s d -l diff -d "Only show lines with Git changes" -n __bat_no_excl_args @@ -205,6 +208,10 @@ complete -c $bat -l terminal-width -x -d "Set terminal , +, or -< complete -c $bat -l theme -x -a "(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme" -n __bat_no_excl_args +complete -c $bat -l theme-dark -x -a "(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme for dark backgrounds" -n __bat_no_excl_args + +complete -c $bat -l theme-light -x -a "(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme for light backgrounds" -n __bat_no_excl_args + complete -c $bat -s V -l version -f -d "Show version information" -n __fish_is_first_arg complete -c $bat -l wrap -x -a "$wrap_opts" -d "Text-wrapping mode" -n __bat_no_excl_args diff --git a/assets/completions/bat.zsh.in b/assets/completions/bat.zsh.in index 7d03abb3..4a598437 100644 --- a/assets/completions/bat.zsh.in +++ b/assets/completions/bat.zsh.in @@ -40,9 +40,12 @@ _{{PROJECT_EXECUTABLE}}_main() { --color='[specify when to use colors]:when:(auto never always)' --italic-text='[use italics in output]:when:(always never)' --decorations='[specify when to show the decorations]:when:(auto never always)' + --detect-color-scheme="[specify when to detect the terminal's color scheme]:when:(auto never always)" --paging='[specify when to use the pager]:when:(auto never always)' '(-m --map-syntax)'{-m+,--map-syntax=}'[map a glob pattern to an existing syntax name]: :->syntax-maps' '(--theme)'--theme='[set the color theme for syntax highlighting]:theme:->themes' + '(--theme-dark)'--theme-dark='[set the color theme for syntax highlighting for dark backgrounds]:theme:->themes' + '(--theme-light)'--theme-light='[set the color theme for syntax highlighting for light backgrounds]:theme:->themes' '(: --list-themes --list-languages -L)'--list-themes'[show all supported highlighting themes]' --style='[comma-separated list of style elements to display]: : _values "style [default]" default auto full plain changes header header-filename header-filesize grid rule numbers snip' diff --git a/assets/manual/bat.1.in b/assets/manual/bat.1.in index 2bc0a3a5..5dcabe2d 100644 --- a/assets/manual/bat.1.in +++ b/assets/manual/bat.1.in @@ -117,6 +117,24 @@ Specify when to use the decorations that have been specified via '\-\-style'. Th automatic mode only enables decorations if an interactive terminal is detected. Possible values: *auto*, never, always. .HP +\fB\-\-detect\-color\-scheme\fR +.IP +Specify when to query the terminal for its colors in order to pick an appropriate syntax +highlighting theme. Use \fB\-\-theme-light\fP and \fB\-\-theme-dark\fP (or the environment variables +\fBBAT_THEME_LIGHT\fP and \fBBAT_THEME_DARK\fP) to configure which themes are picked. You can also use +\fP\-\-theme\fP to set a theme that is used regardless of the terminal's colors. +.IP +\fI\fP can be one of: +.RS +.IP "\fBauto\fP" +Only query the terminals colors if the output is not redirected. This is to prevent +race conditions with pagers such as less. +.IP "never" +Never query the terminal for its colors and assume that the terminal has a dark background. +.IP "always" +Always query the terminal for its colors, regardless of whether or not the output is redirected. +.RE +.HP \fB\-f\fR, \fB\-\-force\-colorization\fR .IP Alias for '--decorations=always --color=always'. This is useful \ @@ -152,9 +170,23 @@ will use JSON syntax, and ignore '.dev' .HP \fB\-\-theme\fR .IP -Set the theme for syntax highlighting. Use '\-\-list\-themes' to see all available themes. -To set a default theme, add the '\-\-theme="..."' option to the configuration file or -export the BAT_THEME environment variable (e.g.: export BAT_THEME="..."). +Set the theme for syntax highlighting. Use \fB\-\-list\-themes\fP to see all available themes. +To set a default theme, add the \fB\-\-theme="..."\fP option to the configuration file or +export the \fBBAT_THEME\fP environment variable (e.g.: \fBexport BAT_THEME="..."\fP). +.HP +\fB\-\-theme\-dark\fR +.IP +Sets the theme name for syntax highlighting used when the terminal uses a dark background. +To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or +export the \fBBAT_THEME_DARK\fP environment variable (e.g. \fBexport BAT_THEME_DARK="..."\fP). +This option is ignored if \fB\-\-theme\fP option is set. +.HP +\fB\-\-theme\-light\fR +.IP +Sets the theme name for syntax highlighting used when the terminal uses a dark background. +To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or +export the \fBBAT_THEME_LIGHT\fP environment variable (e.g. \fBexport BAT_THEME_LIGHT="..."\fP). +This option is ignored if \fB\-\-theme\fP option is set. .HP \fB\-\-list\-themes\fR .IP From 14ce668a1d043b9ecdbdf99e6832923ba3576031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:27 +0200 Subject: [PATCH 011/189] Add generated powershell completion to ignore list --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a3ea8cff..fbfe6ac6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ **/*.rs.bk # Generated files +/assets/completions/_bat.ps1 /assets/completions/bat.bash /assets/completions/bat.fish /assets/completions/bat.zsh From ff81cfd584ca873fcad186193247af51c4f71627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:31 +0200 Subject: [PATCH 012/189] Move actual detection into library --- Cargo.toml | 3 +- src/bin/bat/app.rs | 43 +-------------- src/theme.rs | 133 +++++++++++++++++++++++++++++++-------------- 3 files changed, 95 insertions(+), 84 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index affce17f..62ae693c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,14 +13,13 @@ edition = '2021' rust-version = "1.70" [features] -default = ["application"] +default = ["application", "detect-color-scheme"] # Feature required for bat the application. Should be disabled when depending on # bat as a library. application = [ "bugreport", "build-assets", "git", - "detect-color-scheme", "minimal-application", ] # Mainly for developers that want to iterate quickly diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index d9e1662b..711ab1c6 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -9,9 +9,7 @@ use crate::{ config::{get_args_from_config_file, get_args_from_env_opts_var, get_args_from_env_vars}, }; use bat::style::StyleComponentList; -use bat::theme::{ - theme, ColorScheme, ColorSchemeDetector, DetectColorScheme, ThemeOptions, ThemeRequest, -}; +use bat::theme::{theme, DetectColorScheme, ThemeOptions, ThemeRequest}; use bat::StripAnsiMode; use clap::ArgMatches; @@ -256,7 +254,7 @@ impl App { Some("auto") => StripAnsiMode::Auto, _ => unreachable!("other values for --strip-ansi are not allowed"), }, - theme: theme(self.theme_options(), &TerminalColorSchemeDetector), + theme: theme(self.theme_options()), visible_lines: match self.matches.try_contains_id("diff").unwrap_or_default() && self.matches.get_flag("diff") { @@ -447,40 +445,3 @@ impl App { } } } - -struct TerminalColorSchemeDetector; - -#[cfg(feature = "detect-color-scheme")] -impl ColorSchemeDetector for TerminalColorSchemeDetector { - fn should_detect(&self) -> bool { - // Querying the terminal for its colors via OSC 10 / OSC 11 requires "exclusive" access - // since we read/write from the terminal and enable/disable raw mode. - // This causes race conditions with pagers such as less when they are attached to the - // same terminal as us. - // - // This is usually only an issue when the output is manually piped to a pager. - // For example: `bat Cargo.toml | less`. - // Otherwise, if we start the pager ourselves, then there's no race condition - // since the pager is started *after* the color is detected. - std::io::stdout().is_terminal() - } - - fn detect(&self) -> Option { - use terminal_colorsaurus::{color_scheme, ColorScheme as ColorsaurusScheme, QueryOptions}; - match color_scheme(QueryOptions::default()).ok()? { - ColorsaurusScheme::Dark => Some(ColorScheme::Dark), - ColorsaurusScheme::Light => Some(ColorScheme::Light), - } - } -} - -#[cfg(not(feature = "detect-color-scheme"))] -impl ColorSchemeDetector for TerminalColorSchemeDetector { - fn should_detect(&self) -> bool { - false - } - - fn detect(&self) -> Option { - None - } -} diff --git a/src/theme.rs b/src/theme.rs index ec3e3d34..2491f9bd 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -1,35 +1,13 @@ +//! Utilities for choosing an appropriate theme for syntax highlighting. + use std::convert::Infallible; +use std::io::IsTerminal as _; use std::str::FromStr; /// Chooses an appropriate theme or falls back to a default theme /// based on the user-provided options and the color scheme of the terminal. -pub fn theme(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> String { - // Implementation note: This function is mostly pure (i.e. it has no side effects) for the sake of testing. - // All the side effects (e.g. querying the terminal for its colors) are performed in the detector. - if let Some(theme) = options.theme { - theme.into_theme(ColorScheme::default()) - } else { - let color_scheme = detect(options.detect_color_scheme, detector).unwrap_or_default(); - choose_theme(options, color_scheme) - .map(|t| t.into_theme(color_scheme)) - .unwrap_or_else(|| default_theme(color_scheme).to_owned()) - } -} - -fn choose_theme(options: ThemeOptions, color_scheme: ColorScheme) -> Option { - match color_scheme { - ColorScheme::Dark => options.theme_dark, - ColorScheme::Light => options.theme_light, - } -} - -fn detect(when: DetectColorScheme, detector: &dyn ColorSchemeDetector) -> Option { - let should_detect = match when { - DetectColorScheme::Auto => detector.should_detect(), - DetectColorScheme::Always => true, - DetectColorScheme::Never => false, - }; - should_detect.then(|| detector.detect()).flatten() +pub fn theme(options: ThemeOptions) -> String { + theme_from_detector(options, &TerminalColorSchemeDetector) } pub(crate) const fn default_theme(color_scheme: ColorScheme) -> &'static str { @@ -40,6 +18,7 @@ pub(crate) const fn default_theme(color_scheme: ColorScheme) -> &'static str { } /// Options for configuring the theme used for syntax highlighting. +/// Used together with [`theme`]. #[derive(Debug, Default)] pub struct ThemeOptions { /// Always use this theme regardless of the terminal's background color. @@ -48,7 +27,7 @@ pub struct ThemeOptions { pub theme_dark: Option, /// The theme to use in case the terminal uses a light background with dark text. pub theme_light: Option, - /// Detect whether or not the terminal is dark or light by querying for its colors. + /// Whether or not to test if the terminal is dark or light by querying for its colors. pub detect_color_scheme: DetectColorScheme, } @@ -82,7 +61,7 @@ impl ThemeRequest { #[derive(Clone, Copy, Debug, Default, PartialEq, Eq)] pub enum DetectColorScheme { - /// Only query the terminal for its colors when appropriate (e.g. when the the output is not redirected). + /// Only query the terminal for its colors when appropriate (i.e. when the the output is not redirected). #[default] Auto, /// Always query the terminal for its colors. @@ -99,12 +78,78 @@ pub enum ColorScheme { Light, } -pub trait ColorSchemeDetector { +fn theme_from_detector(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> String { + // Implementation note: This function is mostly pure (i.e. it has no side effects) for the sake of testing. + // All the side effects (e.g. querying the terminal for its colors) are performed in the detector. + if let Some(theme) = options.theme { + theme.into_theme(ColorScheme::default()) + } else { + let color_scheme = detect(options.detect_color_scheme, detector).unwrap_or_default(); + choose_theme(options, color_scheme) + .map(|t| t.into_theme(color_scheme)) + .unwrap_or_else(|| default_theme(color_scheme).to_owned()) + } +} + +fn choose_theme(options: ThemeOptions, color_scheme: ColorScheme) -> Option { + match color_scheme { + ColorScheme::Dark => options.theme_dark, + ColorScheme::Light => options.theme_light, + } +} + +fn detect(when: DetectColorScheme, detector: &dyn ColorSchemeDetector) -> Option { + let should_detect = match when { + DetectColorScheme::Auto => detector.should_detect(), + DetectColorScheme::Always => true, + DetectColorScheme::Never => false, + }; + should_detect.then(|| detector.detect()).flatten() +} + +trait ColorSchemeDetector { fn should_detect(&self) -> bool; fn detect(&self) -> Option; } +struct TerminalColorSchemeDetector; + +#[cfg(feature = "detect-color-scheme")] +impl ColorSchemeDetector for TerminalColorSchemeDetector { + fn should_detect(&self) -> bool { + // Querying the terminal for its colors via OSC 10 / OSC 11 requires "exclusive" access + // since we read/write from the terminal and enable/disable raw mode. + // This causes race conditions with pagers such as less when they are attached to the + // same terminal as us. + // + // This is usually only an issue when the output is manually piped to a pager. + // For example: `bat Cargo.toml | less`. + // Otherwise, if we start the pager ourselves, then there's no race condition + // since the pager is started *after* the color is detected. + std::io::stdout().is_terminal() + } + + fn detect(&self) -> Option { + use terminal_colorsaurus::{color_scheme, ColorScheme as ColorsaurusScheme, QueryOptions}; + match color_scheme(QueryOptions::default()).ok()? { + ColorsaurusScheme::Dark => Some(ColorScheme::Dark), + ColorsaurusScheme::Light => Some(ColorScheme::Light), + } + } +} + +#[cfg(not(feature = "detect-color-scheme"))] +impl ColorSchemeDetector for TerminalColorSchemeDetector { + fn should_detect(&self) -> bool { + false + } + + fn detect(&self) -> Option { + None + } +} + #[cfg(test)] impl ColorSchemeDetector for Option { fn should_detect(&self) -> bool { @@ -134,7 +179,7 @@ mod tests { detect_color_scheme: Never, ..Default::default() }; - _ = theme(options, &detector); + _ = theme_from_detector(options, &detector); assert!(!detector.was_called.get()); } @@ -149,7 +194,7 @@ mod tests { detect_color_scheme: Always, ..Default::default() }; - _ = theme(options, &detector); + _ = theme_from_detector(options, &detector); assert!(detector.was_called.get()); } } @@ -157,14 +202,14 @@ mod tests { #[test] fn called_for_auto_if_should_detect() { let detector = DetectorStub::should_detect(Some(Dark)); - _ = theme(ThemeOptions::default(), &detector); + _ = theme_from_detector(ThemeOptions::default(), &detector); assert!(detector.was_called.get()); } #[test] fn not_called_for_auto_if_not_should_detect() { let detector = DetectorStub::should_not_detect(); - _ = theme(ThemeOptions::default(), &detector); + _ = theme_from_detector(ThemeOptions::default(), &detector); assert!(!detector.was_called.get()); } } @@ -188,7 +233,7 @@ mod tests { }, ] { let detector = ConstantDetector(color_scheme); - assert_eq!("Theme", theme(options, &detector)); + assert_eq!("Theme", theme_from_detector(options, &detector)); } } } @@ -200,7 +245,7 @@ mod tests { ..Default::default() }; let detector = DetectorStub::should_detect(Some(Dark)); - _ = theme(options, &detector); + _ = theme_from_detector(options, &detector); assert!(!detector.was_called.get()); } } @@ -213,7 +258,7 @@ mod tests { let detector = ConstantDetector(None); assert_eq!( default_theme(ColorScheme::Dark), - theme(ThemeOptions::default(), &detector) + theme_from_detector(ThemeOptions::default(), &detector) ); } @@ -227,7 +272,10 @@ mod tests { ..Default::default() }; let detector = ConstantDetector(color_scheme); - assert_eq!(default_theme(ColorScheme::Dark), theme(options, &detector)); + assert_eq!( + default_theme(ColorScheme::Dark), + theme_from_detector(options, &detector) + ); } } @@ -243,7 +291,10 @@ mod tests { }, ] { let detector = ConstantDetector(Some(color_scheme)); - assert_eq!(default_theme(color_scheme), theme(options, &detector)); + assert_eq!( + default_theme(color_scheme), + theme_from_detector(options, &detector) + ); } } } @@ -261,7 +312,7 @@ mod tests { ..Default::default() }; let detector = ConstantDetector(color_scheme); - assert_eq!("Dark", theme(options, &detector)); + assert_eq!("Dark", theme_from_detector(options, &detector)); } } @@ -273,7 +324,7 @@ mod tests { ..Default::default() }; let detector = ConstantDetector(Some(ColorScheme::Light)); - assert_eq!("Light", theme(options, &detector)); + assert_eq!("Light", theme_from_detector(options, &detector)); } } From 30b0143ccf93edac1310fca522a89550d5566676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Thu, 18 Jul 2024 15:44:33 +0200 Subject: [PATCH 013/189] Make default_theme pub --- src/theme.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/theme.rs b/src/theme.rs index 2491f9bd..b60184fb 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -10,7 +10,9 @@ pub fn theme(options: ThemeOptions) -> String { theme_from_detector(options, &TerminalColorSchemeDetector) } -pub(crate) const fn default_theme(color_scheme: ColorScheme) -> &'static str { +/// The default theme, suitable for the given color scheme. +/// Use [`theme`], if you want to automatically detect the color scheme from the terminal. +pub const fn default_theme(color_scheme: ColorScheme) -> &'static str { match color_scheme { ColorScheme::Dark => "Monokai Extended", ColorScheme::Light => "Monokai Extended Light", From 6498615f5fb047bef7d84072747676a74fa89c4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:33 +0200 Subject: [PATCH 014/189] Improve upon the documentation --- src/pretty_printer.rs | 4 +++- src/theme.rs | 17 ++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/pretty_printer.rs b/src/pretty_printer.rs index eb123ea3..51c9af80 100644 --- a/src/pretty_printer.rs +++ b/src/pretty_printer.rs @@ -245,7 +245,9 @@ impl<'a> PrettyPrinter<'a> { self } - /// Specify the highlighting theme + /// Specify the highlighting theme. + /// You can use [`crate::theme::theme`] to pick a theme based on user preferences + /// and the terminal's background color. pub fn theme(&mut self, theme: impl AsRef) -> &mut Self { self.config.theme = theme.as_ref().to_owned(); self diff --git a/src/theme.rs b/src/theme.rs index b60184fb..54db307b 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -11,7 +11,7 @@ pub fn theme(options: ThemeOptions) -> String { } /// The default theme, suitable for the given color scheme. -/// Use [`theme`], if you want to automatically detect the color scheme from the terminal. +/// Use [`theme`] if you want to automatically detect the color scheme from the terminal. pub const fn default_theme(color_scheme: ColorScheme) -> &'static str { match color_scheme { ColorScheme::Dark => "Monokai Extended", @@ -21,7 +21,7 @@ pub const fn default_theme(color_scheme: ColorScheme) -> &'static str { /// Options for configuring the theme used for syntax highlighting. /// Used together with [`theme`]. -#[derive(Debug, Default)] +#[derive(Debug, Default, PartialEq, Eq)] pub struct ThemeOptions { /// Always use this theme regardless of the terminal's background color. pub theme: Option, @@ -34,7 +34,14 @@ pub struct ThemeOptions { } /// The name of a theme or the default theme. -#[derive(Debug)] +/// +/// ``` +/// # use bat::theme::ThemeRequest; +/// # use std::str::FromStr as _; +/// assert_eq!(ThemeRequest::Default, ThemeRequest::from_str("default").unwrap()); +/// assert_eq!(ThemeRequest::Named("example".to_string()), ThemeRequest::from_str("example").unwrap()); +/// ``` +#[derive(Debug, PartialEq, Eq, Hash)] pub enum ThemeRequest { Named(String), Default, @@ -61,7 +68,7 @@ impl ThemeRequest { } } -#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)] +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash)] pub enum DetectColorScheme { /// Only query the terminal for its colors when appropriate (i.e. when the the output is not redirected). #[default] @@ -73,7 +80,7 @@ pub enum DetectColorScheme { } /// The color scheme used to pick a fitting theme. Defaults to [`ColorScheme::Dark`]. -#[derive(Default, Copy, Clone)] +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash)] pub enum ColorScheme { #[default] Dark, From e8ca6ec7c31d5cbb07334fc6a814d5df442bbe91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:35 +0200 Subject: [PATCH 015/189] Remove cargo feature --- Cargo.toml | 5 ++--- src/theme.rs | 12 ------------ 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 62ae693c..47600d0c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ edition = '2021' rust-version = "1.70" [features] -default = ["application", "detect-color-scheme"] +default = ["application"] # Feature required for bat the application. Should be disabled when depending on # bat as a library. application = [ @@ -35,7 +35,6 @@ git = ["git2"] # Support indicating git modifications paging = ["shell-words", "grep-cli"] # Support applying a pager on the output lessopen = ["run_script", "os_str_bytes"] # Support $LESSOPEN preprocessor build-assets = ["syntect/yaml-load", "syntect/plist-load", "regex", "walkdir"] -detect-color-scheme = ["dep:terminal-colorsaurus"] # You need to use one of these if you depend on bat as a library: regex-onig = ["syntect/regex-onig"] # Use the "oniguruma" regex engine @@ -69,7 +68,7 @@ bytesize = { version = "1.3.0" } encoding_rs = "0.8.34" os_str_bytes = { version = "~7.0", optional = true } run_script = { version = "^0.10.1", optional = true} -terminal-colorsaurus = { version = "0.4", optional = true } +terminal-colorsaurus = "0.4" [dependencies.git2] version = "0.18" diff --git a/src/theme.rs b/src/theme.rs index 54db307b..d518e0b2 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -124,7 +124,6 @@ trait ColorSchemeDetector { struct TerminalColorSchemeDetector; -#[cfg(feature = "detect-color-scheme")] impl ColorSchemeDetector for TerminalColorSchemeDetector { fn should_detect(&self) -> bool { // Querying the terminal for its colors via OSC 10 / OSC 11 requires "exclusive" access @@ -148,17 +147,6 @@ impl ColorSchemeDetector for TerminalColorSchemeDetector { } } -#[cfg(not(feature = "detect-color-scheme"))] -impl ColorSchemeDetector for TerminalColorSchemeDetector { - fn should_detect(&self) -> bool { - false - } - - fn detect(&self) -> Option { - None - } -} - #[cfg(test)] impl ColorSchemeDetector for Option { fn should_detect(&self) -> bool { From 594b1417f1854fbb5c1bdb9cdd27d880b0ca38f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:39 +0200 Subject: [PATCH 016/189] Update readme --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 016fe834..81ce2202 100644 --- a/README.md +++ b/README.md @@ -482,8 +482,10 @@ the following command (you need [`fzf`](https://github.com/junegunn/fzf) for thi bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file" ``` -`bat` looks good on a dark background by default. However, if your terminal uses a -light background, some themes like `GitHub` or `OneHalfLight` will work better for you. +`bat` automatically picks a fitting theme depending on your terminal's background color. +You can use the `--theme-light` / `--theme-light` options or the `BAT_THEME_DARK` / `BAT_THEME_LIGHT` environment variables +to customize the themes used. This is especially useful if you frequently switch between dark and light mode. + You can also use a custom theme by following the ['Adding new themes' section below](https://github.com/sharkdp/bat#adding-new-themes). From c3b190d45b50a4ab05663de1680dba3cd74d7ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:42 +0200 Subject: [PATCH 017/189] Disable color detection in test --- tests/integration_tests.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 8df4327c..0381f48c 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -405,6 +405,7 @@ fn no_args_doesnt_break() { // as the slave end of a pseudo terminal. Although both point to the same "file", bat should // not exit, because in this case it is safe to read and write to the same fd, which is why // this test exists. + let OpenptyResult { master, slave } = openpty(None, None).expect("Couldn't open pty."); let mut master = unsafe { File::from_raw_fd(master) }; let stdin_file = unsafe { File::from_raw_fd(slave) }; @@ -415,6 +416,7 @@ fn no_args_doesnt_break() { let mut child = bat_raw_command() .stdin(stdin) .stdout(stdout) + .env("TERM", "dumb") // Suppresses color detection .spawn() .expect("Failed to start."); From 06b645435a497e77e28ad6d7d3531b5a5415c695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:44 +0200 Subject: [PATCH 018/189] Add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea47b58f..0aa1112a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Syntax highlighting for JavaScript files that start with `#!/usr/bin/env bun` #2913 (@sharunkumar) - `bat --strip-ansi={never,always,auto}` to remove ANSI escape sequences from bat's input, see #2999 (@eth-p) - Add or remove individual style components without replacing all styles #2929 (@eth-p) +- Automatically choose theme based on the terminal's color scheme, see #2896 (@bash) ## Bugfixes From 1b0a6da4be97c7ab2b0e9b53db5a14ac4b1fad44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 16 Apr 2024 14:43:50 +0200 Subject: [PATCH 019/189] Use new `default_theme` fn for --list-themes --- src/bin/bat/main.rs | 10 +++++++--- src/theme.rs | 5 +++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index 4528a60b..4dfb8124 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -30,12 +30,12 @@ use directories::PROJECT_DIRS; use globset::GlobMatcher; use bat::{ - assets::HighlightingAssets, config::Config, controller::Controller, error::*, input::Input, style::{StyleComponent, StyleComponents}, + theme::{color_scheme, default_theme, ColorScheme, DetectColorScheme}, MappingTarget, PagingMode, }; @@ -200,10 +200,14 @@ pub fn list_themes(cfg: &Config, config_dir: &Path, cache_dir: &Path) -> Result< let stdout = io::stdout(); let mut stdout = stdout.lock(); - let default_theme = HighlightingAssets::default_theme(); + let default_theme_name = default_theme(color_scheme(DetectColorScheme::Auto)); for theme in assets.themes() { - let default_theme_info = if default_theme == theme { + let default_theme_info = if default_theme_name == theme { " (default)" + } else if default_theme(ColorScheme::Dark) == theme { + " (default dark)" + } else if default_theme(ColorScheme::Light) == theme { + " (default light)" } else { "" }; diff --git a/src/theme.rs b/src/theme.rs index d518e0b2..ef5a8ae2 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -19,6 +19,11 @@ pub const fn default_theme(color_scheme: ColorScheme) -> &'static str { } } +/// Detects the color scheme from the terminal. +pub fn color_scheme(when: DetectColorScheme) -> ColorScheme { + detect(when, &TerminalColorSchemeDetector).unwrap_or_default() +} + /// Options for configuring the theme used for syntax highlighting. /// Used together with [`theme`]. #[derive(Debug, Default, PartialEq, Eq)] From 5c6974703e7db3a432be64f301cd08bd35135ac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Wed, 1 May 2024 08:27:31 +0200 Subject: [PATCH 020/189] Respect --detect-color-scheme flag when listing themes --- src/bin/bat/app.rs | 17 ++++++++++------- src/bin/bat/main.rs | 11 ++++++++--- tests/integration_tests.rs | 16 +++++++--------- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index 711ab1c6..606132f7 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -427,7 +427,16 @@ impl App { .matches .get_one::("theme-light") .map(|t| ThemeRequest::from_str(t).unwrap()); - let detect_color_scheme = match self + ThemeOptions { + theme, + theme_dark, + theme_light, + detect_color_scheme: self.detect_color_scheme(), + } + } + + pub(crate) fn detect_color_scheme(&self) -> DetectColorScheme { + match self .matches .get_one::("detect-color-scheme") .map(|s| s.as_str()) @@ -436,12 +445,6 @@ impl App { Some("never") => DetectColorScheme::Never, Some("always") => DetectColorScheme::Always, _ => unreachable!("other values for --detect-color-scheme are not allowed"), - }; - ThemeOptions { - theme, - theme_dark, - theme_light, - detect_color_scheme, } } } diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index 4dfb8124..95493a6d 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -189,7 +189,12 @@ fn theme_preview_file<'a>() -> Input<'a> { Input::from_reader(Box::new(BufReader::new(THEME_PREVIEW_DATA))) } -pub fn list_themes(cfg: &Config, config_dir: &Path, cache_dir: &Path) -> Result<()> { +pub fn list_themes( + cfg: &Config, + config_dir: &Path, + cache_dir: &Path, + detect_color_scheme: DetectColorScheme, +) -> Result<()> { let assets = assets_from_cache_or_binary(cfg.use_custom_assets, cache_dir)?; let mut config = cfg.clone(); let mut style = HashSet::new(); @@ -200,7 +205,7 @@ pub fn list_themes(cfg: &Config, config_dir: &Path, cache_dir: &Path) -> Result< let stdout = io::stdout(); let mut stdout = stdout.lock(); - let default_theme_name = default_theme(color_scheme(DetectColorScheme::Auto)); + let default_theme_name = default_theme(color_scheme(detect_color_scheme)); for theme in assets.themes() { let default_theme_info = if default_theme_name == theme { " (default)" @@ -375,7 +380,7 @@ fn run() -> Result { }; run_controller(inputs, &plain_config, cache_dir) } else if app.matches.get_flag("list-themes") { - list_themes(&config, config_dir, cache_dir)?; + list_themes(&config, config_dir, cache_dir, app.detect_color_scheme())?; Ok(true) } else if app.matches.get_flag("config-file") { println!("{}", config_file().to_string_lossy()); diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 0381f48c..23aed5bc 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -274,37 +274,35 @@ fn squeeze_limit_line_numbers() { #[test] fn list_themes_with_colors() { - #[cfg(target_os = "macos")] - let default_theme_chunk = "Monokai Extended Light\x1B[0m (default)"; - - #[cfg(not(target_os = "macos"))] let default_theme_chunk = "Monokai Extended\x1B[0m (default)"; + let default_light_theme_chunk = "Monokai Extended Light\x1B[0m (default light)"; bat() .arg("--color=always") + .arg("--detect-color-scheme=never") .arg("--list-themes") .assert() .success() .stdout(predicate::str::contains("DarkNeon").normalize()) .stdout(predicate::str::contains(default_theme_chunk).normalize()) + .stdout(predicate::str::contains(default_light_theme_chunk).normalize()) .stdout(predicate::str::contains("Output the square of a number.").normalize()); } #[test] fn list_themes_without_colors() { - #[cfg(target_os = "macos")] - let default_theme_chunk = "Monokai Extended Light (default)"; - - #[cfg(not(target_os = "macos"))] let default_theme_chunk = "Monokai Extended (default)"; + let default_light_theme_chunk = "Monokai Extended Light (default light)"; bat() .arg("--color=never") + .arg("--detect-color-scheme=never") .arg("--list-themes") .assert() .success() .stdout(predicate::str::contains("DarkNeon").normalize()) - .stdout(predicate::str::contains(default_theme_chunk).normalize()); + .stdout(predicate::str::contains(default_theme_chunk).normalize()) + .stdout(predicate::str::contains(default_light_theme_chunk).normalize()); } #[test] From abf9dada04b715494ae323ffdc51e1bb39854221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Thu, 18 Jul 2024 15:49:25 +0200 Subject: [PATCH 021/189] Remove `HighlightingAssets::default_theme()` --- CHANGELOG.md | 3 +++ src/assets.rs | 57 --------------------------------------------------- 2 files changed, 3 insertions(+), 57 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0aa1112a..0cd76031 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -70,6 +70,9 @@ - [BREAKING] `SyntaxMapping::mappings` is replaced by `SyntaxMapping::{builtin,custom,all}_mappings` - Make `Controller::run_with_error_handler`'s error handler `FnMut`, see #2831 (@rhysd) - Improve compile time by 20%, see #2815 (@dtolnay) +- Add `theme::theme` for choosing an appropriate theme based on the + terminal's color scheme, see #2896 (@bash) + - [BREAKING] Remove `HighlightingAssets::default_theme`. Use `theme::default_theme` instead. # v0.24.0 diff --git a/src/assets.rs b/src/assets.rs index 857f416b..d32ccbd4 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -70,43 +70,6 @@ impl HighlightingAssets { } } - /// The default theme. - /// - /// ### Windows and Linux - /// - /// Windows and most Linux distributions has a dark terminal theme by - /// default. On these platforms, this function always returns a theme that - /// looks good on a dark background. - /// - /// ### macOS - /// - /// On macOS the default terminal background is light, but it is common that - /// Dark Mode is active, which makes the terminal background dark. On this - /// platform, the default theme depends on - /// ```bash - /// defaults read -globalDomain AppleInterfaceStyle - /// ``` - /// To avoid the overhead of the check on macOS, simply specify a theme - /// explicitly via `--theme`, `BAT_THEME`, or `~/.config/bat`. - /// - /// See and - /// for more context. - #[deprecated(note = "use bat::theme::theme instead")] - pub fn default_theme() -> &'static str { - #[cfg(not(target_os = "macos"))] - { - default_theme(ColorScheme::Dark) - } - #[cfg(target_os = "macos")] - { - if macos_dark_mode_active() { - default_theme(ColorScheme::Dark) - } else { - default_theme(ColorScheme::Light) - } - } - } - pub fn from_cache(cache_path: &Path) -> Result { Ok(HighlightingAssets::new( SerializedSyntaxSet::FromFile(cache_path.join("syntaxes.bin")), @@ -389,26 +352,6 @@ fn asset_from_cache( .map_err(|_| format!("Could not parse cached {description}").into()) } -#[cfg(target_os = "macos")] -fn macos_dark_mode_active() -> bool { - const PREFERENCES_FILE: &str = "Library/Preferences/.GlobalPreferences.plist"; - const STYLE_KEY: &str = "AppleInterfaceStyle"; - - let preferences_file = home::home_dir() - .map(|home| home.join(PREFERENCES_FILE)) - .expect("Could not get home directory"); - - match plist::Value::from_file(preferences_file).map(|file| file.into_dictionary()) { - Ok(Some(preferences)) => match preferences.get(STYLE_KEY).and_then(|val| val.as_string()) { - Some(value) => value == "Dark", - // If the key does not exist, then light theme is currently in use. - None => false, - }, - // Unreachable, in theory. All macOS users have a home directory and preferences file setup. - Ok(None) | Err(_) => true, - } -} - #[cfg(test)] mod tests { use super::*; From b9b981f6572c612cce443a8fff0b5fb9c24d3868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Thu, 18 Jul 2024 17:36:57 +0200 Subject: [PATCH 022/189] Generalize --detect-color-scheme to --color-scheme --- assets/completions/_bat.ps1.in | 2 +- assets/completions/bat.bash.in | 6 ++- assets/completions/bat.fish.in | 10 +++- assets/completions/bat.zsh.in | 2 +- doc/long-help.txt | 26 +++++----- doc/short-help.txt | 4 +- src/bin/bat/app.rs | 18 ++++--- src/bin/bat/clap_app.rs | 34 ++++++------- src/bin/bat/main.rs | 13 +++-- src/theme.rs | 90 +++++++++++++++++++++++++++------- tests/integration_tests.rs | 4 +- 11 files changed, 140 insertions(+), 69 deletions(-) diff --git a/assets/completions/_bat.ps1.in b/assets/completions/_bat.ps1.in index 5635dea2..ac66ccc8 100644 --- a/assets/completions/_bat.ps1.in +++ b/assets/completions/_bat.ps1.in @@ -32,7 +32,7 @@ Register-ArgumentCompleter -Native -CommandName '{{PROJECT_EXECUTABLE}}' -Script [CompletionResult]::new('--color', 'color', [CompletionResultType]::ParameterName, 'When to use colors (*auto*, never, always).') [CompletionResult]::new('--italic-text', 'italic-text', [CompletionResultType]::ParameterName, 'Use italics in output (always, *never*)') [CompletionResult]::new('--decorations', 'decorations', [CompletionResultType]::ParameterName, 'When to show the decorations (*auto*, never, always).') - [CompletionResult]::new('--detect-color-scheme', 'detect-color-scheme', [CompletionResultType]::ParameterName, 'When to detect the terminal''s color scheme (*auto*, never, always).') + [CompletionResult]::new('--color-scheme', 'color-scheme', [CompletionResultType]::ParameterName, 'Whether to choose a dark or light syntax highlighting theme (*auto*, auto:always, dark, light, system).') [CompletionResult]::new('--paging', 'paging', [CompletionResultType]::ParameterName, 'Specify when to use the pager, or use `-P` to disable (*auto*, never, always).') [CompletionResult]::new('--pager', 'pager', [CompletionResultType]::ParameterName, 'Determine which pager to use.') [CompletionResult]::new('-m', 'm', [CompletionResultType]::ParameterName, 'Use the specified syntax for files matching the glob pattern (''*.cpp:C++'').') diff --git a/assets/completions/bat.bash.in b/assets/completions/bat.bash.in index a02c5a04..0a01a054 100644 --- a/assets/completions/bat.bash.in +++ b/assets/completions/bat.bash.in @@ -100,10 +100,12 @@ _bat() { COMPREPLY=($(compgen -W "auto never character" -- "$cur")) return 0 ;; - --color | --decorations | --paging | --detect-color-scheme) + --color | --decorations | --paging) COMPREPLY=($(compgen -W "auto never always" -- "$cur")) return 0 ;; + --color-scheme) + COMPREPLY=($(compgen -W "auto auto:always dark light system" -- "$cur")) --italic-text) COMPREPLY=($(compgen -W "always never" -- "$cur")) return 0 @@ -166,7 +168,6 @@ _bat() { --color --italic-text --decorations - --detect-color-scheme --force-colorization --paging --pager @@ -175,6 +176,7 @@ _bat() { --theme --theme-dark --theme-light + --color-scheme --list-themes --squeeze-blank --squeeze-limit diff --git a/assets/completions/bat.fish.in b/assets/completions/bat.fish.in index 7bd0ebca..33cf8264 100644 --- a/assets/completions/bat.fish.in +++ b/assets/completions/bat.fish.in @@ -99,7 +99,13 @@ set -l color_opts ' ' set -l decorations_opts $color_opts set -l paging_opts $color_opts -set -l detect_color_scheme_opts $color_opts +set -l color_scheme_opts " + auto\t'Use the terminal\'s color scheme if the output is not redirected (default)' + auto:always\t'Always use the terminal\'s color scheme' + dark\t'Use a dark syntax highlighting theme' + light\t'Use a light syntax highlighting theme' + system\t'Query the OS for its color scheme (macOS only)' +" # Include some examples so we can indicate the default. set -l pager_opts ' @@ -144,7 +150,7 @@ complete -c $bat -l config-file -f -d "Display location of configuration file" - complete -c $bat -l decorations -x -a "$decorations_opts" -d "When to use --style decorations" -n __bat_no_excl_args -complete -c $bat -l detect-color-scheme -x -a "$detect_color_scheme_opts" -d "When to detect the terminal's color scheme" -n __bat_no_excl_args +complete -c $bat -l color-scheme -x -a "$color_scheme_opts" -d "Whether to choose a dark or light syntax highlighting theme" -n __bat_no_excl_args complete -c $bat -l diagnostic -d "Print diagnostic info for bug reports" -n __fish_is_first_arg diff --git a/assets/completions/bat.zsh.in b/assets/completions/bat.zsh.in index 4a598437..4bcae11c 100644 --- a/assets/completions/bat.zsh.in +++ b/assets/completions/bat.zsh.in @@ -40,7 +40,7 @@ _{{PROJECT_EXECUTABLE}}_main() { --color='[specify when to use colors]:when:(auto never always)' --italic-text='[use italics in output]:when:(always never)' --decorations='[specify when to show the decorations]:when:(auto never always)' - --detect-color-scheme="[specify when to detect the terminal's color scheme]:when:(auto never always)" + --color-scheme="[whether to choose a dark or light syntax highlighting theme]:scheme:(auto auto:always dark light system)" --paging='[specify when to use the pager]:when:(auto never always)' '(-m --map-syntax)'{-m+,--map-syntax=}'[map a glob pattern to an existing syntax name]: :->syntax-maps' '(--theme)'--theme='[set the color theme for syntax highlighting]:theme:->themes' diff --git a/doc/long-help.txt b/doc/long-help.txt index 86e9a532..c374a039 100644 --- a/doc/long-help.txt +++ b/doc/long-help.txt @@ -114,22 +114,22 @@ Options: add the '--theme="..."' option to the configuration file or export the BAT_THEME environment variable (e.g.: export BAT_THEME="..."). - --detect-color-scheme - Specify when to query the terminal for its colors in order to pick an appropriate syntax - highlighting theme. Use '--theme-light' and '--theme-dark' (or the environment variables - BAT_THEME_LIGHT and BAT_THEME_DARK) to configure which themes are picked. You may also use - '--theme' to set a theme that is used regardless of the terminal's colors. + --color-scheme + Specify whether to choose a dark or light syntax highlighting theme. Use '--theme-light' + and '--theme-dark' (or the environment variables BAT_THEME_LIGHT and BAT_THEME_DARK) to + configure which themes are picked. You may also use '--theme' to set a theme that is used + regardless of this choice. Possible values: * auto (default): - Only query the terminals colors if the output is not redirected. This is to prevent - race conditions with pagers such as less. - * never - Never query the terminal for its colors and assume that the terminal has a dark - background. - * always - Always query the terminal for its colors, regardless of whether or not the output is - redirected. + Query the terminals for its color scheme if the output is not redirected. This is to + prevent race conditions with pagers such as less. + * 'auto:always': + Always query the terminal for its color scheme, regardless of whether or not the + output is redirected. + * dark: Use a dark syntax highlighting theme. + * light: Use a light syntax highlighting theme. + * system: Query the OS for its color scheme. Only works on macOS. --theme-light Sets the theme name for syntax highlighting used when the terminal uses a light diff --git a/doc/short-help.txt b/doc/short-help.txt index 3e369229..f17a6d9d 100644 --- a/doc/short-help.txt +++ b/doc/short-help.txt @@ -41,8 +41,8 @@ Options: Use the specified syntax for files matching the glob pattern ('*.cpp:C++'). --theme Set the color theme for syntax highlighting. - --detect-color-scheme - Specify when to query the terminal for its colors. + --color-scheme + Specify whether to choose a dark or light theme. --theme-light Sets the color theme for syntax highlighting used for light backgrounds. --theme-dark diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index 606132f7..d2e5b4db 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -9,7 +9,7 @@ use crate::{ config::{get_args_from_config_file, get_args_from_env_opts_var, get_args_from_env_vars}, }; use bat::style::StyleComponentList; -use bat::theme::{theme, DetectColorScheme, ThemeOptions, ThemeRequest}; +use bat::theme::{theme, ColorSchemePreference, DetectColorScheme, ThemeOptions, ThemeRequest}; use bat::StripAnsiMode; use clap::ArgMatches; @@ -431,20 +431,22 @@ impl App { theme, theme_dark, theme_light, - detect_color_scheme: self.detect_color_scheme(), + color_scheme: self.color_scheme_preference(), } } - pub(crate) fn detect_color_scheme(&self) -> DetectColorScheme { + pub(crate) fn color_scheme_preference(&self) -> ColorSchemePreference { match self .matches - .get_one::("detect-color-scheme") + .get_one::("color-scheme") .map(|s| s.as_str()) { - Some("auto") => DetectColorScheme::Auto, - Some("never") => DetectColorScheme::Never, - Some("always") => DetectColorScheme::Always, - _ => unreachable!("other values for --detect-color-scheme are not allowed"), + Some("auto") => ColorSchemePreference::Auto(DetectColorScheme::Auto), + Some("auto:always") => ColorSchemePreference::Auto(DetectColorScheme::Always), + Some("dark") => ColorSchemePreference::Dark, + Some("light") => ColorSchemePreference::Light, + Some("system") => ColorSchemePreference::System, + _ => unreachable!("other values for --color-scheme are not allowed"), } } } diff --git a/src/bin/bat/clap_app.rs b/src/bin/bat/clap_app.rs index 6abdab9c..0857dba4 100644 --- a/src/bin/bat/clap_app.rs +++ b/src/bin/bat/clap_app.rs @@ -384,30 +384,30 @@ pub fn build_app(interactive_output: bool) -> Command { ), ) .arg( - Arg::new("detect-color-scheme") - .long("detect-color-scheme") - .overrides_with("detect-color-scheme") - .value_name("when") - .value_parser(["auto", "never", "always"]) + Arg::new("color-scheme") + .long("color-scheme") + .overrides_with("color-scheme") + .value_name("scheme") + .value_parser(["auto", "auto:always", "dark", "light", "system"]) .default_value("auto") .hide_default_value(true) - .help("Specify when to query the terminal for its colors.") + .help("Specify whether to choose a dark or light theme.") .long_help( - "Specify when to query the terminal for its colors \ - in order to pick an appropriate syntax highlighting theme. \ + "Specify whether to choose a dark or light syntax highlighting theme. \ Use '--theme-light' and '--theme-dark' (or the environment variables \ BAT_THEME_LIGHT and BAT_THEME_DARK) to configure which themes are picked. \ - You may also use '--theme' to set a theme that is used regardless of the terminal's colors.\n\n\ + You may also use '--theme' to set a theme that is used regardless of this choice.\n\n\ Possible values:\n\ - * auto (default):\n \ - Only query the terminals colors if the output is not redirected. \ + * auto (default):\n \ + Query the terminals for its color scheme if the output is not redirected. \ This is to prevent race conditions with pagers such as less.\n\ - * never\n \ - Never query the terminal for its colors \ - and assume that the terminal has a dark background.\n\ - * always\n \ - Always query the terminal for its colors, \ - regardless of whether or not the output is redirected."), + * 'auto:always':\n \ + Always query the terminal for its color scheme, \ + regardless of whether or not the output is redirected.\n\ + * dark: Use a dark syntax highlighting theme.\n\ + * light: Use a light syntax highlighting theme.\n\ + * system: Query the OS for its color scheme. Only works on macOS.\n\ + "), ) .arg( Arg::new("theme-light") diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index 95493a6d..891390c1 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -35,7 +35,7 @@ use bat::{ error::*, input::Input, style::{StyleComponent, StyleComponents}, - theme::{color_scheme, default_theme, ColorScheme, DetectColorScheme}, + theme::{color_scheme, default_theme, ColorScheme, ColorSchemePreference}, MappingTarget, PagingMode, }; @@ -193,7 +193,7 @@ pub fn list_themes( cfg: &Config, config_dir: &Path, cache_dir: &Path, - detect_color_scheme: DetectColorScheme, + color_scheme_pref: ColorSchemePreference, ) -> Result<()> { let assets = assets_from_cache_or_binary(cfg.use_custom_assets, cache_dir)?; let mut config = cfg.clone(); @@ -205,7 +205,7 @@ pub fn list_themes( let stdout = io::stdout(); let mut stdout = stdout.lock(); - let default_theme_name = default_theme(color_scheme(detect_color_scheme)); + let default_theme_name = default_theme(color_scheme(color_scheme_pref)); for theme in assets.themes() { let default_theme_info = if default_theme_name == theme { " (default)" @@ -380,7 +380,12 @@ fn run() -> Result { }; run_controller(inputs, &plain_config, cache_dir) } else if app.matches.get_flag("list-themes") { - list_themes(&config, config_dir, cache_dir, app.detect_color_scheme())?; + list_themes( + &config, + config_dir, + cache_dir, + app.color_scheme_preference(), + )?; Ok(true) } else if app.matches.get_flag("config-file") { println!("{}", config_file().to_string_lossy()); diff --git a/src/theme.rs b/src/theme.rs index ef5a8ae2..1c6d7e55 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -20,8 +20,8 @@ pub const fn default_theme(color_scheme: ColorScheme) -> &'static str { } /// Detects the color scheme from the terminal. -pub fn color_scheme(when: DetectColorScheme) -> ColorScheme { - detect(when, &TerminalColorSchemeDetector).unwrap_or_default() +pub fn color_scheme(preference: ColorSchemePreference) -> ColorScheme { + color_scheme_impl(preference, &TerminalColorSchemeDetector) } /// Options for configuring the theme used for syntax highlighting. @@ -34,8 +34,8 @@ pub struct ThemeOptions { pub theme_dark: Option, /// The theme to use in case the terminal uses a light background with dark text. pub theme_light: Option, - /// Whether or not to test if the terminal is dark or light by querying for its colors. - pub detect_color_scheme: DetectColorScheme, + /// How to choose between dark and light. + pub color_scheme: ColorSchemePreference, } /// The name of a theme or the default theme. @@ -73,6 +73,25 @@ impl ThemeRequest { } } +/// How to choose between dark and light. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum ColorSchemePreference { + /// Detect the color scheme from the terminal. + Auto(DetectColorScheme), + /// Use a dark theme. + Dark, + /// Use a light theme. + Light, + /// Detect the color scheme from the OS instead (macOS only). + System, +} + +impl Default for ColorSchemePreference { + fn default() -> Self { + Self::Auto(DetectColorScheme::default()) + } +} + #[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash)] pub enum DetectColorScheme { /// Only query the terminal for its colors when appropriate (i.e. when the the output is not redirected). @@ -80,8 +99,6 @@ pub enum DetectColorScheme { Auto, /// Always query the terminal for its colors. Always, - /// Never query the terminal for its colors. - Never, } /// The color scheme used to pick a fitting theme. Defaults to [`ColorScheme::Dark`]. @@ -92,13 +109,25 @@ pub enum ColorScheme { Light, } +fn color_scheme_impl( + pref: ColorSchemePreference, + detector: &dyn ColorSchemeDetector, +) -> ColorScheme { + match pref { + ColorSchemePreference::Auto(when) => detect(when, detector).unwrap_or_default(), + ColorSchemePreference::Dark => ColorScheme::Dark, + ColorSchemePreference::Light => ColorScheme::Light, + ColorSchemePreference::System => color_scheme_from_system().unwrap_or_default(), + } +} + fn theme_from_detector(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> String { // Implementation note: This function is mostly pure (i.e. it has no side effects) for the sake of testing. // All the side effects (e.g. querying the terminal for its colors) are performed in the detector. if let Some(theme) = options.theme { theme.into_theme(ColorScheme::default()) } else { - let color_scheme = detect(options.detect_color_scheme, detector).unwrap_or_default(); + let color_scheme = color_scheme_impl(options.color_scheme, detector); choose_theme(options, color_scheme) .map(|t| t.into_theme(color_scheme)) .unwrap_or_else(|| default_theme(color_scheme).to_owned()) @@ -116,7 +145,6 @@ fn detect(when: DetectColorScheme, detector: &dyn ColorSchemeDetector) -> Option let should_detect = match when { DetectColorScheme::Auto => detector.should_detect(), DetectColorScheme::Always => true, - DetectColorScheme::Never => false, }; should_detect.then(|| detector.detect()).flatten() } @@ -152,6 +180,31 @@ impl ColorSchemeDetector for TerminalColorSchemeDetector { } } +#[cfg(not(target_os = "macos"))] +fn color_scheme_from_system() -> Option { + None +} + +#[cfg(target_os = "macos")] +fn color_scheme_from_system() -> Option { + const PREFERENCES_FILE: &str = "Library/Preferences/.GlobalPreferences.plist"; + const STYLE_KEY: &str = "AppleInterfaceStyle"; + + let preferences_file = home::home_dir() + .map(|home| home.join(PREFERENCES_FILE)) + .expect("Could not get home directory"); + + match plist::Value::from_file(preferences_file).map(|file| file.into_dictionary()) { + Ok(Some(preferences)) => match preferences.get(STYLE_KEY).and_then(|val| val.as_string()) { + Some(value) if value == "Dark" => Some(ColorScheme::Dark), + // If the key does not exist, then light theme is currently in use. + Some(_) | None => Some(ColorScheme::Light), + }, + // Unreachable, in theory. All macOS users have a home directory and preferences file setup. + Ok(None) | Err(_) => None, + } +} + #[cfg(test)] impl ColorSchemeDetector for Option { fn should_detect(&self) -> bool { @@ -166,6 +219,7 @@ impl ColorSchemeDetector for Option { #[cfg(test)] mod tests { use super::ColorScheme::*; + use super::ColorSchemePreference as Pref; use super::DetectColorScheme::*; use super::*; use std::cell::Cell; @@ -175,14 +229,16 @@ mod tests { use super::*; #[test] - fn not_called_for_never() { - let detector = DetectorStub::should_detect(Some(Dark)); - let options = ThemeOptions { - detect_color_scheme: Never, - ..Default::default() - }; - _ = theme_from_detector(options, &detector); - assert!(!detector.was_called.get()); + fn not_called_for_dark_or_light() { + for pref in [Pref::Dark, Pref::Light] { + let detector = DetectorStub::should_detect(Some(Dark)); + let options = ThemeOptions { + color_scheme: pref, + ..Default::default() + }; + _ = theme_from_detector(options, &detector); + assert!(!detector.was_called.get()); + } } #[test] @@ -193,7 +249,7 @@ mod tests { ]; for detector in detectors { let options = ThemeOptions { - detect_color_scheme: Always, + color_scheme: Pref::Auto(Always), ..Default::default() }; _ = theme_from_detector(options, &detector); diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 23aed5bc..e4b73c59 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -279,7 +279,7 @@ fn list_themes_with_colors() { bat() .arg("--color=always") - .arg("--detect-color-scheme=never") + .arg("--color-scheme=dark") .arg("--list-themes") .assert() .success() @@ -296,7 +296,7 @@ fn list_themes_without_colors() { bat() .arg("--color=never") - .arg("--detect-color-scheme=never") + .arg("--color-scheme=dark") .arg("--list-themes") .assert() .success() From 7f089ead62508675749fe3da5f9d009ba38224cd Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Fri, 31 May 2024 18:20:16 +0200 Subject: [PATCH 023/189] Add option `--binary` `--binary` allows to specify how to deal with binary content. Current options are not printing anything or treating the binary data as text. --- doc/long-help.txt | 7 +++++++ doc/short-help.txt | 2 ++ src/bin/bat/app.rs | 6 ++++++ src/bin/bat/clap_app.rs | 16 ++++++++++++++++ src/config.rs | 5 ++++- src/lib.rs | 2 +- src/nonprintable_notation.rs | 12 ++++++++++++ src/printer.rs | 19 +++++++++++++++---- 8 files changed, 63 insertions(+), 6 deletions(-) diff --git a/doc/long-help.txt b/doc/long-help.txt index 2b03490f..87fb5d96 100644 --- a/doc/long-help.txt +++ b/doc/long-help.txt @@ -20,6 +20,13 @@ Options: * unicode (␇, ␊, ␀, ..) * caret (^G, ^J, ^@, ..) + --binary + How to treat binary content. (default: no-printing) + + Possible values: + * no-printing: do not print any binary content + * as-text: treat binary content as normal text + -p, --plain... Only show plain style, no decorations. This is an alias for '--style=plain'. When '-p' is used twice ('-pp'), it also disables automatic paging (alias for '--style=plain diff --git a/doc/short-help.txt b/doc/short-help.txt index 305bbf3d..16b9eb05 100644 --- a/doc/short-help.txt +++ b/doc/short-help.txt @@ -11,6 +11,8 @@ Options: Show non-printable characters (space, tab, newline, ..). --nonprintable-notation Set notation for non-printable characters. + --binary + How to treat binary content. (default: no-printing) -p, --plain... Show plain style (alias for '--style=plain'). -l, --language diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index d6628668..4d52c73d 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -9,6 +9,7 @@ use crate::{ config::{get_args_from_config_file, get_args_from_env_opts_var, get_args_from_env_vars}, }; use bat::style::StyleComponentList; +use bat::BinaryBehavior; use bat::StripAnsiMode; use clap::ArgMatches; @@ -193,6 +194,11 @@ impl App { Some("caret") => NonprintableNotation::Caret, _ => unreachable!("other values for --nonprintable-notation are not allowed"), }, + binary: match self.matches.get_one::("binary").map(|s| s.as_str()) { + Some("as-text") => BinaryBehavior::AsText, + Some("no-printing") => BinaryBehavior::NoPrinting, + _ => unreachable!("other values for --binary are not allowed"), + }, wrapping_mode: if self.interactive_output || maybe_term_width.is_some() { if !self.matches.get_flag("chop-long-lines") { match self.matches.get_one::("wrap").map(|s| s.as_str()) { diff --git a/src/bin/bat/clap_app.rs b/src/bin/bat/clap_app.rs index 33dde980..4327fa15 100644 --- a/src/bin/bat/clap_app.rs +++ b/src/bin/bat/clap_app.rs @@ -77,6 +77,22 @@ pub fn build_app(interactive_output: bool) -> Command { * caret (^G, ^J, ^@, ..)", ), ) + .arg( + Arg::new("binary") + .long("binary") + .action(ArgAction::Set) + .default_value("no-printing") + .value_parser(["no-printing", "as-text"]) + .value_name("behavior") + .hide_default_value(true) + .help("How to treat binary content. (default: no-printing)") + .long_help( + "How to treat binary content. (default: no-printing)\n\n\ + Possible values:\n \ + * no-printing: do not print any binary content\n \ + * as-text: treat binary content as normal text", + ), + ) .arg( Arg::new("plain") .overrides_with("plain") diff --git a/src/config.rs b/src/config.rs index eb7df8ee..eb44281c 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1,5 +1,5 @@ use crate::line_range::{HighlightedLineRanges, LineRanges}; -use crate::nonprintable_notation::NonprintableNotation; +use crate::nonprintable_notation::{BinaryBehavior, NonprintableNotation}; #[cfg(feature = "paging")] use crate::paging::PagingMode; use crate::style::StyleComponents; @@ -44,6 +44,9 @@ pub struct Config<'a> { /// The configured notation for non-printable characters pub nonprintable_notation: NonprintableNotation, + /// How to treat binary content + pub binary: BinaryBehavior, + /// The character width of the terminal pub term_width: usize, diff --git a/src/lib.rs b/src/lib.rs index 23c4a800..a015913e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -52,7 +52,7 @@ mod terminal; mod vscreen; pub(crate) mod wrapping; -pub use nonprintable_notation::NonprintableNotation; +pub use nonprintable_notation::{BinaryBehavior, NonprintableNotation}; pub use preprocessor::StripAnsiMode; pub use pretty_printer::{Input, PrettyPrinter, Syntax}; pub use syntax_mapping::{MappingTarget, SyntaxMapping}; diff --git a/src/nonprintable_notation.rs b/src/nonprintable_notation.rs index ff09aca6..9f8d7cb8 100644 --- a/src/nonprintable_notation.rs +++ b/src/nonprintable_notation.rs @@ -10,3 +10,15 @@ pub enum NonprintableNotation { #[default] Unicode, } + +/// How to treat binary content +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)] +#[non_exhaustive] +pub enum BinaryBehavior { + /// Do not print any binary content + #[default] + NoPrinting, + + /// Treat binary content as normal text + AsText, +} diff --git a/src/printer.rs b/src/printer.rs index e9bea3fd..3398b217 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -35,6 +35,7 @@ use crate::style::StyleComponent; use crate::terminal::{as_terminal_escaped, to_ansi_color}; use crate::vscreen::{AnsiStyle, EscapeSequence, EscapeSequenceIterator}; use crate::wrapping::WrappingMode; +use crate::BinaryBehavior; use crate::StripAnsiMode; const ANSI_UNDERLINE_ENABLE: EscapeSequence = EscapeSequence::CSI { @@ -458,7 +459,10 @@ impl<'a> Printer for InteractivePrinter<'a> { } if !self.config.style_components.header() { - if Some(ContentType::BINARY) == self.content_type && !self.config.show_nonprintable { + if Some(ContentType::BINARY) == self.content_type + && !self.config.show_nonprintable + && !matches!(self.config.binary, BinaryBehavior::AsText) + { writeln!( handle, "{}: Binary content from {} will not be printed to the terminal \ @@ -539,7 +543,10 @@ impl<'a> Printer for InteractivePrinter<'a> { })?; if self.config.style_components.grid() { - if self.content_type.map_or(false, |c| c.is_text()) || self.config.show_nonprintable { + if self.content_type.map_or(false, |c| c.is_text()) + || self.config.show_nonprintable + || matches!(self.config.binary, BinaryBehavior::AsText) + { self.print_horizontal_line(handle, '┼')?; } else { self.print_horizontal_line(handle, '┴')?; @@ -551,7 +558,9 @@ impl<'a> Printer for InteractivePrinter<'a> { fn print_footer(&mut self, handle: &mut OutputHandle, _input: &OpenedInput) -> Result<()> { if self.config.style_components.grid() - && (self.content_type.map_or(false, |c| c.is_text()) || self.config.show_nonprintable) + && (self.content_type.map_or(false, |c| c.is_text()) + || self.config.show_nonprintable + || matches!(self.config.binary, BinaryBehavior::AsText)) { self.print_horizontal_line(handle, '┴') } else { @@ -599,7 +608,9 @@ impl<'a> Printer for InteractivePrinter<'a> { .into() } else { let mut line = match self.content_type { - Some(ContentType::BINARY) | None => { + Some(ContentType::BINARY) | None + if !matches!(self.config.binary, BinaryBehavior::AsText) => + { return Ok(()); } Some(ContentType::UTF_16LE) => UTF_16LE.decode_with_bom_removal(line_buffer).0, From 7cc231b82b7f3ddd8395a783a0bf59e35a6b5b44 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Fri, 31 May 2024 18:32:28 +0200 Subject: [PATCH 024/189] Test `--binary=as-text` --- tests/integration_tests.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 8df4327c..2cc4eb8b 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -1929,6 +1929,16 @@ fn show_all_with_unicode() { .stderr(""); } +#[test] +fn binary_as_text() { + bat() + .arg("--binary=as-text") + .arg("control_characters.txt") + .assert() + .stdout("\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\x7F") + .stderr(""); +} + #[test] fn no_paging_arg() { bat() From a769a3d8137f863634a14ae5741d7ee98299367f Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Fri, 31 May 2024 20:58:25 +0200 Subject: [PATCH 025/189] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea47b58f..ec662247 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Syntax highlighting for JavaScript files that start with `#!/usr/bin/env bun` #2913 (@sharunkumar) - `bat --strip-ansi={never,always,auto}` to remove ANSI escape sequences from bat's input, see #2999 (@eth-p) - Add or remove individual style components without replacing all styles #2929 (@eth-p) +- Add option `--binary=as-text` for printing binary content, see issue #2974 and PR #2976 (@einfachIrgendwer0815) ## Bugfixes From 0c3b22e0f0ed1a371923b2e4df130f646c564772 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Sat, 1 Jun 2024 00:13:03 +0200 Subject: [PATCH 026/189] Run syntax highlighting when `--binary=as-text` --- src/printer.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/printer.rs b/src/printer.rs index 3398b217..95017188 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -269,7 +269,8 @@ impl<'a> InteractivePrinter<'a> { .content_type .map_or(false, |c| c.is_binary() && !config.show_nonprintable); - let needs_to_match_syntax = !is_printing_binary + let needs_to_match_syntax = (!is_printing_binary + || matches!(config.binary, BinaryBehavior::AsText)) && (config.colored_output || config.strip_ansi == StripAnsiMode::Auto); let (is_plain_text, highlighter_from_set) = if needs_to_match_syntax { From bc42149a726b73e5e4cd6b8afdeb340a3ae23c9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sun, 18 Aug 2024 14:59:14 +0200 Subject: [PATCH 027/189] Merge color scheme options into theme / BAT_THEME --- assets/completions/_bat.ps1.in | 1 - assets/completions/bat.bash.in | 3 - assets/completions/bat.fish.in | 9 --- assets/completions/bat.zsh.in | 1 - assets/manual/bat.1.in | 26 ++------ doc/long-help.txt | 17 ----- doc/short-help.txt | 2 - src/bin/bat/app.rs | 25 ++------ src/bin/bat/clap_app.rs | 26 -------- src/bin/bat/main.rs | 2 +- src/theme.rs | 111 ++++++++++++++++++++++----------- tests/integration_tests.rs | 2 - 12 files changed, 83 insertions(+), 142 deletions(-) diff --git a/assets/completions/_bat.ps1.in b/assets/completions/_bat.ps1.in index ac66ccc8..b6f62aae 100644 --- a/assets/completions/_bat.ps1.in +++ b/assets/completions/_bat.ps1.in @@ -32,7 +32,6 @@ Register-ArgumentCompleter -Native -CommandName '{{PROJECT_EXECUTABLE}}' -Script [CompletionResult]::new('--color', 'color', [CompletionResultType]::ParameterName, 'When to use colors (*auto*, never, always).') [CompletionResult]::new('--italic-text', 'italic-text', [CompletionResultType]::ParameterName, 'Use italics in output (always, *never*)') [CompletionResult]::new('--decorations', 'decorations', [CompletionResultType]::ParameterName, 'When to show the decorations (*auto*, never, always).') - [CompletionResult]::new('--color-scheme', 'color-scheme', [CompletionResultType]::ParameterName, 'Whether to choose a dark or light syntax highlighting theme (*auto*, auto:always, dark, light, system).') [CompletionResult]::new('--paging', 'paging', [CompletionResultType]::ParameterName, 'Specify when to use the pager, or use `-P` to disable (*auto*, never, always).') [CompletionResult]::new('--pager', 'pager', [CompletionResultType]::ParameterName, 'Determine which pager to use.') [CompletionResult]::new('-m', 'm', [CompletionResultType]::ParameterName, 'Use the specified syntax for files matching the glob pattern (''*.cpp:C++'').') diff --git a/assets/completions/bat.bash.in b/assets/completions/bat.bash.in index 0a01a054..162d1c53 100644 --- a/assets/completions/bat.bash.in +++ b/assets/completions/bat.bash.in @@ -104,8 +104,6 @@ _bat() { COMPREPLY=($(compgen -W "auto never always" -- "$cur")) return 0 ;; - --color-scheme) - COMPREPLY=($(compgen -W "auto auto:always dark light system" -- "$cur")) --italic-text) COMPREPLY=($(compgen -W "always never" -- "$cur")) return 0 @@ -176,7 +174,6 @@ _bat() { --theme --theme-dark --theme-light - --color-scheme --list-themes --squeeze-blank --squeeze-limit diff --git a/assets/completions/bat.fish.in b/assets/completions/bat.fish.in index 33cf8264..9907718f 100644 --- a/assets/completions/bat.fish.in +++ b/assets/completions/bat.fish.in @@ -99,13 +99,6 @@ set -l color_opts ' ' set -l decorations_opts $color_opts set -l paging_opts $color_opts -set -l color_scheme_opts " - auto\t'Use the terminal\'s color scheme if the output is not redirected (default)' - auto:always\t'Always use the terminal\'s color scheme' - dark\t'Use a dark syntax highlighting theme' - light\t'Use a light syntax highlighting theme' - system\t'Query the OS for its color scheme (macOS only)' -" # Include some examples so we can indicate the default. set -l pager_opts ' @@ -150,8 +143,6 @@ complete -c $bat -l config-file -f -d "Display location of configuration file" - complete -c $bat -l decorations -x -a "$decorations_opts" -d "When to use --style decorations" -n __bat_no_excl_args -complete -c $bat -l color-scheme -x -a "$color_scheme_opts" -d "Whether to choose a dark or light syntax highlighting theme" -n __bat_no_excl_args - complete -c $bat -l diagnostic -d "Print diagnostic info for bug reports" -n __fish_is_first_arg complete -c $bat -s d -l diff -d "Only show lines with Git changes" -n __bat_no_excl_args diff --git a/assets/completions/bat.zsh.in b/assets/completions/bat.zsh.in index 4bcae11c..bec0d3c9 100644 --- a/assets/completions/bat.zsh.in +++ b/assets/completions/bat.zsh.in @@ -40,7 +40,6 @@ _{{PROJECT_EXECUTABLE}}_main() { --color='[specify when to use colors]:when:(auto never always)' --italic-text='[use italics in output]:when:(always never)' --decorations='[specify when to show the decorations]:when:(auto never always)' - --color-scheme="[whether to choose a dark or light syntax highlighting theme]:scheme:(auto auto:always dark light system)" --paging='[specify when to use the pager]:when:(auto never always)' '(-m --map-syntax)'{-m+,--map-syntax=}'[map a glob pattern to an existing syntax name]: :->syntax-maps' '(--theme)'--theme='[set the color theme for syntax highlighting]:theme:->themes' diff --git a/assets/manual/bat.1.in b/assets/manual/bat.1.in index 5dcabe2d..05239d50 100644 --- a/assets/manual/bat.1.in +++ b/assets/manual/bat.1.in @@ -117,24 +117,6 @@ Specify when to use the decorations that have been specified via '\-\-style'. Th automatic mode only enables decorations if an interactive terminal is detected. Possible values: *auto*, never, always. .HP -\fB\-\-detect\-color\-scheme\fR -.IP -Specify when to query the terminal for its colors in order to pick an appropriate syntax -highlighting theme. Use \fB\-\-theme-light\fP and \fB\-\-theme-dark\fP (or the environment variables -\fBBAT_THEME_LIGHT\fP and \fBBAT_THEME_DARK\fP) to configure which themes are picked. You can also use -\fP\-\-theme\fP to set a theme that is used regardless of the terminal's colors. -.IP -\fI\fP can be one of: -.RS -.IP "\fBauto\fP" -Only query the terminals colors if the output is not redirected. This is to prevent -race conditions with pagers such as less. -.IP "never" -Never query the terminal for its colors and assume that the terminal has a dark background. -.IP "always" -Always query the terminal for its colors, regardless of whether or not the output is redirected. -.RE -.HP \fB\-f\fR, \fB\-\-force\-colorization\fR .IP Alias for '--decorations=always --color=always'. This is useful \ @@ -177,14 +159,14 @@ export the \fBBAT_THEME\fP environment variable (e.g.: \fBexport BAT_THEME="..." \fB\-\-theme\-dark\fR .IP Sets the theme name for syntax highlighting used when the terminal uses a dark background. -To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or +To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or export the \fBBAT_THEME_DARK\fP environment variable (e.g. \fBexport BAT_THEME_DARK="..."\fP). This option is ignored if \fB\-\-theme\fP option is set. .HP \fB\-\-theme\-light\fR .IP Sets the theme name for syntax highlighting used when the terminal uses a dark background. -To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or +To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or export the \fBBAT_THEME_LIGHT\fP environment variable (e.g. \fBexport BAT_THEME_LIGHT="..."\fP). This option is ignored if \fB\-\-theme\fP option is set. .HP @@ -339,7 +321,7 @@ To use the preprocessor, call: \fB{{PROJECT_EXECUTABLE}} --lessopen\fR -Alternatively, the preprocessor may be enabled by default by adding the '\-\-lessopen' option to the configuration file. +Alternatively, the preprocessor may be enabled by default by adding the '\-\-lessopen' option to the configuration file. To temporarily disable the preprocessor if it is enabled by default, call: @@ -355,7 +337,7 @@ Enable the $LESSOPEN preprocessor. .IP Disable the $LESSOPEN preprocessor if enabled (overrides --lessopen) .PP -For more information, see the "INPUT PREPROCESSOR" section of less(1). +For more information, see the "INPUT PREPROCESSOR" section of less(1). .SH "MORE INFORMATION" diff --git a/doc/long-help.txt b/doc/long-help.txt index c374a039..8d5a3a5e 100644 --- a/doc/long-help.txt +++ b/doc/long-help.txt @@ -114,23 +114,6 @@ Options: add the '--theme="..."' option to the configuration file or export the BAT_THEME environment variable (e.g.: export BAT_THEME="..."). - --color-scheme - Specify whether to choose a dark or light syntax highlighting theme. Use '--theme-light' - and '--theme-dark' (or the environment variables BAT_THEME_LIGHT and BAT_THEME_DARK) to - configure which themes are picked. You may also use '--theme' to set a theme that is used - regardless of this choice. - - Possible values: - * auto (default): - Query the terminals for its color scheme if the output is not redirected. This is to - prevent race conditions with pagers such as less. - * 'auto:always': - Always query the terminal for its color scheme, regardless of whether or not the - output is redirected. - * dark: Use a dark syntax highlighting theme. - * light: Use a light syntax highlighting theme. - * system: Query the OS for its color scheme. Only works on macOS. - --theme-light Sets the theme name for syntax highlighting used when the terminal uses a light background. Use '--list-themes' to see all available themes. To set a default theme, add diff --git a/doc/short-help.txt b/doc/short-help.txt index f17a6d9d..d5c35059 100644 --- a/doc/short-help.txt +++ b/doc/short-help.txt @@ -41,8 +41,6 @@ Options: Use the specified syntax for files matching the glob pattern ('*.cpp:C++'). --theme Set the color theme for syntax highlighting. - --color-scheme - Specify whether to choose a dark or light theme. --theme-light Sets the color theme for syntax highlighting used for light backgrounds. --theme-dark diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index d2e5b4db..6d83c9c9 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -9,7 +9,7 @@ use crate::{ config::{get_args_from_config_file, get_args_from_env_opts_var, get_args_from_env_vars}, }; use bat::style::StyleComponentList; -use bat::theme::{theme, ColorSchemePreference, DetectColorScheme, ThemeOptions, ThemeRequest}; +use bat::theme::{theme, ThemeName, ThemeOptions, ThemePreference}; use bat::StripAnsiMode; use clap::ArgMatches; @@ -418,35 +418,20 @@ impl App { let theme = self .matches .get_one::("theme") - .map(|t| ThemeRequest::from_str(t).unwrap()); + .map(|t| ThemePreference::from_str(t).unwrap()) + .unwrap_or_default(); let theme_dark = self .matches .get_one::("theme-dark") - .map(|t| ThemeRequest::from_str(t).unwrap()); + .map(|t| ThemeName::from_str(t).unwrap()); let theme_light = self .matches .get_one::("theme-light") - .map(|t| ThemeRequest::from_str(t).unwrap()); + .map(|t| ThemeName::from_str(t).unwrap()); ThemeOptions { theme, theme_dark, theme_light, - color_scheme: self.color_scheme_preference(), - } - } - - pub(crate) fn color_scheme_preference(&self) -> ColorSchemePreference { - match self - .matches - .get_one::("color-scheme") - .map(|s| s.as_str()) - { - Some("auto") => ColorSchemePreference::Auto(DetectColorScheme::Auto), - Some("auto:always") => ColorSchemePreference::Auto(DetectColorScheme::Always), - Some("dark") => ColorSchemePreference::Dark, - Some("light") => ColorSchemePreference::Light, - Some("system") => ColorSchemePreference::System, - _ => unreachable!("other values for --color-scheme are not allowed"), } } } diff --git a/src/bin/bat/clap_app.rs b/src/bin/bat/clap_app.rs index 0857dba4..e8056f3a 100644 --- a/src/bin/bat/clap_app.rs +++ b/src/bin/bat/clap_app.rs @@ -383,32 +383,6 @@ pub fn build_app(interactive_output: bool) -> Command { BAT_THEME=\"...\").", ), ) - .arg( - Arg::new("color-scheme") - .long("color-scheme") - .overrides_with("color-scheme") - .value_name("scheme") - .value_parser(["auto", "auto:always", "dark", "light", "system"]) - .default_value("auto") - .hide_default_value(true) - .help("Specify whether to choose a dark or light theme.") - .long_help( - "Specify whether to choose a dark or light syntax highlighting theme. \ - Use '--theme-light' and '--theme-dark' (or the environment variables \ - BAT_THEME_LIGHT and BAT_THEME_DARK) to configure which themes are picked. \ - You may also use '--theme' to set a theme that is used regardless of this choice.\n\n\ - Possible values:\n\ - * auto (default):\n \ - Query the terminals for its color scheme if the output is not redirected. \ - This is to prevent race conditions with pagers such as less.\n\ - * 'auto:always':\n \ - Always query the terminal for its color scheme, \ - regardless of whether or not the output is redirected.\n\ - * dark: Use a dark syntax highlighting theme.\n\ - * light: Use a light syntax highlighting theme.\n\ - * system: Query the OS for its color scheme. Only works on macOS.\n\ - "), - ) .arg( Arg::new("theme-light") .long("theme-light") diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index 891390c1..09470504 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -384,7 +384,7 @@ fn run() -> Result { &config, config_dir, cache_dir, - app.color_scheme_preference(), + ColorSchemePreference::default(), )?; Ok(true) } else if app.matches.get_flag("config-file") { diff --git a/src/theme.rs b/src/theme.rs index 1c6d7e55..5f6460cc 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -29,46 +29,79 @@ pub fn color_scheme(preference: ColorSchemePreference) -> ColorScheme { #[derive(Debug, Default, PartialEq, Eq)] pub struct ThemeOptions { /// Always use this theme regardless of the terminal's background color. - pub theme: Option, + /// This corresponds with the `BAT_THEME` environment variable and the `--theme` option. + pub theme: ThemePreference, /// The theme to use in case the terminal uses a dark background with light text. - pub theme_dark: Option, + /// This corresponds with the `BAT_THEME_DARK` environment variable and the `--theme-dark` option. + pub theme_dark: Option, /// The theme to use in case the terminal uses a light background with dark text. - pub theme_light: Option, - /// How to choose between dark and light. - pub color_scheme: ColorSchemePreference, + /// This corresponds with the `BAT_THEME_LIGHT` environment variable and the `--theme-light` option. + pub theme_light: Option, +} + +/// What theme should `bat` use? +#[derive(Debug, PartialEq, Eq, Hash)] +pub enum ThemePreference { + /// Choose between [`ThemeOptions::theme_dark`] and [`ThemeOptions::theme_light`] + /// based on the terminal's (or the OS') color scheme. + Auto(ColorSchemePreference), + /// Always use the same theme regardless of the terminal's color scheme. + Fixed(ThemeName), +} + +impl Default for ThemePreference { + fn default() -> Self { + ThemePreference::Auto(ColorSchemePreference::default()) + } +} + +impl FromStr for ThemePreference { + type Err = Infallible; + + fn from_str(s: &str) -> Result { + use ThemePreference::*; + match s { + "auto" => Ok(Auto(ColorSchemePreference::default())), + "auto:always" => Ok(Auto(ColorSchemePreference::Auto(DetectColorScheme::Always))), + "auto:system" => Ok(Auto(ColorSchemePreference::System)), + "dark" => Ok(Auto(ColorSchemePreference::Dark)), + "light" => Ok(Auto(ColorSchemePreference::Light)), + _ => ThemeName::from_str(s).map(Fixed), + } + } } /// The name of a theme or the default theme. /// /// ``` -/// # use bat::theme::ThemeRequest; +/// # use bat::theme::ThemeName; /// # use std::str::FromStr as _; -/// assert_eq!(ThemeRequest::Default, ThemeRequest::from_str("default").unwrap()); -/// assert_eq!(ThemeRequest::Named("example".to_string()), ThemeRequest::from_str("example").unwrap()); +/// assert_eq!(ThemeName::Default, ThemeName::from_str("default").unwrap()); +/// assert_eq!(ThemeName::Named("example".to_string()), ThemeName::from_str("example").unwrap()); /// ``` #[derive(Debug, PartialEq, Eq, Hash)] -pub enum ThemeRequest { +pub enum ThemeName { Named(String), Default, } -impl FromStr for ThemeRequest { +impl FromStr for ThemeName { type Err = Infallible; fn from_str(s: &str) -> Result { if s == "default" { - Ok(ThemeRequest::Default) + Ok(ThemeName::Default) } else { - Ok(ThemeRequest::Named(s.to_owned())) + Ok(ThemeName::Named(s.to_owned())) } } } -impl ThemeRequest { +impl ThemeName { fn into_theme(self, color_scheme: ColorScheme) -> String { match self { - ThemeRequest::Named(t) => t, - ThemeRequest::Default => default_theme(color_scheme).to_owned(), + ThemeName::Named(t) => t, + ThemeName::Default => default_theme(color_scheme).to_owned(), } } } @@ -124,17 +157,18 @@ fn color_scheme_impl( fn theme_from_detector(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> String { // Implementation note: This function is mostly pure (i.e. it has no side effects) for the sake of testing. // All the side effects (e.g. querying the terminal for its colors) are performed in the detector. - if let Some(theme) = options.theme { - theme.into_theme(ColorScheme::default()) - } else { - let color_scheme = color_scheme_impl(options.color_scheme, detector); - choose_theme(options, color_scheme) - .map(|t| t.into_theme(color_scheme)) - .unwrap_or_else(|| default_theme(color_scheme).to_owned()) + match options.theme { + ThemePreference::Fixed(theme_name) => theme_name.into_theme(ColorScheme::default()), + ThemePreference::Auto(color_scheme_preference) => { + let color_scheme = color_scheme_impl(color_scheme_preference, detector); + choose_theme(options, color_scheme) + .map(|t| t.into_theme(color_scheme)) + .unwrap_or_else(|| default_theme(color_scheme).to_owned()) + } } } -fn choose_theme(options: ThemeOptions, color_scheme: ColorScheme) -> Option { +fn choose_theme(options: ThemeOptions, color_scheme: ColorScheme) -> Option { match color_scheme { ColorScheme::Dark => options.theme_dark, ColorScheme::Light => options.theme_light, @@ -220,7 +254,6 @@ impl ColorSchemeDetector for Option { mod tests { use super::ColorScheme::*; use super::ColorSchemePreference as Pref; - use super::DetectColorScheme::*; use super::*; use std::cell::Cell; use std::iter; @@ -233,7 +266,7 @@ mod tests { for pref in [Pref::Dark, Pref::Light] { let detector = DetectorStub::should_detect(Some(Dark)); let options = ThemeOptions { - color_scheme: pref, + theme: ThemePreference::Auto(pref), ..Default::default() }; _ = theme_from_detector(options, &detector); @@ -249,7 +282,9 @@ mod tests { ]; for detector in detectors { let options = ThemeOptions { - color_scheme: Pref::Auto(Always), + theme: ThemePreference::Auto(ColorSchemePreference::Auto( + DetectColorScheme::Always, + )), ..Default::default() }; _ = theme_from_detector(options, &detector); @@ -280,13 +315,13 @@ mod tests { for color_scheme in optional(color_schemes()) { for options in [ ThemeOptions { - theme: Some(ThemeRequest::Named("Theme".to_string())), + theme: ThemePreference::Fixed(ThemeName::Named("Theme".to_string())), ..Default::default() }, ThemeOptions { - theme: Some(ThemeRequest::Named("Theme".to_string())), - theme_dark: Some(ThemeRequest::Named("Dark Theme".to_string())), - theme_light: Some(ThemeRequest::Named("Light Theme".to_string())), + theme: ThemePreference::Fixed(ThemeName::Named("Theme".to_string())), + theme_dark: Some(ThemeName::Named("Dark Theme".to_string())), + theme_light: Some(ThemeName::Named("Light Theme".to_string())), ..Default::default() }, ] { @@ -299,7 +334,7 @@ mod tests { #[test] fn detector_is_not_called_if_theme_is_present() { let options = ThemeOptions { - theme: Some(ThemeRequest::Named("Theme".to_string())), + theme: ThemePreference::Fixed(ThemeName::Named("Theme".to_string())), ..Default::default() }; let detector = DetectorStub::should_detect(Some(Dark)); @@ -326,7 +361,7 @@ mod tests { fn dark_if_requested_explicitly_through_theme() { for color_scheme in optional(color_schemes()) { let options = ThemeOptions { - theme: Some(ThemeRequest::Default), + theme: ThemePreference::Fixed(ThemeName::Default), ..Default::default() }; let detector = ConstantDetector(color_scheme); @@ -343,8 +378,8 @@ mod tests { for options in [ ThemeOptions::default(), ThemeOptions { - theme_dark: Some(ThemeRequest::Default), - theme_light: Some(ThemeRequest::Default), + theme_dark: Some(ThemeName::Default), + theme_light: Some(ThemeName::Default), ..Default::default() }, ] { @@ -365,8 +400,8 @@ mod tests { fn chooses_dark_theme_if_dark_or_unknown() { for color_scheme in [Some(Dark), None] { let options = ThemeOptions { - theme_dark: Some(ThemeRequest::Named("Dark".to_string())), - theme_light: Some(ThemeRequest::Named("Light".to_string())), + theme_dark: Some(ThemeName::Named("Dark".to_string())), + theme_light: Some(ThemeName::Named("Light".to_string())), ..Default::default() }; let detector = ConstantDetector(color_scheme); @@ -377,8 +412,8 @@ mod tests { #[test] fn chooses_light_theme_if_light() { let options = ThemeOptions { - theme_dark: Some(ThemeRequest::Named("Dark".to_string())), - theme_light: Some(ThemeRequest::Named("Light".to_string())), + theme_dark: Some(ThemeName::Named("Dark".to_string())), + theme_light: Some(ThemeName::Named("Light".to_string())), ..Default::default() }; let detector = ConstantDetector(Some(ColorScheme::Light)); diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index e4b73c59..582b255d 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -279,7 +279,6 @@ fn list_themes_with_colors() { bat() .arg("--color=always") - .arg("--color-scheme=dark") .arg("--list-themes") .assert() .success() @@ -296,7 +295,6 @@ fn list_themes_without_colors() { bat() .arg("--color=never") - .arg("--color-scheme=dark") .arg("--list-themes") .assert() .success() From 89ce06018340fda343072022000891e03a3b372b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sun, 18 Aug 2024 20:32:23 +0200 Subject: [PATCH 028/189] Update help, man page and completions --- assets/completions/bat.bash.in | 7 ++++++- assets/completions/bat.fish.in | 10 +++++++++- assets/completions/bat.zsh.in | 10 ++++++++-- assets/manual/bat.1.in | 19 +++++++++++++++++-- doc/long-help.txt | 16 ++++++++++++---- src/bin/bat/clap_app.rs | 12 +++++++++--- src/theme.rs | 4 ++++ 7 files changed, 65 insertions(+), 13 deletions(-) diff --git a/assets/completions/bat.bash.in b/assets/completions/bat.bash.in index 162d1c53..90931f24 100644 --- a/assets/completions/bat.bash.in +++ b/assets/completions/bat.bash.in @@ -112,7 +112,12 @@ _bat() { COMPREPLY=($(compgen -c -- "$cur")) return 0 ;; - --theme | \ + --theme) + local IFS=$'\n' + COMPREPLY=($(compgen -W "auto${IFS}auto:always${IFS}auto:system${IFS}dark${IFS}light${IFS}$("$1" --list-themes)" -- "$cur")) + __bat_escape_completions + return 0 + ;; --theme-dark | \ --theme-light) local IFS=$'\n' diff --git a/assets/completions/bat.fish.in b/assets/completions/bat.fish.in index 9907718f..e2712706 100644 --- a/assets/completions/bat.fish.in +++ b/assets/completions/bat.fish.in @@ -129,6 +129,14 @@ set -l tabs_opts ' 8\t ' +set -l special_themes ' + auto\tdefault,\ Choose\ a\ theme\ based\ on\ dark\ or\ light\ mode + auto:always\tChoose\ a\ theme\ based\ on\ dark\ or\ light\ mode + auto:system\tChoose\ a\ theme\ based\ on\ dark\ or\ light\ mode + dark\tUse\ the\ theme\ specified\ by\ --theme-dark + light\tUse\ the\ theme\ specified\ by\ --theme-light +' + # Completions: complete -c $bat -l acknowledgements -d "Print acknowledgements" -n __fish_is_first_arg @@ -203,7 +211,7 @@ complete -c $bat -l tabs -x -a "$tabs_opts" -d "Set tab width" -n __bat_no_excl_ complete -c $bat -l terminal-width -x -d "Set terminal , +, or -" -n __bat_no_excl_args -complete -c $bat -l theme -x -a "(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme" -n __bat_no_excl_args +complete -c $bat -l theme -x -a "$special_themes(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme" -n __bat_no_excl_args complete -c $bat -l theme-dark -x -a "(command $bat --list-themes | command cat)" -d "Set the syntax highlighting theme for dark backgrounds" -n __bat_no_excl_args diff --git a/assets/completions/bat.zsh.in b/assets/completions/bat.zsh.in index bec0d3c9..76b981b6 100644 --- a/assets/completions/bat.zsh.in +++ b/assets/completions/bat.zsh.in @@ -42,7 +42,7 @@ _{{PROJECT_EXECUTABLE}}_main() { --decorations='[specify when to show the decorations]:when:(auto never always)' --paging='[specify when to use the pager]:when:(auto never always)' '(-m --map-syntax)'{-m+,--map-syntax=}'[map a glob pattern to an existing syntax name]: :->syntax-maps' - '(--theme)'--theme='[set the color theme for syntax highlighting]:theme:->themes' + '(--theme)'--theme='[set the color theme for syntax highlighting]:theme:->theme_preferences' '(--theme-dark)'--theme-dark='[set the color theme for syntax highlighting for dark backgrounds]:theme:->themes' '(--theme-light)'--theme-light='[set the color theme for syntax highlighting for light backgrounds]:theme:->themes' '(: --list-themes --list-languages -L)'--list-themes'[show all supported highlighting themes]' @@ -84,7 +84,13 @@ _{{PROJECT_EXECUTABLE}}_main() { themes) local -a themes expl - themes=( ${(f)"$(_call_program themes {{PROJECT_EXECUTABLE}} --list-themes)"} ) + themes=(${(f)"$(_call_program themes {{PROJECT_EXECUTABLE}} --list-themes)"} ) + + _wanted themes expl 'theme' compadd -a themes && ret=0 + ;; + theme_preferences) + local -a themes expl + themes=(auto dark light auto:always auto:system ${(f)"$(_call_program themes {{PROJECT_EXECUTABLE}} --list-themes)"} ) _wanted themes expl 'theme' compadd -a themes && ret=0 ;; diff --git a/assets/manual/bat.1.in b/assets/manual/bat.1.in index 05239d50..ccc70629 100644 --- a/assets/manual/bat.1.in +++ b/assets/manual/bat.1.in @@ -155,20 +155,35 @@ will use JSON syntax, and ignore '.dev' Set the theme for syntax highlighting. Use \fB\-\-list\-themes\fP to see all available themes. To set a default theme, add the \fB\-\-theme="..."\fP option to the configuration file or export the \fBBAT_THEME\fP environment variable (e.g.: \fBexport BAT_THEME="..."\fP). + +Special values: +.RS +.IP "auto (\fIdefault\fR)" +Picks a dark or light theme depending on the terminal's colors. +Use \fB-\-theme\-light\fR and \fB-\-theme\-dark\fR to customize the selected theme. +.IP "auto:always" +Variation of \fBauto\fR where where the terminal's colors are detected even when the output is redirected. +.IP "auto:system (macOS only)" +Variation of \fBauto\fR where the color scheme is detected from the system-wide preference instead. +.IP "dark" +Use the dark theme specified by \fB-\-theme-dark\fR. +.IP "light" +Use the light theme specified by \fB-\-theme-light\fR. +.RE .HP \fB\-\-theme\-dark\fR .IP Sets the theme name for syntax highlighting used when the terminal uses a dark background. To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or export the \fBBAT_THEME_DARK\fP environment variable (e.g. \fBexport BAT_THEME_DARK="..."\fP). -This option is ignored if \fB\-\-theme\fP option is set. +This option only has an effect when \fB\-\-theme\fP option is set to \fBauto\fR or \fBdark\fR. .HP \fB\-\-theme\-light\fR .IP Sets the theme name for syntax highlighting used when the terminal uses a dark background. To set a default theme, add the \fB\-\-theme-dark="..."\fP option to the configuration file or export the \fBBAT_THEME_LIGHT\fP environment variable (e.g. \fBexport BAT_THEME_LIGHT="..."\fP). -This option is ignored if \fB\-\-theme\fP option is set. +This option only has an effect when \fB\-\-theme\fP option is set to \fBauto\fR or \fBlight\fR. .HP \fB\-\-list\-themes\fR .IP diff --git a/doc/long-help.txt b/doc/long-help.txt index 8d5a3a5e..e93c8a2d 100644 --- a/doc/long-help.txt +++ b/doc/long-help.txt @@ -109,10 +109,18 @@ Options: 'bat --ignored-suffix ".dev" my_file.json.dev' will use JSON syntax, and ignore '.dev' --theme - Set the theme for syntax highlighting. Note that this option overrides '--theme-dark' and - '--theme-light'. Use '--list-themes' to see all available themes. To set a default theme, - add the '--theme="..."' option to the configuration file or export the BAT_THEME - environment variable (e.g.: export BAT_THEME="..."). + Set the theme for syntax highlighting. Use '--list-themes' to see all available themes. To + set a default theme, add the '--theme="..."' option to the configuration file or export + the BAT_THEME environment variable (e.g.: export BAT_THEME="..."). + + Special values: + + * auto: Picks a dark or light theme depending on the terminal's colors (default). + Use '--theme-light' and '--theme-dark' to customize the selected theme. + * auto:always: Detect the terminal's colors even when the output is redirected. + * auto:system: Detect the color scheme from the system-wide preference (macOS only). + * dark: Use the dark theme specified by '--theme-dark'. + * light: Use the light theme specified by '--theme-light'. --theme-light Sets the theme name for syntax highlighting used when the terminal uses a light diff --git a/src/bin/bat/clap_app.rs b/src/bin/bat/clap_app.rs index e8056f3a..0fb34748 100644 --- a/src/bin/bat/clap_app.rs +++ b/src/bin/bat/clap_app.rs @@ -375,12 +375,18 @@ pub fn build_app(interactive_output: bool) -> Command { .overrides_with("theme") .help("Set the color theme for syntax highlighting.") .long_help( - "Set the theme for syntax highlighting. Note that this option overrides \ - '--theme-dark' and '--theme-light'. Use '--list-themes' to \ + "Set the theme for syntax highlighting. Use '--list-themes' to \ see all available themes. To set a default theme, add the \ '--theme=\"...\"' option to the configuration file or export the \ BAT_THEME environment variable (e.g.: export \ - BAT_THEME=\"...\").", + BAT_THEME=\"...\").\n\n\ + Special values:\n\n \ + * auto: Picks a dark or light theme depending on the terminal's colors (default).\n \ + Use '--theme-light' and '--theme-dark' to customize the selected theme.\n \ + * auto:always: Detect the terminal's colors even when the output is redirected.\n \ + * auto:system: Detect the color scheme from the system-wide preference (macOS only).\n \ + * dark: Use the dark theme specified by '--theme-dark'.\n \ + * light: Use the light theme specified by '--theme-light'.", ), ) .arg( diff --git a/src/theme.rs b/src/theme.rs index 5f6460cc..dcac4e6c 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -216,6 +216,10 @@ impl ColorSchemeDetector for TerminalColorSchemeDetector { #[cfg(not(target_os = "macos"))] fn color_scheme_from_system() -> Option { + crate::bat_warning!( + "Theme 'auto:system' is only supported on macOS, \ + using default." + ); None } From 50958472e5b4bdc7451a609b877dc8d5f6a4860e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Fri, 23 Aug 2024 18:03:07 +0200 Subject: [PATCH 029/189] Return theme alongside detected color scheme --- src/bin/bat/app.rs | 2 +- src/theme.rs | 92 ++++++++++++++++++++++++++++++---------------- 2 files changed, 61 insertions(+), 33 deletions(-) diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index 6d83c9c9..f58d4965 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -254,7 +254,7 @@ impl App { Some("auto") => StripAnsiMode::Auto, _ => unreachable!("other values for --strip-ansi are not allowed"), }, - theme: theme(self.theme_options()), + theme: theme(self.theme_options()).to_string(), visible_lines: match self.matches.try_contains_id("diff").unwrap_or_default() && self.matches.get_flag("diff") { diff --git a/src/theme.rs b/src/theme.rs index dcac4e6c..ae36b6f9 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -1,13 +1,18 @@ //! Utilities for choosing an appropriate theme for syntax highlighting. use std::convert::Infallible; +use std::fmt; use std::io::IsTerminal as _; use std::str::FromStr; /// Chooses an appropriate theme or falls back to a default theme /// based on the user-provided options and the color scheme of the terminal. -pub fn theme(options: ThemeOptions) -> String { - theme_from_detector(options, &TerminalColorSchemeDetector) +/// +/// Intentionally returns a [`ThemeResult`] instead of a simple string so +/// that downstream consumers such as `delta` can easily apply their own +/// default theme and can use the detected color scheme elsewhere. +pub fn theme(options: ThemeOptions) -> ThemeResult { + theme_impl(options, &TerminalColorSchemeDetector) } /// The default theme, suitable for the given color scheme. @@ -26,7 +31,7 @@ pub fn color_scheme(preference: ColorSchemePreference) -> ColorScheme { /// Options for configuring the theme used for syntax highlighting. /// Used together with [`theme`]. -#[derive(Debug, Default, PartialEq, Eq)] +#[derive(Debug, Clone, Default, PartialEq, Eq)] pub struct ThemeOptions { /// Always use this theme regardless of the terminal's background color. /// This corresponds with the `BAT_THEME` environment variable and the `--theme` option. @@ -40,7 +45,14 @@ pub struct ThemeOptions { } /// What theme should `bat` use? -#[derive(Debug, PartialEq, Eq, Hash)] +/// +/// The easiest way to construct this is from a string: +/// ``` +/// # use bat::theme::ThemePreference; +/// # use std::str::FromStr as _; +/// let preference = ThemePreference::from_str("auto:system").unwrap(); +/// ``` +#[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ThemePreference { /// Choose between [`ThemeOptions::theme_dark`] and [`ThemeOptions::theme_light`] /// based on the terminal's (or the OS') color scheme. @@ -79,7 +91,7 @@ impl FromStr for ThemePreference { /// assert_eq!(ThemeName::Default, ThemeName::from_str("default").unwrap()); /// assert_eq!(ThemeName::Named("example".to_string()), ThemeName::from_str("example").unwrap()); /// ``` -#[derive(Debug, PartialEq, Eq, Hash)] +#[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ThemeName { Named(String), Default, @@ -97,15 +109,6 @@ impl FromStr for ThemeName { } } -impl ThemeName { - fn into_theme(self, color_scheme: ColorScheme) -> String { - match self { - ThemeName::Named(t) => t, - ThemeName::Default => default_theme(color_scheme).to_owned(), - } - } -} - /// How to choose between dark and light. #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum ColorSchemePreference { @@ -142,6 +145,26 @@ pub enum ColorScheme { Light, } +/// The resolved theme and the color scheme as determined from +/// the terminal, OS or fallback. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct ThemeResult { + /// The theme selected according to the [`ThemeOptions`]. + pub theme: ThemeName, + /// Either the user's chosen color scheme, the terminal's color scheme, the OS's + /// color scheme or `None` if the color scheme was not detected because the user chose a fixed theme. + pub color_scheme: Option, +} + +impl fmt::Display for ThemeResult { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match &self.theme { + ThemeName::Named(name) => f.write_str(name), + ThemeName::Default => f.write_str(default_theme(self.color_scheme.unwrap_or_default())), + } + } +} + fn color_scheme_impl( pref: ColorSchemePreference, detector: &dyn ColorSchemeDetector, @@ -154,16 +177,21 @@ fn color_scheme_impl( } } -fn theme_from_detector(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> String { +fn theme_impl(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> ThemeResult { // Implementation note: This function is mostly pure (i.e. it has no side effects) for the sake of testing. // All the side effects (e.g. querying the terminal for its colors) are performed in the detector. match options.theme { - ThemePreference::Fixed(theme_name) => theme_name.into_theme(ColorScheme::default()), - ThemePreference::Auto(color_scheme_preference) => { - let color_scheme = color_scheme_impl(color_scheme_preference, detector); - choose_theme(options, color_scheme) - .map(|t| t.into_theme(color_scheme)) - .unwrap_or_else(|| default_theme(color_scheme).to_owned()) + ThemePreference::Fixed(theme) => ThemeResult { + theme, + color_scheme: None, + }, + ThemePreference::Auto(pref) => { + let color_scheme = color_scheme_impl(pref, detector); + let theme = choose_theme(options, color_scheme).unwrap_or(ThemeName::Default); + ThemeResult { + theme, + color_scheme: Some(color_scheme), + } } } } @@ -273,7 +301,7 @@ mod tests { theme: ThemePreference::Auto(pref), ..Default::default() }; - _ = theme_from_detector(options, &detector); + _ = theme_impl(options, &detector); assert!(!detector.was_called.get()); } } @@ -291,7 +319,7 @@ mod tests { )), ..Default::default() }; - _ = theme_from_detector(options, &detector); + _ = theme_impl(options, &detector); assert!(detector.was_called.get()); } } @@ -299,14 +327,14 @@ mod tests { #[test] fn called_for_auto_if_should_detect() { let detector = DetectorStub::should_detect(Some(Dark)); - _ = theme_from_detector(ThemeOptions::default(), &detector); + _ = theme_impl(ThemeOptions::default(), &detector); assert!(detector.was_called.get()); } #[test] fn not_called_for_auto_if_not_should_detect() { let detector = DetectorStub::should_not_detect(); - _ = theme_from_detector(ThemeOptions::default(), &detector); + _ = theme_impl(ThemeOptions::default(), &detector); assert!(!detector.was_called.get()); } } @@ -330,7 +358,7 @@ mod tests { }, ] { let detector = ConstantDetector(color_scheme); - assert_eq!("Theme", theme_from_detector(options, &detector)); + assert_eq!("Theme", theme_impl(options, &detector).to_string()); } } } @@ -342,7 +370,7 @@ mod tests { ..Default::default() }; let detector = DetectorStub::should_detect(Some(Dark)); - _ = theme_from_detector(options, &detector); + _ = theme_impl(options, &detector); assert!(!detector.was_called.get()); } } @@ -355,7 +383,7 @@ mod tests { let detector = ConstantDetector(None); assert_eq!( default_theme(ColorScheme::Dark), - theme_from_detector(ThemeOptions::default(), &detector) + theme_impl(ThemeOptions::default(), &detector).to_string() ); } @@ -371,7 +399,7 @@ mod tests { let detector = ConstantDetector(color_scheme); assert_eq!( default_theme(ColorScheme::Dark), - theme_from_detector(options, &detector) + theme_impl(options, &detector).to_string() ); } } @@ -390,7 +418,7 @@ mod tests { let detector = ConstantDetector(Some(color_scheme)); assert_eq!( default_theme(color_scheme), - theme_from_detector(options, &detector) + theme_impl(options, &detector).to_string() ); } } @@ -409,7 +437,7 @@ mod tests { ..Default::default() }; let detector = ConstantDetector(color_scheme); - assert_eq!("Dark", theme_from_detector(options, &detector)); + assert_eq!("Dark", theme_impl(options, &detector).to_string()); } } @@ -421,7 +449,7 @@ mod tests { ..Default::default() }; let detector = ConstantDetector(Some(ColorScheme::Light)); - assert_eq!("Light", theme_from_detector(options, &detector)); + assert_eq!("Light", theme_impl(options, &detector).to_string()); } } From 0603f0b844707d3f9de7a9a7f110fd5a4f2743a9 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Sun, 25 Aug 2024 10:54:46 +0200 Subject: [PATCH 030/189] Don't output default theme info to piped stdout --- src/bin/bat/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index 4528a60b..3b74ec75 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -202,7 +202,7 @@ pub fn list_themes(cfg: &Config, config_dir: &Path, cache_dir: &Path) -> Result< let default_theme = HighlightingAssets::default_theme(); for theme in assets.themes() { - let default_theme_info = if default_theme == theme { + let default_theme_info = if !config.loop_through && default_theme == theme { " (default)" } else { "" From 5be9d195003c00754885b2e3bb00cf13b6e707d2 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Sun, 25 Aug 2024 11:07:29 +0200 Subject: [PATCH 031/189] Reinforce tests for `--list-themes` --- tests/integration_tests.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 8df4327c..c083a941 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -300,6 +300,7 @@ fn list_themes_without_colors() { bat() .arg("--color=never") + .arg("--decorations=always") // trick bat into setting `Config::loop_through` to false .arg("--list-themes") .assert() .success() @@ -307,6 +308,15 @@ fn list_themes_without_colors() { .stdout(predicate::str::contains(default_theme_chunk).normalize()); } +#[test] +fn list_themes_to_piped_output() { + bat() + .arg("--list-themes") + .assert() + .success() + .stdout(predicate::str::contains("(default)").not()); +} + #[test] #[cfg_attr(any(not(feature = "git"), target_os = "windows"), ignore)] fn short_help() { From c1772b7793f94c50fba2efc2b6b8091654cff010 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Sep 2024 02:45:53 +0000 Subject: [PATCH 032/189] Bump plist from 1.6.0 to 1.7.0 (#3076) Bumps [plist](https://github.com/ebarnard/rust-plist) from 1.6.0 to 1.7.0. - [Release notes](https://github.com/ebarnard/rust-plist/releases) - [Commits](https://github.com/ebarnard/rust-plist/compare/v1.6.0...v1.7.0) --- updated-dependencies: - dependency-name: plist dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 28 ++++++---------------------- Cargo.toml | 2 +- 2 files changed, 7 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1168501a..f185750b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -103,9 +103,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" -version = "0.21.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bat" @@ -716,15 +716,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "line-wrap" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", -] - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -892,13 +883,12 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" [[package]] name = "plist" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" +checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" dependencies = [ "base64", "indexmap", - "line-wrap", "quick-xml", "serde", "time", @@ -957,9 +947,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" dependencies = [ "memchr", ] @@ -1087,12 +1077,6 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "same-file" version = "1.0.6" diff --git a/Cargo.toml b/Cargo.toml index 720e629b..0740b291 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -86,7 +86,7 @@ features = ["wrap_help", "cargo"] [target.'cfg(target_os = "macos")'.dependencies] home = "0.5.9" -plist = "1.6.0" +plist = "1.7.0" [dev-dependencies] assert_cmd = "2.0.12" From ffa74a7f499bc1d3ceb62bff3f8e1453a87f4ca6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Sep 2024 03:05:26 +0000 Subject: [PATCH 033/189] Bump serde from 1.0.199 to 1.0.209 (#3077) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.199 to 1.0.209. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.199...v1.0.209) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f185750b..4fcb870b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1100,18 +1100,18 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.199" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a" +checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.199" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc" +checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" dependencies = [ "proc-macro2", "quote", From 16d9b99f6cbdf4529f8e638f22cd1561ee95160e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Wed, 4 Sep 2024 21:18:29 +0200 Subject: [PATCH 034/189] Flatten preference enum --- src/bin/bat/main.rs | 14 ++--- src/theme.rs | 121 ++++++++++++++++++++------------------------ 2 files changed, 60 insertions(+), 75 deletions(-) diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index 09470504..2b27eff4 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -14,6 +14,7 @@ use std::io::{BufReader, Write}; use std::path::Path; use std::process; +use bat::theme::DetectColorScheme; use nu_ansi_term::Color::Green; use nu_ansi_term::Style; @@ -35,7 +36,7 @@ use bat::{ error::*, input::Input, style::{StyleComponent, StyleComponents}, - theme::{color_scheme, default_theme, ColorScheme, ColorSchemePreference}, + theme::{color_scheme, default_theme, ColorScheme}, MappingTarget, PagingMode, }; @@ -193,7 +194,7 @@ pub fn list_themes( cfg: &Config, config_dir: &Path, cache_dir: &Path, - color_scheme_pref: ColorSchemePreference, + detect_color_scheme: DetectColorScheme, ) -> Result<()> { let assets = assets_from_cache_or_binary(cfg.use_custom_assets, cache_dir)?; let mut config = cfg.clone(); @@ -205,7 +206,7 @@ pub fn list_themes( let stdout = io::stdout(); let mut stdout = stdout.lock(); - let default_theme_name = default_theme(color_scheme(color_scheme_pref)); + let default_theme_name = default_theme(color_scheme(detect_color_scheme).unwrap_or_default()); for theme in assets.themes() { let default_theme_info = if default_theme_name == theme { " (default)" @@ -380,12 +381,7 @@ fn run() -> Result { }; run_controller(inputs, &plain_config, cache_dir) } else if app.matches.get_flag("list-themes") { - list_themes( - &config, - config_dir, - cache_dir, - ColorSchemePreference::default(), - )?; + list_themes(&config, config_dir, cache_dir, DetectColorScheme::default())?; Ok(true) } else if app.matches.get_flag("config-file") { println!("{}", config_file().to_string_lossy()); diff --git a/src/theme.rs b/src/theme.rs index ae36b6f9..7b41ff4a 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -25,8 +25,8 @@ pub const fn default_theme(color_scheme: ColorScheme) -> &'static str { } /// Detects the color scheme from the terminal. -pub fn color_scheme(preference: ColorSchemePreference) -> ColorScheme { - color_scheme_impl(preference, &TerminalColorSchemeDetector) +pub fn color_scheme(when: DetectColorScheme) -> Option { + detect(when, &TerminalColorSchemeDetector) } /// Options for configuring the theme used for syntax highlighting. @@ -55,15 +55,19 @@ pub struct ThemeOptions { #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ThemePreference { /// Choose between [`ThemeOptions::theme_dark`] and [`ThemeOptions::theme_light`] - /// based on the terminal's (or the OS') color scheme. - Auto(ColorSchemePreference), + /// based on the terminal's color scheme. + Auto(DetectColorScheme), /// Always use the same theme regardless of the terminal's color scheme. Fixed(ThemeName), + /// Use a dark theme. + Dark, + /// Use a light theme. + Light, } impl Default for ThemePreference { fn default() -> Self { - ThemePreference::Auto(ColorSchemePreference::default()) + ThemePreference::Auto(Default::default()) } } @@ -73,11 +77,11 @@ impl FromStr for ThemePreference { fn from_str(s: &str) -> Result { use ThemePreference::*; match s { - "auto" => Ok(Auto(ColorSchemePreference::default())), - "auto:always" => Ok(Auto(ColorSchemePreference::Auto(DetectColorScheme::Always))), - "auto:system" => Ok(Auto(ColorSchemePreference::System)), - "dark" => Ok(Auto(ColorSchemePreference::Dark)), - "light" => Ok(Auto(ColorSchemePreference::Light)), + "auto" => Ok(Auto(Default::default())), + "auto:always" => Ok(Auto(DetectColorScheme::Always)), + "auto:system" => Ok(Auto(DetectColorScheme::System)), + "dark" => Ok(Dark), + "light" => Ok(Light), _ => ThemeName::from_str(s).map(Fixed), } } @@ -109,25 +113,6 @@ impl FromStr for ThemeName { } } -/// How to choose between dark and light. -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -pub enum ColorSchemePreference { - /// Detect the color scheme from the terminal. - Auto(DetectColorScheme), - /// Use a dark theme. - Dark, - /// Use a light theme. - Light, - /// Detect the color scheme from the OS instead (macOS only). - System, -} - -impl Default for ColorSchemePreference { - fn default() -> Self { - Self::Auto(DetectColorScheme::default()) - } -} - #[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash)] pub enum DetectColorScheme { /// Only query the terminal for its colors when appropriate (i.e. when the the output is not redirected). @@ -135,6 +120,8 @@ pub enum DetectColorScheme { Auto, /// Always query the terminal for its colors. Always, + /// Detect the system-wide dark/light preference (macOS only). + System, } /// The color scheme used to pick a fitting theme. Defaults to [`ColorScheme::Dark`]. @@ -165,18 +152,6 @@ impl fmt::Display for ThemeResult { } } -fn color_scheme_impl( - pref: ColorSchemePreference, - detector: &dyn ColorSchemeDetector, -) -> ColorScheme { - match pref { - ColorSchemePreference::Auto(when) => detect(when, detector).unwrap_or_default(), - ColorSchemePreference::Dark => ColorScheme::Dark, - ColorSchemePreference::Light => ColorScheme::Light, - ColorSchemePreference::System => color_scheme_from_system().unwrap_or_default(), - } -} - fn theme_impl(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> ThemeResult { // Implementation note: This function is mostly pure (i.e. it has no side effects) for the sake of testing. // All the side effects (e.g. querying the terminal for its colors) are performed in the detector. @@ -185,14 +160,18 @@ fn theme_impl(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> Them theme, color_scheme: None, }, - ThemePreference::Auto(pref) => { - let color_scheme = color_scheme_impl(pref, detector); - let theme = choose_theme(options, color_scheme).unwrap_or(ThemeName::Default); - ThemeResult { - theme, - color_scheme: Some(color_scheme), - } - } + ThemePreference::Dark => choose_theme_opt(Some(ColorScheme::Dark), options), + ThemePreference::Light => choose_theme_opt(Some(ColorScheme::Light), options), + ThemePreference::Auto(when) => choose_theme_opt(detect(when, detector), options), + } +} + +fn choose_theme_opt(color_scheme: Option, options: ThemeOptions) -> ThemeResult { + ThemeResult { + color_scheme, + theme: color_scheme + .and_then(|c| choose_theme(options, c)) + .unwrap_or(ThemeName::Default), } } @@ -207,6 +186,7 @@ fn detect(when: DetectColorScheme, detector: &dyn ColorSchemeDetector) -> Option let should_detect = match when { DetectColorScheme::Auto => detector.should_detect(), DetectColorScheme::Always => true, + DetectColorScheme::System => return color_scheme_from_system(), }; should_detect.then(|| detector.detect()).flatten() } @@ -285,7 +265,6 @@ impl ColorSchemeDetector for Option { #[cfg(test)] mod tests { use super::ColorScheme::*; - use super::ColorSchemePreference as Pref; use super::*; use std::cell::Cell; use std::iter; @@ -295,10 +274,10 @@ mod tests { #[test] fn not_called_for_dark_or_light() { - for pref in [Pref::Dark, Pref::Light] { + for theme in [ThemePreference::Dark, ThemePreference::Light] { let detector = DetectorStub::should_detect(Some(Dark)); let options = ThemeOptions { - theme: ThemePreference::Auto(pref), + theme, ..Default::default() }; _ = theme_impl(options, &detector); @@ -314,9 +293,7 @@ mod tests { ]; for detector in detectors { let options = ThemeOptions { - theme: ThemePreference::Auto(ColorSchemePreference::Auto( - DetectColorScheme::Always, - )), + theme: ThemePreference::Auto(DetectColorScheme::Always), ..Default::default() }; _ = theme_impl(options, &detector); @@ -379,7 +356,7 @@ mod tests { use super::*; #[test] - fn dark_if_unable_to_detect_color_scheme() { + fn default_dark_if_unable_to_detect_color_scheme() { let detector = ConstantDetector(None); assert_eq!( default_theme(ColorScheme::Dark), @@ -390,7 +367,7 @@ mod tests { // For backwards compatibility, if the default theme is requested // explicitly through BAT_THEME, we always pick the default dark theme. #[test] - fn dark_if_requested_explicitly_through_theme() { + fn default_dark_if_requested_explicitly_through_theme() { for color_scheme in optional(color_schemes()) { let options = ThemeOptions { theme: ThemePreference::Fixed(ThemeName::Default), @@ -428,17 +405,29 @@ mod tests { mod choosing { use super::*; + #[test] + fn chooses_default_theme_if_unknown() { + let options = ThemeOptions { + theme_dark: Some(ThemeName::Named("Dark".to_string())), + theme_light: Some(ThemeName::Named("Light".to_string())), + ..Default::default() + }; + let detector = ConstantDetector(None); + assert_eq!( + default_theme(ColorScheme::default()), + theme_impl(options, &detector).to_string() + ); + } + #[test] fn chooses_dark_theme_if_dark_or_unknown() { - for color_scheme in [Some(Dark), None] { - let options = ThemeOptions { - theme_dark: Some(ThemeName::Named("Dark".to_string())), - theme_light: Some(ThemeName::Named("Light".to_string())), - ..Default::default() - }; - let detector = ConstantDetector(color_scheme); - assert_eq!("Dark", theme_impl(options, &detector).to_string()); - } + let options = ThemeOptions { + theme_dark: Some(ThemeName::Named("Dark".to_string())), + theme_light: Some(ThemeName::Named("Light".to_string())), + ..Default::default() + }; + let detector = ConstantDetector(Some(ColorScheme::Dark)); + assert_eq!("Dark", theme_impl(options, &detector).to_string()); } #[test] From e075fee5bf2fe6b40e16bb4ac02f88bcfe1fe782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 7 Sep 2024 20:24:57 +0200 Subject: [PATCH 035/189] Add infallible constructor --- src/theme.rs | 60 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/src/theme.rs b/src/theme.rs index 7b41ff4a..41ce84e1 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -48,9 +48,9 @@ pub struct ThemeOptions { /// /// The easiest way to construct this is from a string: /// ``` -/// # use bat::theme::ThemePreference; -/// # use std::str::FromStr as _; -/// let preference = ThemePreference::from_str("auto:system").unwrap(); +/// # use bat::theme::{ThemePreference, DetectColorScheme}; +/// let preference = ThemePreference::new("auto:system"); +/// assert_eq!(ThemePreference::Auto(DetectColorScheme::System), preference); /// ``` #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ThemePreference { @@ -71,19 +71,26 @@ impl Default for ThemePreference { } } +impl ThemePreference { + /// Creates a theme preference from a string. + pub fn new(s: &str) -> Self { + use ThemePreference::*; + match s { + "auto" => Auto(Default::default()), + "auto:always" => Auto(DetectColorScheme::Always), + "auto:system" => Auto(DetectColorScheme::System), + "dark" => Dark, + "light" => Light, + _ => Fixed(ThemeName::new(s)), + } + } +} + impl FromStr for ThemePreference { type Err = Infallible; fn from_str(s: &str) -> Result { - use ThemePreference::*; - match s { - "auto" => Ok(Auto(Default::default())), - "auto:always" => Ok(Auto(DetectColorScheme::Always)), - "auto:system" => Ok(Auto(DetectColorScheme::System)), - "dark" => Ok(Dark), - "light" => Ok(Light), - _ => ThemeName::from_str(s).map(Fixed), - } + Ok(ThemePreference::new(s)) } } @@ -91,9 +98,8 @@ impl FromStr for ThemePreference { /// /// ``` /// # use bat::theme::ThemeName; -/// # use std::str::FromStr as _; -/// assert_eq!(ThemeName::Default, ThemeName::from_str("default").unwrap()); -/// assert_eq!(ThemeName::Named("example".to_string()), ThemeName::from_str("example").unwrap()); +/// assert_eq!(ThemeName::Default, ThemeName::new("default")); +/// assert_eq!(ThemeName::Named("example".to_string()), ThemeName::new("example")); /// ``` #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum ThemeName { @@ -101,14 +107,30 @@ pub enum ThemeName { Default, } +impl ThemeName { + /// Creates a theme name from a string. + pub fn new(s: &str) -> Self { + if s == "default" { + ThemeName::Default + } else { + ThemeName::Named(s.to_owned()) + } + } +} + impl FromStr for ThemeName { type Err = Infallible; fn from_str(s: &str) -> Result { - if s == "default" { - Ok(ThemeName::Default) - } else { - Ok(ThemeName::Named(s.to_owned())) + Ok(ThemeName::new(s)) + } +} + +impl fmt::Display for ThemeName { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + ThemeName::Named(t) => f.write_str(t), + ThemeName::Default => f.write_str("default"), } } } From 60e402733241f2154688722fbe75225fc4c06c6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 7 Sep 2024 21:34:05 +0200 Subject: [PATCH 036/189] Expose theme env vars --- src/bin/bat/config.rs | 6 +++--- src/theme.rs | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/bin/bat/config.rs b/src/bin/bat/config.rs index f1ec3d53..a0ee7ba3 100644 --- a/src/bin/bat/config.rs +++ b/src/bin/bat/config.rs @@ -140,9 +140,9 @@ fn get_args_from_str(content: &str) -> Result, shell_words::ParseE pub fn get_args_from_env_vars() -> Vec { [ ("--tabs", "BAT_TABS"), - ("--theme", "BAT_THEME"), - ("--theme-dark", "BAT_THEME_DARK"), - ("--theme-light", "BAT_THEME_LIGHT"), + ("--theme", bat::theme::env::BAT_THEME), + ("--theme-dark", bat::theme::env::BAT_THEME_DARK), + ("--theme-light", bat::theme::env::BAT_THEME_LIGHT), ("--pager", "BAT_PAGER"), ("--paging", "BAT_PAGING"), ("--style", "BAT_STYLE"), diff --git a/src/theme.rs b/src/theme.rs index 41ce84e1..0276e5e0 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -5,6 +5,16 @@ use std::fmt; use std::io::IsTerminal as _; use std::str::FromStr; +/// Environment variable names. +pub mod env { + /// See [`crate::theme::ThemeOptions::theme`]. + pub const BAT_THEME: &str = "BAT_THEME"; + /// See [`crate::theme::ThemeOptions::theme_dark`]. + pub const BAT_THEME_DARK: &str = "BAT_THEME"; + /// See [`crate::theme::ThemeOptions::theme_light`]. + pub const BAT_THEME_LIGHT: &str = "BAT_THEME"; +} + /// Chooses an appropriate theme or falls back to a default theme /// based on the user-provided options and the color scheme of the terminal. /// From 10e823c4b760870eac4569e42d07704cffd3e79e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 7 Sep 2024 21:34:44 +0200 Subject: [PATCH 037/189] Rename internal function --- src/theme.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/theme.rs b/src/theme.rs index 0276e5e0..71c09e98 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -36,7 +36,7 @@ pub const fn default_theme(color_scheme: ColorScheme) -> &'static str { /// Detects the color scheme from the terminal. pub fn color_scheme(when: DetectColorScheme) -> Option { - detect(when, &TerminalColorSchemeDetector) + color_scheme_impl(when, &TerminalColorSchemeDetector) } /// Options for configuring the theme used for syntax highlighting. @@ -194,7 +194,7 @@ fn theme_impl(options: ThemeOptions, detector: &dyn ColorSchemeDetector) -> Them }, ThemePreference::Dark => choose_theme_opt(Some(ColorScheme::Dark), options), ThemePreference::Light => choose_theme_opt(Some(ColorScheme::Light), options), - ThemePreference::Auto(when) => choose_theme_opt(detect(when, detector), options), + ThemePreference::Auto(when) => choose_theme_opt(color_scheme_impl(when, detector), options), } } @@ -214,7 +214,10 @@ fn choose_theme(options: ThemeOptions, color_scheme: ColorScheme) -> Option Option { +fn color_scheme_impl( + when: DetectColorScheme, + detector: &dyn ColorSchemeDetector, +) -> Option { let should_detect = match when { DetectColorScheme::Auto => detector.should_detect(), DetectColorScheme::Always => true, From f6cbee9e270b18681c2b39ad507bb128b98a35a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 7 Sep 2024 21:35:37 +0200 Subject: [PATCH 038/189] Update docs --- src/theme.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/theme.rs b/src/theme.rs index 71c09e98..b8c4c67b 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -43,7 +43,8 @@ pub fn color_scheme(when: DetectColorScheme) -> Option { /// Used together with [`theme`]. #[derive(Debug, Clone, Default, PartialEq, Eq)] pub struct ThemeOptions { - /// Always use this theme regardless of the terminal's background color. + /// Configures how the theme is chosen. If set to a [`ThemePreference::Fixed`] value, + /// then the given theme is used regardless of the terminal's background color. /// This corresponds with the `BAT_THEME` environment variable and the `--theme` option. pub theme: ThemePreference, /// The theme to use in case the terminal uses a dark background with light text. From 0ebb9cbfe2651127d22cea12ca359db5e26c8595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 7 Sep 2024 21:57:27 +0200 Subject: [PATCH 039/189] Add Display impl --- src/theme.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/theme.rs b/src/theme.rs index b8c4c67b..5fed4faa 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -105,6 +105,20 @@ impl FromStr for ThemePreference { } } +impl fmt::Display for ThemePreference { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + use ThemePreference::*; + match self { + Auto(DetectColorScheme::Auto) => f.write_str("auto"), + Auto(DetectColorScheme::Always) => f.write_str("auto:always"), + Auto(DetectColorScheme::System) => f.write_str("auto:system"), + Fixed(theme) => theme.fmt(f), + Dark => f.write_str("dark"), + Light => f.write_str("light"), + } + } +} + /// The name of a theme or the default theme. /// /// ``` @@ -478,6 +492,26 @@ mod tests { } } + mod theme_preference { + use super::*; + + #[test] + fn values_roundtrip_via_display() { + let prefs = [ + ThemePreference::Auto(DetectColorScheme::Auto), + ThemePreference::Auto(DetectColorScheme::Always), + ThemePreference::Auto(DetectColorScheme::System), + ThemePreference::Fixed(ThemeName::Default), + ThemePreference::Fixed(ThemeName::new("foo")), + ThemePreference::Dark, + ThemePreference::Light, + ]; + for pref in prefs { + assert_eq!(pref, ThemePreference::new(&pref.to_string())); + } + } + } + struct DetectorStub { should_detect: bool, color_scheme: Option, From 02ae6ef348d19dd5c117c0d53733c4df076ec87b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sat, 7 Sep 2024 22:59:27 +0200 Subject: [PATCH 040/189] Remove redundant guard --- src/theme.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/theme.rs b/src/theme.rs index 5fed4faa..dcc6ee42 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -292,7 +292,7 @@ fn color_scheme_from_system() -> Option { match plist::Value::from_file(preferences_file).map(|file| file.into_dictionary()) { Ok(Some(preferences)) => match preferences.get(STYLE_KEY).and_then(|val| val.as_string()) { - Some(value) if value == "Dark" => Some(ColorScheme::Dark), + Some("Dark") => Some(ColorScheme::Dark), // If the key does not exist, then light theme is currently in use. Some(_) | None => Some(ColorScheme::Light), }, From b7471847889ee2f0faab7e9f9d12df70d351edd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Sun, 8 Sep 2024 17:10:46 +0200 Subject: [PATCH 041/189] Accept `impl Into` to avoid cloning strings --- src/theme.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/theme.rs b/src/theme.rs index dcc6ee42..9fbef238 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -84,9 +84,10 @@ impl Default for ThemePreference { impl ThemePreference { /// Creates a theme preference from a string. - pub fn new(s: &str) -> Self { + pub fn new(s: impl Into) -> Self { use ThemePreference::*; - match s { + let s = s.into(); + match s.as_str() { "auto" => Auto(Default::default()), "auto:always" => Auto(DetectColorScheme::Always), "auto:system" => Auto(DetectColorScheme::System), @@ -134,11 +135,12 @@ pub enum ThemeName { impl ThemeName { /// Creates a theme name from a string. - pub fn new(s: &str) -> Self { + pub fn new(s: impl Into) -> Self { + let s = s.into(); if s == "default" { ThemeName::Default } else { - ThemeName::Named(s.to_owned()) + ThemeName::Named(s) } } } From ed7789d9b75cf55a6b598b2157bf634cfccb8e1c Mon Sep 17 00:00:00 2001 From: Mikael Vaaltola Date: Wed, 18 Sep 2024 12:51:43 +0300 Subject: [PATCH 042/189] Associate GeoJSON `.geojson` files with `json` syntax (fixes #3083) --- CHANGELOG.md | 1 + src/syntax_mapping/builtins/common/50-json.toml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea47b58f..243f7449 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ - Associate JSON with Comments `.jsonc` with `json` syntax, see #2795 (@mxaddict) - Associate JSON-LD `.jsonld` files with `json` syntax, see #3037 (@vorburger) - Associate `.textproto` files with `ProtoBuf` syntax, see #3038 (@vorburger) +- Associate GeoJSON `.geojson` files with `json` syntax, see #3084 (@mvaaltola) - Associate `.aws/{config,credentials}`, see #2795 (@mxaddict) - Associate Wireguard config `/etc/wireguard/*.conf`, see #2874 (@cyqsimon) - Add support for [CFML](https://www.adobe.com/products/coldfusion-family.html), see #3031 (@brenton-at-pieces) diff --git a/src/syntax_mapping/builtins/common/50-json.toml b/src/syntax_mapping/builtins/common/50-json.toml index 7d33b6fe..3198c4f3 100644 --- a/src/syntax_mapping/builtins/common/50-json.toml +++ b/src/syntax_mapping/builtins/common/50-json.toml @@ -1,3 +1,3 @@ # JSON Lines is a simple variation of JSON #2535 [mappings] -"JSON" = ["*.jsonl", "*.jsonc", "*.jsonld"] +"JSON" = ["*.jsonl", "*.jsonc", "*.jsonld", "*.geojson"] From a0226f5670506c8e691cf05f3a752d8a5b2eb0a5 Mon Sep 17 00:00:00 2001 From: flytam Date: Thu, 8 Aug 2024 20:34:48 +0800 Subject: [PATCH 043/189] Update Chinese version translation of README.md --- doc/README-zh.md | 50 ++++++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/doc/README-zh.md b/doc/README-zh.md index 007afb3e..9f2d202e 100644 --- a/doc/README-zh.md +++ b/doc/README-zh.md @@ -616,63 +616,59 @@ iconv -f ISO-8859-1 -t UTF-8 my-file.php | bat 注意: 当`bat`无法识别语言时你可能会需要`-l`/`--language`参数。 -## Development +## 开发 ```bash -# Recursive clone to retrieve all submodules +# 递归 clone 以获取所有子模块 git clone --recursive https://github.com/sharkdp/bat -# Build (debug version) +# 构建(调试版本) cd bat cargo build --bins -# Run unit tests and integration tests +# 运行单元测试和集成测试 cargo test -# Install (release version) +# 安装(发布版本) cargo install --path . --locked -# Build a bat binary with modified syntaxes and themes +# 使用修改后的语法和主题构建一个 bat 二进制文件 bash assets/create.sh cargo install --path . --locked --force ``` -If you want to build an application that uses `bat`s pretty-printing -features as a library, check out the [the API documentation](https://docs.rs/bat/). -Note that you have to use either `regex-onig` or `regex-fancy` as a feature -when you depend on `bat` as a library. +如果你想构建一个使用 `bat` 美化打印功能的应用程序,请查看 [API 文档](https://docs.rs/bat/)。请注意,当你依赖 `bat` 作为库时,必须使用 `regex-onig` 或 `regex-fancy` 作为特性。 -## Contributing +## 贡献指南 -Take a look at the [`CONTRIBUTING.md`](CONTRIBUTING.md) guide. +请查看 [`CONTRIBUTING.md`](CONTRIBUTING.md) 指南。 -## Maintainers +## 维护者 - [sharkdp](https://github.com/sharkdp) - [eth-p](https://github.com/eth-p) - [keith-hall](https://github.com/keith-hall) - [Enselic](https://github.com/Enselic) -## Security vulnerabilities +## 安全漏洞 -Please contact [David Peter](https://david-peter.de/) via email if you want to report a vulnerability in `bat`. +如果你想报告 `bat` 中的漏洞,请通过邮件联系 [David Peter](https://david-peter.de/)。 -## Project goals and alternatives +## 项目目标和替代方案 -`bat` tries to achieve the following goals: +`bat` 试图实现以下目标: -- Provide beautiful, advanced syntax highlighting -- Integrate with Git to show file modifications -- Be a drop-in replacement for (POSIX) `cat` -- Offer a user-friendly command-line interface +- 提供美观的高级语法高亮 +- 与 Git 集成以显示文件修改 +- 成为 (POSIX) `cat` 的替代品 +- 提供用户友好的命令行界面 -There are a lot of alternatives, if you are looking for similar programs. See -[this document](doc/alternatives.md) for a comparison. +如果你在寻找类似的程序,有很多替代方案。请参阅[本文档](doc/alternatives.md)进行比较。 -## License +## 许可证 -Copyright (c) 2018-2021 [bat-developers](https://github.com/sharkdp/bat). +版权所有 (c) 2018-2021 [bat-developers](https://github.com/sharkdp/bat)。 -`bat` is made available under the terms of either the MIT License or the Apache License 2.0, at your option. +`bat` 可根据 MIT 许可证或 Apache 许可证 2.0 的条款使用,任选其一。 -See the [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) files for license details. +有关许可证的详细信息,请参阅 [LICENSE-APACHE](LICENSE-APACHE) 和 [LICENSE-MIT](LICENSE-MIT) 文件。 From bc69ffb0f0732c64af5d7751e074e6bc17342c69 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 26 Sep 2024 21:06:07 +0200 Subject: [PATCH 044/189] Map `*.mkd` files to `Markdown` syntax (#3061) --- CHANGELOG.md | 1 + src/syntax_mapping/builtins/common/50-markdown.toml | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 src/syntax_mapping/builtins/common/50-markdown.toml diff --git a/CHANGELOG.md b/CHANGELOG.md index 243f7449..d2ec2da9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,6 +59,7 @@ - Associate `.aws/{config,credentials}`, see #2795 (@mxaddict) - Associate Wireguard config `/etc/wireguard/*.conf`, see #2874 (@cyqsimon) - Add support for [CFML](https://www.adobe.com/products/coldfusion-family.html), see #3031 (@brenton-at-pieces) +- Map `*.mkd` files to `Markdown` syntax, see issue #3060 and PR #3061 (@einfachIrgendwer0815) ## Themes diff --git a/src/syntax_mapping/builtins/common/50-markdown.toml b/src/syntax_mapping/builtins/common/50-markdown.toml new file mode 100644 index 00000000..aa0531d2 --- /dev/null +++ b/src/syntax_mapping/builtins/common/50-markdown.toml @@ -0,0 +1,2 @@ +[mappings] +"Markdown" = ["*.mkd"] From 9d635627dc27cddf3414b75b6e11abc3024a3950 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 02:40:45 +0000 Subject: [PATCH 045/189] Bump globset from 0.4.14 to 0.4.15 (#3090) Bumps [globset](https://github.com/BurntSushi/ripgrep) from 0.4.14 to 0.4.15. - [Release notes](https://github.com/BurntSushi/ripgrep/releases) - [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md) - [Commits](https://github.com/BurntSushi/ripgrep/compare/globset-0.4.14...ignore-0.4.15) --- updated-dependencies: - dependency-name: globset dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4fcb870b..7b992e72 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -583,9 +583,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" dependencies = [ "aho-corasick", "bstr", From 16a79d38c2ca82e4412d453ddfc44cdfe6367ebe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 03:02:02 +0000 Subject: [PATCH 046/189] Bump once_cell from 1.19.0 to 1.20.1 (#3091) Bumps [once_cell](https://github.com/matklad/once_cell) from 1.19.0 to 1.20.1. - [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md) - [Commits](https://github.com/matklad/once_cell/compare/v1.19.0...v1.20.1) --- updated-dependencies: - dependency-name: once_cell dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 13 +++++++++++-- Cargo.toml | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7b992e72..ff10f09c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -802,9 +802,12 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" +dependencies = [ + "portable-atomic", +] [[package]] name = "onig" @@ -894,6 +897,12 @@ dependencies = [ "time", ] +[[package]] +name = "portable-atomic" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" + [[package]] name = "powerfmt" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index 0740b291..cbb84a6c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,7 +46,7 @@ ansi_colours = "^1.2" bincode = "1.0" console = "0.15.8" flate2 = "1.0" -once_cell = "1.19" +once_cell = "1.20" thiserror = "1.0" wild = { version = "2.2", optional = true } content_inspector = "0.2.4" @@ -104,7 +104,7 @@ nix = { version = "0.26.4", default-features = false, features = ["term"] } anyhow = "1.0.86" indexmap = { version = "2.3.0", features = ["serde"] } itertools = "0.13.0" -once_cell = "1.18" +once_cell = "1.20" regex = "1.10.2" serde = "1.0" serde_derive = "1.0" From c59dad0cae45d7aa84ad87583d6b6904b30839b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 03:19:34 +0000 Subject: [PATCH 047/189] Bump git2 from 0.18.3 to 0.19.0 (#3092) Bumps [git2](https://github.com/rust-lang/git2-rs) from 0.18.3 to 0.19.0. - [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/git2-rs/compare/git2-0.18.3...git2-0.19.0) --- updated-dependencies: - dependency-name: git2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ff10f09c..e2f6ef7c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -564,9 +564,9 @@ dependencies = [ [[package]] name = "git2" -version = "0.18.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" +checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" dependencies = [ "bitflags 2.4.0", "libc", @@ -694,9 +694,9 @@ checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" [[package]] name = "libgit2-sys" -version = "0.16.2+1.7.2" +version = "0.17.0+1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8" +checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" dependencies = [ "cc", "libc", diff --git a/Cargo.toml b/Cargo.toml index cbb84a6c..f5ef6af9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -70,7 +70,7 @@ os_str_bytes = { version = "~7.0", optional = true } run_script = { version = "^0.10.1", optional = true} [dependencies.git2] -version = "0.18" +version = "0.19" optional = true default-features = false From 61c9f312c9d10103b33b7d8069401304ca938f06 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 03:36:57 +0000 Subject: [PATCH 048/189] Bump flate2 from 1.0.30 to 1.0.34 (#3093) Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.30 to 1.0.34. - [Release notes](https://github.com/rust-lang/flate2-rs/releases) - [Changelog](https://github.com/rust-lang/flate2-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.30...1.0.34) --- updated-dependencies: - dependency-name: flate2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e2f6ef7c..42db6b5f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3,10 +3,10 @@ version = 3 [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aho-corasick" @@ -489,9 +489,9 @@ checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" dependencies = [ "crc32fast", "miniz_oxide", @@ -752,11 +752,11 @@ checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] From 3e5f4266ce4c7245650f1fc1cdb465b7c0b80700 Mon Sep 17 00:00:00 2001 From: Matt Helsley Date: Thu, 3 Oct 2024 16:08:07 -0700 Subject: [PATCH 049/189] Fix lessopen feature RawOsString API changed in os_str_bytes 7.0.0 and bat no longer builds with the lessopen feature because: - ::from_string() is deprecated and says to use new(). The documentation says that new(), like from_string() no longer needs to copy the string. - ::assert_from_raw_vec() is no longer merely deprecated and now requires selecting the "conversions" feature of os_str_bytes. Replaces PR#2938 --- Cargo.toml | 2 +- src/lessopen.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f5ef6af9..d5b61566 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ minimal-application = [ ] git = ["git2"] # Support indicating git modifications paging = ["shell-words", "grep-cli"] # Support applying a pager on the output -lessopen = ["run_script", "os_str_bytes"] # Support $LESSOPEN preprocessor +lessopen = ["run_script", "os_str_bytes/conversions"] # Support $LESSOPEN preprocessor build-assets = ["syntect/yaml-load", "syntect/plist-load", "regex", "walkdir"] # You need to use one of these if you depend on bat as a library: diff --git a/src/lessopen.rs b/src/lessopen.rs index c8f5225d..4d7e0ece 100644 --- a/src/lessopen.rs +++ b/src/lessopen.rs @@ -112,7 +112,7 @@ impl LessOpenPreprocessor { } ( - RawOsString::from_string(lessopen_stdout), + RawOsString::new(lessopen_stdout), path_str.to_string(), OpenedInputKind::OrdinaryFile(path.to_path_buf()), ) From 9a816c9c68728b077f342147482fc3242bf50238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaras=C5=82a=C5=AD=20Viktor=C4=8Dyk?= Date: Sun, 13 Oct 2024 11:46:53 +0200 Subject: [PATCH 050/189] Add syntax mapping for CITATION.cff --- CHANGELOG.md | 1 + src/syntax_mapping/builtins/common/50-citation.toml | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 src/syntax_mapping/builtins/common/50-citation.toml diff --git a/CHANGELOG.md b/CHANGELOG.md index d2ec2da9..20aea9ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,6 +60,7 @@ - Associate Wireguard config `/etc/wireguard/*.conf`, see #2874 (@cyqsimon) - Add support for [CFML](https://www.adobe.com/products/coldfusion-family.html), see #3031 (@brenton-at-pieces) - Map `*.mkd` files to `Markdown` syntax, see issue #3060 and PR #3061 (@einfachIrgendwer0815) +- Add syntax mapping for CITATION.cff, see #3103 (@Ugzuzg) ## Themes diff --git a/src/syntax_mapping/builtins/common/50-citation.toml b/src/syntax_mapping/builtins/common/50-citation.toml new file mode 100644 index 00000000..aa06b5b9 --- /dev/null +++ b/src/syntax_mapping/builtins/common/50-citation.toml @@ -0,0 +1,2 @@ +[mappings] +"YAML" = ["CITATION.cff"] From fd6c7637e49d6ff1f7f475943685c1b3aab5c76a Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Sat, 21 Oct 2023 21:58:57 +0200 Subject: [PATCH 051/189] Partially revert "Make -pp override --paging and vice versa when passed as a later argument. (#2660)" This partially reverts commit e2bf85e749d87459e3fced697af5cd9cc96eeb8c. --- src/bin/bat/clap_app.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/bin/bat/clap_app.rs b/src/bin/bat/clap_app.rs index 33dde980..c0669c0f 100644 --- a/src/bin/bat/clap_app.rs +++ b/src/bin/bat/clap_app.rs @@ -81,7 +81,6 @@ pub fn build_app(interactive_output: bool) -> Command { Arg::new("plain") .overrides_with("plain") .overrides_with("number") - .overrides_with("paging") .short('p') .long("plain") .action(ArgAction::Count) @@ -306,7 +305,6 @@ pub fn build_app(interactive_output: bool) -> Command { .long("paging") .overrides_with("paging") .overrides_with("no-paging") - .overrides_with("plain") .value_name("when") .value_parser(["auto", "never", "always"]) .default_value("auto") From e667415deff1a8150db6cc1fc5e8db701827261d Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Sat, 21 Oct 2023 22:16:59 +0200 Subject: [PATCH 052/189] Add tests against issue #2731 --- tests/integration_tests.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index c083a941..2a192cdb 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -1020,6 +1020,31 @@ fn enable_pager_if_pp_flag_comes_before_paging() { .stdout(predicate::eq("pager-output\n").normalize()); } +#[test] +fn paging_does_not_override_simple_plain() { + bat() + .env("PAGER", "echo pager-output") + .arg("--decorations=always") + .arg("--plain") + .arg("--paging=never") + .arg("test.txt") + .assert() + .success() + .stdout(predicate::eq("hello world\n")); +} + +#[test] +fn simple_plain_does_not_override_paging() { + bat() + .env("PAGER", "echo pager-output") + .arg("--paging=always") + .arg("--plain") + .arg("test.txt") + .assert() + .success() + .stdout(predicate::eq("pager-output\n")); +} + #[test] fn pager_failed_to_parse() { bat() From c9fd0f3cf0e042c1c070e01e06bc8249b35a644a Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Fri, 18 Oct 2024 11:43:33 +0200 Subject: [PATCH 053/189] Add partial override of -pp and --paging --- src/bin/bat/app.rs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index d6628668..9a78c949 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -97,12 +97,30 @@ impl App { pub fn config(&self, inputs: &[Input]) -> Result { let style_components = self.style_components()?; + let extra_plain = self.matches.get_count("plain") > 1; + let plain_last_index = self + .matches + .indices_of("plain") + .and_then(Iterator::max) + .unwrap_or_default(); + let paging_last_index = self + .matches + .indices_of("paging") + .and_then(Iterator::max) + .unwrap_or_default(); + let paging_mode = match self.matches.get_one::("paging").map(|s| s.as_str()) { - Some("always") => PagingMode::Always, + Some("always") => { + // Disable paging if the second -p (or -pp) is specified after --paging=always + if extra_plain && plain_last_index > paging_last_index { + PagingMode::Never + } else { + PagingMode::Always + } + } Some("never") => PagingMode::Never, Some("auto") | None => { // If we have -pp as an option when in auto mode, the pager should be disabled. - let extra_plain = self.matches.get_count("plain") > 1; if extra_plain || self.matches.get_flag("no-paging") { PagingMode::Never } else if inputs.iter().any(Input::is_stdin) { From ac082ab64b3536d463ec922c838474f8979f1726 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Fri, 18 Oct 2024 12:44:53 +0200 Subject: [PATCH 054/189] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2ec2da9..a0e46c13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - Fix handling of inputs with combined ANSI color and attribute sequences, see #2185 and #2856 (@eth-p) - Fix panel width when line 10000 wraps, see #2854 (@eth-p) - Fix compile issue of `time` dependency caused by standard library regression #3045 (@cyqsimon) +- Fix override behavior of --plain and --paging, see issue #2731 and PR #3108 (@einfachIrgendwer0815) ## Other From b93a41a9a3c1af60bdf7f2dcd56d0d5d14aab429 Mon Sep 17 00:00:00 2001 From: kojix2 <2xijok@gmail.com> Date: Sun, 11 Aug 2024 00:26:33 +0900 Subject: [PATCH 055/189] Add print_with_writer to PrettyPrint --- src/pretty_printer.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/pretty_printer.rs b/src/pretty_printer.rs index eb123ea3..aa06a78b 100644 --- a/src/pretty_printer.rs +++ b/src/pretty_printer.rs @@ -279,6 +279,11 @@ impl<'a> PrettyPrinter<'a> { /// If you want to call 'print' multiple times, you have to call the appropriate /// input_* methods again. pub fn print(&mut self) -> Result { + self.print_with_writer(None::<&mut dyn std::fmt::Write>) + } + + /// Pretty-print all specified inputs to a specified writer. + pub fn print_with_writer(&mut self, writer: Option) -> Result { let highlight_lines = std::mem::take(&mut self.highlighted_lines); self.config.highlighted_lines = HighlightedLineRanges(LineRanges::from(highlight_lines)); self.config.term_width = self @@ -315,7 +320,13 @@ impl<'a> PrettyPrinter<'a> { // Run the controller let controller = Controller::new(&self.config, &self.assets); - controller.run(inputs.into_iter().map(|i| i.into()).collect(), None) + + // If writer is provided, pass it to the controller, otherwise pass None + if let Some(mut w) = writer { + controller.run(inputs.into_iter().map(|i| i.into()).collect(), Some(&mut w)) + } else { + controller.run(inputs.into_iter().map(|i| i.into()).collect(), None) + } } } From c533a4aa146f3d623d7f8f113b13e08abae849d9 Mon Sep 17 00:00:00 2001 From: kojix2 <2xijok@gmail.com> Date: Wed, 23 Oct 2024 21:42:02 +0900 Subject: [PATCH 056/189] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c404042f..67c9ee19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,6 +72,7 @@ - [BREAKING] `SyntaxMapping::mappings` is replaced by `SyntaxMapping::{builtin,custom,all}_mappings` - Make `Controller::run_with_error_handler`'s error handler `FnMut`, see #2831 (@rhysd) - Improve compile time by 20%, see #2815 (@dtolnay) +- Add `PrettyPrinter::print_with_writer` for custom output destinations, see #3070 (@kojix2) # v0.24.0 From 649fb05c5859a2dca61bed165ba9965c0ac5a667 Mon Sep 17 00:00:00 2001 From: Fabio Valentini Date: Thu, 24 Oct 2024 01:17:17 +0200 Subject: [PATCH 057/189] Bump nix from 0.26.4 to 0.29 --- CHANGELOG.md | 1 + Cargo.lock | 17 ++++++++++++----- Cargo.toml | 2 +- tests/integration_tests.rs | 5 ++--- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c404042f..55879dce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ - Use bat's ANSI iterator during tab expansion, see #2998 (@eth-p) - Support 'statically linked binary' for aarch64 in 'Release' page, see #2992 (@tzq0301) - Update options in shell completions and the man page of `bat`, see #2995 (@akinomyoga) +- Update nix dev-dependency to v0.29.0, see #3112 (@decathorpe) ## Syntaxes diff --git a/Cargo.lock b/Cargo.lock index 42db6b5f..0e3b3418 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -243,6 +243,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "clap" version = "4.4.12" @@ -688,9 +694,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libgit2-sys" @@ -761,12 +767,13 @@ dependencies = [ [[package]] name = "nix" -version = "0.26.4" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "cfg-if", + "cfg_aliases", "libc", ] diff --git a/Cargo.toml b/Cargo.toml index f5ef6af9..b8fcbcbe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -98,7 +98,7 @@ tempfile = "3.8.1" serde = { version = "1.0", features = ["derive"] } [target.'cfg(unix)'.dev-dependencies] -nix = { version = "0.26.4", default-features = false, features = ["term"] } +nix = { version = "0.29", default-features = false, features = ["term"] } [build-dependencies] anyhow = "1.0.86" diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index c083a941..13b35718 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -9,7 +9,6 @@ use tempfile::tempdir; mod unix { pub use std::fs::File; pub use std::io::{self, Write}; - pub use std::os::unix::io::FromRawFd; pub use std::path::PathBuf; pub use std::process::Stdio; pub use std::thread; @@ -416,8 +415,8 @@ fn no_args_doesnt_break() { // not exit, because in this case it is safe to read and write to the same fd, which is why // this test exists. let OpenptyResult { master, slave } = openpty(None, None).expect("Couldn't open pty."); - let mut master = unsafe { File::from_raw_fd(master) }; - let stdin_file = unsafe { File::from_raw_fd(slave) }; + let mut master = File::from(master); + let stdin_file = File::from(slave); let stdout_file = stdin_file.try_clone().unwrap(); let stdin = Stdio::from(stdin_file); let stdout = Stdio::from(stdout_file); From 50428443423a22685ec9f3ba8e4586a4ab419315 Mon Sep 17 00:00:00 2001 From: Pratik Munot Date: Tue, 29 Oct 2024 21:34:47 -0700 Subject: [PATCH 058/189] Adding pipe delimeter support for csv files --- assets/syntaxes/02_Extra/CSV.sublime-syntax | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/assets/syntaxes/02_Extra/CSV.sublime-syntax b/assets/syntaxes/02_Extra/CSV.sublime-syntax index cca7cd2c..0ad17834 100644 --- a/assets/syntaxes/02_Extra/CSV.sublime-syntax +++ b/assets/syntaxes/02_Extra/CSV.sublime-syntax @@ -7,14 +7,14 @@ file_extensions: - tsv scope: text.csv variables: - field_separator: (?:[,;\t]) + field_separator: (?:[,;|\t]) record_separator: (?:$\n?) contexts: prototype: - match: (?={{record_separator}}) pop: true fields: - - match: '' + - match: "" push: - field_or_record_separator - field4 @@ -26,15 +26,15 @@ contexts: - field1 main: - meta_include_prototype: false - - match: '^' + - match: "^" set: fields field_or_record_separator: - meta_include_prototype: false - - match: '{{record_separator}}' + - match: "{{record_separator}}" scope: punctuation.terminator.record.csv pop: true - - match: '{{field_separator}}' + - match: "{{field_separator}}" scope: punctuation.separator.sequence.csv pop: true @@ -56,23 +56,22 @@ contexts: pop: true field1: - - match: '' + - match: "" set: - meta_content_scope: meta.field-1.csv support.type - include: field_contents field2: - - match: '' + - match: "" set: - meta_content_scope: meta.field-2.csv support.function - include: field_contents field3: - - match: '' + - match: "" set: - meta_content_scope: meta.field-3.csv constant.numeric - include: field_contents field4: - - match: '' + - match: "" set: - meta_content_scope: meta.field-4.csv keyword.operator - include: field_contents - From 1942d40863472ea78603cf21ffa69ef49b335ad2 Mon Sep 17 00:00:00 2001 From: Pratik Munot Date: Tue, 29 Oct 2024 22:36:43 -0700 Subject: [PATCH 059/189] changelog updates --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55879dce..633af5ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -62,6 +62,7 @@ - Add support for [CFML](https://www.adobe.com/products/coldfusion-family.html), see #3031 (@brenton-at-pieces) - Map `*.mkd` files to `Markdown` syntax, see issue #3060 and PR #3061 (@einfachIrgendwer0815) - Add syntax mapping for kubernetes config files #3049 (@cyqsimon) +- Adds support for pipe delimiter for CSV #3115 (@pratik-m) ## Themes From 9090fb75e0ae7772aa09b698a10a4f5fb04a4143 Mon Sep 17 00:00:00 2001 From: Jacek Generowicz Date: Fri, 26 Apr 2024 16:19:07 +0200 Subject: [PATCH 060/189] Make .debdiff imply .diff using syntax_mapping toml Closes #2940 --- src/syntax_mapping/builtins/unix-family/50-diff.toml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/syntax_mapping/builtins/unix-family/50-diff.toml diff --git a/src/syntax_mapping/builtins/unix-family/50-diff.toml b/src/syntax_mapping/builtins/unix-family/50-diff.toml new file mode 100644 index 00000000..2998d9c5 --- /dev/null +++ b/src/syntax_mapping/builtins/unix-family/50-diff.toml @@ -0,0 +1,3 @@ +# .debdiff is the extension used for diffs in Debian packaging +[mappings] +"Diff" = ["*.debdiff"] From d0ae2e6826caf0e7701be7751989827b371b4bba Mon Sep 17 00:00:00 2001 From: Jacek Generowicz Date: Fri, 26 Apr 2024 16:30:39 +0200 Subject: [PATCH 061/189] Add CHANGELOG entry for .debdiff => diff --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e45f1bb1..5326de59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -114,6 +114,7 @@ - Update `Julia` syntax, see #2553 (@dependabot) - add `NSIS` support, see #2577 (@idleberg) - Update `ssh-config`, see #2697 (@mrmeszaros) +- Add syntax mapping `*.debdiff` => `diff`, see #2947 (@jacg) ## `bat` as a library From 0a8bfc52a6337828eb0d58a49006437d44ac5647 Mon Sep 17 00:00:00 2001 From: Jacek Generowicz Date: Wed, 15 May 2024 09:07:44 +0200 Subject: [PATCH 062/189] Move from unix-family to common --- src/syntax_mapping/builtins/{unix-family => common}/50-diff.toml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/syntax_mapping/builtins/{unix-family => common}/50-diff.toml (100%) diff --git a/src/syntax_mapping/builtins/unix-family/50-diff.toml b/src/syntax_mapping/builtins/common/50-diff.toml similarity index 100% rename from src/syntax_mapping/builtins/unix-family/50-diff.toml rename to src/syntax_mapping/builtins/common/50-diff.toml From c627526f8c18ba1a1e630770b7627c159b545962 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 03:57:52 +0000 Subject: [PATCH 063/189] Bump clircle from 0.5.0 to 0.6.0 (#3117) Bumps [clircle](https://github.com/niklasmohrin/clircle) from 0.5.0 to 0.6.0. - [Release notes](https://github.com/niklasmohrin/clircle/releases) - [Commits](https://github.com/niklasmohrin/clircle/compare/v0.5.0...v0.6.0) --- updated-dependencies: - dependency-name: clircle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 5 ++--- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0e3b3418..a9b6f7dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -279,12 +279,11 @@ checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "clircle" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0b92245ea62a7a751db4b0e4a583f8978e508077ef6de24fcc0d0dc5311a8d" +checksum = "e136d50bd652710f1d86259a8977263d46bef0ab782a8bfc3887e44338517015" dependencies = [ "cfg-if", - "libc", "serde", "serde_derive", "winapi", diff --git a/Cargo.toml b/Cargo.toml index b8fcbcbe..a6c410b9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -58,7 +58,7 @@ serde_derive = "1.0" serde_yaml = "0.9.28" semver = "1.0" path_abs = { version = "0.5", default-features = false } -clircle = "0.5" +clircle = "0.6" bugreport = { version = "0.5.0", optional = true } etcetera = { version = "0.8.0", optional = true } grep-cli = { version = "0.1.10", optional = true } From e7bef716c9ade4641f2b92e992b56837bc1d019d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 04:23:23 +0000 Subject: [PATCH 064/189] Bump encoding_rs from 0.8.34 to 0.8.35 (#3119) Bumps [encoding_rs](https://github.com/hsivonen/encoding_rs) from 0.8.34 to 0.8.35. - [Commits](https://github.com/hsivonen/encoding_rs/compare/v0.8.34...v0.8.35) --- updated-dependencies: - dependency-name: encoding_rs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a9b6f7dd..f8356339 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -421,9 +421,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] diff --git a/Cargo.toml b/Cargo.toml index a6c410b9..ccc4ced7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,7 +65,7 @@ grep-cli = { version = "0.1.10", optional = true } regex = { version = "1.10.2", optional = true } walkdir = { version = "2.5", optional = true } bytesize = { version = "1.3.0" } -encoding_rs = "0.8.34" +encoding_rs = "0.8.35" os_str_bytes = { version = "~7.0", optional = true } run_script = { version = "^0.10.1", optional = true} From 6b2c5645d251d2f3c5f58f889b8a63cf4c7ffa56 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 04:46:28 +0000 Subject: [PATCH 065/189] Bump toml from 0.8.9 to 0.8.19 (#3121) Bumps [toml](https://github.com/toml-rs/toml) from 0.8.9 to 0.8.19. - [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.9...toml-v0.8.19) --- updated-dependencies: - dependency-name: toml dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 20 ++++++++++---------- Cargo.toml | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f8356339..f6fedcbf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1146,9 +1146,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -1392,9 +1392,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "toml" -version = "0.8.9" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6a4b9e8023eb94392d3dca65d717c53abc5dad49c07cb65bb8fcd87115fa325" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "indexmap", "serde", @@ -1405,18 +1405,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.21.1" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap", "serde", @@ -1746,9 +1746,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index ccc4ced7..6714e6c4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -109,7 +109,7 @@ regex = "1.10.2" serde = "1.0" serde_derive = "1.0" serde_with = { version = "3.8.1", default-features = false, features = ["macros"] } -toml = { version = "0.8.9", features = ["preserve_order"] } +toml = { version = "0.8.19", features = ["preserve_order"] } walkdir = "2.5" [build-dependencies.clap] From dbaa0a6d9eea7a594b56b535574be30b077a7a12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 05:02:22 +0000 Subject: [PATCH 066/189] Bump grep-cli from 0.1.10 to 0.1.11 (#3120) Bumps [grep-cli](https://github.com/BurntSushi/ripgrep) from 0.1.10 to 0.1.11. - [Release notes](https://github.com/BurntSushi/ripgrep/releases) - [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md) - [Commits](https://github.com/BurntSushi/ripgrep/compare/grep-cli-0.1.10...0.1.11) --- updated-dependencies: - dependency-name: grep-cli dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f6fedcbf..0f242845 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -601,9 +601,9 @@ dependencies = [ [[package]] name = "grep-cli" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea40788c059ab8b622c4d074732750bfb3bd2912e2dd58eabc11798a4d5ad725" +checksum = "47f1288f0e06f279f84926fa4c17e3fcd2a22b357927a82f2777f7be26e4cec0" dependencies = [ "bstr", "globset", diff --git a/Cargo.toml b/Cargo.toml index 6714e6c4..67327460 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -61,7 +61,7 @@ path_abs = { version = "0.5", default-features = false } clircle = "0.6" bugreport = { version = "0.5.0", optional = true } etcetera = { version = "0.8.0", optional = true } -grep-cli = { version = "0.1.10", optional = true } +grep-cli = { version = "0.1.11", optional = true } regex = { version = "1.10.2", optional = true } walkdir = { version = "2.5", optional = true } bytesize = { version = "1.3.0" } From f8f12a7db579ede8bd4598d384fde768bf055377 Mon Sep 17 00:00:00 2001 From: David Peter Date: Sun, 10 Nov 2024 20:02:58 +0100 Subject: [PATCH 067/189] Update sponsorship information --- README.md | 6 +++--- doc/sponsors/warp-logo.png | Bin 80535 -> 132621 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 016fe834..4ffd7fe9 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,11 @@ A special *thank you* goes to our biggest sponsors Warp
- Warp is a modern, Rust-based terminal with AI built in
so you and your team can build great software, faster.
+ Warp, the intelligent terminal
- Feel more productive on the command line with parameterized commands, + Run commands like a power user with AI and your dev team’s
- autosuggestions, and an IDE-like text editor. + knowledge in one fast, intuitive terminal. For MacOS or Linux.
### Syntax highlighting diff --git a/doc/sponsors/warp-logo.png b/doc/sponsors/warp-logo.png index 4795a2b97a7ece92c764e94edfcb4dc30273e5d3..f99dd38ceea805656daea5cd80c3525dbd307b71 100644 GIT binary patch literal 132621 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 k$@@B)IBe@Pl;6bAZ|msXLgl`skZAEg!r?*IS* From 15f2553a3d7fdb1d7c2a6be7d3bed175b6dd1c8d Mon Sep 17 00:00:00 2001 From: volklord <20864876+volklord@users.noreply.github.com> Date: Wed, 7 Aug 2024 15:31:56 +0200 Subject: [PATCH 068/189] bat.zsh.in: Remove duplicate word Remove the duplicate word `disable disable` --- assets/completions/bat.zsh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/completions/bat.zsh.in b/assets/completions/bat.zsh.in index 7d03abb3..e98dbbe4 100644 --- a/assets/completions/bat.zsh.in +++ b/assets/completions/bat.zsh.in @@ -26,7 +26,7 @@ _{{PROJECT_EXECUTABLE}}_main() { args=( '(-A --show-all)'{-A,--show-all}'[show non-printable characters (space, tab, newline, ..)]' --nonprintable-notation='[specify how to display non-printable characters when using --show-all]:notation:(caret unicode)' - \*{-p,--plain}'[show plain style (alias for `--style=plain`), repeat twice to disable disable automatic paging (alias for `--paging=never`)]' + \*{-p,--plain}'[show plain style (alias for `--style=plain`), repeat twice to disable automatic paging (alias for `--paging=never`)]' '(-l --language)'{-l+,--language=}'[set the language for syntax highlighting]:language:->languages' \*{-H+,--highlight-line=}'[highlight specified block of lines]:start\:end' \*--file-name='[specify the name to display for a file]:name:_files' From 2caeaef14bec10565a62451d92dd92362b483275 Mon Sep 17 00:00:00 2001 From: Adam Perkowski Date: Sun, 6 Oct 2024 18:20:43 +0200 Subject: [PATCH 069/189] =?UTF-8?q?=F0=9F=93=94=20docs:=20mention=20`BAT?= =?UTF-8?q?=5FCONFIG=5FDIR`=20in=20the=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4ffd7fe9..14c264a8 100644 --- a/README.md +++ b/README.md @@ -693,10 +693,11 @@ on your operating system. To get the default path for your system, call bat --config-file ``` -Alternatively, you can use the `BAT_CONFIG_PATH` environment variable to point `bat` to a -non-default location of the configuration file: +Alternatively, you can use `BAT_CONFIG_PATH` or `BAT_CONFIG_DIR` environment variables to point `bat` +to a non-default location of the configuration file or the configuration directory respectively: ```bash -export BAT_CONFIG_PATH="/path/to/bat.conf" +export BAT_CONFIG_PATH="/path/to/bat/bat.conf" +export BAT_CONFIG_DIR="/path/to/bat" ``` A default configuration file can be created with the `--generate-config-file` option. From 57a8b1088306acfbe300e43a254beef3114abadd Mon Sep 17 00:00:00 2001 From: Cosmic Horror Date: Sun, 30 Jun 2024 16:03:17 -0600 Subject: [PATCH 070/189] Bump themes/Nord-submlime from `0d655b2` `bf92a9e` --- assets/themes/Nord-sublime | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/themes/Nord-sublime b/assets/themes/Nord-sublime index 0d655b23..bf92a9e4 160000 --- a/assets/themes/Nord-sublime +++ b/assets/themes/Nord-sublime @@ -1 +1 @@ -Subproject commit 0d655b23d6b300e691676d9b90a68d92b267f7ec +Subproject commit bf92a9e4457dc2f97efebc59bbeac95933ec6515 From d27064cea5797f4d4a1e9299674ad56dd7846f91 Mon Sep 17 00:00:00 2001 From: binchengqu Date: Thu, 21 Nov 2024 11:55:43 +0800 Subject: [PATCH 071/189] chore: remove redundant word in comment Signed-off-by: binchengqu --- src/theme.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/theme.rs b/src/theme.rs index 9fbef238..5863bf85 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -164,7 +164,7 @@ impl fmt::Display for ThemeName { #[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash)] pub enum DetectColorScheme { - /// Only query the terminal for its colors when appropriate (i.e. when the the output is not redirected). + /// Only query the terminal for its colors when appropriate (i.e. when the output is not redirected). #[default] Auto, /// Always query the terminal for its colors. From d832367d9543cc8db92ced7916da800aed8f7587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20P=C3=A9rez-Garc=C3=ADa?= Date: Fri, 22 Nov 2024 22:39:35 +0000 Subject: [PATCH 072/189] Use TOML syntax highlighting for uv.lock --- assets/syntaxes/02_Extra/TOML | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/syntaxes/02_Extra/TOML b/assets/syntaxes/02_Extra/TOML index fd0bf3e5..f5a57e8b 160000 --- a/assets/syntaxes/02_Extra/TOML +++ b/assets/syntaxes/02_Extra/TOML @@ -1 +1 @@ -Subproject commit fd0bf3e5d6c9e6397c0dc9639a0514d9bf55b800 +Subproject commit f5a57e8bff694a4e6c52a491dae579aabc7427cf From 4bee858c78cb39ea113f0dba0a801f118a1edc91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20P=C3=A9rez-Garc=C3=ADa?= Date: Fri, 22 Nov 2024 22:50:53 +0000 Subject: [PATCH 073/189] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c0f591b..02239b20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,6 +68,7 @@ - Add syntax mapping for kubernetes config files #3049 (@cyqsimon) - Adds support for pipe delimiter for CSV #3115 (@pratik-m) - Add syntax mapping for `/etc/pacman.conf` #2961 (@cyqsimon) +- Associate `uv.lock` with `TOML` syntax, see #3130 (@fepegar) ## Themes From 1063264d886a28b2e45717d8a5fabbc058e97fd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20P=C3=A9rez-Garc=C3=ADa?= Date: Sun, 24 Nov 2024 08:14:24 +0000 Subject: [PATCH 074/189] Replace issue number with pull request number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02239b20..c0934f8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,7 +68,7 @@ - Add syntax mapping for kubernetes config files #3049 (@cyqsimon) - Adds support for pipe delimiter for CSV #3115 (@pratik-m) - Add syntax mapping for `/etc/pacman.conf` #2961 (@cyqsimon) -- Associate `uv.lock` with `TOML` syntax, see #3130 (@fepegar) +- Associate `uv.lock` with `TOML` syntax, see #3132 (@fepegar) ## Themes From f87157d009b97436c9b4fe7419a54ab3a7c017ef Mon Sep 17 00:00:00 2001 From: Leo <13928879+leo9800@users.noreply.github.com> Date: Sun, 1 Dec 2024 11:15:17 +0800 Subject: [PATCH 075/189] Update syntax mapping for apache conf --- src/syntax_mapping/builtins/unix-family/50-apache.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/syntax_mapping/builtins/unix-family/50-apache.toml b/src/syntax_mapping/builtins/unix-family/50-apache.toml index dfb920f3..7394dafc 100644 --- a/src/syntax_mapping/builtins/unix-family/50-apache.toml +++ b/src/syntax_mapping/builtins/unix-family/50-apache.toml @@ -1,2 +1,2 @@ [mappings] -"Apache Conf" = ["/etc/apache2/**/*.conf", "/etc/apache2/sites-*/**/*"] +"Apache Conf" = ["/etc/apache2/**/*.conf", "/etc/apache2/sites-*/**/*", "/etc/httpd/conf/**/*.conf"] From 4be55ead4dcfee0706f0d95ef83f82c97f3d777c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 04:05:04 +0000 Subject: [PATCH 076/189] Bump flate2 from 1.0.34 to 1.0.35 (#3136) Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.0.34 to 1.0.35. - [Release notes](https://github.com/rust-lang/flate2-rs/releases) - [Changelog](https://github.com/rust-lang/flate2-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.34...1.0.35) --- updated-dependencies: - dependency-name: flate2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a6d47a19..0a9bc051 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -495,9 +495,9 @@ checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "flate2" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", "miniz_oxide", From 6c25c693a85a8b95ad0e46e7a33f4df7fe940dc2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 04:30:40 +0000 Subject: [PATCH 077/189] Bump regex from 1.10.2 to 1.10.6 (#3137) Bumps [regex](https://github.com/rust-lang/regex) from 1.10.2 to 1.10.6. - [Release notes](https://github.com/rust-lang/regex/releases) - [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/regex/compare/1.10.2...1.10.6) --- updated-dependencies: - dependency-name: regex dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0a9bc051..a0380e63 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1047,9 +1047,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -1059,9 +1059,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", diff --git a/Cargo.toml b/Cargo.toml index cd59aef7..2acf3063 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,7 +62,7 @@ clircle = "0.6" bugreport = { version = "0.5.0", optional = true } etcetera = { version = "0.8.0", optional = true } grep-cli = { version = "0.1.11", optional = true } -regex = { version = "1.10.2", optional = true } +regex = { version = "1.10.6", optional = true } walkdir = { version = "2.5", optional = true } bytesize = { version = "1.3.0" } encoding_rs = "0.8.35" @@ -106,7 +106,7 @@ anyhow = "1.0.86" indexmap = { version = "2.3.0", features = ["serde"] } itertools = "0.13.0" once_cell = "1.20" -regex = "1.10.2" +regex = "1.10.6" serde = "1.0" serde_derive = "1.0" serde_with = { version = "3.8.1", default-features = false, features = ["macros"] } From f1c5c027133a80b925628d1056ca163f224eed80 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 04:47:55 +0000 Subject: [PATCH 078/189] Bump once_cell from 1.20.1 to 1.20.2 (#3139) Bumps [once_cell](https://github.com/matklad/once_cell) from 1.20.1 to 1.20.2. - [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md) - [Commits](https://github.com/matklad/once_cell/compare/v1.20.1...v1.20.2) --- updated-dependencies: - dependency-name: once_cell dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a0380e63..bd8d5f47 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -827,12 +827,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.1" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" -dependencies = [ - "portable-atomic", -] +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "onig" @@ -922,12 +919,6 @@ dependencies = [ "time", ] -[[package]] -name = "portable-atomic" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" - [[package]] name = "powerfmt" version = "0.2.0" From f81d4dc32153288e09c1fab0e576e6cef0f81f67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 05:00:43 +0000 Subject: [PATCH 079/189] Bump terminal-colorsaurus from 0.4.4 to 0.4.7 (#3140) Bumps [terminal-colorsaurus](https://github.com/bash/terminal-colorsaurus) from 0.4.4 to 0.4.7. - [Release notes](https://github.com/bash/terminal-colorsaurus/releases) - [Changelog](https://github.com/bash/terminal-colorsaurus/blob/main/changelog.md) - [Commits](https://github.com/bash/terminal-colorsaurus/compare/0.4.4...0.4.7) --- updated-dependencies: - dependency-name: terminal-colorsaurus dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 75 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bd8d5f47..5ba2efa2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1320,26 +1320,27 @@ dependencies = [ [[package]] name = "terminal-colorsaurus" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f99bb1dc5cde9eada5a8f466641240f9d5b9f55291d675df4160b097fbfa42e" +checksum = "858625398bdd5da7a96e8ad33a10031a50c3a5ad50d5aaa81a2827369a9c216c" dependencies = [ "cfg-if", "libc", "memchr", "mio", "terminal-trx", + "windows-sys 0.59.0", ] [[package]] name = "terminal-trx" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d4c86910e10c782a02d3b7606de43cf7ebd80e1fafdca8e49a0db2b0d4611f0" +checksum = "57a5b836e7f4f81afe61b5cd399eee774f25edcfd47009a76e29f53bb6487833" dependencies = [ "cfg-if", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1604,7 +1605,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -1639,17 +1649,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -1666,9 +1677,9 @@ checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -1684,9 +1695,9 @@ checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -1702,9 +1713,15 @@ checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -1720,9 +1737,9 @@ checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -1738,9 +1755,9 @@ checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -1756,9 +1773,9 @@ checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -1774,9 +1791,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" From dbe25ba5e6d8a73a784530757cfb137beb22825a Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Fri, 15 Nov 2024 19:43:39 +0100 Subject: [PATCH 080/189] Include shell completions in the executable --- build/application.rs | 17 +++++++++++++++++ doc/long-help.txt | 3 +++ doc/short-help.txt | 2 ++ src/bin/bat/clap_app.rs | 11 +++++++++++ src/bin/bat/completions.rs | 6 ++++++ src/bin/bat/main.rs | 14 ++++++++++++++ 6 files changed, 53 insertions(+) create mode 100644 src/bin/bat/completions.rs diff --git a/build/application.rs b/build/application.rs index 459aa5b1..addbae0e 100644 --- a/build/application.rs +++ b/build/application.rs @@ -63,5 +63,22 @@ pub fn gen_man_and_comp() -> anyhow::Result<()> { out_dir.join("assets/completions/bat.zsh"), )?; + println!( + "cargo:rustc-env=BAT_GENERATED_COMPLETION_BASH={}", + out_dir.join("assets/completions/bat.bash").display() + ); + println!( + "cargo:rustc-env=BAT_GENERATED_COMPLETION_FISH={}", + out_dir.join("assets/completions/bat.fish").display() + ); + println!( + "cargo:rustc-env=BAT_GENERATED_COMPLETION_PS1={}", + out_dir.join("assets/completions/_bat.ps1").display() + ); + println!( + "cargo:rustc-env=BAT_GENERATED_COMPLETION_ZSH={}", + out_dir.join("assets/completions/bat.zsh").display() + ); + Ok(()) } diff --git a/doc/long-help.txt b/doc/long-help.txt index 85d595b9..17d3395b 100644 --- a/doc/long-help.txt +++ b/doc/long-help.txt @@ -202,6 +202,9 @@ Options: This option exists for POSIX-compliance reasons ('u' is for 'unbuffered'). The output is always unbuffered - this option is simply ignored. + --completion + Show shell completion for a certain shell. [possible values: bash, fish, zsh, ps1] + --diagnostic Show diagnostic information for bug reports. diff --git a/doc/short-help.txt b/doc/short-help.txt index ba06ef30..d67a51d0 100644 --- a/doc/short-help.txt +++ b/doc/short-help.txt @@ -58,6 +58,8 @@ Options: Only print the lines from N to M. -L, --list-languages Display all supported languages. + --completion + Show shell completion for a certain shell. [possible values: bash, fish, zsh, ps1] -h, --help Print help (see more with '--help') -V, --version diff --git a/src/bin/bat/clap_app.rs b/src/bin/bat/clap_app.rs index f5e3948e..de2db078 100644 --- a/src/bin/bat/clap_app.rs +++ b/src/bin/bat/clap_app.rs @@ -564,6 +564,17 @@ pub fn build_app(interactive_output: bool) -> Command { .help("Do not load custom assets"), ); + #[cfg(feature = "application")] + { + app = app.arg( + Arg::new("completion") + .long("completion") + .value_name("SHELL") + .value_parser(["bash", "fish", "ps1", "zsh"]) + .help("Show shell completion for a certain shell. [possible values: bash, fish, zsh, ps1]"), + ); + } + #[cfg(feature = "lessopen")] { app = app diff --git a/src/bin/bat/completions.rs b/src/bin/bat/completions.rs new file mode 100644 index 00000000..9b63a3e9 --- /dev/null +++ b/src/bin/bat/completions.rs @@ -0,0 +1,6 @@ +use std::env; + +pub const BASH_COMPLETION: &str = include_str!(env!("BAT_GENERATED_COMPLETION_BASH")); +pub const FISH_COMPLETION: &str = include_str!(env!("BAT_GENERATED_COMPLETION_FISH")); +pub const PS1_COMPLETION: &str = include_str!(env!("BAT_GENERATED_COMPLETION_PS1")); +pub const ZSH_COMPLETION: &str = include_str!(env!("BAT_GENERATED_COMPLETION_ZSH")); diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index 7b7bafe6..253c3885 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -3,6 +3,8 @@ mod app; mod assets; mod clap_app; +#[cfg(feature = "application")] +mod completions; mod config; mod directories; mod input; @@ -347,6 +349,18 @@ fn run() -> Result { return Ok(true); } + #[cfg(feature = "application")] + if let Some(shell) = app.matches.get_one::("completion") { + match shell.as_str() { + "bash" => println!("{}", completions::BASH_COMPLETION), + "fish" => println!("{}", completions::FISH_COMPLETION), + "ps1" => println!("{}", completions::PS1_COMPLETION), + "zsh" => println!("{}", completions::ZSH_COMPLETION), + _ => unreachable!("No completion for shell '{}' available.", shell), + } + return Ok(true); + } + match app.matches.subcommand() { Some(("cache", cache_matches)) => { // If there is a file named 'cache' in the current working directory, From 04c7d1508437aeb43e25c6adb2f5253c2dd9c176 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Fri, 15 Nov 2024 19:48:41 +0100 Subject: [PATCH 081/189] Mention --completion in the README --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index c09d0e36..cbe9d886 100644 --- a/README.md +++ b/README.md @@ -465,6 +465,12 @@ cargo install --locked bat Note that additional files like the man page or shell completion files can not be installed in this way. They will be generated by `cargo` and should be available in the cargo target folder (under `build`). +Shell completions are also available by running: +```bash +bat --completion +# see --help for supported shells +``` + ## Customization ### Highlighting theme From 7eff8b687cce603dc04cb199501d41bd5d4d30ad Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Sat, 16 Nov 2024 13:05:35 +0100 Subject: [PATCH 082/189] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0934f8a..4941340e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - Add or remove individual style components without replacing all styles #2929 (@eth-p) - Automatically choose theme based on the terminal's color scheme, see #2896 (@bash) - Add option `--binary=as-text` for printing binary content, see issue #2974 and PR #2976 (@einfachIrgendwer0815) +- Make shell completions available via `--completion `, see issue #2057 and PR #3126 (@einfachIrgendwer0815) ## Bugfixes From 9859077306e5218dc7fdff380b1f0428ea37e006 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Mon, 25 Nov 2024 21:53:25 +0200 Subject: [PATCH 083/189] Build with MacOS 13 instead of 12 MacOS 12 is deprecated in GitHub Actions and no longer usable --- .github/workflows/CICD.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 68515f3d..c2a5694b 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -170,7 +170,7 @@ jobs: - { target: i686-pc-windows-msvc , os: windows-2019, } - { target: i686-unknown-linux-gnu , os: ubuntu-20.04, dpkg_arch: i686, use-cross: true } - { target: i686-unknown-linux-musl , os: ubuntu-20.04, dpkg_arch: musl-linux-i686, use-cross: true } - - { target: x86_64-apple-darwin , os: macos-12, } + - { target: x86_64-apple-darwin , os: macos-13, } - { target: aarch64-apple-darwin , os: macos-14, } - { target: x86_64-pc-windows-gnu , os: windows-2019, } - { target: x86_64-pc-windows-msvc , os: windows-2019, } From 004d2d51224a3d3e8a69e5a2ebabb433b0a53090 Mon Sep 17 00:00:00 2001 From: Denis Buzdalov Date: Tue, 17 Dec 2024 13:49:23 +0300 Subject: [PATCH 084/189] [ readme ] Correct and update one readme's translation --- doc/README-ru.md | 179 ++++++++++++++++++++++++++++++----------------- 1 file changed, 116 insertions(+), 63 deletions(-) diff --git a/doc/README-ru.md b/doc/README-ru.md index 4ed91cb1..cce67046 100644 --- a/doc/README-ru.md +++ b/doc/README-ru.md @@ -3,11 +3,11 @@ Build Status license Version info
- Клон утилиты cat(1) с поддержкой выделения синтаксиса и Git + Клон утилиты cat(1) с поддержкой подсветки синтаксиса и Git

- Ключевые возможности • + Ключевые возможностиИспользованиеУстановкаКастомизация • @@ -19,11 +19,11 @@ [Русский]

-### Выделение синтаксиса +### Подсветка синтаксиса -`bat` поддерживает выделение синтаксиса для огромного количества языков программирования и разметки: +`bat` поддерживает подсветку синтаксиса для огромного количества языков программирования и разметки: -![Пример выделения синтаксиса](https://i.imgur.com/3FGy5tW.png) +![Пример подсветки синтаксиса](https://i.imgur.com/3FGy5tW.png) ### Интеграция с Git `bat` использует `git`, чтобы показать изменения в коде @@ -31,15 +31,17 @@ ![Пример интеграции с Git](https://i.imgur.com/azUAzdx.png) -### Показать непечатаемые символы +### Показ непечатных символов -Вы можете использовать `-A` / `--show-all` флаг, чтобы показать символы, которые невозможно напечатать: +Вы можете использовать флаг `-A` / `--show-all`, чтобы показать непечатные символы: ![Строка с неотображемыми символами](https://i.imgur.com/X0orYY9.png) -### Автоматическое разделение текста +### Автоматический пейджинг терминала -`bat` умеет перенаправлять вывод в `less`, если вывод не помещается на экране полностью. +`bat` умеет перенаправлять вывод в пейджер терминала (например, в `less`), если вывод не помещается на экране полностью. +Если вы хотите, чтобы `bat` работал как `cat` всё время, вы можете установить опцию `--paging=never` в командной строке или в конфигурационном файле. +Если вы намерены использовать `bat` в качестве алиаса для `cat`, вы можете установить `alias cat='bat --paging=never'`, чтобы сохранить изначальное поведение. ### Объединение файлов @@ -86,11 +88,23 @@ bat header.md content.md footer.md > document.md bat -n main.rs # показываем только количество строк -bat f - g # выводит 'f' в stdin, а потом 'g'. +bat f - g # выводит 'f', потом stdin, а потом 'g'. ``` ### Интеграция с другими утилитами +#### `fzf` + +Вы можете использовать `bat` как просмотрщик для [`fzf`](https://github.com/junegunn/fzf). +Чтобы это заработало, используйте опцию `--color=always`, чтобы вывод был всегда цветным. +Вы можете также использовать опцию `--line-range`, чтобы уменьшить время загрузки для больших файлов: + +```bash +fzf --preview "bat --color=always --style=numbers --line-range=:500 {}" +``` + +Больше деталей смотрите в [`README` программы `fzf`](https://github.com/junegunn/fzf#preview-window). + #### `find` или `fd` Вы можете использовать флаг `-exec` в `find`, чтобы посмотреть превью всех файлов в `bat` @@ -121,12 +135,22 @@ tail -f /var/log/pacman.log | bat --paging=never -l log #### `git` -Вы можете использовать `bat` с `git show`, чтобы просмотреть старую версию файла с выделением синтаксиса: +Вы можете использовать `bat` с `git show`, чтобы просмотреть старую версию файла с подсветкой синтаксиса: ```bash git show v0.6.0:src/main.rs | bat -l rs ``` -Обратите внимание, что выделение синтаксиса не работает в `git diff` на данный момент. Если вам это нужно, посмотрите [`delta`](https://github.com/dandavison/delta). +#### `git diff` + +Вы можете использовать `bat` с `git diff` для просмотра строк кода вокруг изменений с подсветкой синтаксиса: +```bash +batdiff() { + git diff --name-only --relative --diff-filter=d | xargs bat --diff +} +``` +Если вы хотите использовать это как отдельную программу, посмотрите `batdiff` из [`bat-extras`](https://github.com/eth-p/bat-extras). + +Если вам это нужна более полная поддержка для операций с git и diff, посмотрите [`delta`](https://github.com/dandavison/delta). #### `xclip` @@ -135,17 +159,18 @@ git show v0.6.0:src/main.rs | bat -l rs ```bash bat main.cpp | xclip ``` -`bat` обнаружит перенаправление вывода и выведет обычный текст без выделения синтаксиса. +`bat` обнаружит перенаправление вывода и выведет обычный текст без подсветки синтаксиса. #### `man` -`bat` может быть использован в виде выделения цвета для `man`, для этого установите переменную окружения +`bat` может быть использован для раскрашивания вывода `man`, для этого установите переменную окружения `MANPAGER`: ```bash export MANPAGER="sh -c 'col -bx | bat -l man -p'" man 2 select ``` +(замените `bat` на `batcat`, если у вас Debian или Ubuntu) Возможно вам понадобится также установить `MANROFFOPT="-c"`, если у вас есть проблемы с форматированием. @@ -153,10 +178,40 @@ man 2 select Обратите внимание, что [синтаксис manpage](assets/syntaxes/02_Extra/Manpage.sublime-syntax) разрабатывается в этом репозитории и все еще находится в разработке. +Также заметьте, что это [не заработает](https://github.com/sharkdp/bat/issues/1145) с реализацией `man` через Mandocs. + #### `prettier` / `shfmt` / `rustfmt` [`Prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) — скрипт, который форматирует код и выводит его с помощью `bat`. +#### Подсветка сообщений `--help` + +Вы можете использовать `bat`, чтобы подсвечивать текст справки комманд: `$ cp --help | bat -plhelp` + +Вы можете сделать такую вспомогательную команду для этого: + +```bash +# in your .bashrc/.zshrc/*rc +alias bathelp='bat --plain --language=help' +help() { + "$@" --help 2>&1 | bathelp +} +``` + +В этом случае, вы можете просто писать `$ help cp` или `$ help git commit`. + +Если вы используете `zsh`, вы можете объявить глобальные алиасы для `-h` и `--help`: + +```bash +alias -g -- -h='-h 2>&1 | bat --language=help --style=plain' +alias -g -- --help='--help 2>&1 | bat --language=help --style=plain' +``` + +В этом случае, вы можете продолжать использовать `cp --help`, но при этом получать подцвеченный вывод. + +Обратите внимание, что не всегда опция `-h` является краткой формы опции `--help` (например, у `ls`). + +Пожалуйста, сообщайте о проблемах с подсветкой справки в [этот репозиторий](https://github.com/victor-gp/cmd-help-sublime-syntax). ## Установка @@ -165,8 +220,7 @@ man 2 select ### Ubuntu (с помощью `apt`) *... и другие дистрибутивы основанные на Debian.* -`bat` есть в репозиториях [Ubuntu](https://packages.ubuntu.com/eoan/bat) и -[Debian](https://packages.debian.org/sid/bat) и доступен начиная с Ubuntu Eoan 19.10. На Debian `bat` пока что доступен только с нестабильной веткой "Sid". +`bat` доступен на [Ubuntu since 20.04 ("Focal")](https://packages.ubuntu.com/search?keywords=bat&exact=1) и [Debian since August 2021 (Debian 11 - "Bullseye")](https://packages.debian.org/bullseye/bat). Если ваша версия Ubuntu/Debian достаточно новая, вы можете установить `bat` так: @@ -245,6 +299,14 @@ cd /usr/ports/textproc/bat make install ``` +### On OpenBSD + +Вы можете установить `bat` с помощью [`pkg_add(1)`](https://man.openbsd.org/pkg_add.1): + +```bash +pkg_add bat +``` + ### С помощью nix Вы можете установить `bat`, используя [nix package manager](https://nixos.org/nix): @@ -253,6 +315,14 @@ make install nix-env -i bat ``` +### Через flox + +Вы можете установить `bat` используя [Flox](https://flox.dev) + +```bash +flox install bat +``` + ### openSUSE Вы можете установить `bat` с помощью `zypper`: @@ -261,7 +331,7 @@ nix-env -i bat zypper install bat ``` -### macOS +### На macOS (или Linux) через Homebrew Вы можете установить `bat` с помощью [Homebrew](http://braumeister.org/formula/bat): @@ -269,6 +339,8 @@ zypper install bat brew install bat ``` +### На macOS через MacPorts + Или же установить его с помощью [MacPorts](https://ports.macports.org/port/bat/summary): ```bash @@ -277,7 +349,19 @@ port install bat ### Windows -Есть несколько способов установить `bat`. Как только вы установили его, посмотрите на секцию ["Использование `bat` в Windows"](#using-bat-on-windows). +Есть несколько способов установить `bat`. Как только вы установили его, посмотрите на секцию ["Использование `bat` в Windows"](#использование-bat-в-windows). + +#### Пререквитизы + +Вам нужно установить пакет [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads). + +#### С помощью WinGet + +Вы можете установить `bat` через [WinGet](https://learn.microsoft.com/en-us/windows/package-manager/winget): + +```bash +winget install sharkdp.bat +``` #### С помощью Chocolatey @@ -293,50 +377,10 @@ choco install bat scoop install bat ``` -Для этого у вас должен быть установлен [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads). - #### Из заранее скомпилированных файлов: Их вы можете скачать на [странице релизов](https://github.com/sharkdp/bat/releases). -Для этого у вас должен быть установлен [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads). - -### С помощью Docker - -Вы можете использовать [Docker image](https://hub.docker.com/r/danlynn/bat/), чтобы запустить `bat` в контейнере: -```bash -docker pull danlynn/bat -alias bat='docker run -it --rm -e BAT_THEME -e BAT_STYLE -e BAT_TABS -v "$(pwd):/myapp" danlynn/bat' -``` - -### С помощью Ansible - -Вы можете установить `bat` с [Ansible](https://www.ansible.com/): - -```bash -# Устанавливаем роль на устройстве -ansible-galaxy install aeimer.install_bat -``` - -```yaml ---- -# Playbook для установки bat -- host: all - roles: - - aeimer.install_bat -``` - -- [Ansible Galaxy](https://galaxy.ansible.com/aeimer/install_bat) -- [GitHub](https://github.com/aeimer/ansible-install-bat) - -Этот способ должен сработать со следующими дистрибутивами: -- Debian/Ubuntu -- ARM (например Raspberry PI) -- Arch Linux -- Void Linux -- FreeBSD -- macOS - ### Из скомпилированных файлов Перейдите на [страницу релизов](https://github.com/sharkdp/bat/releases) для @@ -344,15 +388,24 @@ ansible-galaxy install aeimer.install_bat ### Из исходников -Если вы желаете установить `bat` из исходников, вам понадобится Rust 1.70.0 или выше. После этого используйте `cargo`, чтобы все скомпилировать: +Если вы желаете установить `bat` из исходников, вам понадобится Rust 1.70.0 или выше. После этого используйте `cargo`, чтобы всё скомпилировать: ```bash cargo install --locked bat ``` +Заметьте, что дополнительные файлы, такие как документация man и подсказки командной строки, не могут быть установлены таким способом. +Они будут сгенерированы командой `cargo` должны быть доступны в папке сборки (в `build`). + +Подсказки командной строки также доступны при таком запуске: +```bash +bat --completion +# see --help for supported shells +``` + ## Кастомизация -### Темы для выделения текста +### Темы для подсветки синтаксиса Используйте `bat --list-themes`, чтобы вывести список всех доступных тем. Для выбора темы `TwoDark` используйте `bat` с флагом `--theme=TwoDark` или выставьте переменную окружения `BAT_THEME` в `TwoDark`. Используйте `export BAT_THEME="TwoDark"` в конфигурационном файле вашей оболочки, чтобы изменить ее навсегда. Или же используйте [конфигурационный файл](https://github.com/sharkdp/bat#configuration-file) `bat`. @@ -372,7 +425,7 @@ bat --list-themes | fzf --preview="bat --theme={} --color=always /путь/к/ф ### Добавление новых синтаксисов -`bat` использует [`syntect`](https://github.com/trishume/syntect/) для выделения синтаксиса. `syntect` может читать +`bat` использует [`syntect`](https://github.com/trishume/syntect/) для подсветки синтаксиса. `syntect` может читать [файл `.sublime-syntax`](https://www.sublimetext.com/docs/3/syntax.html) и темы. Чтобы добавить новый синтаксис, сделайте следующее: @@ -403,7 +456,7 @@ bat cache --clear ### Добавление новых тем -Это работает похожим образом, так же как и добавление новых тем выделения синтаксиса +Это работает похожим образом, так же как и добавление новых тем подсветки синтаксиса Во-первых, создайте каталог с новыми темами для синтаксиса: ```bash @@ -590,7 +643,7 @@ cargo install --locked --force Есть очень много альтернатив `bat`. Смотрите [этот документ](doc/alternatives.md) для сравнения. ## Лицензия -Copyright (c) 2018-2021 [Разработчики bat](https://github.com/sharkdp/bat). +Copyright (c) 2018-2024 [Разработчики bat](https://github.com/sharkdp/bat). `bat` распространяется под лицензиями MIT License и Apache License 2.0 (на выбор пользователя). From 874448c112391bcb46a7026616bbabcb369b5ce2 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Thu, 26 Dec 2024 21:13:14 +0200 Subject: [PATCH 085/189] [CI] fix cargo audit failing to run --- .github/workflows/CICD.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index c2a5694b..660d2a34 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -153,6 +153,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - run: cargo install cargo-audit --locked - run: cargo audit build: From be62a4cea4f603a3bb74d1c43a98fd2bd9dd330c Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Thu, 26 Dec 2024 21:19:02 +0200 Subject: [PATCH 086/189] Upgrade clap to fix cargo audit failure on anstream 0.6.4 which is provided by clap 4.4.12 --- .github/workflows/CICD.yml | 2 +- Cargo.lock | 39 +++++++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 660d2a34..9a44b831 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -152,8 +152,8 @@ jobs: name: cargo audit runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - run: cargo install cargo-audit --locked + - uses: actions/checkout@v4 - run: cargo audit build: diff --git a/Cargo.lock b/Cargo.lock index 5ba2efa2..a7b39fce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,15 +28,16 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.4" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] @@ -66,12 +67,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.1" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -252,31 +253,31 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "clap" -version = "4.4.12" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d" +checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.4.12" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9" +checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim", + "strsim 0.11.1", "terminal_size", ] [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "clircle" @@ -347,7 +348,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim", + "strsim 0.10.0", "syn", ] @@ -668,6 +669,12 @@ dependencies = [ "serde", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.13.0" @@ -1252,6 +1259,12 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "syn" version = "2.0.57" From d660cca8a9903bb119b38153b3ac085cc151c92b Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Thu, 26 Dec 2024 21:30:16 +0200 Subject: [PATCH 087/189] Bump MSRV to 1.74 released over a year ago --- CHANGELOG.md | 1 + Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4941340e..16bbc522 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ - Support 'statically linked binary' for aarch64 in 'Release' page, see #2992 (@tzq0301) - Update options in shell completions and the man page of `bat`, see #2995 (@akinomyoga) - Update nix dev-dependency to v0.29.0, see #3112 (@decathorpe) +- Bump MSRV to [1.74](https://blog.rust-lang.org/2023/11/16/Rust-1.74.0.html), see #3154 (@keith-hall) ## Syntaxes diff --git a/Cargo.toml b/Cargo.toml index 2acf3063..6a17216a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ version = "0.24.0" exclude = ["assets/syntaxes/*", "assets/themes/*"] build = "build/main.rs" edition = '2021' -rust-version = "1.70" +rust-version = "1.74" [features] default = ["application"] From 63560c473396807d35e84dc1a4ca7457b98cc4e5 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Mon, 30 Dec 2024 20:53:31 +0200 Subject: [PATCH 088/189] add cargo audit config file ignore yaml-rust advisory for now --- .cargo/audit.toml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .cargo/audit.toml diff --git a/.cargo/audit.toml b/.cargo/audit.toml new file mode 100644 index 00000000..527afada --- /dev/null +++ b/.cargo/audit.toml @@ -0,0 +1,2 @@ +[advisories] +ignore = ["RUSTSEC-2024-0320"] From 75fadb8d1c7dd88e90c0e7a0fa7e56a780160c1d Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Mon, 30 Dec 2024 21:12:48 +0200 Subject: [PATCH 089/189] ignore warning for idna also --- .cargo/audit.toml | 2 +- Cargo.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.cargo/audit.toml b/.cargo/audit.toml index 527afada..90a57848 100644 --- a/.cargo/audit.toml +++ b/.cargo/audit.toml @@ -1,2 +1,2 @@ [advisories] -ignore = ["RUSTSEC-2024-0320"] +ignore = ["RUSTSEC-2024-0320", "RUSTSEC-2024-0421"] diff --git a/Cargo.lock b/Cargo.lock index a7b39fce..db7ff989 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -521,9 +521,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -650,9 +650,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -903,9 +903,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pkg-config" @@ -1475,9 +1475,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" @@ -1508,9 +1508,9 @@ checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b" [[package]] name = "url" -version = "2.3.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", From 3fa9044029d166201f44bafe17b25d0bfe2b2cb8 Mon Sep 17 00:00:00 2001 From: Lili Wilson Date: Wed, 25 Dec 2024 21:03:54 -0500 Subject: [PATCH 090/189] added patch for puppet syntax highlighting in markdown --- assets/patches/Markdown.sublime-syntax.patch | 26 ++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/assets/patches/Markdown.sublime-syntax.patch b/assets/patches/Markdown.sublime-syntax.patch index 600b6b11..a295334c 100644 --- a/assets/patches/Markdown.sublime-syntax.patch +++ b/assets/patches/Markdown.sublime-syntax.patch @@ -1,5 +1,5 @@ diff --git syntaxes/01_Packages/Markdown/Markdown.sublime-syntax syntaxes/01_Packages/Markdown/Markdown.sublime-syntax -index 19dc685d..44440c7f 100644 +index 19dc685d..3a45ea05 100644 --- syntaxes/01_Packages/Markdown/Markdown.sublime-syntax +++ syntaxes/01_Packages/Markdown/Markdown.sublime-syntax @@ -24,7 +24,6 @@ variables: @@ -166,7 +166,29 @@ index 19dc685d..44440c7f 100644 - match: ^\s*$\n? scope: invalid.illegal.non-terminated.bold-italic.markdown pop: true -@@ -1152,7 +1110,7 @@ contexts: +@@ -1073,6 +1031,21 @@ contexts: + escape: '{{code_fence_escape}}' + escape_captures: + 0: meta.code-fence.definition.end.python.markdown-gfm ++ 1: punctuation.definition.raw.code-fence.end.markdown ++ - match: |- ++ (?x) ++ {{fenced_code_block_start}} ++ ((?i:puppet)) ++ {{fenced_code_block_trailing_infostring_characters}} ++ captures: ++ 0: meta.code-fence.definition.begin.puppet.markdown-gfm ++ 2: punctuation.definition.raw.code-fence.begin.markdown ++ 5: constant.other.language-name.markdown ++ embed: scope:source.puppet ++ embed_scope: markup.raw.code-fence.puppet.markdown-gfm ++ escape: '{{code_fence_escape}}' ++ escape_captures: ++ 0: meta.code-fence.definition.end.puppet.markdown-gfm + 1: punctuation.definition.raw.code-fence.end.markdown + - match: |- + (?x) +@@ -1152,7 +1125,7 @@ contexts: - match: |- (?x) {{fenced_code_block_start}} From 9d91d22e29dd8be588908b67ff71db76c550e19d Mon Sep 17 00:00:00 2001 From: Lili Wilson Date: Wed, 25 Dec 2024 21:16:35 -0500 Subject: [PATCH 091/189] changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16bbc522..8c05a649 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - Automatically choose theme based on the terminal's color scheme, see #2896 (@bash) - Add option `--binary=as-text` for printing binary content, see issue #2974 and PR #2976 (@einfachIrgendwer0815) - Make shell completions available via `--completion `, see issue #2057 and PR #3126 (@einfachIrgendwer0815) +- Syntax highlighting for puppet code blocks within Markdown files, see #3152 (@liliwilson) ## Bugfixes From 7e804b27a019b5805c8ea04bfbd8c9b8d47e3bcc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 03:34:32 +0000 Subject: [PATCH 092/189] Bump console from 0.15.8 to 0.15.10 (#3159) Bumps [console](https://github.com/console-rs/console) from 0.15.8 to 0.15.10. - [Release notes](https://github.com/console-rs/console/releases) - [Changelog](https://github.com/console-rs/console/blob/main/CHANGELOG.md) - [Commits](https://github.com/console-rs/console/compare/0.15.8...0.15.10) --- updated-dependencies: - dependency-name: console dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 22 ++++++++++++++-------- Cargo.toml | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index db7ff989..d9cae483 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -153,7 +153,7 @@ dependencies = [ "terminal-colorsaurus", "thiserror", "toml", - "unicode-width", + "unicode-width 0.1.13", "wait-timeout", "walkdir", "wild", @@ -299,15 +299,15 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "console" -version = "0.15.8" +version = "0.15.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "unicode-width", - "windows-sys 0.52.0", + "once_cell", + "unicode-width 0.2.0", + "windows-sys 0.59.0", ] [[package]] @@ -417,9 +417,9 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoding_rs" @@ -1500,6 +1500,12 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +[[package]] +name = "unicode-width" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" + [[package]] name = "unsafe-libyaml" version = "0.2.10" diff --git a/Cargo.toml b/Cargo.toml index 6a17216a..7965ba44 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,7 +44,7 @@ regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine nu-ansi-term = "0.50.0" ansi_colours = "^1.2" bincode = "1.0" -console = "0.15.8" +console = "0.15.10" flate2 = "1.0" once_cell = "1.20" thiserror = "1.0" From 305e8a4d847ba2835126f7f7ed0b768e405f3a16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 03:57:42 +0000 Subject: [PATCH 093/189] Bump serde from 1.0.209 to 1.0.217 (#3160) Bumps [serde](https://github.com/serde-rs/serde) from 1.0.209 to 1.0.217. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.217) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d9cae483..1a2ab0c8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -970,9 +970,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -1132,18 +1132,18 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.209" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.209" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", @@ -1267,9 +1267,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.57" +version = "2.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11a6ae1e52eb25aab8f3fb9fca13be982a373b8f1157ca14b897a825ba4a2d35" +checksum = "9c786062daee0d6db1132800e623df74274a0a87322d8e183338e01b3d98d058" dependencies = [ "proc-macro2", "quote", From ad11fb815f6a29cd852b5bc2ca8d505aae48f864 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 04:15:10 +0000 Subject: [PATCH 094/189] Bump predicates from 3.1.0 to 3.1.3 (#3158) Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.1.0 to 3.1.3. - [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/assert-rs/predicates-rs/compare/v3.1.0...v3.1.3) --- updated-dependencies: - dependency-name: predicates dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1a2ab0c8..e8d458eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -506,9 +506,9 @@ dependencies = [ [[package]] name = "float-cmp" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +checksum = "b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8" dependencies = [ "num-traits", ] @@ -940,9 +940,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "predicates" -version = "3.1.0" +version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" dependencies = [ "anstyle", "difflib", diff --git a/Cargo.toml b/Cargo.toml index 7965ba44..95df8265 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -93,7 +93,7 @@ plist = "1.7.0" assert_cmd = "2.0.12" expect-test = "1.5.0" serial_test = { version = "2.0.0", default-features = false } -predicates = "3.1.0" +predicates = "3.1.3" wait-timeout = "0.2.0" tempfile = "3.8.1" serde = { version = "1.0", features = ["derive"] } From e2528dff6dd2d4c091bd4c6a198ef01d5a9ec3b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 04:30:15 +0000 Subject: [PATCH 095/189] Bump serde_with from 3.8.1 to 3.12.0 (#3162) Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.8.1 to 3.12.0. - [Release notes](https://github.com/jonasbb/serde_with/releases) - [Commits](https://github.com/jonasbb/serde_with/compare/v3.8.1...v3.12.0) --- updated-dependencies: - dependency-name: serde_with dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e8d458eb..e1b68ff6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1172,9 +1172,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.8.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" dependencies = [ "serde", "serde_derive", @@ -1183,9 +1183,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.8.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ "darling", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index 95df8265..86b76ace 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -109,7 +109,7 @@ once_cell = "1.20" regex = "1.10.6" serde = "1.0" serde_derive = "1.0" -serde_with = { version = "3.8.1", default-features = false, features = ["macros"] } +serde_with = { version = "3.12.0", default-features = false, features = ["macros"] } toml = { version = "0.8.19", features = ["preserve_order"] } walkdir = "2.5" From caba54efc9410f76d8f234247bee3f4076030f2d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 04:43:24 +0000 Subject: [PATCH 096/189] Bump clircle from 0.6.0 to 0.6.1 (#3161) Bumps [clircle](https://github.com/niklasmohrin/clircle) from 0.6.0 to 0.6.1. - [Release notes](https://github.com/niklasmohrin/clircle/releases) - [Commits](https://github.com/niklasmohrin/clircle/compare/v0.6.0...v0.6.1) --- updated-dependencies: - dependency-name: clircle dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e1b68ff6..77c0cf1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -281,14 +281,14 @@ checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "clircle" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e136d50bd652710f1d86259a8977263d46bef0ab782a8bfc3887e44338517015" +checksum = "7d9334f725b46fb9bed8580b9b47a932587e044fadb344ed7fa98774b067ac1a" dependencies = [ "cfg-if", "serde", "serde_derive", - "winapi", + "windows", ] [[package]] @@ -1600,6 +1600,59 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" +dependencies = [ + "windows-core", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.45.0" From b7b05a35532986d544a7a17fe3c2f1d390f903a8 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Mon, 30 Dec 2024 21:07:49 +0200 Subject: [PATCH 097/189] Fix for OPTIONS consisting of a plain dash --- assets/syntaxes/02_Extra/Manpage.sublime-syntax | 3 +++ assets/syntaxes/02_Extra/syntax_test_man.man | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/assets/syntaxes/02_Extra/Manpage.sublime-syntax b/assets/syntaxes/02_Extra/Manpage.sublime-syntax index 2475da8a..0779ce04 100644 --- a/assets/syntaxes/02_Extra/Manpage.sublime-syntax +++ b/assets/syntaxes/02_Extra/Manpage.sublime-syntax @@ -85,6 +85,9 @@ contexts: options: # command-line options like --option=value, --some-flag, or -x + - match: '^[ ]{7}(-)(?=\s)' + captures: + 1: entity.name.command-line-option.man - match: '^[ ]{7}(?=-|\+)' push: expect-command-line-option - match: '(?:[^a-zA-Z0-9_-]|^|\s){{command_line_option}}' diff --git a/assets/syntaxes/02_Extra/syntax_test_man.man b/assets/syntaxes/02_Extra/syntax_test_man.man index 01ce1c55..5dfee5be 100644 --- a/assets/syntaxes/02_Extra/syntax_test_man.man +++ b/assets/syntaxes/02_Extra/syntax_test_man.man @@ -131,6 +131,12 @@ OPTIONS # ^^ - variable output NUM (default 3) lines of copied context + - This is not really a switch, but indicates that standard input +# ^ entity.name.command-line-option.man +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - entity - variable + is coming from a file or a pipe and not interactively from the + command line. + EXAMPLE #include # ^^^^^^^^ source.c meta.preprocessor.include keyword.control.import.include From c8f778728103593222e1ebc7a23d742728360580 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 9 Jun 2024 06:08:02 +0300 Subject: [PATCH 098/189] Patch TwoDark theme for better Man page syntax highlighting --- assets/patches/TwoDark.tmTheme.patch | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/assets/patches/TwoDark.tmTheme.patch b/assets/patches/TwoDark.tmTheme.patch index 05f1fc69..b6570fbc 100644 --- a/assets/patches/TwoDark.tmTheme.patch +++ b/assets/patches/TwoDark.tmTheme.patch @@ -2,6 +2,24 @@ diff --git themes/TwoDark/TwoDark.tmTheme themes/TwoDark/TwoDark.tmTheme index 87fd358..56376d3 100644 --- themes/TwoDark/TwoDark.tmTheme +++ themes/TwoDark/TwoDark.tmTheme +@@ -125,7 +125,7 @@ + name + Classes + scope +- support.class, entity.name.class, entity.name.type.class ++ support.class, entity.name.class, entity.name.type.class, entity.name + settings + + foreground +@@ -290,7 +290,7 @@ + name + Headings + scope +- markup.heading punctuation.definition.heading, entity.name.section ++ markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown + settings + + fontStyle @@ -533,7 +533,7 @@ name Json key From 9744971b199ceac39a812a0db600cc0fdfcc2dcd Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 9 Jun 2024 06:52:21 +0300 Subject: [PATCH 099/189] Patch OneHalfDark theme for better Man page syntax highlighting --- assets/patches/OneHalfDark.tmTheme.patch | 47 ++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 assets/patches/OneHalfDark.tmTheme.patch diff --git a/assets/patches/OneHalfDark.tmTheme.patch b/assets/patches/OneHalfDark.tmTheme.patch new file mode 100644 index 00000000..1ac3e5e8 --- /dev/null +++ b/assets/patches/OneHalfDark.tmTheme.patch @@ -0,0 +1,47 @@ +diff --git themes/onehalf/sublimetext/OneHalfDark.tmTheme themes/onehalf/sublimetext/OneHalfDark.tmTheme +index b16050c..b021071 100644 +--- themes/onehalf/sublimetext/OneHalfDark.tmTheme ++++ themes/onehalf/sublimetext/OneHalfDark.tmTheme +@@ -28,7 +28,7 @@ + + + name +- OneHalfLight ++ OneHalfDark + semanticClass + theme.dark.one_half_dark + uuid +@@ -155,7 +155,7 @@ + name + Classes + scope +- support.class, entity.name.class, entity.name.type.class ++ support.class, entity.name.class, entity.name.type.class, entity.name + settings + + foreground +@@ -188,7 +188,7 @@ + name + Storage + scope +- storage ++ storage, meta.mapping.key string + settings + + foreground +@@ -309,7 +309,7 @@ + name + Markdown: Headings + scope +- markup.heading punctuation.definition.heading, entity.name.section ++ markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown + settings + + fontStyle +@@ -660,4 +660,4 @@ + + + +- +\ No newline at end of file ++ From 753bfaff4962a64884c7e1012eedf7f079fd289c Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 9 Jun 2024 08:58:42 +0300 Subject: [PATCH 100/189] Improve Ansi theme for better Man page syntax highlighting --- assets/themes/ansi.tmTheme | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/themes/ansi.tmTheme b/assets/themes/ansi.tmTheme index 957f42bb..f103b418 100644 --- a/assets/themes/ansi.tmTheme +++ b/assets/themes/ansi.tmTheme @@ -69,7 +69,7 @@ name Labels scope - entity.name.label + entity.name.label, variable.parameter settings foreground @@ -80,7 +80,7 @@ name Classes scope - support.class, entity.name.class, entity.name.type.class + support.class, entity.name.class, entity.name.type.class, entity.name settings foreground @@ -234,7 +234,7 @@ name Headings scope - markup.heading punctuation.definition.heading, entity.name.section + markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown settings fontStyle From 5a12f187fa5df90296682f74c39f8be7cf0dfffd Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 9 Jun 2024 09:02:05 +0300 Subject: [PATCH 101/189] Patch 1337 theme for better Man page syntax highlighting --- assets/patches/1337.tmTheme.patch | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 assets/patches/1337.tmTheme.patch diff --git a/assets/patches/1337.tmTheme.patch b/assets/patches/1337.tmTheme.patch new file mode 100644 index 00000000..b927a74f --- /dev/null +++ b/assets/patches/1337.tmTheme.patch @@ -0,0 +1,22 @@ +diff --git themes/1337-Scheme/1337.tmTheme themes/1337-Scheme/1337.tmTheme +index fdff5bf..8cfc888 100644 +--- themes/1337-Scheme/1337.tmTheme ++++ themes/1337-Scheme/1337.tmTheme +@@ -280,7 +280,7 @@ SOFTWARE. + name + PHP Namespaces + scope +- support.other.namespace, entity.name.type.namespace ++ support.other.namespace, entity.name.type.namespace, entity.name + settings + + foreground +@@ -561,7 +561,7 @@ SOFTWARE. + name + diff.header + scope +- meta.diff, meta.diff.header ++ meta.diff, meta.diff.header, markup.heading + settings + + foreground From 0d2afe79af9f9d93a49f9911274a896645aaa108 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 9 Jun 2024 09:05:19 +0300 Subject: [PATCH 102/189] Improve base16 themes for better Man page syntax highlighting --- assets/themes/base16-256.tmTheme | 4 ++-- assets/themes/base16.tmTheme | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/themes/base16-256.tmTheme b/assets/themes/base16-256.tmTheme index a4547e56..b64b444e 100644 --- a/assets/themes/base16-256.tmTheme +++ b/assets/themes/base16-256.tmTheme @@ -257,7 +257,7 @@ name Tags scope - entity.name.tag + entity.name.tag, entity.name settings foreground @@ -312,7 +312,7 @@ name Headings scope - markup.heading punctuation.definition.heading, entity.name.section + markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown settings fontStyle diff --git a/assets/themes/base16.tmTheme b/assets/themes/base16.tmTheme index 7b030068..b49f8117 100644 --- a/assets/themes/base16.tmTheme +++ b/assets/themes/base16.tmTheme @@ -256,7 +256,7 @@ name Tags scope - entity.name.tag + entity.name.tag, entity.name settings foreground @@ -311,7 +311,7 @@ name Headings scope - markup.heading punctuation.definition.heading, entity.name.section + markup.heading punctuation.definition.heading, entity.name.section, markup.heading - text.html.markdown settings fontStyle From 09bdcde6c5f3d8767e40cee2d60b26902600d6cb Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 9 Jun 2024 09:06:50 +0300 Subject: [PATCH 103/189] Update changelog to mention theme improvements for Manpage --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c05a649..fd30fa96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -75,6 +75,8 @@ ## Themes +- Patched/improved themes for better Manpage syntax highlighting support, see #2994 (@keith-hall). + ## `bat` as a library - Changes to `syntax_mapping::SyntaxMapping` #2755 (@cyqsimon) From 8453bc93cc4f1b86276660ce2c90fe24fb8180bb Mon Sep 17 00:00:00 2001 From: "Ethan P." Date: Mon, 12 Feb 2024 01:38:19 -0800 Subject: [PATCH 104/189] Update README steps for using bat as MANPAGER --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index cbe9d886..7c23c72d 100644 --- a/README.md +++ b/README.md @@ -204,19 +204,19 @@ bat main.cpp | xclip `MANPAGER` environment variable: ```bash -export MANPAGER="sh -c 'col -bx | bat -l man -p'" +export MANPAGER="sh -c 'sed -u -e \"s/\\x1B\[[0-9;]*m//g; s/.\\x08//g\" | bat -p -lman'" man 2 select ``` (replace `bat` with `batcat` if you are on Debian or Ubuntu) -It might also be necessary to set `MANROFFOPT="-c"` if you experience -formatting problems. - If you prefer to have this bundled in a new command, you can also use [`batman`](https://github.com/eth-p/bat-extras/blob/master/doc/batman.md). -Note that the [Manpage syntax](assets/syntaxes/02_Extra/Manpage.sublime-syntax) is developed in this repository and still needs some work. +> [!WARNING] +> This will [not work](https://github.com/sharkdp/bat/issues/1145) out of the box with Mandoc's `man` implementation. +> +> Please either use `batman`, or convert the shell script to a [shebang executable](https://en.wikipedia.org/wiki/Shebang_(Unix)) and point `MANPAGER` to that. -Also, note that this will [not work](https://github.com/sharkdp/bat/issues/1145) with Mandocs `man` implementation. +Note that the [Manpage syntax](assets/syntaxes/02_Extra/Manpage.sublime-syntax) is developed in this repository and still needs some work. #### `prettier` / `shfmt` / `rustfmt` From c9431933e58a41352774f77932ef63b75ca1ede7 Mon Sep 17 00:00:00 2001 From: Niklas Mohrin Date: Sun, 5 Jan 2025 16:46:55 +0100 Subject: [PATCH 105/189] Deactivate `clircle` default features and require 0.6.1 This release removes the dependency on `winapi`. --- CHANGELOG.md | 1 + Cargo.lock | 2 -- Cargo.toml | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd30fa96..46ad3058 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ - Update options in shell completions and the man page of `bat`, see #2995 (@akinomyoga) - Update nix dev-dependency to v0.29.0, see #3112 (@decathorpe) - Bump MSRV to [1.74](https://blog.rust-lang.org/2023/11/16/Rust-1.74.0.html), see #3154 (@keith-hall) +- Update clircle dependency to remove winapi transitive dependency, see #3113 (@niklasmohrin) ## Syntaxes diff --git a/Cargo.lock b/Cargo.lock index 77c0cf1a..ce266b29 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -286,8 +286,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9334f725b46fb9bed8580b9b47a932587e044fadb344ed7fa98774b067ac1a" dependencies = [ "cfg-if", - "serde", - "serde_derive", "windows", ] diff --git a/Cargo.toml b/Cargo.toml index 86b76ace..3b789bdd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -58,7 +58,7 @@ serde_derive = "1.0" serde_yaml = "0.9.28" semver = "1.0" path_abs = { version = "0.5", default-features = false } -clircle = "0.6" +clircle = { version = "0.6.1", default-features = false } bugreport = { version = "0.5.0", optional = true } etcetera = { version = "0.8.0", optional = true } grep-cli = { version = "0.1.11", optional = true } From 7bf459f0ffb52fc3abb56531862d2569025b282c Mon Sep 17 00:00:00 2001 From: Anomalocaridid <29845794+Anomalocaridid@users.noreply.github.com> Date: Sat, 16 Dec 2023 17:54:49 -0500 Subject: [PATCH 106/189] replace run_script with execute --- Cargo.lock | 126 ++++++++++++++++++++--------------------------------- Cargo.toml | 5 +-- 2 files changed, 50 insertions(+), 81 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ce266b29..7a1ba1d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -124,6 +124,7 @@ dependencies = [ "content_inspector", "encoding_rs", "etcetera", + "execute", "expect-test", "flate2", "git2", @@ -135,12 +136,10 @@ dependencies = [ "nix", "nu-ansi-term", "once_cell", - "os_str_bytes", "path_abs", "plist", "predicates", "regex", - "run_script", "semver", "serde", "serde_derive", @@ -401,12 +400,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" -[[package]] -name = "dunce" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" - [[package]] name = "either" version = "1.8.0" @@ -466,6 +459,43 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "execute" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a82608ee96ce76aeab659e9b8d3c2b787bffd223199af88c674923d861ada10" +dependencies = [ + "execute-command-macro", + "execute-command-tokens", + "generic-array", +] + +[[package]] +name = "execute-command-macro" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90dec53d547564e911dc4ff3ecb726a64cf41a6fa01a2370ebc0d95175dd08bd" +dependencies = [ + "execute-command-macro-impl", +] + +[[package]] +name = "execute-command-macro-impl" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8cd46a041ad005ab9c71263f9a0ff5b529eac0fe4cc9b4a20f4f0765d8cf4b" +dependencies = [ + "execute-command-tokens", + "quote", + "syn", +] + +[[package]] +name = "execute-command-tokens" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69dc321eb6be977f44674620ca3aa21703cb20ffbe560e1ae97da08401ffbcad" + [[package]] name = "expect-test" version = "1.5.0" @@ -527,24 +557,12 @@ dependencies = [ ] [[package]] -name = "fsio" -version = "0.4.0" +name = "generic-array" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad0ce30be0cc441b325c5d705c8b613a0ca0d92b6a8953d41bd236dc09a36d0" +checksum = "2cb8bc4c28d15ade99c7e90b219f30da4be5c88e586277e8cbe886beeb868ab2" dependencies = [ - "dunce", - "rand", -] - -[[package]] -name = "getrandom" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" -dependencies = [ - "cfg-if", - "libc", - "wasi", + "typenum", ] [[package]] @@ -858,15 +876,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "os_str_bytes" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ac44c994af577c799b1b4bd80dc214701e349873ad894d6cdf96f4f7526e0b9" -dependencies = [ - "memchr", -] - [[package]] name = "parking_lot" version = "0.12.1" @@ -930,12 +939,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - [[package]] name = "predicates" version = "3.1.3" @@ -993,36 +996,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -1079,15 +1052,6 @@ dependencies = [ "bytemuck", ] -[[package]] -name = "run_script" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829f98fdc58d78989dd9af83be28bc15c94a7d77f9ecdb54abbbc0b1829ba9c7" -dependencies = [ - "fsio", -] - [[package]] name = "rustix" version = "0.38.21" @@ -1471,6 +1435,12 @@ dependencies = [ "winnow", ] +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + [[package]] name = "unicode-bidi" version = "0.3.18" diff --git a/Cargo.toml b/Cargo.toml index 3b789bdd..f81e0858 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ minimal-application = [ ] git = ["git2"] # Support indicating git modifications paging = ["shell-words", "grep-cli"] # Support applying a pager on the output -lessopen = ["run_script", "os_str_bytes/conversions"] # Support $LESSOPEN preprocessor +lessopen = ["execute"] # Support $LESSOPEN preprocessor build-assets = ["syntect/yaml-load", "syntect/plist-load", "regex", "walkdir"] # You need to use one of these if you depend on bat as a library: @@ -66,8 +66,7 @@ regex = { version = "1.10.6", optional = true } walkdir = { version = "2.5", optional = true } bytesize = { version = "1.3.0" } encoding_rs = "0.8.35" -os_str_bytes = { version = "~7.0", optional = true } -run_script = { version = "^0.10.1", optional = true} +execute = { version = "0.2.13", optional = true } terminal-colorsaurus = "0.4" [dependencies.git2] From de8bb79a6fad60a5e2854be30fda61239eb574b5 Mon Sep 17 00:00:00 2001 From: Anomalocaridid <29845794+Anomalocaridid@users.noreply.github.com> Date: Sat, 16 Dec 2023 17:55:04 -0500 Subject: [PATCH 107/189] refactor lessopen implementation --- src/lessopen.rs | 150 ++++++++++++++++++++++-------------------------- 1 file changed, 69 insertions(+), 81 deletions(-) diff --git a/src/lessopen.rs b/src/lessopen.rs index 4d7e0ece..cf004d49 100644 --- a/src/lessopen.rs +++ b/src/lessopen.rs @@ -3,13 +3,12 @@ use std::convert::TryFrom; use std::env; use std::fs::File; -use std::io::{BufRead, BufReader, Cursor, Read, Write}; +use std::io::{BufRead, BufReader, Cursor, Read}; use std::path::PathBuf; -use std::str; +use std::process::{ExitStatus, Stdio}; use clircle::{Clircle, Identifier}; -use os_str_bytes::RawOsString; -use run_script::{IoOptions, ScriptOptions}; +use execute::{shell, Execute}; use crate::error::Result; use crate::{ @@ -21,7 +20,6 @@ use crate::{ pub(crate) struct LessOpenPreprocessor { lessopen: String, lessclose: Option, - command_options: ScriptOptions, kind: LessOpenKind, /// Whether or not data piped via stdin is to be preprocessed preprocess_stdin: bool, @@ -52,7 +50,7 @@ impl LessOpenPreprocessor { // Otherwise, if output is empty and exit code is nonzero, use original file contents let (kind, lessopen) = if lessopen.starts_with("||") { (LessOpenKind::Piped, lessopen.chars().skip(2).collect()) - // "|" means pipe, but ignore exit code, always using preprocessor output + // "|" means pipe as above, but ignore exit code and always use preprocessor output even if empty } else if lessopen.starts_with('|') { ( LessOpenKind::PipedIgnoreExitCode, @@ -70,16 +68,9 @@ impl LessOpenPreprocessor { (false, lessopen) }; - let mut command_options = ScriptOptions::new(); - command_options.runner = env::var("SHELL").ok(); - command_options.input_redirection = IoOptions::Pipe; - Ok(Self { - lessopen: lessopen.replacen("%s", "$1", 1), - lessclose: env::var("LESSCLOSE") - .ok() - .map(|str| str.replacen("%s", "$1", 1).replacen("%s", "$2", 1)), - command_options, + lessopen, + lessclose: env::var("LESSCLOSE").ok(), kind, preprocess_stdin: stdin, }) @@ -98,21 +89,21 @@ impl LessOpenPreprocessor { None => return input.open(stdin, stdout_identifier), }; - let (exit_code, lessopen_stdout, _) = match run_script::run( - &self.lessopen, - &vec![path_str.to_string()], - &self.command_options, - ) { + let mut lessopen_command = shell(self.lessopen.replacen("%s", path_str, 1)); + lessopen_command.stdout(Stdio::piped()); + + let lessopen_output = match lessopen_command.execute_output() { Ok(output) => output, Err(_) => return input.open(stdin, stdout_identifier), }; - if self.fall_back_to_original_file(&lessopen_stdout, exit_code) { + if self.fall_back_to_original_file(&lessopen_output.stdout, lessopen_output.status) + { return input.open(stdin, stdout_identifier); } ( - RawOsString::new(lessopen_stdout), + lessopen_output.stdout, path_str.to_string(), OpenedInputKind::OrdinaryFile(path.to_path_buf()), ) @@ -127,47 +118,31 @@ impl LessOpenPreprocessor { } } - // stdin isn't Clone, so copy it to a cloneable buffer + // stdin isn't Clone or AsRef<[u8]>, so move it into a cloneable buffer + // so the data can be used multiple times if necessary + // NOTE: stdin will be empty from this point onwards let mut stdin_buffer = Vec::new(); - stdin.read_to_end(&mut stdin_buffer).unwrap(); + stdin.read_to_end(&mut stdin_buffer)?; - let mut lessopen_handle = match run_script::spawn( - &self.lessopen, - &vec!["-".to_string()], - &self.command_options, - ) { - Ok(handle) => handle, - Err(_) => { - return input.open(stdin, stdout_identifier); - } - }; + let mut lessopen_command = shell(self.lessopen.replacen("%s", "-", 1)); + lessopen_command.stdout(Stdio::piped()); - if lessopen_handle - .stdin - .as_mut() - .unwrap() - .write_all(&stdin_buffer.clone()) - .is_err() + let lessopen_output = match lessopen_command.execute_input_output(&stdin_buffer) { - return input.open(stdin, stdout_identifier); - } - - let lessopen_output = match lessopen_handle.wait_with_output() { Ok(output) => output, Err(_) => { return input.open(Cursor::new(stdin_buffer), stdout_identifier); } }; - if lessopen_output.stdout.is_empty() - && (!lessopen_output.status.success() - || matches!(self.kind, LessOpenKind::PipedIgnoreExitCode)) + if self + .fall_back_to_original_file(&lessopen_output.stdout, lessopen_output.status) { return input.open(Cursor::new(stdin_buffer), stdout_identifier); } ( - RawOsString::assert_from_raw_vec(lessopen_output.stdout), + lessopen_output.stdout, "-".to_string(), OpenedInputKind::StdIn, ) @@ -184,13 +159,17 @@ impl LessOpenPreprocessor { kind, reader: InputReader::new(BufReader::new( if matches!(self.kind, LessOpenKind::TempFile) { - // Remove newline at end of temporary file path returned by $LESSOPEN - let stdout = match lessopen_stdout.strip_suffix("\n") { - Some(stripped) => stripped.to_owned(), - None => lessopen_stdout, + let lessopen_string = match String::from_utf8(lessopen_stdout) { + Ok(string) => string, + Err(_) => { + return input.open(stdin, stdout_identifier); + } + }; + // Remove newline at end of temporary file path returned by $LESSOPEN + let stdout = match lessopen_string.strip_suffix("\n") { + Some(stripped) => stripped.to_owned(), + None => lessopen_string, }; - - let stdout = stdout.into_os_string(); let file = match File::open(PathBuf::from(&stdout)) { Ok(file) => file, @@ -201,16 +180,18 @@ impl LessOpenPreprocessor { Preprocessed { kind: PreprocessedKind::TempFile(file), - lessclose: self.lessclose.clone(), - command_args: vec![path_str, stdout.to_str().unwrap().to_string()], - command_options: self.command_options.clone(), + lessclose: self + .lessclose + .as_ref() + .map(|s| s.replacen("%s", &path_str, 1).replacen("%s", &stdout, 1)), } } else { Preprocessed { - kind: PreprocessedKind::Piped(Cursor::new(lessopen_stdout.into_raw_vec())), - lessclose: self.lessclose.clone(), - command_args: vec![path_str, "-".to_string()], - command_options: self.command_options.clone(), + kind: PreprocessedKind::Piped(Cursor::new(lessopen_stdout)), + lessclose: self + .lessclose + .as_ref() + .map(|s| s.replacen("%s", &path_str, 1).replacen("%s", "-", 1)), } }, )), @@ -219,9 +200,9 @@ impl LessOpenPreprocessor { }) } - fn fall_back_to_original_file(&self, lessopen_output: &str, exit_code: i32) -> bool { - lessopen_output.is_empty() - && (exit_code != 0 || matches!(self.kind, LessOpenKind::PipedIgnoreExitCode)) + fn fall_back_to_original_file(&self, lessopen_stdout: &Vec, exit_code: ExitStatus) -> bool { + lessopen_stdout.is_empty() + && (!exit_code.success() || matches!(self.kind, LessOpenKind::PipedIgnoreExitCode)) } #[cfg(test)] @@ -261,8 +242,6 @@ impl Read for PreprocessedKind { pub struct Preprocessed { kind: PreprocessedKind, lessclose: Option, - command_args: Vec, - command_options: ScriptOptions, } impl Read for Preprocessed { @@ -273,11 +252,20 @@ impl Read for Preprocessed { impl Drop for Preprocessed { fn drop(&mut self) { - if let Some(ref command) = self.lessclose { - self.command_options.output_redirection = IoOptions::Inherit; + if let Some(lessclose) = self.lessclose.clone() { + let mut lessclose_command = shell(lessclose); - run_script::run(command, &self.command_args, &self.command_options) - .expect("failed to run $LESSCLOSE to clean up file"); + let lessclose_output = match lessclose_command.execute_output() { + Ok(output) => output, + Err(_) => { + bat_warning!("failed to run $LESSCLOSE to clean up temporary file"); + return; + } + }; + + if lessclose_output.status.success() { + bat_warning!("$LESSCLOSE exited with nonzero exit code",) + }; } } } @@ -301,7 +289,7 @@ mod tests { fn test_just_lessopen() -> Result<()> { let preprocessor = LessOpenPreprocessor::mock_new(Some("|batpipe %s"), None)?; - assert_eq!(preprocessor.lessopen, "batpipe $1"); + assert_eq!(preprocessor.lessopen, "batpipe %s"); assert!(preprocessor.lessclose.is_none()); reset_env_vars(); @@ -327,8 +315,8 @@ mod tests { let preprocessor = LessOpenPreprocessor::mock_new(Some("lessopen.sh %s"), Some("lessclose.sh %s %s"))?; - assert_eq!(preprocessor.lessopen, "lessopen.sh $1"); - assert_eq!(preprocessor.lessclose.unwrap(), "lessclose.sh $1 $2"); + assert_eq!(preprocessor.lessopen, "lessopen.sh %s"); + assert_eq!(preprocessor.lessclose.unwrap(), "lessclose.sh %s %s"); reset_env_vars(); @@ -340,13 +328,13 @@ mod tests { fn test_lessopen_prefixes() -> Result<()> { let preprocessor = LessOpenPreprocessor::mock_new(Some("batpipe %s"), None)?; - assert_eq!(preprocessor.lessopen, "batpipe $1"); + assert_eq!(preprocessor.lessopen, "batpipe %s"); assert!(matches!(preprocessor.kind, LessOpenKind::TempFile)); assert!(!preprocessor.preprocess_stdin); let preprocessor = LessOpenPreprocessor::mock_new(Some("|batpipe %s"), None)?; - assert_eq!(preprocessor.lessopen, "batpipe $1"); + assert_eq!(preprocessor.lessopen, "batpipe %s"); assert!(matches!( preprocessor.kind, LessOpenKind::PipedIgnoreExitCode @@ -355,19 +343,19 @@ mod tests { let preprocessor = LessOpenPreprocessor::mock_new(Some("||batpipe %s"), None)?; - assert_eq!(preprocessor.lessopen, "batpipe $1"); + assert_eq!(preprocessor.lessopen, "batpipe %s"); assert!(matches!(preprocessor.kind, LessOpenKind::Piped)); assert!(!preprocessor.preprocess_stdin); let preprocessor = LessOpenPreprocessor::mock_new(Some("-batpipe %s"), None)?; - assert_eq!(preprocessor.lessopen, "batpipe $1"); + assert_eq!(preprocessor.lessopen, "batpipe %s"); assert!(matches!(preprocessor.kind, LessOpenKind::TempFile)); assert!(preprocessor.preprocess_stdin); let preprocessor = LessOpenPreprocessor::mock_new(Some("|-batpipe %s"), None)?; - assert_eq!(preprocessor.lessopen, "batpipe $1"); + assert_eq!(preprocessor.lessopen, "batpipe %s"); assert!(matches!( preprocessor.kind, LessOpenKind::PipedIgnoreExitCode @@ -376,7 +364,7 @@ mod tests { let preprocessor = LessOpenPreprocessor::mock_new(Some("||-batpipe %s"), None)?; - assert_eq!(preprocessor.lessopen, "batpipe $1"); + assert_eq!(preprocessor.lessopen, "batpipe %s"); assert!(matches!(preprocessor.kind, LessOpenKind::Piped)); assert!(preprocessor.preprocess_stdin); @@ -391,8 +379,8 @@ mod tests { let preprocessor = LessOpenPreprocessor::mock_new(Some("|echo File:%s"), Some("echo File:%s Temp:%s"))?; - assert_eq!(preprocessor.lessopen, "echo File:$1"); - assert_eq!(preprocessor.lessclose.unwrap(), "echo File:$1 Temp:$2"); + assert_eq!(preprocessor.lessopen, "echo File:%s"); + assert_eq!(preprocessor.lessclose.unwrap(), "echo File:%s Temp:%s"); reset_env_vars(); From bc61d844086090ac92de486e69e8f0e5e1a8e700 Mon Sep 17 00:00:00 2001 From: Anomalocaridid <29845794+Anomalocaridid@users.noreply.github.com> Date: Sat, 16 Dec 2023 18:18:06 -0500 Subject: [PATCH 108/189] update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46ad3058..49c6a610 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - Fix panel width when line 10000 wraps, see #2854 (@eth-p) - Fix compile issue of `time` dependency caused by standard library regression #3045 (@cyqsimon) - Fix override behavior of --plain and --paging, see issue #2731 and PR #3108 (@einfachIrgendwer0815) +- Fix bugs in `$LESSOPEN` support, see #2805 (@Anomalocaridid) ## Other From a0a090c307c3be2b9cf418f5511bd9d9bfd51026 Mon Sep 17 00:00:00 2001 From: Anomalocaridid <29845794+Anomalocaridid@users.noreply.github.com> Date: Sat, 30 Nov 2024 22:22:41 -0500 Subject: [PATCH 109/189] tests: disable lessopen for help tests --- tests/integration_tests.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index cd5c0846..da812f07 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -313,13 +313,19 @@ fn list_themes_to_piped_output() { } #[test] -#[cfg_attr(any(not(feature = "git"), target_os = "windows"), ignore)] +#[cfg_attr( + any(not(feature = "git"), feature = "lessopen", target_os = "windows"), + ignore +)] fn short_help() { test_help("-h", "../doc/short-help.txt"); } #[test] -#[cfg_attr(any(not(feature = "git"), target_os = "windows"), ignore)] +#[cfg_attr( + any(not(feature = "git"), feature = "lessopen", target_os = "windows"), + ignore +)] fn long_help() { test_help("--help", "../doc/long-help.txt"); } From 96e4882b5c84bd83034766ab2009ab1b7e5183a0 Mon Sep 17 00:00:00 2001 From: Anomalocaridid <29845794+Anomalocaridid@users.noreply.github.com> Date: Sat, 30 Nov 2024 22:23:20 -0500 Subject: [PATCH 110/189] tests: remove serial attribute on and un-ignore applicable lessopen tests --- tests/integration_tests.rs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index da812f07..8b61b878 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -2443,7 +2443,6 @@ fn lessopen_stdin_piped() { #[cfg(unix)] // Expected output assumed that tests are run on a Unix-like system #[cfg(feature = "lessopen")] #[test] -#[serial] // Randomly fails otherwise fn lessopen_and_lessclose_file_temp() { // This is mainly to test that $LESSCLOSE gets passed the correct file paths // In this case, the original file and the temporary file returned by $LESSOPEN @@ -2461,7 +2460,6 @@ fn lessopen_and_lessclose_file_temp() { #[cfg(unix)] // Expected output assumed that tests are run on a Unix-like system #[cfg(feature = "lessopen")] #[test] -#[serial] // Randomly fails otherwise fn lessopen_and_lessclose_file_piped() { // This is mainly to test that $LESSCLOSE gets passed the correct file paths // In these cases, the original file and a dash @@ -2488,8 +2486,6 @@ fn lessopen_and_lessclose_file_piped() { #[cfg(unix)] // Expected output assumed that tests are run on a Unix-like system #[cfg(feature = "lessopen")] #[test] -#[serial] // Randomly fails otherwise -#[ignore = "randomly failing on some systems"] fn lessopen_and_lessclose_stdin_temp() { // This is mainly to test that $LESSCLOSE gets passed the correct file paths // In this case, a dash and the temporary file returned by $LESSOPEN @@ -2507,7 +2503,6 @@ fn lessopen_and_lessclose_stdin_temp() { #[cfg(unix)] // Expected output assumed that tests are run on a Unix-like system #[cfg(feature = "lessopen")] #[test] -#[serial] // Randomly fails otherwise fn lessopen_and_lessclose_stdin_piped() { // This is mainly to test that $LESSCLOSE gets passed the correct file paths // In these cases, two dashes From 5cfd22ee8bd36c80f4c5f5ab33f6910b08532add Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Tue, 7 Jan 2025 20:38:13 +0200 Subject: [PATCH 111/189] Bump version to 0.25.0 --- CHANGELOG.md | 2 +- Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 2 +- assets/acknowledgements.bin | Bin 9795 -> 9913 bytes assets/syntaxes.bin | Bin 915557 -> 969578 bytes assets/themes.bin | Bin 40606 -> 40791 bytes doc/README-ja.md | 2 +- doc/README-ko.md | 2 +- doc/README-ru.md | 2 +- doc/README-zh.md | 2 +- 11 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49c6a610..362ac4f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# unreleased +# v0.25.0 ## Features diff --git a/Cargo.lock b/Cargo.lock index 7a1ba1d1..8341249d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -110,7 +110,7 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bat" -version = "0.24.0" +version = "0.25.0" dependencies = [ "ansi_colours", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index f81e0858..3883b2be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ homepage = "https://github.com/sharkdp/bat" license = "MIT OR Apache-2.0" name = "bat" repository = "https://github.com/sharkdp/bat" -version = "0.24.0" +version = "0.25.0" exclude = ["assets/syntaxes/*", "assets/themes/*"] build = "build/main.rs" edition = '2021' diff --git a/README.md b/README.md index 7c23c72d..4b51b7f8 100644 --- a/README.md +++ b/README.md @@ -455,7 +455,7 @@ binaries are also available: look for archives with `musl` in the file name. ### From source -If you want to build `bat` from source, you need Rust 1.70.0 or +If you want to build `bat` from source, you need Rust 1.74.0 or higher. You can then use `cargo` to build everything: ```bash diff --git a/assets/acknowledgements.bin b/assets/acknowledgements.bin index 578a4f827b985c0137f842ec93b589c478d18cb2..d62426ddce7baf951f92a25a546a93ea04f46113 100644 GIT binary patch literal 9913 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 diff --git a/assets/syntaxes.bin b/assets/syntaxes.bin index 7a5cd310ec8a50bfc1d5453a56b7eda0c40b7266..21043c5e2ba5038ebf616d26719f6743111f03c6 100644 GIT binary patch delta 364140 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

>DT@!PgKjh?-WS)gZzc=OIjrYZn zu;qLL;Bi-L{r~52WhE%^UvWM`6ZC?~K>kOO7_?gd83hOm)LQHTjo-!J-n0_oLMaj@io{mBG*=31MGemDRWt6>wL5nug`?Xb3#|NsY#klH@<_@^Gybn z7Ob%|>N+cTcpBQ)KOL>o&_DHwl6Izo##-@78~(uV%debzHgX;Qc?2E6Goto-25A<=q&my^0u8 z776CSgH`c|%JWsC1ID`RvK?VmDh%L?BjW}JE0?Tu(8*%$$B7@1TbDmRsp(Om3!p7` zVlDR3puoUjy^X$9p)N6?EiN%&@f-kVhYWQE^?S1`wtqD|u{(*+jdv{cCi}j%^fWt* zCiZa+HF+b09Wk(vuUN4GQ5lmHFf4q>&K^UL;|U&?4QrpPEvbaZ1^})aqH6lg)I73j zW`?Kv*oE7B(qKO7>mR0?FyG3^Q|g|u6dON=4Z;rt9O0b%UDc^h+y0V()H}e>CFx{e z#8OhKe{L4+H-SF4!Ct|{Wvm7&1OC5|te-E`%4chRAf9=`=%+{gXM3dRJ}?(T0d?5P zU9k_O3HJijf(bu3I0;cYnZU)v)R_;b4JI^N?sJrptes^p8vt<6vrBhrcfI0) zq|tcH>EnD?`B1Wk>&!qlKelIk2oCU>aXwM2yBv$=ziBuyC3H7q2B(OhX+%WW9=G;b zc1^xgjeh#2RqyN4T*3ac+3b6bBR3a8ZeJ=}?1Rp6B`W2) zdb}2Ea0!-uJ8ug(e!X#qQNt7oDV=sKlDLSa4IEiW`p9BooIkAL~2a@wfORZ4I= zn_Zk5RZGWnAd~GS@5!EhyW9V;9N^$V!{q2yZ142op?e{BW@X=LAgY$BLng-DD&WG~ z)cyQ<_VC&;p$SMmyn@0Je+W$G&lL|mbuT1@KR|x`D36?Wv~#ugJ89x5bWfU&mDaA| zc)98PV~AgG^l&FC#INT`CH~LqKLTP_CU=TEL+})iuI0#n6(y@?XwE_!wl-8Z+}cij z!w^0weQ;sNO+~edu1bu!WTfm+vu>38b!1sL^PRe2^Z;<(v#VK;xT%~)SF;+L$eKh8wrE$n#{>GkoWbG_;y4w`s-& zm)#%c^z_4CJ;f6i+3=Hxp`6=+-@kwSm;KByz-qprD#`vB0ne!XWrk<(KqB&1!?_1`}4hk-p8&OuZ=ep`HSe09_F9iqq;D|CnZ>1UkZ zxs9O*;Et(DRL@~BFSg}Nr2;FHp!;RD4Kc! zoadJyEtOWjdOI-T$!w+n6e181_iyJsb0?CY4*(o8k6G)ul2()98vIj3W}VnyXzW$o zRsYDd7PXCYh%x+XGHaXDx-BG+tYY4->)5rP#*Ajx4R58|GabCBfP)5DB@^eL9$dG@ zmRQKJ%6ILA)Vn|kEL}D_Une0LelH63luox&zB2uq3!R8S-JVH6|EY-0+j-oP@8RNo znFF9j>u!5Deo=Ua`99d>C_GW~O!s&=++J!UaxDY!Xm-C&cx#^T?R#H6u)OXx_xtO1 z5mkQS{A5b6&xg)T5z_4)H`277&ZHa8S{}(|IQLWnssTCuMpU}(j#yF0-bgDh=JU1QPtjUMPxQM>CM@0T>*3J?khC33xl89HLU!$ zg(XtAK7$|jo$fPK`(GW-Z$58JEGkxWXODn5RE(c`Zow<<&(sk>J*~sskt6^R3;^-^ z6p3!^_2bqXfocymo`>|k(Q?3^$A*XV?H)g-a%-q0JE3>dJo=S;JDyT-o{1j)Ai&TI zaFhDu6|6BAEV+Wex}kCEl=2k#$kjflXBQ@u%X3tqkf}6BG0YJdW4+W!vDZnx&+*{t zwZ|7bVgBh%qt$=3J!o7w){|>)3UKUgYNjM0NoSD(+BTr>5A8Z0S5u4Uo=Y+jXVz3p z_}+Q=8*BWbb(N6208b#`c>UG<_4CO!u*Ssh>)Wn9~7|8!KJ;Kt+4*a6#)54l5yVhihk)WNeDM7@}MI`RG z`PT=+kVEq-k#}2B{DXDM}(;W<+#tJak>W5a!@~ zDb=)I0xK^P#0>blDS$2If}%NlBvv3h&Wp4WV(G=Kbw~&mJVdS7PJXimWAfmIWkDwV zoUFxr+;GSImwhvLpy8&idUN$=&t^z7{DJu5PUOD|Y~mXhEa}imu^{=iTV3~Z9jrGa z(5#PAtl2|~zq7o6Yjyv|az>6h0B_FV8E-GHo#$Vse{L7L?sCD|X)Yt8x!w$JfB2 zKSG1V%u{cVJAMwf0tdp=9QlfYcso{#qO=(r3_CZsq3}; zJN~qG$dLGA;O~eVi9Ix1KIR8n2SYyRW2BRGY(UivGc8~y_80F=AzSq4D1vSiml104 zZ^KOk)5d7YfjDuPF>q;;Qm-7^EcZBM8?;9As0N=Ti5OJK^?Ue-3G2O!+3T_fR>4kx z*Ba}3&Gjb}j=ZhM*-hHJ9$OqOqP+uD;0!5q5?20;R#kiZ?w(uf95_0-NL*oNLwq4)v>jzMEmF`n zq1#C)m6(yU)%N-kARJkaF5-Hxs02rxafQtojR%kqmn~yP{DrRacFdRpBxvIngy^sn z#!cIL?`)mlz`oA|tn|%5-+^8iU`C8;jpp$L;}co2PQ$FLmYL$O}%rU1Oh%P3Sn*oxv_Ab_wVf00XA9%~e7 zQ$iba zz~1YFTU9u^RoN`MT6ze;k^dcsi7WK#`Lt}4xFWS z!_OyhDKVyhby-fm!^@(A-3bY|6K0y)=SM_7?M;T_KQ~eDBlH8=(aXQEh4^#Act?%8 zI+F5>`|;P77n0Z&&JUHmSnK)HSjCx41X}OQOjW_sTfuUPhj>J(m6lq)9<9MN4Flkh z0%}^=6o|Jff4A;nXrv`JO)huK-{&K?VoXmmvjj0(A5YVi=?^RBhIAngLLd7toVDD} zzjh%%f9)*NGxt)jQnEeITweDgFl8~(`VuE1dKUslnxSG=as^r)9Q<>k0sx3PzE`_k z)L@$rK$m9^q&k*1v+rGq6TaT47D9kNeQ?=3YfJ{bB1p`fmfTy8JB{EL)3%faK4*l% ztZJGcHikg)4j2!QLuwxib=}WSzJrHFD`-0D{f4%xk28t1{*x3oc>9yVD3`}hTbY{; z_S3iJE0i8@t&N)d$aGr|@n(1f+*~Vk%x)H|tb3}WxW{Hno+BS=ip|KuD@uT~T(tH; z+GV-pyS10`WIge5AbtSYo2!t9RCOua{G_7EccR{ zr?T40tj)Ar+-llW;=Vr~GWN;80PRHJFKPKN-^O}F-fIrZU4T5x8)33cFEbL~dueE&IRe7AXG{)S(FxFzX5T^%M3GYq zG3Iq@nXc=L7#rb9{bz!NsL!{7d z&h^czhA#W)i%5>knHO+3DbcT+`rc&IZOg^~t$0*X7SXfM7Qpe;Ni+atZVVha>(D3u z94WHc)~mv#4VrxD^0i(7d!F4?2D)$_Q00jUZOMzFd)ho3dX}HE+ca08SUj3EhJJfv zGJF$r8rWWG)=#(#A>pJ5GrPdZYB8e;>_lZ%C{nQzY+lc<3SW zhQ7OnQ-c=4w;Av{CXXTTeYd~64+3^*eNhwgl4@dS6?}}2INVr$Iyr_VIPKr&Ildio zpIopC1jXO%rmEl3?s|L9P20JGX}vR`U235LfFL_skpB(v0>38oO#T}DcptC&yR4_p zkU&n?gKYO=e<;oDy2`i8>1XAGkaDtz!+}aDS*&~xf(syOsG|vca;8@cQ`VYzKLdyL zoFz?LV~!QZj-Gv~?Zc;)>zZ&6^XkfGtTD3+E`fo6ZmHYzwNGAczk_3)*b{WxKD=8} z*Vpxi{QkMC5YUW6)rrjQ?U|*<5a8llsqGITrjui-QS;G__Ojm5)Xy7xY3-3Li8OxQ zY53ObA_MfxeVhNGD^O?d@(%FA;MCr+O`ya&S@m3luKFRIn$;0; zNt|;*EAw%20`r}ssr<9%Jn^m8P{_Yng+;eslaPHp&^eXHAL_~M2IYr#ay#>m-KZmv zc~o%wG-jl{2?BaUNkBi$vL1-JX7w@Y&FQ*7VPnKcZa=~v^3p^D`o3r+u*2O$#jtZP z>uCxV|2m0~_n_u6 z;c{DeG_?CoyUz7BJdRy|vUr=&DxrXD-u|n)jK5ox6_4-pDKTv_u`RIg_sf0N^Ze&q zL4L1tWM*lx0xx+nWHYKxKw|N8hCLg6-<;mRn@$Ax&t&HE@-*Ht8ckoBru|ja&sC;d$tG4}r3! z`b99d0f}2;Xk;)$va7h3%KKj0CL30PsC;=-!v*L)5ay)dqr$52U5gpaJ*s>9Tn5-g zNgqNjugzrg^-~|0Z!W)6lI~KkXn8Tups$d;(p8(MvR|2Je@&gCJUXAGd}d$a-Oanr zb$^T|XufaWz7S|KOB2R>KgW|h^QSR%nk@fkfZ;?FU@}JQv;ESa0L70}(R1ZoQU9pR zbD70na|-*K!#QwUzYk`VOLLzD@Mv>;=KFi`y{&IZn`;E{_&u7L+hq+oJO?`eHh$(l zV^=0QI4YnF&y@YO>!oWFWmv26g*ZHo$N#c7{R`E!^6UWVKdIpGP z2o$=z97zubuk*=C&BJGnh4W;)l<3uiL0e&%Cgm0zh341JO4t3Ddb2WNgFid2DX@01 zSa#ji`s*0AzYl6fAjeD%AY0&6z|9wUjJEDyo|o_UE?sk*C(4h2PknbepSsV&SY``- ztEY#Z&)fd3sv04^u6bQIE5VNZwHTqw2aVm8*wEw2bd?s~j)Dk(jtN%Hgqh4Vb;yGU zc-({F6vMb-$X2rS9;gq}->@!E0`1pSK&jVUmBNIpO{XoLa+<;vfT44(>l@>*!1{%? zeYe9|m00HHh1FbEy7tI}B5Sl4<`Bds$wm#Gu2AlMV|@7BP!iiUv03a5mKkD2M`_DjsP+x$Z+y?)#4{+o&CH%V(H zGVOJt(R1$-2e!8zz|q0yYu6}dB+;%BzVH~!xsazd%$U}|Ui_$K+uQD-%9_jn)(qE+ zbtIB|-5r^9Ci=Zml6X1_Sh=KLQovm?`J(O83+oO0A_Ni<23OekQmFI}VNCM?(sL1k zqTz+V?B#->Z?Na&$aKs2Yfi?6l)J0PB@WQKX->=2m5Cw`$UN?6x|_Lha#u?QmHk*z z^VB#Gm&oW-&ZYF;pKF2q@tBJpThOX7r8sTqQJY2b?Ezx&Y`lGexfPgB#2^^AdP3Id z#(vxNns?6C1X#$nH|?1Ode zf326X=)omGqb(V^@@7=&`+UC*m7yY@ho`Nc5#g0GM#==zncduU zvtZXb5QfKCwe;Z*n)F!Z3c*eOFr8ICT?-9p_qy)C2V6m7oN0-gixqAq8!+gSeVO<;5)N;Qv5J|ly@R+~E`Xl`zDg7kb0_>W^aeyjonq&>T_xIM%x#U~ zWtA`xZ`tFYo~&V0Mln#X8!P&C>;C>?{g{Kisp_Jb;S|by3e3%2@0FJxEH-@Y|C_h3 zKkK0vcX;N6!b=5S%$f^SD@?)!GZ%e3So#j}r#N%$3(5-+Y;_7^;GPZ( z09)TzE=O}!1YO?01L{6=Gt2I>bP@=04HSzp_rv%i`%OHm#~O?#Ud%cKdu~9lohGe+ zIYghvUDO`eQQ&7I8hC#PRuW(hyN;j_$D?e4T3ALnBLS-tw!g%cMbqABLrfX5Fyz9o zXDxO{TNRbrxr8(}#kiZ^x14_yh}7)|s86eUN<0|4a(4wQ7pC?f_g{~*0@A1Zi#y8{ ziZX<$0;^GI*XeuLW-aGvOWR-}#(1&2A-8y>BP$RAZnr$^1dd=lM~^zAEdy#pbU%z}w+!3H%cju-;ao zpl0Ib8NaQqr~k}vb6op%HeS{-vFcSX7?6&+`=cdsn=mEUDYsC{$L*dXT@Yy&TLVr4 zG_||U;xG0P+Wo-wP;H=x{Iy7vS`)NZ&l5zm4Rian8B>>VcB4%|nJO%2kP~ShTj1dQ zf=2ypD($XY%kEIkwvxNN_8N}?s1xi?kOs$a_vwAVkE+bazICh4p|?J)>*7I{$+f9Ja69bCF^Bmdl}K;Ta2c%6Plv)k*vZ*Vp@-7A-v68@N^<^3qrJf$<< zLj@l=6`LcssmD#_XxHwk=C=lPA5J3G2 zS_tEQf$8>b9BW^LN&d?Y_)}urR;`XQ;+%Nvs67PqTjwGmBWztfF-glEYl!9{@i^fPF6?TaPiTm`-9zdeJ=%kSAyWt(`jY|>Q zyxD1V`}Uesn6T%~s&-fgkmfMa_T@JK@d z7vp_|iXvTt+5u1W0HJ23B!KaDvw|Wrj)IWq^miDrmEJGILzn; zjZNTO598nlh*pm+y|Y8Kj=}qS<^PI7dG_0j^rajFeX#CS>ekEMm)gmn2Oa6G(ERcw zuIP%_@ce}k+kn>{DS=U|(+AEg_ePy`-NCqH&72`O67D$1W^nl1{E`>%USr({6V1%q zP4-1sB^_DZsv)`L^134xG({l(40fZn*lF>%-cCOUfT^TRI*P|QUw>!)JZllrUSf`~ zz%}vivTPWUyt8}h_p34S<%n<(KOqeAp3ev#dC_QV5m55{wOig@9}sK*DmYITMd9;? zPrj&u&v^6A`8X? zUrOFRfCHU!NNd&Pmy?NI2qH00`#gam?&3@KqLM4hh!Aj3l%QQ=MKl!57D{<+9|V-X zdu*JJ66KvJMNx27bMNbIK1FyCQg`<#gcQC zz^?KbQ-V-Vhyw!)7=F3JrF!m(>2i64VGx;{t)4%c+fg{M$SW5GNEufXyVo-=q7l9; zu&x9Y1Q{mNH~OLHZVV!GiKM2q$>>d?EG zpQoW{N*!Mu;SE%qj-0-^tg<(-pw=2g1mtyA3&o|U!V66Wg&S+tCF0^#oefDAkPNk2 zz6I&dirXZZ5yk?CxJ*U~e%{l!#2OdaB7^dB$^dYp4M3?!alMM?6hb%$^Vlc>iRs1( zmK^HDuDLHSIg@KCV`|{uNQ;A?;WDy$dA}Z--{buwvv~bJ&=AE#A1z|<@&T=Z%v0}b zI4Rq*f>q2K`{p5v&qq&0v7UN3oT7a)tOw6=IGiahE4mNzXHVL zg{{2&Zu)xH&uZnXY#5neEnMt}XO`i`6(T}q1p6hF`;4Kv2Qh8IaEH1qjW#JjUbwg^ zr@5qUDnYdPdA8^)wT$QEN^JFRxb;`9gG~`L%uK%G@U>8#p6O!7J*r6nQ9K8zLCdPu z3JqYjqi}>jVd)b@wJvHw>IrqVoOcI#3*YwXTm?Hyl0*wIzl= zAPKxgva+M@QQC{bdCah??DO+L@xtPie=&4ebx8KXu7vyeK9n7%PjvLQJkjH#J}8loNdBCQU^uViZiiPenh5!4l`CNJTXrtU1D zo<8%oC}q=uM#B}uEiBNY@kpY#fp33oaLVmt7Knc-EnXzP5%}%{@+lwoTFC*auS^6G zwvj0#$hK~Illy7%8T(Sk!&sF$##)0h3%r$E=`$$zX|lQ`yK0VAWN6F}LebuA8^eif zSmyj1+m%>!A&3lvQ5Mtk?IZ=iTyf6^cByU^$^W9b8mCsZae< zn~#IN(u1WyLw%uu{c$OuaeJ%ZN^3IMKVyN0z&xCj1HK+)2Yz?OyoI+=G&D#d${rGQ zGdxXn;}7I(zrdVf(r-J3iDT0inb@I|Mecpg2?9%)IH=dhoC@nzI$w5!rLE& zaIg9l2Bu*QMKzG~9RC8Zap2v*XAzUSYZ;`$RpQ=*$~Zpw&jm+h`#l1@br%R>C z!_B~#J@GCC{F#v(5j7aojOHUY-i9G*K`#qqR##}S!b@O+W%ku_Z^8i92h;q}WVar< zBeq}>WFmt>1aSx$G8GvCYM3^dgi)i2JubX%6*+f>k*4ykB{9D<>|G-?$1r*2&o5fz z!I6prdsFxZG)@Z!bFMCT_a@))owBZf0R z6;Tch?ZkGmNZJjhN=e&!WzE-JCvKKh9-f_&_lEV>=_f1k?zyM{_4*O%mRwB==q0{+&L=~;Udp;lhwEz?# zj(w+fq>^T(Xh|EI3RW_|v&?UImS(K^Q?d7DLAu%hR@xpF3b<4aH9FqQ4GWDEk$b^6 zvj(GtF3)?>6q&TB3O0j+Egc8vu}#=G|F_k*S>mNqhpdLxeEq2(-Mc1Xd)4uxXF*@{ zGtiV$^@^3Ov0QV$*8PH$u z78`;RYuA$~R`1U&>2jF{p*ho90DMYP5+7$a61wR;KymX}d*Kd2@;n+OFT>18L%9Ea zEc#5zn$pd3vx;WW%xK0U!(R(sz~t{=D%Dbjx}S|r>=5EB)W(4A#_Ieh43aeZ0iP*? zX^^#EajK-6TcaV8o|k{GKfU!RSilIOtX~JR4 zKQLQG0Hq-5yF(AcInwF!J8mPzgiS_rM08TJB+oaaLDMmZ(bn96HwaI%(>2S7W2mD> z&6v;x!usxGMY4l|`5b+zC~!?7qewo1kS-11pE%b1JUSax*ztsO2wX6gqHR)Bdn|{Qrsq)U}%9>)*TESs}rAC z@6-b`i;sT`D!7iH3rN4%qM4bDxWU?5%N0-wDOIkw)d^h)05l2Fja*k+rR|}Z= zOCI9aF>?seiv=#?@hQzrwo!Y+n1ZWGG3Jyo;rGLZ0K-^vMHAMqPNXbkIho>D8c=ObbTrWBOff|F)}!E zC@?Ll)8JUAMlbz$74g%n%q4%KDCGmy&3~8+U=e1g>0|L2#2! zyr)guK;B*e6!`j6lPpl2?Bp5h_fx&y*@J5;$Sg3T)34T3_)SP^&U3^yvTS4vlZC+) zaw@n3DJ!41&qzZU>M#(VCsCaiZVUM5FLswGBnmUivVZ)G*P0qakE z%y55J<=u8@I3CK{N!AfIspK%)!z-6To=9)UktD0pyekE+5LIc^6f zb^+mr_vI%Evb<080tZWaF`jAi^TkpVXkdq*X=>Y5-=c&`<_&`~)|%{AF%XGU2Ci~X zZ6hM1h9<^ymHuu{Iw?;dJ4bDyvP%}o}qcg_@>GCKd(&UBK1R;RR zusgAu3=xLzu{iN2aLH&DgYF|U`0_6_P<&Mv7oIIvYQppVhKwnKmphpnc0Fb-8J?U&oQQ6oKm|kR;E!w^n=+RMY>w-D zU>oy;3n8W<>N5GcW@Zv3t~Qys*5%)iy7nm{qzEt*!IKQY6ISRs#m#v^ix%a^hBs)U z8Q@5j8m`ZT;aAaeD5oj6dt=N&c5OV@I~ck4t^93+P^niEEb74 zv==Bxn_F#CFI-RHi}iT@C2uYdAcPNf&lKOt?m_R3=0#xUnrp7q>-V(~9M1`bp)n8Q(xLV%>F!!B zDUtc!DOgSuKL>$H%cL{_-s>p&$ziDY%f`|Y$&9#@l}@lO{)nu?W-u8MfTJjSu!`5o zUdyh_k;Z;0!Tof9-N*hLajHJk?6n|}8~Ob0vfLhaj>}N-(1VEPhIQ~!&v3kWnORcBN}9M0)>9i+w~QOP&Vm+TU?ZwY=H!1kqz=*5HwAWH%tBs z7!)hn(*kaU;@Ioo z_%#nChpYxqK#l1513Hph{gm#72R!TG+uU4h(1ZZia9(6}CcQ$K?MrZUk%k~`^=Z^U zfRWVo^wvVPE5LkR1Y+iEFa{CE`Ab%Cpp8P;B}TocAtru-__VSFu=-BB^wL#{y7xAU z%OBh(H)POOMleO#J8=T-a%|Mzrm%8e)nbyB(BBvKX zJ${#U%oKmj7=O&flnhJL;he;HnW7Jsi386ZQ#-08o)}3HK^CUjg)O0?IaHD@QYk4CLN^>~5jw!@#nKcatC8Gwj z*0;vF1Ea{iEu>MRgGFyuNwo=d^9tbM>W^-i=19Rym1@BQ;yH5<#*kV-Kc1Dj>yG|F zf|H_B@|!Rmxpuxz;01IlQZD^#Lixhfr8D0JhPp;u8`gzSDY#CXj%3A9L2MQD!q6Ha zST8?eF5P|r46$FBCK^3}+@G%(j#K~>q)5=^G(P5j8i0bU@0j_9U*4FA&_!WVBaHHk z_HWX$0dtxNK*S9;Q`fe{Ld1c+aR^!#Q=75b1axWyYwWi!_yDBt5hC-KGnU)kBU-L| zZKxGEx|m6(J%>r~(xS)49mNyVN-@42#;@9E)zGRz=bZ7mO-BjQ5f^f0h40Q?I(5^_ zpKA+Ft4KO@J(Dh_e-|U7^B;PzYs}K z@M#gUto6AuGGyHe_u&=3xTm)?x}~$%_>$qIOhfx#zHG2T;2*Cu@VD$RtH-p@Qwq$1TNdIgVj z@$65$B0)^MQ$r&2kYLostWITV+^53}_d!f-+6aeI$PgnK$5It_YTywv&UNxIK%(QGl^%*bL=KJ{{M zUXDm78tlQ?b|<d`VuX$eB

+z&!bb8c>5g^&l=O#=(tF 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

s6% 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 <(rcRMc!LTUB+VZe1JgZ5kV+B zKN`9-8hlhK1(tWW{RUb*_WHZ&wOn{RZT48ThYU?a#SW@s2yELo!X!zO8y`i$k-vOb zeysHQ0jQr<0hu4ae1uWB)g$2~TCO$d!C^wLY7ng zy1feD#mApg*rFIlqJ(Bou3x-8Ki%q)$9Momk*t43=UBrA6}mlpOR6-TZOGJe_4hnSmNMp_?>7JOVj~=)f1gz2v_5 za_tFU-_nz;jUiGzXi{GHiG|n<7?ue5tm6pt1U@%`|P)DI^U!h7h?nsMj;j4r*U!zwl zg~RP_C8`mvJyGNDp^0?{Po&4TZ7%G|(82335jE_#BZRVd(hvYq^<^HcpvnF)y8p=G;u&5TWK097$PAa;XvhqwZVThWq!(@l*%1OgmwQ{oY$J#FlN_s;eI@ppM|LE> zV-?(^5a(|T!XQuC$v2oFMVV$tq{kly!3vTuDL@d#o{GN}@@0fZa9`ezeb^}3@8$T| z(}?rR+z9`L%n9*98u0FWXAG^vK{_UkB~dkWu7@QF zlVK+)XPGya>F}BSGql8muj1U|X|oRXv7~h_FAtAnE4}+mNa%vPQ2UOrCM;LnhG+zF zz()Md2V@YV!c$&s*v!LS?}u3!++oQMt0Y; z7~Nx3Cub2f{&}0Ut%Y=~=ec^U!3*d9kbyg&z`}{+mcUxlC)~-X4!5gW{Y>tFc9oc| z;+!@lKdyU#!*bi>-$MxJW;(aRck|J##Dz%>+ZyQHLtm5$&EqSMduUPEkl>8BE-0@N z2qQ5lGz#yLVG9wJ&*;2}H%<@>^x86(a~HECC^mAgx(Aqy+5 zp1mpSH0nymwi!L|!OTLpHM#}aTmelB)mHY-B^AXme64dgZmMqRU;sXH7`tt~r$8pz zUj%41Y~Il^DU(}-$%do2eN;$qB zcX>su*E)hlh?VFpFBcB;a5pROucS6fF`O6LYp4N4#!qpUUI7UC!VzYm*l~Egc^51^ zIwnVbo&Ht@n+!A^YbvMFZ?TySg5kCjmn!UE5}DHIQ>)TLsBnoAmIvj-T*^-~9Ls^z znT$ilpn_HZOAqBf4%pwkWPx8a3Icv%UWR?uh~t8$Gw*YPd`|R%8*IZr(pXFF<#CbN zy1Bf(gs4|-(BF%R*=iizo8QM!(5_=(#UR>2z2jSaFainT*p{A$hG4Kds<=&Lw@lV& z4=5}*R(yZ`FwG}~ak*WAEs(GEdKLl%Cjl5} z`6jZz#(mopa!`rc_%gF|K-K0j-h+p*anLv3`oR#Nd}?pLDMH{Cv%^-m|Ff-!DFG~@!65q!;$&ZGN+d~YOFM5HMLQ`^c^UzabkWK!GO z_iN|-m6}XRT#nL~II?{y)^Gs8))mR9@Lro-<3uV}fB+<1d@vM}&(I&C&vEQHIwV72 z8cTzR^`&=ECu`sD+?lLDie#TjdAPcWQlEYYfpMQ`slNw%{*%vhy6n^YEK72s<}qPe z1r1zIZof0Bny9>IUgNUzV%-7$nzET4-07oMtG34mc(LNZcA?U*qU`!WY<9m@N`7(D zlYnA4q`Ad$Ze>}K=IOCZYorEu{2o3-G|N2FDm*2uBL%wIq19z3K{tb53qqQrvx}>9 z3@DDp;)K!2pLjwi(LJ9Q{1-mm_1#wfH#XqMG{ij9F7GO} zQzq1>V+erV4$+;OfN!t7Hg`t0?Y1c#m|Kju)lA5jiTF&DKCfl`%wHrOTL!)l zUZqLC?>_r}T5JuL`&%KHBg{buA1*A|2S(7IN0_BqueaWZmPI0f(%Z__^qptaW`n@i zVh?XehN%;i|16_z2Q>bL^BSfdlz0n5vXi{Gm^bZGH+lBg5BRsG45VP}%rzA&WZ7^e zOM+gGyEos1x?MDz-aYdTjL(F~(YPa+6f@e%t6`&{LhM+V=JNV?Y%~U8*GZ<03N&>% zSn(dr^yo@0k9|`HxQ4!Qh0Ks}glPpeCm_hfvmQ5Pi8G#o%(^EMgT(v0%@~yUE7An& zE^Jkah4e@6N0JbIpgExuIU91$+9$}@OB}LOF-lcBO2BOD4!y(N%0)CL@Z#GmG&o_pH+-6yRtQz$ye9-C6o?8v|4mMb0AU-$Kxi zJeMazf02N4eyd6d56=wur`__&`TN!PG2aP^Fh?r`;x2=YsF`*WiZyUCl|Wq0Pszp9 zm>biWn}powfZW!bP`DqUQhKSgZ(uw^<|%VeJewbcqo+8!CAyOn-SyjKVJ$a8V|v5t3zh_KGsWL%>G{1l$H`74Z^ z9!)$Vq}QRFnV4uK;7{D+k_|f7rj_y_5Jy}6Vn9awxo(f1WL_&-kCK!=zjG8Lgw_Rd$Ld1cqEJ}1x%rjbkh0ZxH@Ett3@bfNtX_n)+^hT-EyBy4 zx8{rqiX#F1w{fruYC;6Gj|jn+-|`7{1BCwQw^#EC^#lYf;E{KiQ1}Tw0mGM$_z6LO z2q`x_1UG$z+@L-{AEHmf@$7hhJhMNIDj`P7+VPw{{(Qdg9NT-fHGAI4+FOV+I`l&3 z?|;Rj2va${chssrS1Yyw662a_J8R#qn&J_mL=r~7M-eWpPi5_T)tdP=ziU~0p<)>! zLJONW=G)viHmB#?d~9saWbL)84GX@1ZUA<+F*ZVSLifJZ(JV~gwEPd#dCl8%mct=9 zL0p>GZ&|?0Oc|T=)db+@DTZ;=yzS&wNm4USvMXRz2@0tYn`j2;> zKYM-*CBN%Fai8{gM2viYyfb+C^7p@99KZbI*WJN9lfj*pci>V==Is+6&}yq3q+&JfNN32RB`(+aWYaAOHtg`K;(e#eiPIv65rVIF1yW5SD!k zg*=br1Cp|@LJa%4Dm0+Gilimg2d^O#LYWfVbv;*Xciboa$4>`;cigAl-J0O+_IB3p zJj4_UE4}3AsI(|*pbuv_H#Y=gCtZ~ zFOgU;?~dE=KXyTOZobo8v%JCCn~Vr7!}4gT{ru!EKB+Mrb8>(rR{9vGq6CsQR56FM z2JCc!qG<%D$jdH4psK9aG;OL}46b96aW0)I+J;wgN8sjil zctWHCY=JriXZWPE{nM@`XB2}h!GGGs9EVAerR3DkxJpic=277osvKvNS0CA#al6OR29`FQ3F}z_hrWpavl|`TBOI#%s2DvCY zP+UTSgkG$V13X)Uz#P5`$mNJk^ef#Entz6~hJ%`CXD|gPT9u>=)m1*-36#M8tY9%8 zXcSluSv)g;o?R=ziJu0TMZjlPxb!C$c|e8Y=uq*54*e+5$Y4G^Oc&hk>}t{q^4A;5 zw@4SYdRzWm`6<0`!DS1sT!ZayiREiHItn`F#JByf zc8t0dxm1j2Td#gN+g$3^h@kZ^HyP_=mskD?wSPzO-@ZZLqA$=teSJLjG)6@Q-<#@qg= zyVqhX>T-Sq0@ajJ$3gber`Y&k?sN8qBkEi+>-P zjc_78xjFfDSE>*>{^C#-zZ+?5n#x}5oc5=y+6_zVwVzzr=Xku(#^sCllXGYBd=dAT zlMa6I3(*?9bqP&+ud5QLlX=auyjbrJtkCL09Cct|1qBkU$lZ`2mW5M7T$A+lM`1TV zU6YX$1>^G@_^1R^nRf$_>S5s4?_=sW*Yd|Q zjtJYLcU-^wphgf2%Sr2CHq4Eggi{ZeMY(vDAj);Fn7fTBn!z$#eWu4_NRH)sew=`w zz$uFo{Z=bgaKJ)l``wzY7d9pp^30htFWz9BImlofjPyzs(#Ma#Xw$KhnST!b#p!*G z;ZHPY4)K)__wWB78PW>ESz&06HP^vR%UwkH&Gz=RrO8{Abb*ld*h0ot^j zVSh|yxwL<`qE!PnHqZ(33=1j#!`9bx+hH&hC14gU zdpCqL&~v%(LhLQjVs@mV&n563)_1%)h_^g9@uaCxjIA{=SUI8U4aFF4o>Waw4m^>` zy^KyhrX%6)uuvmgna?kmOBftF@STsqAC=KJqhHqs-p*~Hb<*55wKk+yE!)9b@szcW zxn#3CZ#iK;nJJzNCVzZ&a#_sNvV`-*OpCR$w5WBY0nPl3JIj*Nd+O2E)itB_RBJyu z4=1o~HVpLet*mEFJevwU_^M(wSMigC_IoYJSesj(o!t0g(mIiBy*Rz|(smg5VVu7= zS1s2S9RwOH>Aa<_Z!}KbJH55t6QsC! z22#n5A1196$<~Y0J1=boBKdoPRMKJlgi^LN7x*ZIPXSGJ6$CQX>3lMmjrK@lin(Zx zo0$-9n2ni2xUdS=Nz+S9l_v0nsu*kLlbiuD{zoi`^bU$*Y_9RAeC;WJx~3YEwvb=A z=5-}CAPs8U>wlBD^GFRw^D^v6jcW(GPCVABPFXc=g1-zT6_4!-OwHYOY{k@3%TOD$ z5tR#01;~JR0G=l+@DzKju$mKOuS%KhC@42S0AY9#I*(8!MvEW@0iVqSlpUNd7Zv0l ziqf1x8hAu?moABsrkWjz#-}Ch9oJ?3Vv;#oeUX~V^M4H*UM{S$NSWmM;_*tQlbEAE z@qE#EwUQiLW^1OidaW>GGi@nvhG4+HHa8mUPxg&A42{vcXPWJemeU`m`7{kl!c`e0f8i*oAXJ3YiM+e-zP4uz#C3RdN$sa-)F zb+qWXIe)ALx0%bJ$z%r5Lk<(Z5^hp>NEA*nN4Nov!?$hbw0MprJ%`$>nY?gr^6kR` zk+R?1t}`XbPU6t7F(v<+K^|ihy&*$+!{Z%^*?hg3Kb6FIji5-__bS>(I)_)b>US#O(4saw7eEEjv~hkN*C?JjcTE0NN?!QOJdm$V7YB3=Wy&u`k3C7>bTOL#11#l(?yr=y9bcdi*?Xt4h4n0pO96JQq{m zz)BPeo7cdb5j#7FuDw)3XpSip8lK9ubE^rPa1Z4yvt>RZ^=Oh?O-s$|&#ly4=jq=l z0CbB+gIFb6qnYEi=*jb5aDG#=K7Sn##OLF5Spr4jzQV+0dBiVFTn?S@tWHu0ve~+- zpoGXc48oX2LaT}@CHa!snxs@4Cf=?u`8BZt6hp_Rj+VnYK6pL3O|sV$BLysD=T@nROKqSq<{Dd?_hRB zR(i!KR*H2|DyBpgFXhs;11Cl05A*UV7RU?dOEqTdcU2CwJi9E>YZandIk7C$r)#1o z$AdL@%Gq%l=QG7+6Bm$9Wwutg_@rJ3?q;5p4i*mMUH+LfL4XHqa+MBoxwu{%^?HDP z&GkF{S|Zo{Ys%qmzbo7*e19ulZ%9{-={LPt`6EAnnP0rXFJDpzlvCad3w{ z9O0nxXax}<`4k3BF*8SmwP_IuO#5sL;cwh-l!aR;AObgMNay-; z*Hmeu7)M+DdrPy?w9?q0N26kAvARqy5kuj6h0}lR)9ck z>DdR9$ZTGIn({f9kuE*M1xry~5y6<#WFQkZamb_6)@ z0egitF2opG*DAQJm0uFr$w~JQm$jWfm@@EMifI_;n#x;B`&UY$cVvQCxkJ-XjnyO) zP!t7u%cP)_Wj``I66su0rZQ|7&`?RIOmi8G(p{ryu7v{V#B#J(Yt{g&Qt-P7B=xsA%h>bgkt#YLlx zOH>*-st44SoJMfd(9Qh@z$xd$g>dv7mGOuR zoECj0wTRNI)PI3e%qfBszH5af5gtWxYkSW(8W*US+<#5a_jMbb^JW+Dq zS*DPJuSVqVR4`++u5Ys+@7z?r@*#j81P-Mk=2iA07v;!JBc|MNeJkb&WmFy_vT#Cn zw4#bRg z^eCb+sJ!xx1L&HIs|ximJX+qEQ*CGDIf%1ReHqd*jy(d#LkbEJ4d9q3CP-Ks%CAuD zreS}e>wnPNbB36Kcto^O*YYwPLKff*h+@hJEhD5|v8xFEv2qnCSj3#zdcc&sqAH__ z;tcxi&=1OeQD716!bl(^?2~d6KpgCX_M-gYBl6^0>}!Z*u+h%X=%N5t^bspnni*Jt zQ9bxOdL=r=ApV0-q)K{diAVr=>;%eHkW2&JkbnQ&C1a|QNd=NbE}v>^qY#BS!E-RQ z=Q<<~dt&#HtK1xZZOpaK7*qQQQvxM@Oe)SfPEqvCHB|it3bsSxJA|DjXKd-m2E;{N zEl32N%k^9 z0Dl>B+j+!?zRg9Myo((M4wyNj;vA12!XvmI4-no*jP_rC) zLQn`2#cI6E9G7y19_nv&{va7mfi@*3+_!Ds@7mn$5*`tywD!)9W0NuqgQ-m{X062u zLgtR_8L50(x#Izd=fK_Zot)uN>eh(Z5PvoXM(`1<2|@RBWnN)t75ccKjgVFqXEcf4 zkaOaR1`-7zT&a11i&n0aG117R2uW_!x* z9)|S9JkS~AVxMv#F)+DRvoXTpkf}oIgSlV{HEJFP89oFWfgfy&sL)79aAC;`nIDfAy4zwNo?}dy#7E0G=@xij9e4XOphmnDFcgPY` zND~hpE(c>|CR-4fMB0?=6f;InA`#g=D&03i|1s2D>xmW}-!pI&QAH$LRFepVaEw7H zN)-|o`9}#0_bR6u1-h#<=zdW4|Bo`0ss53Yoor-c+He`9rVf`u-qz7|Ab;$eu!&+M z8BF{Q&!_edumo>XVH9UEs$s!ytE8avS#y#bbs@$iUldhiB>(fX zWm5Wss-rfkcgPRHOP>iY{C~abZnkSWhdX&CDRRi`aWtMM@9wvuXU zOG1*{hKdWGAY3vqT$HEaf?MwM67U?XWF4(`y=z$s?Nv3Ck-Yl$oNv!Ld(K&9rO>}l z#`k62vaLqbZtpd&?-$66fq8!)FajU*0bs`Xm=6I{d@-epn zbBvGq7%)?O%x%C-$M+cm(~??t+rXASJ`9!E`UJcsQFgbhTWzUhT83mhzG+*M?Mja6 zq!a+fw~497bH`};5<>!>c`Clovt~NFt9K3Ga4{a1Fh}5bOxN=pp#p!5oTcu4WM99B zVW)?}662hq?tPf!+P>}YrA;wMMM0y{)lCcDo~8WXXn4Nv`tbTKDilL!!@F~o;J*9d z?fLk=2ygjrgDDrNIE$xv`;<#&sP_^Mp##NU=w+P1m-%hUJGaQ*U;R zMB^egi61~P;}YdXI&gmgcbVD=IA8#Ag$l@>p4E!1*3vs209~d0lXmSAWr#S0;Po|X z$0nh(PwgFWhqq_hj%OwUU|X&f_?M9W0l`$NY}8AYYs;cqlUGZX?)r)-CZMsAM9pJS zENOYgy-Su{R(9UN>%z!LyCW*dwvzyiN%ksB}0u+ z5a_f(0;jQBq(luUc|x3{=rk!%xddfl)8CUVlq_XNmX*=KFiM0afS;-zacx+TK&3n< z%*j1HqUIS%?O%q4#<;@Lg7WdJ*&kae+KcD9fs z=qJ*ED$bkhwQslYe^uM61?b^n^_!r!g>JRlR#5xm@1Lr7x3{Xn!OMeR4t_uQZ`~yMKT0UUmC!O;np1grMCXN@$!hw!k7p`1ewZ(B}4|tq1qF?`>{BRK4<}>VvK7 zr(bT?M0zJu>`)&+l-ML=Y>`FmSen>rOpK`f8JX7hAIFJ-M`wyLc8x`6I>(+N0`4}Z zj!JSFS$5g9TAg0oP@BPW+t@*66+OMDt_Gg(_F8{_2vVPwQTY}t>WfsG=dIy*Y7A)Z zu-0(mu=^f-Q9=y`;+4!37}+cxM+23lWAB>i+!VT`I3OJ@T0(!xI7Un)33o#hDe8mv zILWlwQMv|FkOG3<8AVXj*fnv(#NvCQki#!Tg;|2wQkJwAw|*=sy7WUsMZJiKEQQAC zPJw^xFrdKb`{-K3@17PYHi&|%+|dH$QzcL}E!%UK^H@S)=?>fNzWOjltfR*}ff8t9 zw(j{u>pqk0jukQN0NY}?e^DY&&|@64FEaut$_Qrkm^3-a1+)nGoYX>}5_}ysFG;Q| z9%>PDbSR+%Nkb!6!3!R+t=DrL+x6vy66=4PPA-O1X#m7%$PC5#b?LT*&Qd6ysw-+4 zcZhk8Fhxd&Q^eASnCZEETc4IPwA1Ef`3sr*1t+M?U_Zq~Y>dipgv~pJH)MF`WgS)$ zzFyA6ko5LzBUPgXrmw<-L%bv$2Kby6ozBCOtsUZ=Mf5H+gK^s!`9OoI5hwfdz{!7} zv}lm05~q~BvKlwTbnzW{C=E}9yM|@BW-FzqI3VkjVT>8Fpul5E@__RdZ4K2>NvdGq zX-Wh8QCmIoDSQc(hANQExO}T6v82?+=usr1e4G>I@F5+=jxIZ{fxaWR4A1LFc%B4Q zq_B{9PYOk9r|1 z^A)uTwl(#<6NFNDP|BRl)t(IAFUp~ zJp2cfN9snGxfTk512g2%w>%dLI|c;yrgiwYdmRc80e{m-mk)$jr)l~@)AWmOLwHCD zb|64^V+d}O7)TQmJ|{racEYFFN-SbaZb=66Md{T%HnW*?=A2o~tY$r{IcIh=|H906 zmb0F}Vya52QdLQ>dQ-@R3J>!B-m$p3v5Tt_w2GM}wBt=h)3OMgGa z{-TI3V}GK3F+`J?XnzdR6-+c7Lv$4r9f%>ihKUZw5dDCO4#g1th=~pd*OL)M4P(90 z1b=Rb*bymmg53wf^~-p2lKqGrJ<0z=IeH?dqjK~_Vjs!T6X6|`qbG9wSdN~E^b*4Z(SH+l_(G1J@N-g*o~Xl@a`Z$UzLKLS z>hQH3JyC~mTpJmp71{^ zM^Dt@tQYz%g1A%8uD*LNM9mb`yCum-jA}3&G zrGLl?mN_YM0_B7hIYIIg*FQ7lZmSs%(3g`aN$Z$Qq9pC&N)jb$5m%EaiLkFFQ4+cR zkVHvD_G1zyk=9R1ltfV1xxRs>G+e#)tgf#arr{bOv}rh$sg&FQrc2S?;!G%?u4$N*JzWsfkjnim zrXdPf6w?q@yDg?6N;WN~A?h^~Tv;pGaW|WKSg}$J5vkdo;Cd{Ih-7s)j*8@UFOG`f zG#kSfA^IhTh@g2thKRs97ehqwd=NuKTIzfZ5ox3gF+`+&K8ztE-RGZz>xl>=gMU}z zvIH@a)1m}1k;IY&F_Fk431T9d#}dRuLQf=!iKKp&ASM!fDnU#n_nQPUkzgfK%&xXd zx6*115s}z(3=xskN@S;qd(W`MXYq8T&_4%PJSBhjtfd(yj@5$eVG`@On(gA~)!>RJ z{itKdk+tCZF&!D25SXkUTt`?kFn`ox3O%@f%}_)QR5-;NS9yNG!F21v^^|~)8JKXQ zMsURo4tPMq@dg(U;sA$X`sWm>6Q zmz)-+$w><-G>)`5@5gsOB}O;x$2l6;4`0`T=)zMvOc)2PG75SF!{OEX66*=EiJSaL~u zZijbJDwFVQqGk3*r=4r)T7TUz*K?OyU}%PEv^VH1vEEH>UEZ!bV@jcwKdW{z$d&_H z4Tawehm$+vaPl>9cx6W%UU>~1UfmIgS6>5%*LK9=wViN?Q=DK^z(Fdyzd9&jZcU~i zV@3rfU#N_ZEsy65VSlqv(BFK=vS+ys-Of2}y=G`luD=kW#)sF3qJMvoPNf5IzooP{ z-G*hVigE`0Rh{w5O7+b0xH5Idzd558)G^q5hSfPJsLn|;c-c@czjrKGuZw$5nSPJ& zE6=mNt&bQgC@S@VK1w{qrNMLOcE_x_9Ss^gxzO%Gxvc8zhM9xe&l+3Y6H~MM171w9j_28S`FqgQ2X=+ zaFG$f1Q9^H-P8y8r;mR&dbHJ?_5k-ZanD8LUbmb9?rGva!Qf5|`_oEE%WPdhQAE2Hl>K{c9uDadS z%=H2EX+nRDfgV>vS+@qTrwRMV(PL{vb2jv5bAWxC*nh%ckIz-21UNEP^#(SO5hOLLpr>HzvQq5m>k=dIP}gMHXkf&XeK(yp;;T5B+iN)`F9qkEgS z=G3$S^r=GsO>}S52J2-5;L`;DTLySyQnnidQ$AJPPcgWYRe5`WdYY(z7d^Jxn$aBW zLZym)Cc1;SJFA0bvQ&XT9j)@vq#3Llq>B8RXq8{poPWju_%wkZ9g4JRoZknwWU9EI zjaGPf0DQ{8pNm#_w>H2%Rou@<>*fo?woK@SBd51k^?DsBoc~sF$N}DY4LA#;F*%(#`r$VRmBQ4` z36XR{j}ELq3GBJ*e}~xLes0teb6*=D4_QCXvJT_Y;TyZ|_%{LHyc=ifu#Pjb8m z@#*l74~8G^A9u$Q;|}7|;Tyk9@Sg&{&n5Crb$_s*vRv0w;u#+X|1Sa0$t~1B!7OZ{ zL3BFY<0Gd3E#UrqBKPZ7$oXe1=O8K_uD|B=xcBxMoS_xAPaK~P|9H{-xPX5pk$-p& zHDvyCmU$GJ4(E6U?r-|mcK;x!P}_s(bhyU`f-2yCGLd^%f91mea_CTGSc~u2T5x3P z)PDvC|4-k&JTNnay*!Ldhws1Q`0QQ#;kihm_M^yjILG};v2Vni9ZiThj7x`a{2qKs z!1u*OzTv^VHKR!xG+(mJ6M}SVfZu4o)px(+pKufQJ3(|h++&x&C;QfTct}jB@hCDK z&auPZrhs!bnR9r`DrEfx$2y8lhxbXYSAXwaXZ&+Y;<=L_oeuZd#qg27bp{^w5$X(z zOowyq?D+5c?j_rewy>9kap~}lT~7a_fbZnlhb^3a*eUV+a}an+z;m+w{@fAT@6Xek z=lwMCO8VI9_}28NtS{uxEsE>F~|F74KcsU50T^)7^A9 zhkqY-m(&mJVBc2=JB&*QcI@Z;q5$?}vmMPtU(xm#XSNf9bZUV8sbB6}aW)z2kyD(_ z^o&RB+Vpl08$gZn|+U_nj@ZPXsN9tVf~x#yIZeY&Z_3t8p3X!5TsLsgPg6!*MA^+)=?AB zI%;Xz>v%WppZnGqX36(>S2r%^8&47ZJ#Mhp)R5cJKF9ZPRF?)aVHw)Llf?YiHeTrG zx3;@e9@sI@SU`9|=EU9^b3b7OhraV5C%N-t6i_blqU$X+FS}8J>>`pL*g4xt76#5b zLuYO4Yr3tQu(?~N3uPGTqJJL!jxjO-Ddi-P5myD|A;w-d9gq4c0qRVm13O_d)?vTM zE((!GUv=?M2PK1kf&o2DI>0_2`wIds2b}4)1n!?QxckWln8#zT#`i2>Uk5Dd&}Z)k zUCd4)|ANkRT?6pin=HP=bh6JFd;|LT6=U?nw$2LtxQbG_v$hO2Pk+72tg+nE)NYo%Co#cx6|52Ztd|%A z%v{W=#G2KlPZjcjC~~|opMZ%vD*6+xcyxrp75EJ;0r*X{Zmp!VlKLzb;Re;H>Lq_i z=6hZbFcWQ~ttZ#^`hSq%C;izTykr6Q9%h#JZjijr#^uE+BbDR95RV&CSbP%3uK>VSDl4O7 z`5ViE86>ZK4AY3`(^EIRe6pUXakbHZ?`X}eW2~FW8gqk}=zsZmiGqHqqf0c2L$n@A zq9OPSm94$>O;3qpKOhPKRB0uXB!`XNEBPp;2(aYtwv$viK3o=j2Qes_U4Bf&JDUaL z!L68X=;rBc7MF;>E6qkxTC&M)F%!mC9I0EG$ zQ8eSs$o_u>w|`ga2<#&(ndPw&C8M~FPHWW!+piwF^VZ)5Bz#JN`6gY)++ylENrdJ|^mx>m~%_U}>Z z%BAde&@UB~R|PeEXum>{a3q=n!7CmNg&|tgWdmwW&3|#IAXGU5#m5PaJ7)A`hXc`< z3^(*m_)$w_$l6vj5X_oogLM?wppOg>3;K0I4p0E%v0IHz3^Z-sUv(iF926KL2^nNx z=(cMx2W$=rdNYuN<7%Kxv(wUTuwa9AwC+-ipoh8C;}L@JyV?$rMUaPM{Ds2e2$#i$ zcm^6eRDazt`3GF`v$069MUV897THlG?T1|2Gd$aVwIOMiO?i|{Ihr6lshjj)cJj!5itZ_4Q}#bwo72qAC^Mh79&r|z zllzC7)`s`lZnH7c3ix?QpgY04XAByC*704t=zoK-e0X~(V(^AG0|O@eDag|_f=C(B zP}9R_Z2ut~bMhl#@>H#Q+tB<3SCu@eg$(#9h0#oA&9+(@FXLKZgsQA;FOR92=pUp8 zf^-`IG(fw(Eg}qPYfZ}mq?uJ)t8M76qmFdXXZQD`K*Iw4mYq%=5ERO_4_3Vn3EDHy zX@9q*_Q&al@a?=%_C466U^=|q!}mNn*4e&qKdYeNSM~ZH#D$HM-{$KY=9xwc79E;G zv39|7gl=-xBy+hf=4nP5g=O`Pa6ifmG1!HRKA*9VKA*9V z3@Tv1w>nAf?e5zzs6an&0gHCbWIq7D_iHG6RoS#q51dj(W!9|T5)n&v8~gU}{fg~! zpYtZFd@ixdlRMo?VtPL?*a7pdVOyQ`#=9-_@7el?hUPn6>#x{a!*#=Vy1tQG?tfcW zS;yT3t8|05pnh4wQBsy8 z+j=Qhcj|Nyd07jdajkkl$E#V`+C2Dt+5_cz-s#gjYPRR5qc()XtB!u;4tA7cvS&!*$hWhI8(T^Nktbjt6!`>vZW4_mW^FRor<{{B9 z>~{Vl0j|(!L~P%dcfbdwPEi~UM-4vnJ1NgUlqq;ynHlT8BXWmhg9o>LopCT+OnFG< z-~m*bW6G&$f$ZYjNv5mRTW#ngkF7J~^XOlLW~NL(Dwj+1OHWJ1vVRxcKUkPwy2m_R zW}fDY4@zADcT4k3Sn>Ala_Mmfhs_k9Qn!=je&GofOlQ0_8{Xerctn_cQYzi2X%?4? z4<2T`xrOQC9I6Dm^Q#cvUZ(C*DeNO;J`C|$_X8l`_+~OF1~QGq!psoE=nk=q?hvyi zHehvecBzDtEtblUOMm6yf`|w(tUYcE)M^B5><=KZz4~w8ii%U=EO6V?t z0Hj<5blx;z96Zhy=kGo$-YsS50Pi6PnVrcO(9PoPZ>8WCQ+p4~3rl{1bEU_nIT%es zO20mwEk6Z8)5XQ<;>_&)-9=Ep>Cz$y0x-?O;!)=K0icpEWPj+#Nh%g0%s*eI0-zA7 zM*lOhJSzuKMg>?yzuCu{~SI9l=F+!J!8QHBkII zuoQuD1#Wb>Sd{k+6U2fgl)Tq+)=hA6I;${8M_beV+l)5~y%Kk{bx`VPV2tSna1W+z zdHEM*_*Y%LRUd8k{SF zbGe8?DIA3HDP8p578riRW1Xj2GZn};3s<4KGYgO2i{7H3!%aar<2wzXhlNZ5B(|#C zRd`~ZuPr^bUV{hQ&`~x4gXs4~I8RpnH`S^ytAAN!ajI&8z&xBV(Z-+s5%8K^81AD~QLR~-;swGLWoqm4 zHhSA|WokJ$2LG?ZAS4+y03=F;+ZSu-S{*KrAP*-=TkkMSSTxV@jgVMIV(5i8hx?J`P)*Hs3uPiVZ}TUSpa ztgbOwseB_us}YbBbT_5?OCNA(P=A#P0Al39htN3`ObI4p1~U;q{5Ijuj~L$x5}C}) z{)hTx@vtBr`*lm0ge~vL4k4jFMk^zEy7dgCxo4y)YU4jJZTt&b(t+os(ApdHitzX2 zkl@!fi^A-!fJNJ}Q2?T+RPv~i-0&S0Pf7n3K)H|fZoPJ(yL&D3sk!zdH&ekhTRTXB#xt7mv);=EGP zvVSRNe?vZcywOT{>B<2kbfA5W4%QHNd(@4ekj9jZt`JgG^`n!&gyGl(beG zEZJ*jJr{QdgwA?|4j}gMAAj(tDt~NUy6A6M{gHf9N8n8b?(=0`qZKpZQUx_~Ei2p7 z%uSHIS=S@Iq2N&n@>@vY1n!tOQhyCkD5t#d6iDdK2kKtNwK7hp-L`ed@ta`AvNJW%?XFw)CJ>>b zRGo1(?>EQgG383X+DyJK|(4CWar9mptDqemWL89LJJn9iXq zcSs6Fh3J946h@L)%6s#l!++4COI^3bzpQ>Fn^}KY=9X&=gpR%-1P4k z_sEX>uMY(M*G~Q7-e%eb1|BpC6{zP+cu1o@o~`D<4$s7d*V2rpYvt8SHve<=W$xl1 z=f)=rQ|Ct&)z=ra;{|n@_QV1jSTeiwor3xzDH&??_#`1sQ z?4O|>;rWH7g@0-9&O&**1aIKq`~o_O=O0`2=1Wh4+qv2K`yjF_;BIklu2g>N-J6}6 zDZyiQAS^gG2`-OIWfTDOMTZK*u%&5laj6JyOY<|{?EFmWR}ko5LHN?_bh+f8;Dm<~ ziw|zk-c^0B6GxRUJ@AiiakDaB4|+WJCA3y>VOBfJjDH=HIyHjrzbIQU>GdkvgE4Uj zV2;rNX}roUYDDa3pi_7!TU78Jrr_hm>H<4_Hc)%oJBJ>s zlVaEKkU?aeMFeJX4Q1isNq}qXdivP(Wq^bdp60OqbplZMnwJ^+DvjckN;A)x8&Ar^G&3`hr`HJhE?NBwV69sCoU54AYSc8SL zzYpnv*J;U@8CG7SCBMiN{1#gBOH2jch$X)_y5C1}l6)KN_{U5I-X=T#3B&o@X~+M{ z)ZuNm>X0n6r--28 ztADmz%hfF)=q>!J?G_44u7kpho4jEQ7l`HGw0suDFWo{JKN8vS?NG57jc-F~z?Y-Y z`9c5VQ1G_84FeO^`J$kHq-GJEh^C}*@3!I(4ha>#A4Wn;b|M0cmFhOsQ@H7fzUYOX z;RmoH;5nEgJmWI(pmV%JaITB902_B&rx)o4-d98!iaw4d{auiQyCtsw2QiT|Lzikg z3U30VCzsng3V;L+$}m&6Upopr0|EM%n?4FefB7e`llRE$DE8r@=Sx$-jS5?K@$brKhVfPEQ~H?%wv_Eqxx)*}N^vFfZ%Z-|lp45B*MOXf5#nskSKdI9=@iy2?rx?M7L3mayHl ze~62FtpRVg)lqZ!K||Q-D6GbRsM>Xv&dMq*<1F2c*gQ^S0jjB48i@(N)r|i~)lT32 z;_;W$&3iS!@2Pf{rC5Jj?#`BB9?nXZ@3LYRu9e_#G>pF8Fq%$xUzy84Uvt@fHr-5j zUo;YZSG5;m9*3m4tXzUmhry0onzk4Bf2Qwh(=Sd>jecOBo=(5ygbXcv8!;@e!EMXA zei>M!ZNv}yqp_g$jgjR9u50_eKOTdBpX`(gp09?Iq*8+|vzNK^YI&fWsJHF+gj`}C3e&E@rBk?2C z^DS2*#Mhk&_G3#ACLRPC+mn6FDQF%h6`aPNE96GI@AXGwwb}=d`O_!8J^ty$(hu$a z#L*A9XX+$07`YQqH~mu~p7jgUf4HV`-*k+?<^D*q17!rgd%-=>3#Rw^t8{WZ`?|lK)^)FYLwuQ8=+*zX`=0-kY=1c|-lKS-_0O`rQqVA|iX}FK?=$R}Fw5X-%@mr$3ShlCD+;0*$-*kxN`STveHUb2 zTbP~A!h}dd4K}-A0wdvqc*WXq({)%S$v7;RPN+IiGy$*Hf6T(9V`;C1AEwzR9cD?y zavDh_J3M1aYe>LW!l`PmSTJPd`&pUsgE*=!#6k?^)?B)-HCG;C&Baz;#zjep$Ijrk z!z5e~QYN-K1AqyOfd%R?f9MweOhgQZ)mn&y0%r;E~uuYH2^8}cIZLgDASXn%yE*@KD z7p&FGug;3Ag6wt-_G9=e|Fl9-qBtQ#k^ogSB@p&v9J`)TBa%+$%jp%41&^g9ug88} zVTBaue=6Dx>8qHV;!}LC0TsAz^uF$rJ1vKZ@Cg&{l-3e=#u)>AqjW9nPwfNlGRez`WE3lzOilFPGehbY}-j=H%b4V@Bhx-xi}Z|jQ8DO&+N5U;5`sV z4u4(gmw#}XBw^c-@DDlK#93`=p^zAj;u_7S$&(v6=#El>$k5v`X8t^P%~zfL%@Lh| zLJx7F$2uK!R|xmdvBr?kV)M0UimONKpv!KrsQk72x5anqc)1Y;leA@m?Z!Yjf**?dR5^bMuTxiR+Mj)rC20z}fJW^OrR0!7g(w?B_z7 z%&YF{5pMQAq4jv)gkK-Hg~H=60d4qtTt&*YSeegg0uAm>bX4eoODj7z~4q zqU(;1bD_T~yOXn_FR48BEIJ#yyL{Wh!fIs$lYu#gU2i?~5I7 zjEccba~|W2ZknQ}uW$3arOs`(DyBtSbyH=hDqV03MVB9)DA}Tzg*o@iiA!HFaUDwF zIRl*5{310noqKWU1mr93RSXgP?E2~5J8QvY3}S)Wx1Sl2FkTGl(&5I^jrbZzP)0Yyu_^$<)Ba$`AI=gUQp|mdIe#Ug#(3xDQamdm7=Akzk@E+n`yjvqr}D$SGX65|-6P`y zDWbS|owQ`lrX&8dM^4Hg$)b}fjn2J(wF0j^_kB-!^?aY>Nt7f7%M`~eb5_Z{`{qw2 zj!!*4&Cih%w6iM3r{zzFjS(&Z8P* zYdHLn<~GKml$FLuhXqE4*}xMF1)$sK_tfQ?t*e=>!+Ao(!B@Ro!UT4P1lNZ0Q7lFL zPhea4E}+$4H7I_e%G#s|<`sTy5BXP{fQN@3RHcGyN3H;(b)O-^AVCTzraXT_-z)=p zru=8~xS>!7oQ~d$sjCW3NN{4psceOtG&ptfEzH8cf{1eWY&JM?C5`hTwuGp}xT>Cz zx6Eq$g_=U}Bp|o&qR`wFgiSjnlwE0K9OYkg-W&uxbhirnnDssPo(PNZtCNQPOvufy z5aIr|d|L(PspnoJe?f8hy5)Vv<|qQjIkNQ9=@-0RxBN!l<=}TO4xWKyc)#_a#&kg8 zZn|ETK@fb>wg|b=b3wAh1c(;Lq0c-(3Wk|{sj9DdQT-~Zg{Otqf{Ww8Y$!qDDg?zm>3yZJw~Lm zvo20@Ug6*v)nOkzv$*aJKeP5aP&)$#nT;;|7@Z{md>i+fP0ku5)ROi#1s;XYM0>pQvjRXq?U`m9&hkLs%4a zh>n0e+0wC8#f%m~@&xA0j(U}@SjVv1Bv_w8jWM}8oYl_wpIw;@j?n?XeN*U{l$RI< z-wKDCL{+e}wY+(j`~Sh+)Y5lL@Q`4Sn|K^|@?^9pj`$9?Y^S8y2A6mzqaRX zJ_V^JTTXLO(@O*=)E1u=1<#18w-kZ@X8j8U3hfJ>P~GD`7V^2~M)N-MkL1PSXK{kk z?vKkc;0jb8BF2-%cz4u(cLC5dnk|qoV&$eMxao|eL4&e!4~~gs!?XLMmBr{Z~gn3U2{c~;i{Ezd#E^LB3M(NRlDD5zO_BxT2x@0(NdPA!wCXryERJCs-kgL97beaTWv63#z|z+>tx>}MW6))SCH3c<=HY3X zt{Qh4Us%&jWS_BaG0cz?dL(`X2P*q(Jt-3G<0yYY6%YG_o?Psl?sPh_`8d&c@8re# zvLC20mj*2H`88?u$XdsbTzxIR;&+nV{&YgqDi!}p`h7_XjzpI z=gkeg5D3AnB|^nVQ(VaE=MRadnlM4sF2Chpc`g=MZU(^8o@h9zZa&U_Ujz)lRWe~K z;6EfzCUxmyPS>oc7!apYBF&DsQ1I(_Xw>fN-u9`!=vyEV&TIa89Snc2JofjP$$5MW zd^Bng)B@RM@k3cn;m>iYUwc>>rjPj#8##c0H zc&4S5!Pi7Gr-l=riv#DjhQuc>1SZ2lLHx7IItlyY_Q~#$VWI8;Gt-|x;JG86T+7>S zvrMy51PQ+lnv;=*ynrq2%^EbPYO-nk3uj38mt99BavDG?q1T^Q6a*&Mf3N;XX(@nE z|E@B9bL7O+zuEesn3>oo7ed$PokVT!*|}YFke&9biN^{x?9IAuRA8hzDEF3^MIZ1_ zO>}cfKF{X{w~FrYofNULhpKj?_|e31zE`)6T{uPa;R0wHw0)`i!%n2;3Ca1aF>@oy zC`1?wX_;|4rPzN-M-K?v3zXN1ysYP)Wl~^da z^pSX$ju?SnNpT|b2T%6ha-41c@{l<8u2PVY*=PB~2{|Oc6l2rj^(k4hzRAYnoUO^{ z=R8cMvN@vP3H{K~9oeb+mQ$0)wPs)a?kB>GwbYz}@tsp8G7K==!l7-g?uyd8tVv_b z3F*xaG0=?;p*-TcNNi|E=&rfzOQ)P5f5dfZyYLA$wJOR9)@crywjQp@>@g_Jw5@3q z>Nf0xY-2od_Zhh)(#CRG=q@i)HH=`Fso7jge+W?k8n4&G^9Ir) zbb%LH!PXfN9YOO66vIT)7RI{qkCVL8JRZg{Plj;!J7c#VmwPT+OrU=}5REm7`x^No zq~KQP#~Pn6jGsOuqpN~06E68q!o3`q_Gyg<8!ka*k^mN*ITFh~De%Y-5La7BmtmR| zp6o!$VF*53u@C0&cgTIvTit_A4hoVCV1RK-0MV^R=ZjYJ{MKX~WHm2afW#2Dnl#Q$ z#-6jyRDdbU4TkW?0*Hy8ABg;V9^~cvp)F);=6;?Q_=!E}6mUTpqFBjXMC|-R`v_U0 zBr^Fx4!B__fXDC~S1{qr4IGGu7{dj>SIW0lfzg(;;J$%|RLz1l>{MvlZ({Rb+~B>? z?ZHe-5y#vajZjW~-J)VU|CHds+T{OSGJegBa?4me(ms8Qi~G;)F#JO;0jO%YB-b#MHxeUtA$2S* zK$S1DKt6Emn$xK@qyL+ILqbuh6afs8rKn?yjK|TkVE$wPrn_f)7c+dGFb|R}ABiU8 zjjdHB%TYI^7}9EFJZX$N54gt62#9Ar%3R}(%3hQ>c6qQj%iS@}=b)8cN23ku_A1ur zMgLP2%534@C9^MGp|doZyVxO431%iAaFE!x8i_3DoCr3G-6yL??y-flCPR_p!s+9O zR@cv$``aWS1rkb8sSeMpI>Y(|16boY0lxuGu zWs3rT$pe4Oi!)aJ%VoL7@#=4kMGLOUPx!4X66&0}7nx^|Z@vPU1$VQC)A4e|0Gvog z;R1s>av)XmrH-`sV@2}5Af22iU6r>NOyE(G`Xp+zJv$_OTlPfxWnFEIYiyR(6YB*B zrWjK?TXPNWQg`e?K;%DymZ1Xwm8H49-89dj5*vE!y!^A~@$ z)V%lFyOh@FUV2Rgv6|iJsZmFAlkDxypHA9W1-c|+F(pij66H;QA2Apn1UulZf^E#^-vGnOD2;6!MvmZ6jU zfu1Lw_eJ9icFsM`d0y_`-dEXR_XL;fgr)oyfcbN2K4J01Y@zNxic0hLQrtgm`0ICT zQ33PNS2m32q@eB-HOOrg6bUP;uHcFYhK)gUB8=oWgguPE0g+93qbvvqAfm`GXIa21 zG4g7;+{36woeSLiU+8r)(9eu73ph9M)xDl}cT2c@j8;;ZZ<~R&Bnm#)18U`fhSxu1ADGZb0rpfj! zZMN`9lnTi?=I$?^4Rc1m^`BcMsi_iKrP4eOd4-X1>JDxb5B|i+$g?Jv<>9lVM*_(D zvkuRJzd4C}@`{P$r^W2mq<1p7InTvM2}<0`RpaN$?cM0cfiqT4-aNBML{46Estg}K z`Zk%oJoL@dzL^+@eB&IOrs?*zli;t{z{zoD5lp9c;ry1rF$u((&q{4z5CE*#k=T+`_E zk-%{1y*#fT(75@M2GM;0nU}xX*0_8+x%r)(?;lItTyyH2twh^ta=FBJauXf8jbcCy^vWU?*(553lLj{1KI~`QzL^|0`ADeE@bDwA&F%j+*QQ?^fLL)PR*`#<+ zf`-Cc1v3NsbtV8 zg)rJF1~LzB)5z3gS)$ZhE5Yd^`47eVg`!9=l~uU4#9j$#50Gc;0!T2os}rh-%DXdb zuVi1klSAmjMeyj;k`5#xy2dI8^?7_r>z~Qde^rcs$XxlKacY#)?0GSJ_k#r?dJxFn ziGZ+)0HGrlmd4Zr>ccdVDZiY1D@iFAzObaSvAD$>4|2_<@hBLwmWP>)vLa9@#po-8 z3ekT|MN+ano7)XcGiV@6_9Q zAS%tJOqmIUo~H~6>%+jw?10*ycJ4P1OnW`%_-pGy*RSy@_MGFnIG@ACX@-a)=FM5H zgm_S*JNd-^9}y)0iaW9j9pN9={><1{Ba~nrDiPpxZ}G4xIrh~m`Y#3!^HD(mV3Pzg z;Ha_387(~)R^@`+M$)T4$#z0iP^qh|(i=E4E1~hT)W3yOyVyl))8O4YZZ?{euWKab zR2S)*?FhNlZ646JM{qmtdq)V)z%r)7cV;u*h!;r5`{=t<>Gd_#(@ z-l@#~p)&2_lIPKM$m0+X4jNLvW1amSV6*ZmpZeY1s3~kfJ}wn^Q&Rl5*IG8Z78lv| zW2^kL@Vn1i{&#|X-uXHDY`DL{WfibulPr{R9|a}{lMTr(kks3RdeJ+W^HfsUkmIx( zM@itax$MOrB@@Iwv3|6n=2&|Lj693EKWN^AhUY1rF7uQ)7Js#3hjPAT#)kgH22i|% z7A|z_wh5gIJlGwPkIOQ_Q0wm=oT`WV*taWjG<4_|XZ_Z3cW_eY)1VpWo~0K3 zKF_}JW#nSX8h)ptLy3`#ah(+Hf2(Yj$H1AJK(=QNT!p{$bh9BT$rAqE0Nq+abU=ORIYH_Maakjgv|nq?qvPi< zq^o>Sh%gT5iB)96{oD()T{0Bv{A<}Ez?Q*fy&H;kfvaq8PLAx9A=x9yu}&cDj@SV! z)>*91@u<11KJJpkgdXj(N}A{tpYr!ri<_VE4E=^vM2y@EA-1hnF8b~36yVDUhMCfV zlTWK;Kkzsif1jndoBr9*U+1(6-M`A!ei3r~zTx4omTmn+D(V?8n!yS3;3LMFMn}kf z%r5Hd;)_Sk*uJ|N6i0QT!$TUHAiJhwZ(r}U#MQ2Kp@;6sAigxCw!{>dNOR9hnpuvr zMVcPaa-ZU4C~nQ<>QD7`7A_)sddunobpjGPrZ*Sp#*f zK;})SanJCk1UrS2q!^==jg_s(sVv|bRMjsp^~$A(WN5A>vJT^r5o^Ds*2b(plcPuP zqceGdfEURarPKPiH=8O0O^<$Nt?@`Im{rC2z8u;}wo&Z2<(|O@K&qg8t{OVlDaOly z*ifyLeM4=-V8}}dGXF8`5I*_FSCD@AuyCAr`eMoNM=$7 zq)-v<781vn8Dgncpi-kymNIzH0+0mJpM38d)>#=jesK2SDz9zraQ<*;py0#?t{KDu zaE0L5cl7N;0dQDo!h76n3dsNK=7T7IcXD$wbFwE9b+@#%_zwQxX2}2M&i|+TzfS@n z|EZX|TV}u{!Hq&t7ZJC$&nLktz>@#5Mw`a^e;XvBQJ2tGr-jN8$$?Wvh5hd!Hw!Pf z|5$5J$$=9B1wwtnNnWKl!SgVAS(e6U{ zUjtqnqxg27i(?BiXW&e;dPK(>qG$tDYduA!!r7vQMHEFc*1mYhCp6D=DoK=5$jNiR zKizJ2_u6;X(>z-7>>OyBPTzCQkJsmC%&aV}tXA87s^IX!L8IH#YvD-2L1o%I8sKQ4 zAif|pSTl}V;ldz(x!$U`JG8<50EcjL)Go{*?}C#DE*%$HFcfv6qyr()NJvBH@R($3 z#J6V$6QWiNXXsX4=xd^Sd5|iNcPtKMny~p4w%j0Fbm|oScy>MeT>W_NFP_)dKvX49 zAt~Ghd+)pItfr$34)J|=*WR9b@(6MM6lO6(9t|lX$Mss-Z!X6Z@`x8TMPfphlTE^o z%8V%kWxmQNk}1g=1pA?4En`D=Z+{##kQw)M?#>M$tl3zt7kfR?+&(l znBPHCyQS%C%J0czw&)&pi8sJ#}v7Puj3i7m+XRhA+HGXGmBAp z#NBBOje(O~6R=w*x6r=9ekNCVPJL|o?!8dH7*)STN2rP#2Yg@Kq6MF6Rr7%PmRg#P z?Z53M=iUiazgG3IHD=(V@GrhK%{6S`*|v8p-?m5vt?BPMJof)4f}(_3Ok}V?ijjZ< zC{5W@+;vJlqEH!{rkdt}_$1D8Gzgwj`pG*Bi4NUJIZ~H;EGAg30{s`eMD384ezQz; z?TsW}=;UumGMT zUF@j8@_ZyoIIJPK?OEAFu3~As0_;7!^ zJkvSjj6nhMo@@3F{{q=<^~=wg?t$|LM?Q3Fm+6I@2Zxy6$1Z9o8ieZu1xIe?YTq4# z^8tr=tE8I9Fc^cA1|`oZAA_R@oSMm*WxC4LD#LG&srkMHH+9r2Iwtk&dVcIHf5vY< z(8rKvo{NkgGPEkX8TX zWotxzY*sFLLn?h~AISL_fVkAS9Xhnn_`pMhjL-rd4K>ajixBF|J^$tCK$O z@yk*GrZEvQ$1GdkKC!8HVgMo_A=ih19iqTrb!tKUiX>LlrCf#s&vbU~>Peg2xpL~Q zqkHPnUo+fe>)dS(nHDw(^hd`0I9vv}(`#e9-2_}U7(~^l@=r!?QJmdy)a;H747b*@c!^X@ne2Yl%iqIti#Ui5W!8sKb|QM zhAF3An!uOz>b-4)5&qpqVW2ysACHj{b9g&rT({m|d-|lxo=ttjjildR<}apP*EIaj z38?`W)QRJ6q;FdM>;2Ck9#)X-vhn;^_C?%Wl7&qO|e_z1&G85#9##Yz& z{@tkrdTFn;r9=y~XeUa}7p8F%XH5*6%X%-uS!v`hE8p3{GCXguRh3Hl+UeZ!x6zDyon z{$WN>oj0zT(4L)xPR(Z%Iq$UwdVvliaX#G6%^qgfW{6AQITO`Qz0}2&UhAwU!Pxo& z)Ni4*!O`?EI(jfi1+4zBL|MjEE`cBo>h3cSBoM_!3cdZP) zTLOBgxER7f=pH|WDQ8PrGlsodK8K~~Wnk99GNpJBBcIv{m07EAODpL)606+S$WU`F z@R#p+o^kcl^#s#nJwm^c>c%?(rdrxHfcQz+n&i}0FB*VQcga=98s@jUShn6{N^f` zYH z&O-fRZ;wh}J9dc90;tqz$D-&DLr6eNXWbn{A(y*kWR>fEqb&Nf&c(&J@9el0g+$pz zEehY9!Hpcb-0p}C$AZ|B199a}(z)=UX!EI^dD*!qgRyuu2U>p(obg@LnPz6}%ZFdr zUsGPQHdN`1e>y7%V%<1$+~f(6$?*kj@4Wx2pM4l6(Ft~{oV^kW>fI6bn(0PjBODJg zxELBbrw!J<`(>!B2Gc&SkCom1-Dz}kXp<``dQUUxAYBfRFIdTZUpKn)2*cf~K;=RL zHFHxS*olp5)?sznY@NP+Y2ZNpgp+&sKm;B;UHb{Xf|;fIde#*am`?yvaZKKDs`g>I zI*0DR>yLz7GmWfDt-_jJxjn+T_V<_l3Z%g?-ofvx=niWL1iMZ_-o{Ns7H zWdVNSbfZxiaK2Lt|Cj^}vB7DvBou~&1S4awbX+((F=LNkly^ChE2!$QX+AX$Qdwq5d&Ytw+Q+{_2ryFS}E$vw~oKf_5%~#67(@UZ6*aQy$_Wf8> zzDa-!>0LH7)4+FV`nfT-i#-5dL@+k?h_s#b85$bqtDzHZ+3SEvS%590oAbL{ZyK|H zo9CSWIT!pr6A`d_%49LCT48EtXU1f>6izl^_qv}(!*9mzVGz*ZFkU}kYGou}`h_LZ z4u8=ErtIJ-)s7VujgCme0MZRa3^Y|qn)^rm#-K0~9Hj&r!3Jwgr`}%1+=68b!knZ# zohB3xx+@(ijTJCs;LV*PLVZjZ6SY&#?kS+AQ8-Q;tpFU^{Y@*Cz37^GyoEBP-qxmX zyGxCJR8&_#b8U1w`+MQ3+GR@*>s1RwB2iUuUv+AS7$p3g-ZHK>Id7UvJdpeLTo_}o zGlS$^}?m~IgIcs_VHxqk@TjB8zb_M}4LjCWzb{KC-L?lPyL zMnR*U>^#UDUu*VkU=oV2ZO-=EjQ1^g&0o^eaVbL}?w1?K|2^=9ru(iH{Gzkm8rjyT zogj!w+4&uf7MWwutHJO^-MoaX zw{J3}tIhDOuFW{d>g%k}hMc1V`7I4u2)Q#u+NNcXC{*kzVTFx#_sXOg__+pV>SeQqJKbcH%S zBR{E+$(7}pxASIJQ#2B)1h|5GM5Ikuls;>XyF302DJRNj9%zOy^?=^e2u^iLMZw+)tR-3UlCVwKcnMlh7KZyO(9(tCluOOdlP8aT;H$ zBE?f@pZzlY%{y!5mtk&WoCwN0wwzYnAKm~ zJrJkv zLAQKZ#h91ogow%dY#0iILI8etNc^!=?X4jc^zERW(tt6HK$8KLlSh_R5eXpTVLe~l zb1E|x&G1pWbux3v7!Udg|AzSo%p6{ODY~@^ljs-$j`E=PPy97Kdy|CJ=ZTeXLgzaH z`I!3rwF`!JShq3QD^A3i(R}HtebGDDk|{q+&EauPX>5MQY&g%se6D!K=_k0I-MeqQ zWRHqP43(%G*h%_ZFd8}>d1(VBAck9%6~kQ$I$BQ*Cvuz}e82waniVE+#vT(Quri1* zCutU4N?9VLw|DS~_0Hg2=uH*b?uWA!q9F4^q&?4dGxZt|q%&U6AoSE?)Qlq7+kxsp z^UB#bOR{ae(KK*Lc3NC(+lHL*Uz&;?n2@I<--!0sZZGAj*$2-tB=G=N*{5AKgiMUz2e4EXum#(V3ZC$@N<{ssJ3L4>+sn5v1TSy)fmt{`k&pJHs~P6j&F}@=r4@Y5`F;A%hO^y+vWyG_g-FFgs+33{-e6E7kCzft&O=jQyIcwkD9OZ zY6}s;O8%3mkd;h3Bu=494!E&~y<(wW%)>mCUO)S@4`+l2U{y~% z^$dD~9A?+Q;XeRQf5eAH-MMPG3{Gc29^n zv%6(-H1(+==HED9ZA%9A*wOf|Aq*-G3*f7rh;>-RPpfQx3s{m%+MFaT@Nhoj;RjO% zQiXXKI@(bac9fh$+_-Fd1;ezQJlI*SOD<74#b+snG_(T_5hdJP7a=mvj*J2pn+VMv zy9H|mSKK0<6>V-CE2;+xA5jjgKbuU&ud06cRGGZVbLZK3!NT|GwL)il+9L1FT5HCD zLk7c4)DELUZH$6+yV~73EROjNhz_FfnthJEkgvdw3%U-^4_G*AEEQXysPR30wJq}m zu0TE5o#Fx|dE@NWC&6jS=FC{d9u)VB7y^#M!lM<6XCA9(Hk625yfqJ(^FXTug${}Z z0#@1SY(vvu%T4it3qo(El7=^qm%+4*4Bnk%0--ip%`{B~Y;J{*KGB-1pygr$Wp>i4 z_wt{&&5X3&oYDgfMLy=MO92{A zquFKW$6Rwnl~qDM^WE>pr>X6_dL2!pZT!&l2br<*i+sZF+}ww{TCQuPg#iid9mb~7 zut8uh!htKwge`LGi4iLTCz%yWu=l2Uo*OsJ3m!UhLZsuGn&DwP@dnc#ey!W9#4)fx z0`6bb9jwCRSXKQ$KunGo5@i}8`d1_P7>k&;o?io$!|Qs}?4O8|h$Ki<{(O9D!OK_B z*edkWM92!t3naf;#0XXzk)~H4l!$;aUKyYV)b}qpY!J*i(dAHEs>;)uM>3@#@0uI5 z3pTm&Ao`R>BtZW7`w=}K-OyxgMVkvYoOa5=^H&@Wf^A&D7ZPl*aj-Mm;=+o&B}cn{LY*h14P_5(N+UVjQiU?z(V3qW8>g7a=O z#<%P#qJ2IhGxZ+AJ?#aROP4;2eSBm+Q5hye@TQmF4~mTIP8~ULjk~{hS4G@xETGti zQ!p_%3a@=@XnY4^AP0Thh8i`xKMd#(Vm$jKYZT8cqC@im;?fH#7ujbRN+UcdN`8}f zQc2RErPQGKUkpLRyCbpp*pLLD8k*2#HN+=b8dBkXwamf&Xuup3Kankc7`3wZ7magd zKa9_SkvjHh%@E0*;E=_0FgQsr}-yNpl{(4VuCo75Xd%M21DFhxtJ0DJ* zufWoAEN+l3Mtp=lhLaaq8fcRLSuRDIOV=o@G@4T<0ZP@SchRgGWUN}DGg(2lq?a@_ z2op(b07j=gn83ePe$O+v2*3=~%(};e2utd42J(akSg@XPnx!Y`Fl@zvPGsg5Rt$S7 zsJd5IGuZ%7_6sxqk^V9pkOg|N=RO-4h~qL~6Ymu1#-+k|o&OGBBkzu(8Ssm)0mSK@ zWfreVVR`GQzJArU=x_K|*8|z_jT#aL0Nt?hqwtAOp?_^LZYw@AP}ZN42L4##5?Dsn z|ABHykbR@!XqZCV-H4&af~1~78&cGGqsO<>)TEmKJfscA={)(DX%u?nTui+0%ZC?ge?zP6Uykddhx7Xw=k(R{=iB!9$Co2udydbnJD zjVUaT1dd5cXox=%;?5%CiG1#}tcdvCm;(gdXo99;*IvcsA`Xt`7SOhIzmKgr0)<&_$lrp--cD% zMn58{U9fc(|B9p{NkpT+5cG6oxkZ^|ddM7H#j&Y3Jed}hPE2h03B|nCX%zP!lG$TzBV(jJ_>O2E###6bM|4Pu(gr$#olxgU<7whdfU8AH51Q zXL5gsIbfa=JMks3)5={opxiAI>AUIk6Y0Y~@)hZ0_PLL%S%g=HCw!U*N3HaTCR(@O zD+hAFNv#jeOOy4TC_x2{K-}qP6+tXdFrk$diKO;X~rfWoT7ng*9BC_VwWB&J80E-{=3l(B!3afy$Ag2?6`c< z2(3Cnybc2W=b>+0c+R*gwOYiNo1~+fNV{fSg&un6Z_34n7p!c^q?&!pE0riis_m1_OhP)*`(#r%*(-2u}}Z!2+1-nxT)`)K+kuvQzCHF0m8A@ z%=Eg>_5C2mmM;!tVorIMcLKtchH>5H+<03q&@coGesUHUaG*!HVTNokRMT|~xGKo_ z=jO_2&Dz-9b4T%i?^2q5^$T-<9ReUYtkSIb`e9t&71}p@>U-x}2B~Z+N`naQN~}ee zpv46DwC3Dd;M_=ZZ(9)06*t2v9+dL3Jn{T(b-M%WVI6<)`M(ll{t0vsg0$6ozwM_p ziwtN(?_E7Py?6%bUiQaCiF5I+!05%iIuieXBvvP!75wzM66rcs?d3dpZ-YC zC>wjpaQ@e{>a>CJ8~`k2{yNCLE9or&as{LB&@oO0vbOZQ63ix1N6EV&^Uu1iLkPz) z`@9Y)+QhW5z3W?&X_n7iwZt_;f1({sQ=5_|P$)=U$8k`LQ##g!5}$ZovV+apoXMT` zz?BlL9!-8pAF$>AWFg%uBj1hirv{&A(PM@k=65kPfP7dLb_a6S2{Bi)AUNw5#M-vQ z#yyy7bg_Dk1o>I=>N{kpL1O%W92fTSqYDyBrgfJO{~3{7Mig?!O+Wewv@Ja(V4j2sCPdyi+%3MeU`;tIjQ#G4dgDB~lW=

Srtkq$14|x$rp8K60fg@eve}h7m38>yDLwDIt~0R;gzl% zJGQ6?DP0aW84TRvO(n~3;#f-O3+aI-UwxRPl6{-usRX>XQs4Mo(t}2rcD#gM;V~t+ z>Oq!c8yj9&>5v;>^@+N?;K&qOc59_BG1PL zQ*N-(+rKFj7Na78uAz;foF`$IR#niqm?zNmD)YKYRW%HQP~k0QeNoXo828{%#PX6? zR}iafn*&Iy@@N93R=KLigyQ%;&_9@<4+YDLjY^42d7TG?;+F}lR3ph*Xs==H*X9W1 zFFSE8rIwp%U5BpF8AkmshY#7R|5jrksBuMuciBxDMF?i3ovgzgAPwNC2V0HVU_Aq= zwnp_Pel)tp;Mxt2AUdi?QJuy7ZHLu6#1tiHjx*IaoGf2m@+9cVx=_IJ31l=))FH<7|EF?5Ww}`Zs(j*6^Uo(ql^$KDX@jLJXs~;y0 zC+$dG!A?)vm%JofoDmU=>4ZFWf{Q~1wLBjbD%j=*gyoG_ybEK9Dsd9SU*Um5a`3a& z-7LO9Jxwy(3)R;(q69p1ncbPaY3 zh$d3fjtGceD0Yby=w7Kjb@VJM(PXjgs!Ocyab$TJi+>IYKXtcB=oh!YuAvQW|DkyM@p%WsJ4mkFNH9jpYcgm298?qfY9KvTf>ba?ya&a1xG?~3)enqb&5wsA zh9j$wBTGwe|414ZyisjLwe4tD)%3^|w#mN- zTD=h;+2;8}pFkyZFv;pjbR2S-S`cd$&M9!Vgz6~k7&DGNS%S7tvKcgx$X{v%!!*H} zaV|w$<<*`HF)?aM-UUFFKl@5P3Dx^LDRG5txstTRE#hH8M^s+`Q29_$5XPUBqbJc{ z(Ypd-qb@)zK%&Kj8bmKZyrSx8@LyZ<#*!%F8#`R!gQ`waC`U^DR9nlKM z`FhtvAE8wtWB)@2iRKh^l*Cuvpw9c=4M3AbsBhCI?q(J(xp4|@l&H1V6edp%zuhov zQ##H+<*R~enw-UW>dntDM(K0ADX@V&^1+%Qz$W zPE!g>@Q|mXgPqFGOc=TU-$ljcBLft~oeF$B{_{JT@%6Vic`8M_F-D?)%vq}FO183$ zH4B19ng<-b_+AnQ?zAj-va-5>a-Xxwwo#e7g~X#3&OgDe>*?ohMmR3`Iqv^_5k0i; z*AnF{wPQ;$*eP2H1zm+Zl40Cj9~GXugg>&y)n5fb$kT7tFm8xhpwPqT>SR{K6EH7w zZWdS|ydBo7+x~U6k8zNV3Qnp9(Xc`o1x xIDhM_SIKrz&KljX@!^=!MfVZ{oQaq{|BA8mN>6?JLSYoyaO;}mFI;PI@|WBM!I>FGXS`PB5u zni!{ymDV7%RE?!En3Id@p|R1vEO_wCpBc(DtspfD>irH6lkY2(r3*1;J2oO7Nc}d+ zo5XAnJN?CA$~slEO98hrMs|5C=BQ>0Pzf5-4t2>bHgqcRvJ~MoXmrcGT=IP-`IJfa zBIOiD8S#?IDIVI%P-#oJHxz~b88?l5P!oeRCR3fG55(0B+CfQK!GoYTZ9TU6w|yiL)CkjB}X zkV>v4jc`zOOs2=*m^@(9rsU79OTSaCUe5=X@=ttM9YN$};0k3?0IzHCoAw$Kt8 z7wurc4qeQ2I3$q5qKNp)KMj<&IN7Ez(W{M7sGiCGMgvlYT3)4QkGcFc4UE756P*=G;D(P{e!$KbJ=!Xkf{sO3NHnokT zx$Kx_r!e3!vG6*?eh6>>%g>ccMPElYb1uNvK6-)kn?l0RjAj)$0-oB!!gZOl5z^IX`#xaon-&K1D&$`dI#My&DlEjf>R>vKRylPc%T@pzg$@3)SY zAs3O`F~-<860`GpooJLr9`A%AqH%sKX$jeP=m~=t)67r=O@L{CGKHf%ckU3{$ho2< zs{QkSDi5h*BNPA0Um*3AlSodHLLvQo-pSKuqS?*~R)upE+Fg!ZT>9bE5fx$1O7S;4 zm;YV*gO?>1Wx~c2;csN^Nv=FJ_#`Zc;g*3NZ+1#rtq=ix48kpjf>6?=cw5fGY7qW? z7${*LmhLY_wcG97Q8Xm_4&)ZMg23{}^uTX`VoG(9t}bPOFgvosWUVxkq%%kI;y%98 zsN;_GBW!rM zlrscD5`RJExQ(}@VaXAWJ96Z?!3oAjbJ7_nfMj0m^(B^Zd~G%bV@sTdTp*0hY6@A! z^veg9sw##GUre^NkwQ8waTnc|Xn-jtsWpilH-)YQF<+`;gu|?? zAWn!-^OqzZHaS6)KaT+kIF;=CG3>b@KfevckRT;vObEsvv}o}_<@vQM%9PYJ={Af8 z76iq)!9RVZYy(6=Ly{Z#;RxhA4}gGQytV;gCP@D1AlpQpTAGX096G=k2j_5&0)HH` zj%aW&=A{*hLbQhMl_^~z>~^eF2M`2H<$_>Re+Lj zfSax;f=dQqh+7xq2ti;am@$1X16q%(RP+?Y8kBX3=7@w0Hwo2q030exG47b`9bIk1 zt@cgm4j?!qD&D2v&je}n06;1C z=&w8LV4gattDK6B&{%l$87y=xU;|fDBjL1EEWUhB$GSN&}PGP`oK2~QJ>_A<$=D`#j<(<)YG6! z3JAs!7tIjJQ!oOBL*#D&7)D}WiDIZlh|EX~nzYS=2FwTgN}Dfh@?DM@I|0iVRLk7| z0B!7nQ1UOiX8-=(70P*0N^!YI`aA(E3;}h5vqPY~;Icej> zjL$5vaa@N?P*>_Z7=*?^U<~0QQnfb&YbuNaIWc;F=rg7~Gx8QP+Y9#@`v7FQ{ejDO++mlH;S4XCO2 zqXW!1cuP-x(EA{H{{U&4IPsPMnUA=aooK$EDB~M| zw(}#fYbkrsO*df>kn(9035N z`LriPCR`e=<)+juDZwMj(1;L`-c?*NCJ8c++{S(K+#Vk&m%^I4>;wXts7ahV5*L(- z+_0kp5_xWKGPRzXz%6>$uY-{WL9RN0-+#9JVYp9wCFd z0UeOem?X{!eJHu}vRq{E0W^@n4ty6$9_kuf!ZM=rBuYMn%EqwKb7Gry03npOOEV{8 zO-(y2b<`~-{d1+i)1(OUWCIoYMo!~fV)qwBWP%$-dVdJ)upfG|PlKQd9FySDf#!w8 zQ@G6$8t+7EyfPA;iLj_55#WT!bdPKb5-KXE{t1Qz>4-`Wh>I9UxHRz#s6A+l1amPS zzIHVu3ag?hm>?($YES8`oCcHr4Zy?607o?{SmnlqfBDaU< zuYee*(SK6$HnFKZLntf?Y`B1^8}9m+w5XGLo%6ZE-d;Sqg1bmj)3iyKVgMCJ{!l2d z=m&Yo4T%O%h)IYr1h^)s#{z!622eLp`Cy@-i>jvtwq(#Jphm)v`Y>OljR1qQ$5XpO z(v?oYplcApT$MygRcQ4cj6;w_&Io_`?6&)@j?Tdk{V9N=APr>}Xwb^imat>Pi( zi4d?#{@yMTwYuLptMtZqqE(2xbulIj>raVJagEV}#=h*Fx7gqi!>5d|qSf z#~SF>3qUtwwYrIz%|E$Nq8(hpeDZ?vRerAL9@)v)R>kzUmc?`iU$E*i1L{R88OltEr$ z-zbo$m*@$%7-Ux6v1GY}6Zm@Iti_rKE7aJF@tkr>_GBxd4^Ov&i%O?Z=6}yO#&ECM zWqBJEsHZoeTfV#&>f##07a2pip)l*PS6*D*{Su?QPnzA`_ElRK&-lK~7~kQ2#`qTZ zYt5oN)u6Y3r_if(Ok?73hYjXmVZi)bOqegOCEP>T5=y+dUVM|lp+Umi(Z${ufum`b!_%{Kg9ZmuxAAnWkslZOs%NMIlls^Un? zH{}HB5wjp^?^L-H8?do<-NY-yg6W#8ypGDKpk2oVR%Cy(C|cZ6Kz}=R9TU$z)m{Co z8kWz*1w=9)mM%^L&8Eq~u=-kE?JVz!#Fl%aG^w$&_3+d=SwU8DxRh`?1 zMT{gBy8E27db~heZnn`DI<{Vn4qJqOIq@tz{Bd_hqB-qU#n)6ugjZdz5aC=fV)DR; z<8KCOmNKDs!$Z&+aDTBWJ>Z|SW3YaCbnY31Cw|_UyHiq_&)DGxE;6RW8#njyHnIzW68}rRdnmAJMj)o~0AR7z!)yW!zUZ#W(a{$**rlM*%P_VJ#xXfll_e z@>k&}lqW!MQ|%S(d0GAj_IdItk?$BT6yL>NjO3Oh;{0%*AAj-);E#A*7#&}de#gZ> zOg2rTq6<9Gknvd^#TyLh6*?WDTS1@unc)FHviw8$aYX#gDh4HzZh#?XP@vjG?Y2kANu z0w1&~hBxu6i+|u>hz}vT5{Ke2sLwr-@yU;J&txIkIYk^t5j{UGDjwvIWZ$Lpqj)G( zoClS^xt@-Y^5fM1M!%3)mOgig+hJ~R$00pIY__kR_xcwnV>#tH0NF1h`8WAenL zNz%>|kguq07|%utzj%B^zluumi%5WjNxRzW* zQi0*zMVdS7I5^efQADf7-nkvAfL2t+CfH7;nKt6}wUvpNG^FxFgesd&IalYfTd|Is zNAhfA`+vI1W6Li;otWju?)2^Jx6!v9bfL5l-*6H1;TtOp0#Y@Eik4>k@m7-#tsZa9 zM#bAp*aBm56bl}mJ~+vhPJ{0^H|%{sUZd~QuBO(@Zg>1!rUAqd9A(!YVC`e9?X(?+ z{~vE3hd=C{GjBK6Sown0|E#1m!~fY~{Qq(G+Q-=w@E5Di z1bZ!ef*oe}-pktXA8RkSm)JdzLvP@p^EkT~zB*vkYj@x~PUs651o{SxUzCe4H{1GL z=;$fc(Is?n0k)2=cg6t39vTs0n@Z?(BNK-*UXAqws8jDQ{AX0-i*2eeUlnjkrLIw&S4akMqW=offW41ZRyt9@&A;u;96oUeG5Ghku|iJ0lL|Pz1nUf?>w!FJ>OBJm|c7mEmz6CeG{( zcvlDTlnp}`fIfuE1j9bCXQMHxOF)gnl_hH(4^=OHRK&O)7)1z5Y~b#~fcriSUD5=N zC}&D10!!EXGDaa`Lgs1l3qkKf=#}BjGmNuH6PyKja|-G%fy1IxR%QAk`+upP~aNbeQ&S7=P3b_K8$P9#HqnpzS>9NAJfctj`a^^S^KRdraO!67fH7 z@P1^^KUB1&pEzPKQ$?$C~i;)J|2`&#(Uh%sIM8=?^s5Y zIZl1xB3nfD7UuuGYyO{2%Wt%7B2)H`?=k52(+m2&px+DneX-K-rGJI*<{t9h+zoR5 zy#~3yUeQdM-bGOR(FL8{D46PZq|-qfhCnx zu?rH6B$yqwPrtOZ-G5_FKes6ZZt(ELB7TfKVYlNWfj?-6+|dQ(>Ot;E1;_>7T)_52 z2H39Cz;@4q-w`0o-2rSD^4(tnV46y;^p3tGl|VVosQm3l-wLMql~!rb_441**omir zM8#(-J6G6d(|T5TCteuU;#w(x*r<4rs2H9p@;7i(rM0zx(tm%Ujd81@;w2x-2MwJmxyR#_bI>xWQ{q__r>~Nqb%lB_uT$@V>h)exJ?p{k3~f4e zuaP@T2Uwl-z9Xy0b9%C^pkYSsFIBZS$4OW?0(x6vVL_;a50G{0+43K*OapE*+83wt z3*C6-lx`G)1(o*ZM=SS6n+?znRGkgTI<@^DuiU;wm(m-@YlcoD`2T++@Clxm#ZwD* z1U-t^6qi3#3#o#_MgrrD5@?X@G2C0CLOX%y}{z35|f z+8G|AuhSRk3v~6fYwdb>r4XA|7bumFcF&&u_I&%Tsw>HLE4|lD$948P(6;(k06V%j zY#r+6-jk0CeM#}He-XY^1m7Ov%jtcA!oz+Gb~-711g@m_+Z5Px0_Y7~+YH8DIFsHl zQZMvP%Nb$LiZM?y=3IKe#KDk;W+Wie(s>E!83xTtKwn_c1qtX&44RXGzWT_FoCkXT zk@=Aa`Wk~SOF-XX&=m>j1qNLe&kB+0nixY=nipe;NY}*}f1=S1F@{LAAjS}dZi+EP zphYo;=yQwFDZxb1Z(9x=MK@k5_b8knc$U-CJMOS$L;a_rif5W&X zIj)6qRXMJWe{su9Xj49hK{dt-AmSfb(8s?&V#0gO-!Sko<8oOMSC~dT*A4WxZTh}$ zb#yc@7+7c6;1I&UtIPu6g$~AQd@L0*7~5c^qCy3ORvAN#Kz=anb}?Wrz3WW+!C~*a zL$3{uXix^848up0r(|BhIfyb0psCwUbqO4V>UMwQf03qX1X9K?M#6u~xY`66?EdEr zj;F|AKj_;+1~Y`g(bKhO#{^eW=&Qsm(817Y2ZNe5laM(doNm{L}j5`OEox?NSlQ{ZbM@Ehsm@aN|H^x?0}7#HX@`35(2x(6VRgkOqFfkyHvSiRMX{L{Z&VPm-*pY5oBToMSD`@L^;!(+Zuk z%!+b#K8d&180}a;%r){kCMedyR&l3|E+)Mmntj`d-BmgxbHwU(UDwbY04G;|TnYMU zU6?&+bUjoM^^vEfxtyZ=gCL0TFyieP7f!os$Bq3ZWrzHKvkE}Ce-^F* zCjvfFiJjQcvBR;gzlU+S=eq59Bh{x;<(Re&` zh|qJA4M>IO_zxM!&n@lZqX{E9lQ5FgjJUL8BQV(#yKUXJ{J^j}1XN)YNOUca$;Bd8 zIN36@(M)+od(Eh$LfMTyIFgSwe>shrz*y`5r?EcB4q>#RKCps){hetK;aK9ORs}9A zqTL$a3$df&Z#C8g1U13)hQhx}%+kufvm(%Uma=K4U=Uxt?fZSD053`^R9k_y-GZBx zIwul*I553MMjb0k9V5t3aZ94wRu?EN$>BYKTN&*O8+h@*%iSl_MCH_PW;~B=#Bz}TATPCS8}>}wXqg?|><^&lo2l_B#ljsQ#57Tf z4_aDo7@bjy+D0jp1L6zse>`5RXnAXD6bagfU_Ve6EOjz#w(0bSQDqX>i(&e;9Efyhnjv_aWs!i1MHLB+YT9%}6D=f*nToPFs$fGt-QCp;` z;Zm+Jxm7tiQEA8{cAX+N&uHfRg*mO{2sU1(@aWu7Bug!-_9nH|e|VK6kI;gYPS(7}IEwM2Zht;?3~@6=!a8 zCMtBNoCKI@VwAdW(5kFQMu-c%TwNB4E}6>DN1vT>e6Yk53U*p5`Wp`|AgE!eXh@`0a6^3KUg))SKT&qwlZ zVUka9&nW1O+FlfNDw;m@2@8Er4ZI-?yQb~K(6MZ7JF+RDhUgn({^!(_`9t{>am_Ng zNiqqWVP#Hq98V_M%n4oovEccV;CWT>d|B{Z&B-qR0*#QVTbHU|3vvUI_LP?&U<>91 zB64ddmkD7DnSUGjMfMr?E%pue`@7LVqX(D)4?e6btl|J@H2U!OfBgCf9kG*il(z5mS{P<&| z?qtHEOsjXbq0Pt-vLKGUP^DcuK1D0y- zKARt3TdeA{VGxOtl+}OGs(L}S=W0hCL>Wt_ap+asem+0`q*@tujfxxj@r6poi5F;f ze%M^67~Koab?&P=FE-bCQ`PxVbDg(TotK*Hy#1BIFEw@E`N|+pO`UgDou4+>`OQ}b zYy7-ghkyBj=YBC`$=nTtG%M-(N-axi^~VI4}=E~B6H)ZPX4MXtQ=`?{BK@+OR zrXemB#iT0TG-$3VBvs{>AufhyQPpl6-BmP-s4GL>Qr>b-e zWq)IeysEcrh^SsKA7W54=v_nTqS=Hc!N6eSdj@risU~d55*7^#j=OL0qZD*?_f3Nz zONF6oywy-68><>`8$Cz`q3*t8=rAR;SdPgwj&$*Q*Q^>uqmY4?5iOn&MOF1T2HU34 z3DF2djWgz}O7G=I^!(MvmR2Oh5ecF#!*@Ap2<7~_lji(}S!d8v^S}k)q zE4#k4oVli6g3h7j(^>}mpMpfEjcxDYX(dVy9Nwk~N8aw$bZv*xkLm+ctjh zbr0^k?;Sq5cjx|7V$Hq#_(#!Ohkv4+zm3D&hmPa)(rx<={W{*s~jvA4|T-!q2)O3|+H z{6N-ta8%=9RcxH%jNW!{ccm4)wcHA-j!pAtw6xyfJ=opJ-c5(=o>#5+uxX4+#nZyY ztVDk`lV7i!yxntFyJhEg0e@DF|22L5T41`$H-1BNydG_B-MG;^fb(_Ix#=GAUdkmo z4O&+Ho{k#A^`)FoV^V{;y4cErYGr#lg>tt|U=>T6J3OyLzqZsfHp?FvtMFrU6>7+T zwbpxlx>9boYG#tMft<#q&wL*?Wd+y#MsN7fnsOw~w?Q`1KIolb?SFS1am8iX7FgqO zd#h4*lcrh!@ONfWD-k?oe)e_l(7D!PUh#<8vYiPhXQ2m2jm>@_nw*(*QiPA z*a31j38FmA^D<^C(tlM-q>SX~k&>&@c$N%U<0QUeCf;mI+~*4h&uv0Gld!Vgm#XbP z5G%LJ;Jnwi^%twHw`sf6w(aMPk+&nr_r*s3e;@xV`uLZCUln}f{rtGWb%uhf?mg{n z=gLNwb+)?)dk+p3%h}!QogJ;xa$fnh-lrO9&)>0o9sD}oTYr3*#1o#yrlzgpFi|iO z1S4R2n3UF_-Ymacr(!y1M|##8p`K^!rX>}%(AW>Ji&&u-EvJs9HQ9(^y;d~;@cJWY zl_w$!>F&X_!WCQ1cb8+kep;b{5*gQ?#E*H*Cn-N+{i7h`N8@Y~I_^@tehdZ&=8Vmj zVQ{)g>te;$>wg5a&M9c^J*>5Z9hHYrm|t#OL8mCKFFdf{RC0@w;i5G++<8Wf)G-W;?dw-EXW}(lga6U8q#-B?+ho=Jq zRd|-od3Nk{p=aT9_k7`X7lUqs7Zh78;QC=a3I-Jdm`(i35S{`$FsW9j7JjzYur3eU z^6Be3+4q34aD)0QxOTT~N9W|)S#|-gT_#e`e%piFX=8oV&S$T0$G*=QbT=@0H5QeW zQ1Fb}?tfj>w?8Z!5|%$&Y(?$+nXRnc%__Rj_h%OXKXrzlTRz)tDc0-AlUs^!GfF#? z8(U$%Z^w;o0#BTV@;eRX_s^k$t~5O3HppDDvn?Xt8lBkuSEn_9xz=KARq;CzNL=sm zaJzT7T1T7%Eo&I+(s@;6PiM&#RukJHJPpEQmhgtCs(*68 z;p1cpIW`{jK96Q$c)p;>=&N!=&BgBZ3FotACa1JCWoIj9T()Q%&0P;B6z*euJcxLZ z%A^N4TsZZ#4qh=jka+1r^Dh>Z@siO@Bx<)0@R})7q5f1&fke5>_xN@GCGYKUmlDW& z+rVDHJ-hrC2fB=l4#fQ-|1I6zM}K8JA?m71xaD;B`SpFksD0ECRKPI;h$A4}J%<3D zUf*e%JlS#<&pcc3kk?P+5TG+hkY>98fMPIG7gs0VJmp>jG6r4*C@G7%cN_;k?|T6F zu}r+r-~;o1;0JCD|2PSJlu=R!@5iBUvxFwm$0*@D6HhP#n>^pgj;G`H<9}0B%f|GR z0eyNNq;)^223m9J|;`eiH%;))Nm0^1k*G~A%dKkSvP~ZGXuM@&bpH(Vdi- zM7&c_E?s^tR$MIifPX$qvtT&qM_%R~mD5m{{D`rsV3v>#GX!#@F;QN0%X|cH;w&2{ z@oY2}7n~CCUBn6#9>y^k1FVZa<;>+d1%*fXIlb-><>%NO^78Y6M^7eh*5_fCa6%_% z6FvdSv6>TFk4YTGl7B3bTHJ`0XD7G^i3LpS`q&$wW5TA)%XoBB)QTheNr(|4{WMMV z?c@9e)Z%eJ48DNgkEa=epU2GpGaCi{AcQx>|7GTh?p1sFV{7f=xQ5)FjAl>SMrkC~IBt#&8nz^~&5$73}f=+k_J#s|90KusYP(Uhq zA5oT{lMf(u!GAjPT(XNim+T_W1-l&6>l}c zejYL0Ev9+mL9hh&Ah}DZD?v5ld)PZ1Z2R=I3#!|qTB~VLVwp2{|>;8L+C7bNHfQMS8nuS zs%kG5&IIL0?ocd2p##vL@ZZ{XBHE_&X!}NFbp6*;JCuC`VE%I(R9@+HTfc}h#Jm8^b7M9%V zL;Xe(TnH;3TGY@+5zrP-K=2W+4g;20Ht_|hideTg645HPp`2HXOjbc}#2}K$V)OS& z{?G}tQpPOLf_D?nEo}7-a5aPiJOSdEZdCe^Pk%u9jI9ZSV#Dy^Xp^sPsW4ib{(|&0 zrM=~mxZw8!aI8;zyWB|pM-^`RvSE!|uCu)%*%hqrSZ7#mD^BR1XFaIOKyQb(VYPM; zPFlhxvL?YP93fH7YQZY9xt8oAMNYDe&Nc<>JdndeM?;!W0(QYa?HyafvS6l>52l&~ z1bOFnAW%aZ7iVrwnZ9T$`?Y9jSNVn%WJ%W-roQX&+}VO) zYhGye**>K`!BF=36#iTn&hRa#S_S5e^nZ(8Ej`$}aVU3wBo`Dn<(Xq~sf!}GomLiG z6!AbtW3YT^*4&h;^c3l33+Z%jB>s%g=n~jeiRck=1bnhB!292 zi@PA&4 z#;5b@<085!!-g^}D5HzTfTPkv8DW$TdFhFlo@VXCtPD@mvY+y)=%j2*i^D5zXh8yb z`*}3*IF2VSyk~Jls6sn*eeu%=3sq;(p7HBg)Gqm>IP=2n!*GrmRGs{h4U6+XQMf2Q zI;M_)piR7TUU}(9vB;mvul`D51Ap}Wq(CYV-hb=??2uc4U=aA=8g;-}KoYR=ks|>> z_1N!2Y+mCiI{e6kf;=rBpyK>(Y1tXrE-y=If0E9l;~3kPi%}(=`=3J z`&Xha4zr{W4>*Dz1ieW#%O;9=qBwJD#Sqt)1!Ro0%QP9(G~mvX0F@FJjH18vDU*ti z_(<@S`27S7H9lg1O#?v%5r0A!&Cr#Xe3$@)q97By(Wr_;dc-M-!Uy01d?BTm30&Fe zWJ-)Aeu`Fbl~E7VIGm4Sc@+InyIxo{pU~)tt|>*g>G7y+B0UMR!I-D>3B)T8hVdh~ zHcK#v4046ImLl2!VAHXfQYi-<@|tiDG9Aq!G`=r1pf|-HI+Pk9J%9W_&0$?U0Y-Q; zKZto>powKObVZcqeLuiIDvS_QLJs=D2-so}9Z7^yyf6Vp;LiaUa(E6|tPN)1MaQH> zy{V8&1s#%L42ahth4e2W0zu+Z5ILa+(&T+ znH7>#HUh07wkg1MEPwO`9|t2f8l27&mctZWXbBO*YOEz9T0Awr$H({i_)R{3i;v&t z<97s}k%Jn1oI@Nq%O-&Hcwn>>Oh$m#rZa)N0ay-zV4U)!z7P0pKB5E&4-hUOv=M2V zFyMl|p|ss)GxQY}-$j`euzyc|P1d4V&IrZO`N0&3 zl#~-J15hkEjaX6#27m?(V@i&k#^Ip=FHR|4k(Czq3!Y4YIPqlGpL1YG-ek)2KJpDC zjl)G+I)~-;ffWgigiFAJ3zLy>!Qq589WjBAfC}V3Y9y5i)C5GB6A~rSC!k8ih?x(G znP8w`Ga9L2`hSepnd`Eei8ah9_XHj=J)IEFM6eS;CO!)}d@#ruup)i}GM-MR&W7$4 zA-qiQbT$!F^F26a>7mSuFLD((Y7E}N-j~1a9c=e@56b{TNP22PcxX&>5eES3349T% zs3d;9wQ>|YPE5sko06eEHhZ)Mil zJElhGgvyQJPLldawP9H`e=^)6b4)ytY9rV4{_Q;RA6U`y_BO4L$v(n5`K%<3-t5gw zp@#O3=w*{+)B3}wpIU>^OZ8!Q4m|hq`|iKqb>I7pV4N0B1itqC=GmVAM172gf&_`H zmW|mW*MFFrak^UI?!he4EHPb+@GVQ=&X_dWTYwO7t!4z8$wzeoh ztyviOcSjy6CX$;C%|))PZxQo*mfY)-b-3AD-hTv8izhb1G6%tN4sPfllUnugZf~15 z-nV!2hx24AN%fr7M34v-sDy6Q5@0ofT54|rs}8XtEQ4quH2sD`CT)SGIgY|!8X=Jq zQB#kWs`b&+!|kpb{b0-nM?`$7e=PXJA-0=*9iU6mwt!7aIeJoA3|f4}su&a8e2ble zU4H@AWd(HSWz`{QsEk7Ol%f*q12H3tRPwXj_gKVWA~pezGyu1{!pSfr0Abq?(T=!W)h;i&L9p{UcV>?W*w{d&p!bAS38 zm$O%^+w0r(U_vk()QK-lei13i`~)mA`EmN*;Hp;^7hXxK-4<>4rpEuSoe^K|Z8|!X zY11cPJa_oM`@x}e@zU-FuPJ_V|7m^w^WErfXnV|O`i{(%=T|IEW72irc)d0_^JkFE z9gIu(KGE4f9CYn`gU~;+^Xx?l@qdGh6XLlG6XN-c6QUH>e_yg^*xDW6b9qk-8;VCG zHWC>$)~+Q`S)7*NGSQ@3e#c3Fk`&blt~^wKrtfJK-+b!I5SJ3>3(c#(exg;=qT#%% zh&zF?Sb5r;MR_C}j`$E+JppEztaMbdWi+Lv3_bwfGog%4Q7pERfGbT0{C^m*;Fuqi z={bh&0c4iLNTY5-m3IXMIm(4Oow{McGkN|X7pPfL=U{eBS zl7(<$dyf9~yK4;tIQNv+FJUHip~&(Vr}a?8bRSk__nRa*&+FRd8r;^_fI89_p?9)l zyZAv=@b`82`qsgO7k}Q?8rI9-TC4wCFmNwvYbxF_Fy1u1`u$rxy#<|SudTHu+FT== zcu8ZN8$&wNtS4P6(^%Zn3k0rQ-YPHQwazAy)}FX_S})HzjpTQCaem%!u$AzEvC1N`c_duj(N7T@XW z?e=yZ_3=_w<>exll%I^Dgk9NKOQQp?N*!hUssa9+qQfKi)L`ef#l(h%jO( z#+Tl*2mXu`TvKUTyXVd+5JQ(9cb1Jwna3f}dg+Zn^uC9PO>0K(d6P-rrquGV;e8KJ zODb>@k_1>M6M`9NpeRT_z4WB_$X|Je(z1sCz{6u^IdXXDu?sU?DLlG@CQi!)ha@Y1 zXruDS9x#$~q9!S|6?W1S(?9Q;q>$pq0KPW;v-aGSofSPesVI>W!nl#g*qD@|t`qswMab9PfuZdW_JatJ z1W~}Zg6J?Pe)-p@@JRR2{2N|ie6*DByR8{pF8HDGN2&dBq;YK={wLV@c=SGh*nqc> z%Mms0aRBL)L=(`_IXjS=DT3W!tCmD=?{x2MiR?&d5<;C>>FEn5m+U+yL0*zI&QIU0gY6I~V zicIja>wjZ>4LkDAzZxCcRs z2g9RAW{y;E)o}(Qn6I9;1XQ*HBbYhvIp}fEdtFAMe%~(xof0m(gl&U=3XlmtI8xnS zV+89xM)2EZ=(L&n%e&*CS_bKcugXT4_Z%8ODiW6(>AQu9Y(fG^8r53!3N{axTZ~Po zY;Mx9-nN&UwR8PkJL%IN2eMvi=Y8YKSbLVuk!=Jwv+p?1uC=`C8NcNkz-D988~u!{ zjd*YQM*LN4#zxJ3fAX+@qQSlDa8VrqARKg9+SWn?Fr|oEyIqwVURvj}^kA(=im$tb zvG-*JET-U^VQrbr+L@8d$&G6o)UPgz!Ahd&*p<4R#X=o8roSp@FM7tGyF}b>TqyX| zwHsI}f4FvhYKMeZy<9?W;su49*W~o}XG*{iiEY{xOCDj@Rl%KqFCfevztLklEurc% zWDMs)0-K6zkwdf$|9S11SF0L}%+|g(iHT`07)>qSmQ&g_AN|Fy)xegMk-Rb+-&$WJ9V~UA2vG-+&SeiBD_+RAF39#N@u=VY2oMPEf;f}?T@ZL0nS5;HCn zhBJw?Ld=z>`8g3YcsP@oP1HYzhEXQ*MWOz?JF5MEpqiAzUITr$Dq8Usqrn`{Ilw<^dX44qhRuW0+RQ*BYsx4IeK{b&~K}AaR z64Ge(*S9Ae9tD`G(lGp$ER~)!l`O*JNd**?K2c4XVwL(x#aRwoiRQ3qzDk39!xCM>Qe)eZqr=#(BKq^ zgHD^9@<+Iuf-i|w&R_YyQdiX|N$~>iQFIF!PSqE6QK&tW3!oGT5Ny(DO1;?!b*Z8H zLJxo~tGH4H6!1$Sh1R;DwWkSM`I+v2td|K|`Iw-_S_L((Ry_a`DL|&Ypdcv0VCU2= zKnU$bxT=BBOQ5PSono$v#j+HWpQ5?I#uAPBoTK!_glxrYP2hY-&UfWJ@7O$eSycOG zeHvt9WP1zxuFf)m|4V|#az*5@y}t_5zBa|T{%()L!8u{gJ=A-QLNLLTOu zt5gBaCaXN-YPxYX4N&viQhL&Cqo7L&yx?@$k@?$RSZ1ecgZoPZZg{w}{a3hH86Q*+ zTO&CP#(Hct8V<4i=V%zbm)oNQGYE%aRtb;XLP;AV;CbfL0$(sA@s$IH-V3#^Te?0` z_Z4D&Mc<26ROS(R#~pa!Una!cYqz(v3up*`BpLt!00000c-rkfX?q;SnIjoUa3BV3%;5uBGS-aEjAR>Z zENls5SqX^&ha&+r!t_kHG>v+uo9-SRxSV^*O%g~#?oC4O19FlJ0y#I=e%ep_2lmT; z+&{2Y)m_zHHC5eRuD;YVNt60nBv+ExTMmliTIuKKHvQAFTO=a+=#6%2S?GaC`i zrE(bB?PYS9Lj>jxa+t#e=8bZgTM5kNa+uo)%w{>v5d!ljIn2?QxO)Pa+h5|0;6?_< zX?nGy3B~O?wx#)hrX7>$o5S*Y2E(hmrsEf@mhBluUt5Uaw`7B-+PEq#w~F9vem!PZ zSBK>dBG4zaB`vs&5U$CHK#AF!5rNvtwy@kKLa?;PLQ(U5*Q_*sBO>cs1tdz^b_FC# z-gOE{)UJu-Jpg?IU}~XCnFy1aEBs)BJFXfA|jRNE=5Et)7^@Q zG=SWsh)AQ#keW6qi+j}YD2Kypc$C2rH9X4SUNt-#NpDueqtSJr8Xk?fqiT4^2wpxj z9vUqpFD$6xQJ>hK+0X(!+Tj63MB3vmiip%ii;9TUMoWr_)JVq^5vi4qt7(I>cu)$gvy)y-nddx`)xd>2}h~1SPhZ1xuI}W9PZ8|#+_2koB0?>jZPQqrC&?r}L z5&MS>jdu4|H9Xqi-D-GLl5bPPqtbl48Xk>{XVma$T)amOkH*D&)$nLsyiW~}#>KO0 zcr-4)L&?mj`tDakquP5w35_c6K_xV*yN8s}sOsLSghn;@E+sUoxQCU{sNNpQipD0D zk1C;mQ7@m(YF%7PSyscN{mrT2QL}tZ4UgL8IW;_Ln2)RBQOnfS@Th54)bOZnR@LyR zaq4P#)H)3%Go$L8S3;xOTTnuy%Bv}%QQetJXjFAiD4|i!Eh?c=#aT*dRB!dL+$uoh zlH^80DkRI1?d&)-6gXlNTrw;_2JaPvd^YNT>&dVjPQhE!TvLN-bA;)JCHssB=Q`o6 zr{;MPGQ_o-F+@)hk@Dy(B2tHGN)e4EIOQ%Ubx9GClDe#jNJ(8$M5NxmN)TEQ7mSAC znpHWMPbs5PKF=$oQcgiw?ruRfbvdmURIn(S?^eO06uw8Qi@+D9M7~!Mk<$4-MMO#{ z>iZQDso8uWEXg9#IlO>E?tU;V-$3trzUKPm_P>QCS%t!jY~<$Cmq5S^859=wHd#a? zU>^<3ZDO!uyvdJ+*o*_NcMXa?Hopy$HzX!t!bsBwCFkfX|2JwJabz!9ajNAC}h(m-WC4 zP!gPl@u=;;&_Y-1tP+9!W>{X=msi0HGk*pN2FeR=96Yc~z7b8c#Mgi#Gmaj!6+lJo^8HlcF^9BnUs{`~o91 zp{VP{imk5_u%F4n;seXixgilJg$?S2zYy>bZx`#@YQ-pehBc2pGN!bbIqM`CB7fLl z3KYR*qy+R=B0{+2l~u&A1&ZJ?;)?i~R?i@d@Fl>omImOGPxISyVG@Z5?M z=izsmFyi`uEi88=VlaHa&W+uC#!KLS&qcnL%$Vi&4+3#A;BiL(7?#^*zzoHI5`+aD zQW=l=vlJ>Wu)lC)NstaV=jRE)e}4#!n#-37=wAiu;!|r@NPiO;HIEUO)87R~Ell1C z!au_DpJ6$`b%+`-!B$G%LftCi+`NPmtpPq(<49g=HiAK&gCx-SL*8JUo0}x{S6#FV`wnmJyCc5_-CGCVJcrN zmc9Lx1qwdM34)Ylso!is`I&mjv@Bymvq}|BFNVE)McXZ&nm+m9NlXFX(r7Z1gayKA zL^N?cNN_PfwWl~WSpdc2p2_w}qdI8$FgM6ccKIo@P_AfRxiY|ok40m3*_Up^3l@KF zZ`nD2<^ue>*Savr{t3VDY2fcFuF=u=S$Ms2{?PdNsj!^BFt@*4DU`hfRA~berI9H) zk~fsFf0tZC)0bV-H$qY)O3CU+{ubE&{*KZ+m1<(UIHAIaIah-z6*dhmq;>FOS>!&9 zYi?r{o`)?pKvnarwL+x&of6e+%bI`bGrAw-oD|2BimO!@4d26dxGR1KKW#KLtLQZ= z@adzp0s~H>CzC(QbA+~=1uo_pRb0}JTO$d2w&kZ3NRzwyK$E~6?wQGTGnv@s}< z@77oyncyc&b^~$1Z7H(x?50~apvAMYX>qKbaTA<6k)N7?HV;#{!qk89G2R+kACda% zP{eXltCD61Wq~I&tjMgH3?q6>TQ>b#@T^9yVNgWt339Pl;7gw2Xh9AM)3sP@IhkW@ z&t=fM4EcFpp4||_fW%zC*n_@%pn&W9Rsmm-I8%DxNm1ytq9)tQrDa09F?X@SQTP#s z#XYe)G8y{6qOdqDk>!6)Y*@6+C4&r9iQ#ca6dntbK-NOIP#*Mi6B8W^YB9H8Ok;QN zOyj0lUE+v2B+-iMh`CNpf@8z)Q#RJSW$*2sW#1gDBd-r$C9>>&60PiDO`>Yg&l|>u zS#-lJ^1U;Q9kDv{I?HyES?rW(WxdOCfA3^@FjkkCR~(YaawC7Q=&5OxdS@DAvAV>( zVqBt?jl5#Rva?(Et-Z7C+hTQzdBqWlRyOjAo|(n%y)%mgvAV>(;+6!G1~QV=r;|)~ zFiiB*B-2+Ctf7l5E&S?O__|B@vPX`Qj5u!rQ8;7@Uli^&UKx6MZ0 zXgA1Har&=kuuOlM>)#oxBk!)fDsugk63e-s8xg#;EaAqa;Q+mNr8*kyP8khwn<+~U zElaobfPb}i?y|aiju{wXUJEJJFhOF*flIiB5L1HsRQw-)D)FB;I*_&c-^m?T312+wY9kk#z0waP(`BK}|l)It)qqS%5z(I$Vn6SHN%+$hfv&4ID0Nl|PiUNJj7 z`uOoV-u?J}{@l?Hf*t;R3vwsGC!mOj9%?bPVnE`I+Y&5RO;_2*uuCJ+4yO!N9g)Cj zn-T~NzsnLBOv>TO9}_;%H@?ujcb{a)2qa+Vw&wKrx|l9yvdLwZ%@vVsip4@69S@a$ z)=(jtMtVAgR5WcIIwj$BAc@mA#4E_zhUI_rcji%xKsPGQg+dZf|_lNHwu3y z@CjoR?Hn<-zU2^nu3R5|u7 zUjIx2FU%N04)KBU^z1`-ow@rIc;J7L2Od0qPs~$y348?~615VX<(Kf_^bDup*4-oM z#8Fwe>d{8RPC|=;RzQXt!LeLZW>Gsa(zWB7o3t23i_KD;iMjeK25)1w-gJ*y7qIym^ zT<#m0U3qw}P_7-w-%;SxRH~6`4F-)Ww9Zm^Y*@`$(a_oG_0U?S(Q7!_s7P~y&?Ulz z6x7WIUO0(iZfcFN`$h`0Q@g-t&$Z4K@T$nPj@>c-Zk(@!i8{V00?J%nxLUAfrcI6 z0K4)8%m#pM0S7p+-7tSQ08MN2TBu{UL>;YX1dCL`Ohi%DM&?#?`;VtLGCUPqctU6X zLZdJ&9U8z|uy<1;d(4rG~Tp#|c0=HRN1s?FUx&uOB52k|_2-1AuIa&jtMTSKK6?S6*;9&=N%?kWqhh0Pb zrUQHvx;7L(yycg0%?k$^mNXYE!T4f><%+v`Jz0j}WNeXTY-TLuX_t`A3qu|zf*VQ} zT&hpKiILo%mYAWf1yj3HtRa!3D;SRMX_xWM3mgq5gTS6-?%5;GMH0A@mm1Cs8xtZV ztHWgcSy10CtSwgvK(?2MhuAnA zthlg0!7fQCfFg6nXQhO0W;h(UExG<2Rd2X|c z1&wD?3Mjg*pr7)bnm|~uu)euAH2pHJ7%~3n+is3Bu61SLu^BMnD)UGZ6N0TZG-oNemyqlrA$2 zhNXtDGLZMSw#Ylhk{6x?luBO+hX@QWGf;SMTNEm$E-$pzNs=?(&58&oYneQfLeeRK zjK2A3TRaHq)H2hl#p%rEsMnaN)%WHbeo&2z1`=)6xP&us1+gNvNov)|CB&okHeY2Y5zDN-9~GB`(F-VlCyP&w7muAQ&K)Qe zrX(-c3T+}~m*7r;8$?H0iMQ0zpAc(0j_vv-x=kSf&-Nb2F2*DB7J9LAqQEd3ZLd;b zRQ5niwh(xbFSHQ}??Ou6_?RRUz8mtA3;hM1fJWEQ^kvudjg%dSuV%K3QC4nn>ak)r zbbwD^>aGNNwa+7e@nG3>Op4p7lGsB-vI&owOL{V^K##HlHSv3k=q1mFhlc{7HOxAC zU9ssIeJ|h+nJFV_H$l>u=fq?4bCUWWO6q?kssDkb{`Zplmn8LnmDK-AQvXU;>mmXu zSFndh_OdU7y(Y~)`1W3w z)W0ZDA^ONRO2xWu$!E94r6Ab|7W0eO$o_~aZjmt9l*p|Q)|-}ZIxwRc3rHv$mVpm_ z!L*EUmBp%m?Hcf_Q8gUjgRKt@%@)sTct9zyoF5;*>*$4GJ+NFZm+-|bu0J(?p@=W0 zkAwh0{q*f&{R~?_6V@M^nTgjQ9uM0&d~}+rKRSc!56&>~hhWFJ9$ri{^@nG|`di1D z`lCVnhYsG(v~w!#_t4Dgcs(TNAg-T2%Je&PEQFtbnLfqTPtSz)Gc$2|4vvq92&ZQP z4hjdTK3n$^Gd7TRI9RAbXk@X6tZX@MclP5mT@XUx^H}#fAy8vo?Bfi5Nn!Eg=J_<2EMYF!k1Un3n&50mw?m@GzUcBV28L|u9v&i3mX_u8E6ld zjdoud#-gF4M$i?)4EF|kHG3JC?$iq*9FlD{>!d$)It^@bb3rZFVvjo&=32iI)crcQ zwwEi_3mG^Rt4sVD_+??fwkeU;;7CJNT9q{;;%g-HyWdMYP$=or+ZTURB-xmA5Jq|=#jm@yEFFwo~-)Y8rL6sx(H0TTeA$Z z7ucd+!yQsibL}VX?p?b*WUU%FN2l%FIgrtwoP#vh%7N zM&ZCs5-(1DxVrK`E%`82yviyb(pDS=P_;YuCV7j8v-8t(#b`G3!ZgY29VxHJUwkw> zKc&?EIuse}Bh|^Gc7DRO0=6G&?^lRr2np zUK|2sMnT@*W0h5Tt0yX}{+3mJyt3-+tm+fl`IJ<3vIs}r)J^Vm=TV$?{TV*xy=J3- zuJ9115E=PTRoCT1{8e^-USC)4#M8s;{82u@l|a#U<-aY71+^fEj2>5 z#VG9plk=wnrLAatNh=TJIe$jW=E!W527b1@9)BP8s+JG)*_$_bPK%&)Z|>ptl;WcI258cG;VzQgLF{{&6Ix%vS6zGWE?kVr!;*nLjtOyMz?%4e+3J9o}V|TBr z&3|L@<_eGhR*@dL{9`pux9nl8Yf$<2?m; zf}mhk{-6L+6cDV=O=Y5lUW#WUyZycbzG&{nZW_g$l0Q)1Aqo~&=Z^{*63Q9-oJ>Dd z`T$a7r&nQ&czh`?R(L!dp8 ze!tDmf6LB?6hSxhQnxoxf}Vt&mVZ#2F;?mEYrNzzzZzv{XV?xsXb8E%uDh2Y=$5+( zQZ&MB8}0h(wjZK6N<1|2f&hVF7zQ3%gsC5(p*M+Q4~4*p5wsDe3*d=+$Q=R{(Hx!` zPrZ&aWZig4=2@D79AUl2d`q3PYWcdM{I`vP_lO8Q2FbRwcDciA9a0)Uq<_r1O!D@K z)RW(o!=9-Gx140H-F9{_b@0V{r_;x0h5@Qc;L~E}{Wj1sPa@L+K=$DJeLzCuuW(^-2>2EA|T@9J#0Wh<$Lx818DaF z%^0{lJs30Rlt@ybI|UxmDu2xr=!h-%VOmwYzuw-w(f!Wt{xH~L7gxG(Z>@FO>v%$# z?(&x$F;K$_6CH~=X6il6W_v^ymJ`J}BaIiIRo}fP6I7ILdvVVX;jfECp1adG3K5=CU$~h+WC>S)iL2ZYu5|MO52BZ__}JCPM;aduNcZdHI#o~ zF?dC5@zp$O4`6-2r$-;h6< zAXrZ(_qxYmHEqra0(lFc6Sh7}^cz_OWiE>wDgHX60y`x+v1%bMX!t$QSdo_*wUAof+n<_!Qbt4I z4!yuuj#5jS<$tQOlh0_-ZBu`QfJwOl0*yTd=y+qaaNaVbTa|Y8M##=oCbwP@{%UW}YS=8t zq0Eg8bn=cwk;8l%?*r`pGO5zvaN6iv=OF@A1gI0WYbgIhL>P1VRX}{R+E{f#H+F24 z%xsb-=_wqCTHhuq%T-^iz|evu|A`0+A0II;4*uUH4NeHr8D)9_AP~h6;i;rolWHI zb`B=&8;G2JYpoLhd#GqWR5Twdng?IeG%Gx0)_<2OJd#XfYy7s;Aw9lUZHr?DP0>BU zbTewxEm(d`lp;0(ww0M57A-grb*rC?Zgo;5#w;SMI*h<%k0-~e9JTFek7_sSJ z_=#d~Vzb6Msl|eR^(MZN2ErllE;$j;wI5Dx-e_Sr&tF;Q0zM~n2QOv_nJ&wUuIZKf z=znWvT((5J(DB>1M9lKoJUlYi;*vmX>cFpU82&?L>gOoS-+HJ_9S{WkV_5B^8{CcG zDHP?=Sev)NXcTTiKWFRbI_>@$C+w);^}`)E@W;K(hud3(LpN~2MLX_hkp=n?rG86) zn0vZa-qWr7-BYatjm9clI#9}_;*%n0rGHYot{K%NBYtC|V@c(FSrA?%^x6aUm3sKd z&n7N(+ljMbOAKWYd^P8gCG4?PrBSRrK<*|`_gXzCa7$VBs+EiAE{{`|EhBY_^>-XcOc|+sXX+W9-LwwtqT^ zSHcYpwk~z#LSP!S4CErPV*F?uQ5GUt(~cPk<-A6~5Mt5s1eIDC#@LpdUbvV+%~8XE ziP#ON74p#Tjp|@uQJ*rY{p^8N4JqQiBfVxzr*{qIpHz_2vO=Fqg=O>U_lN~kyI-K# zPqd*ZjA)!1K`oXK=D|K{3(EtC_tN7A|dZy~ETe$nG*US|gW2j2wPL~n2m?NEA$$y3zS1{P` zBR_1+R_mCPwleX( zV7#*HkJIfFo5S};e;D8N-hZEbF#Y59hta3=&yp_}U*G-qhwrw?L(nI9Z31Ik!Gw51 z-9DgbnDf9LdD~GiE(y+d&7IbFvhDQpN~t(yw;DIlr|8K=37r8k()zJSrN~`rzm`-5%Y`Yn}#Aw10FOOZAqUta-yW z5lL+V2AypL$YR&Q&|@LftT>9bKr8iooUfF^bvk}d5ysqnNoab>{r|acZt5Az)lE;U zI+_lnaBmhZYm+^SpvBXwW+h={zpMa{e_@Ep z9I2v(fvEpKNz8}I)Y-txzG68otxcSoXX^)j9IO3=RhUS@uEWxW09h?&Mow!VJbqf& zPu#YpJ>-J;T3+K`BjID3p8z|Yg@;J;Gx97J{^+h~zi z;59k%>?~i_sDIB#$qZC@V3#kG@y!#WA=J(ublfnH%CiTlV9E_lG-*iShhAnN>n4Gl zY?lM9GM&xQa7*U!k@UgP zOUq}|3VW(TCs+GhM<-XORny?LeBZo)rD47C>%9b@lu)xo>KF2I1ZaA>k(?Ju3i z;U*86)_9TIa6~Z) zV{wYpBp1*BGUPf#;!(TUPJjB~1l$7XZC>eK#g4!J7QPzL%QXb| zqffK@Z}R(ZiucDiv-@xJ`)`Z)w?Aa}-R|T@_k+9^{mtrj+HDWL-)TFSP`A^^_qT}1 zKXVc9l&u#MClEDLb}nvSAp_h}C3&Hxp>K8up3Rv?+Zk^<;{on?vEMoSFuumSJ2$>Y zkbk87EqRj{OihCM%AdJbsTu(P?MZ^>2?`UmNYE@nNvE$70fm>O{>DS8s^}=T zRO>PYjVJmt@UGJ$@47t)y ztnrB2LF*JUIaG%-NTmg^0<`^P|8VXVElocSSnI7fRS4Hv=^kr}9Th-tX*5apAj<>F zFlAEabh_N{q}lfCoDyIf)1;UR=6{yB$@adFNxQl%v}_lX{$9@Bk|+Qnk!9;nqDhLd zG{S-jm$;*CH1-pc*Bj1w&o*}1fKc(lOx`%jXfayqjXK~f3!N&i7S>E8PSf?)Su7kE zA$mWIe5QQmHZCc0JS!1>o}>3Z@5+9pW!pgpLTp3&Qn&A_?BQQYqocVzZGT2)ZH3T{ z?Xj}4>343nwL=gaeX=eksTnR;L^i;kNBFZKMjmiT9LXUTsEtFw`QCjVY@LZu=XC%t zG6_PEk(IhdBSTg*KT~yHSd+I!jT*I&ZLtl``^Zp!-B50d?EbbUthaPG2(4$QrdaTJqCzd%ket*@v51PT#O*Ml` z7XNw9;!P{tURji7bwF)pT)((RNRaXzTe z2ox>one2(;I}eg@PJinN2X~^JZXTfO-GFA~$%wZ^BK&9IhI{lPj6&}h^1TYduYS0| zqOipt8)NQpOU$n8r?_NydSg0V*Z;tctNEjak|ZD6tY+!XC@`vED$CLa7r8e--d zx!Iq)3}?m65LWWLv%wEqT7<7MhKcCtl``Q zrS249fT(ovW_SKM!nlz;4k037_iJFM+WAL_|I>XUsjFZ6a14rPbF`2dIoK#1U%%mHdy%T8DF z&SBHs(o7xNP4;D>%DB!&gZ}ZRq5PVm{44S0cO)(#Iw0#SB5iyxv-27&-LEyE<;DsP zGbse#EMIdsF5bcOhv%Wi4v^m)u=$>${LhB+*A3;b8Gp)629iICRP-B(iZTt+-i@uo zRI6ehwh(#7gsD13{~2)vtrri8L*Q#!guTL;u}u6aaAvwE8MA1Tz5_1k?@TaYmQAbT z4?bbTjGL0u1URZc*+XQ5Bd*DB`V%Z?v9EdT$C!(!I71xxoQDCn_rp1M<2^(?vNY2V zxT2HoXn%Kv>w&#&4D1f%NRsXa-XIFew?5^fv4_|52s@}<%t7U+S=aEH4l4VMCOcootALO%z`P7oLH_wnHI|}ox7pLmv+it=BgHgP`u7Bc^JK2k&h{F1st*L2H2z7hf?E84B zpp@J0`q+2)h%uF#t{Yl@Y_bMi7MY5hlX*L*VMez(6><{H_EJ)FTy9XKcDLcO);UL- zPvIpv%xed{+D7`D5(Su?fYSchX+9f3!9*eX1FAawe;5D5*TcmG%2IsxC!1HUZsA|q zRe#*y4CkY*Sp*6&sHpH8pR$|4j)TRVoW{{^C?Kplt+qa<+_W2^DrteF8IlQ`C)`AN zN-8#c2XYKt_W6&E4xhs>iUg-g%eG7xzjbOra@?>UWZ9Qa>I`++>AT)H;PP7$m$Jhd zFOKM1uT!y?7gw?&v_BX+VM>cv^~G;;)PKnB`D{!3;AZ86&q+0y8t-(Fv!$w#1@|LN z-9470w+n*aGMtP7y3CBbmXFy;FslkvsQ4&_ZuB>#p7PMy-RkehY6AUA$D;pP7% zC-@`ZI!y2JhU9WXPc9X?A5GyPb;C+Ntswr={M|pxgnFl{JAJW6-k}EmiAI}}mVcFJ zQ%Aaz&u1-X&uzN4soKR<39Lruky^QfO_S^SmfG+jw1t+M6(7 zs$F1?L?cp=Ad36xiI$}9mJy})`I z1>dsB=16n6U|WWP;Xp z@1!;NV#{{2bP%^}FMGqbHlMdKcH9`_XSX@|NJB+onIY>Dv0 zu4*?t%w~V$o7bZ6*6x1A2LGRSILh3SbaloA+8Y~a1OA=C|8JmoHqdqWi>`Mn^K*`( z8O&-wDST5l@4ylMlIrHD$zHRgxR@lhy}p6gFXLR9muLJXCu}=iYvoIEsLoAW)KNw{9 zGEM(+=aF*@{Zn=Shkm;2C+4kVJiy(#hkoodO46lktdG{K`-VN<;H|0L)&_E~eHE(A z?UzP{ca6Qk-CLS*R`@FSDtdRnU@MdTHB2}!w@M_o6s+^#InjdFX@C04A?3G94wk07 z(E6k~5HffT13HY;aV}qf$60r}&ZXPVIVag#bGESL*D39ZO%lXv+iFVEpGBiKL;_|R~+6s&Nc9DEh!aO97bVKS7ahZ`|rd@Y0$xZ`MN`~xuGGSK%35lW_ z#{CHnGIpAM+KMIvoPUzJzRM{=SxTT}hO-mQys^KSp}>v7>5OMlut&U-puR@olshQN z#jfYxAs5^Jbo&Q2>RKP4h5;TBtGhB_ zDaig&K49F3raOcgQIQpEmSC7L7#4lA;31$iVv}=ysKm2%l^E@=shfJFRK}Ai-gV>g z{Y=(%-?#ebzleIwD%|H=J|eH>;>SwqexcCkwt%JB(0fiLOb z*qb8!4`Y7n;eXh*6a~Og@HyFrNk9u=0f=DDhK75oN6TXm#Or7q8Vo!{cTACJV1#e* z3zUWOpq+TzpfLbQ@HI*KLN8Mge~A$yp~oWT$W zXNx8BZ6CTSmtZk3SBm9dd6T@q1HhLL5Z|M{2;E>W@sj~KXXOGCO)ZsV5!SRd9N{<^ z4{41Nj%gaqu@VGl!WeM*e4D);05Xgc979dO5(uqM{7J-1`H$Gc?}CBE43-ph4E(V- zqCw#V;(wsz_^f<7ARj7Wzj!Ix!$N)mB_@~v;g$5RJNEAiy^aY%(QDiZ4ny2Sf0F+u zf$uQ~uNyP)W4?`%GrCiiJ`$=oT0z@?@~QE*N0U}^x@D_eadU!m@m{Agaa{I!lsdT} zR;;_y74$r3NM8l6C1*$^7hK(Dsg3Dw2BP2b)_<1jhP7tsx)GnT9x+#X&e;SFo>z1i zB^7qrcbkfz)u@pH;hkJH%OZdu=0Er)8mH*dI4M^LfQP$niohgEYCP z8-Is{J;s|QYvD#;b|pu?n#Ve7-F8gyKQ95%{;NP1>nQ0v<v)Aq5y+~YD_2-?ynvaggcc2l<5;u0GGKm zz(4Y6eR7Kh>a1Vvpa}B?oJ& z@GQQw*<0&lm)}}vP2ZGSi=+odub~Ze(Ye>@)Qkpt)PUy$n@!YmAA;%YD&_7lHI!|I zJyl_lRiRkNAggA;X=)#QPnyz_mPDvs$U)15lzv0Y@^)$dKh_0a^Ai97000000GAX2 z3`qgAmtFx3L4PxZC*n;wlC`>Qw3gE5N0mgYXm`)~&Sk$ntE(%E>uTC|Owaemu8F!r+~Z?bQq&bzM&E)cI)!A&K<8fy7f zE5$DYD=9Y=#W?I`Gg~bopuANxuzqOHknWi-(&=%4^f?CmLTi4kkz+!Udw@dh__MWl z2m4o2>=8ksji%T`_EI~zB!#B~qNYx;8#qXFFrl)^MZ4E4?eMQEgn>3 z!gb%1`jb#wU+Rw>$tT>%!A=rIWoJiK2g##BdgZ`gkOa0}aRhY+}w~vkw z{m|C=60MrMCd}PwluXNVG4_eTFV`-kQXDZ*Rz|%#bu3u5Tx8 z1Fyc353Xg&JbbLZ9*^Stw)S8=>gKt6BW*3;1A_Oc?$bF6^@^;NQI7b2V@1x(mz%6{ zQQ#GcqDBCCGR1-8Hh(6hcl~0#leTB%1g@}Gl}dpbnl5ReoZHXS7n)j1zrRG|SxNm? zk$=?D5k;O&nh^TMVjQ?Rdzx0k=8@|a?P zP*?91c|Z+A=Q6iMF0tm2aTWzWLBujej(;np_^%mTAE}!giZ(Fpo;qk(U7fZIAl=Aq zPcd@r_93?Ed}BEI#`@NNf}T#F&AyvI_g@4r$*bt6qhEf1JxV44CQwVjwssuY4KarV z{tFz_LUZ4-tGO__OgZRkkcy$_gF5XXL>7(_Z44K!+HwTi`;B_o=+D`*)_v`6rQy(f$a>_ zLAl0 z?E8dNECl_FqLJYGQe{g%BSTmUa5};yE`NO`0Ip{#t}%#+ z(PhRR_7J2$Vw?2}KscSlp0gyMvUA=|cKbFn;71kXa+<{B1L=~uWHMuc%-Cap)ysq| zJ;X#FiA$Ly{$PKqwcm`S9~1;(1GZC-4bBpt86Hc;@h7G8w!nmZYl$z4D^PySx|_Dk zk69Bm!=B!V-ZR$y9}%)}xS9k200000002}^O-u-vCI<|33I_lH000000Cje^l?MzD z27g!w00000004N}&00%y+cppuklioxlZjGiVB)Ln z&MTABTmma~!f=2*hVL?1s~Zl7D2T^1z?!n@d9i24CnLltHUSt+f%WYV(F~}M%71t? z2tB5Ns{o!q7@)p4pwriYcV*@z#^+UW9pL5dPHAoc50Uv3rQL$Kf*AEtGy^QCBjK;< z)GeSfJZ1hh31ifw6t^W5V}Cfxk=_B`L%`A5yYt@zZQKK@ANVnf5)#2R?gKyP{q_M6 zbm*OQkV!lc`p83I145fonJ8qyw|{}l5W-#6cdf_LmC*N%sA9N|zGawsBB|6JOdPRO|oC65Bb-U)oPT(55Y-)r50A>irExB9`NHLlO-FV`~ei&FibbsUre)^cI z&q6`Zio@Z6ws!nSc4NOU7;$F}_=h zVfW3Pe`-7kDsZFGSj7`z^h#loaFK(m%0SiY^;JPB0}vQOQv~e;32k!GGH4u5qAp_M zXq82mCb91MN(p45SK81K3iD+L_5FZ=RC!%ZGWM_t*SXJc4`7k10e_)*M!4$nA}<3XD}VV^X}F7uba6v5enBz*L@|CvF@9Asep4}iS!Uc!$F1SPQ)4c( zEa~O=ZGslm5Q3q9%ii?Xd!uIWnLoK7zxz}(lgE8GeJ3y9W-oU9N6k$JzR3m-l9%uK zmmjhhy>(D?tn|5AGg|4p{o$2co7U{6sb*p%1ZRq*6#wa|cz?sr2MfY5K1Pw19IlhI z^#T(K6aQ3l6J4s|1%H0xyi1<&v+Xn;(`^|U=&|?Ibr9S*9=-3plQd zIquL93w-6u3rdcpY zJ=}!oTg)6P2j0rO=i)o;h8~`MtTi z3bb{3!9B@X`A*gUx}$9`+|f$9COrUIO+o_e6N!1=W*dJ=3$aLQ820N1hSFe*&{LM! zl^Ww`u2}$fK#9MWszG(oT=pmq`7GDIszO0|`M8eLTpNFe{`mA-w%e+DFmSw~7{99+ zzgE_hS85We`}+%f*M)q~GrkJXtuoJryVYEk8hQR8vEvdg^&K&M9Lu1Aq|7tQh<_w; zvb@gWH#%8$BkoJLIdx}%4i2Y8NyZuPJ!ht%TA_lt3Q(b<=K|C_5*0b_QaVy~RX8Z+ zj_hk|p%#BGRr=R6855zXlKkwjwr;1eknFdFwXJlnqR23(sgeX6&`@@qq#p0Y!BJFq zuyakEW86fV{)ultellR-v+}unjD5O`_ce?BBn{iptWI*6E7ldRNVg^_A5Jf{$YF&w z@!`A+J|`on930mv5yH)4+wqGEyD7B9Gl>O~YfFDFhE#w{P=LkopOt~X6mX>rtx~Z* zUYPu7_~X6Ub(@acT1QG-;-EnHC-I;lE>UFX<`4h?0000007_F&P9P{$ zWpbAg6%1wroB4p3c@+#y1f_l(^|#3t3}OWXHU59ME*lIW3IsnZH@25jB@F2Ug#JFa zJ|+w`0tDaLMGlvDC=68rA(zc43{Zb@oIe-mf1Uqv;=Hz#IClJ95`Re?r>gpy?%wHn z766~~K;lkMPe0Yw)z#Hi)!i?Sj?mu>dyE`)+J5_*v(a(fp! z?bqLO8@=h42cMnRwdelai2ip}FQwaccBboIyXmzzr#ns$a%ao@t6$mtxkW}4FWCwqx|_yOnM+puMK^@;WSJHzc*Jl*_`*ql5tG7 zEw}6SoK2;N-ftGcvijTGZd*a>2NIJ>Kt7n5?0J#wL-FYM+r6&enhttS&(*7c%qX8_ zz@B1bJWBat17MlbCzcQ;6yxMcBVo|%_8UOTIDU;G|Iy4@BtjmK?NEO`O9!ZJ+l4NQ zYI-79Hd))pVn?-}?S|9!oO(+kfhY6il65^5-z8ob7_E21RR;IR(^ASZpN?e%O}}Au z@-xZlWO=3Jbdny&lheH*(j7@o_sKtJj6+MhPlOw)7GY z$FrrE_$V86$J5{H_}zbAdcupE@Ps`!H-FI3RDX5w=qpWd0wlhRVHu?=7zYw3L-E?n(h#w2yO9mU$vurz^ zj@x8nZEW^MLpl-JTVC6p2B}G*lv9R8Ad*6dwi~X$K@=G!KW)r}BDoODV!=5RE6KbS zz%-%@*-QNSsFr`Q<9BT9*BKmeg`wd?5qaGVvQ363a<@Ekj}{{?;-imNM{q zhQyy1iLYiz{27t>T86}5AriltA@OHLVkdT@ks`%(iWaEOpJhw-w87rUmw%xCX6!T` z<)>hSOK8xZo0RkMB538 zBtF{w`QE`q%Id^VN+rwcB&CvE=;*<#UTr(eaN6Y-ge2$M_r>SS1T zviyG){Q3Ua#8J9m$)6uH(skQTcPExR{i;|&j&bvr=U5hXzdBDY**(7|PcGR{U&Egt zjmZ@=-~8H4$t6s`E|zPu|{L+t=sHCOhOe^5?ObY(iCHXU2cODOQlM=8iIcL(Yt{nZKDoKQNe4U$}l_ zNnS$o+rE4M`z(r6>}Ahk@w?zXXxxJNffbEsFufck$$FYm{2BffJ_*7LL45zS{3#qR(6c~%GtK1#9t9%7pXblAEg^Dcbpe0NI$Hwq z7YvqTdLoE)f6?H`7FPn1{4W_4m*7GmvixOZRPlw9`20l^Bc_pGB>XG$^z)Hw=DdNe<&8s^V`NBPZVG zE>iz3qjTa@YZd%${v1!wqBnp3@0h(It@R?s-!+Dbux^X*f6t&$(~2z8{e45a7_fkhX^`5#k3WwOqyPdAyryfarbqyiP5OuY`Pg7~DTax(|H$aNDD5TWqkV#0rvAqU zaYU(K1Lc_C?=3fBC=dsfdH#tpat6%GBH=$ZdP10q#rJ<^%n4H1Q%8UPKer{qg|zc&WSpmkTI{15#3gr0KHI4d&zN2BpE zMp=>cKN)?bCxw#xfy9654_e@`j_w~a;TW{^iljfxpU)UcEf!vp?LV7+5m|OclK*0e z2!=&hB>S%;y4VqG$rXuz#F&$$1y>~aZ~Q5IGRbl)KK`gNy&A&GkMXAvMpSwCzZ*m| zXiF0*f7}??7PGKO{u4&?V-2q&@lP7uNf=zk_n$JzzugDkV6=bor;TobsRX2uhMDY3 zMl*P_(?0d$fGqw$3>F@5b`h!nr@_LL48kJM|KiW1$$3;mu*mu|$-o&ag`Z6ZE_SK# za|U_vJTV;V=lS!!dP)PGzc8Z98mX3Ck@0^UJX$lliA4X$81pH{Hj(ZB8f+-aX6fc% zG};Z3aIQxgX6w%71m5qjS>s#BA0?~@+umQ+liB7N3J^=W^CENRj|-GGWdPB*py-3=rY zTF6P~be{MjHL(;I-#e;LlQBK;K7+bU4Y71CAJr$XV9TvL?M=B#=AVUTGPAu+x|{O? z#EL-5O|q#UGMdUTE8WUR^$COHJwlrsG@Pi}A0E{iRnP~zGuhxrMs+p_iAdzph2I!1 z`_WN-k`sR!8E25m9yf4r+UBGS`KUhc3Imh$6*n5AS=OX$I8XF(Gf|v9OnQdfN>)ke z<2=!kxI~G?KRv3?TZ0xc=_Wp^ix#~tFEG2S#M1}?N`-NJRG)+6ty|JL+~_|GXFh5S zcHKNBJ;Qmb55=a^mKdKfhCb7{^}SZlle#Tg?lFIZdQ9_`^aM9XhQ*L19l?$H$!f`w ze&9UA(`gwrelo#xy-Urd&dZYq?^0|t($6~%{{zeW>A21uZ1;>Y*i)@4(!o0pzd*lD zuYrR=z$5*<uk>vEE28Zezae!y0S@ICRq- zV4r_7_>eG*NIz|ZB2Dv#bj~(LM2x{f`eyT_N9{>%a?@uGks;3BAYHY2+86m#>)IgyzKoDRYC!JaG$4LR1xGkSl^3ej`LK37EMKh!6J@6V2?b{iNiGeg{v>R< zy%5G+NJBqlN}~`}$Dvd*gkUS`x7-j%aOi-XfU;W1CSy;k<}Dq#{mi5h|A#PF8Do!rE#DLgUr>N(fQowcGGog~&<;-)7fpv$cu! zloo%`(z5ThwBY+j?1N2XS`W)!Mp#pzm@@G4go+n7<H-9t4-G?*TWY>V&MzhbI-y=w=l=v<|GRyHxbU!8UN-?nK5va^>gN~^M20TBWBMg z9mecoVyM*WY3w~|W_(1Act~mM?I8t{zif%O2`c|Y1wgpB68Cf0xObMwwR2^dw3u;eepx7q^aOGs0hfR7RXJvb82e}(QB zbz;4p8SEe?39ud$3_{8A(HOoWRJxGdtf-WfT-dFZd=W@?^rg-!&*-i4ds}XI#%q%U z4Xl#|^FA2YmH*f%OXx|sT9h+RFeH*fh&3o-9uVyUabN)K5u>W{WR`y|Ah0m)zh{*8 z{#d|uP)F|$sAle`4A4-)Ji|2e(*bnO7GxX%Z!8+uj9D3DJCzB3YgEA6i+4~+BbN7o z@xNGcB(87og^uGxhIsY?6-en4mISEEy@Q-6Ij+`bF~kbBQqn^3b0(#QS7FYasv^zc zicsfA6=dZo<;~!KNJ4)n$KhEi`x`(7SynDTXPIqmV#^neb{|vQ9q+1oKQ{Y2ciHT+ z+H9%lwRHR*4UXqh28U58gT*#lekrLRsX^GD*bdzzmDOJA;eOH5ou)SHK^>((`^$5b ze#ag)Tbt{_GSZQAz4UNR8l#zJf58#TCoAQyyWxU022oAj#D9Ox;7A`-G3(xPz#i_-kh7o_!IAQ#`cgQk>SK(LKS7|Z!D?($eu$bS zG$OT^fn*yFEr-hUgUhy&jD*D;D;eygIj1hR*@COz>h7l3X62YfJ(H<3UP`lY!swf+~Lz{n(mKx2df!M+O(C4eqDN zNwVn%4Pa2z9EnP;%8y7!Gplr)srLOc>OSiVOKaj&(Wn456QCkoyL$UhZLPMxIQ@n* z{m!*#)9fYxO)c&*SsakTORy}Pm839fS?Wg$4Bc=LRM88uZ#F2mVJv1&XfClyd%2*)yl0V7csVmZX>tMRL$96C8SM4z!_K z$zRjjhVNIQ4eO;dZ2pNVD&25eeK#t8jODnz<(7ZEb{oEv4<57`R`jKwUkZADrv&&f zZ9BcjR>^g`t(}t7D^1J-I+~cG?e|zJh-GeS&C=U_zvl*2c6nibjKOt;gs-_8s1wF# zE2Lbg)gXKX!ob&R&{Go&M@nI0tBydkjzGJZc7*C_^74;c%0I4_e>|o9<52$b_0lTy z($Ig(udS7g8ju@9nWfsgt<-_?*G^15zrJ2tL^>*QgF7$ZD7+RhJt%-3*4Abw7Vx9A zrLiUjG;}HxRQ}Qpx4VOcx><5tflH-Uu#+oem4z{(WCa#Fvu!sZeoF6B%;GESM~J4~XT{;~9Sh9Ljhw^Bj1{NI9Pibes#~06%P*+`KmA z^O`eWtL1Kjju+HuJ?EAV^8hzKu#en$WYAS3wxK^r zG4jnQ@=c6f!${<}z>awcne$`~O;oWBQ2{HPQdVwR+HY`Xhs?u zs#crj`MWI8q(Lcw{fIWM$<#2zm)L(vqx!chWbi;)Iex@~7gN>$-Wa?jXpbIPeEiUe zooeHC*y)R8v86yr7MpHciWUIA7i8mmNzl9%;rps|H&{S_gW5cB6ZkKz9jhG+YvZ+Q zttu>WdGwb~K*~$tQo&^HWEvXBvpPylNxH>527K{L|k;Rb*|1`%x+SZ;RC%jul%y%e@Pn5^* zzzCX>9e0&U?l9%lsfV7eJO`M&6~10sdv5x(&h*CO^x5?&cx`>6+^#HOVoZy@sOGDO zry$=6$Z#Shr5|3bEI_%R!NPw(GnkksjaJ8X1cD&J#6U^v`3yY)?U?f>!8LLFpcXYuj=7swzaPj3Vu4or9?KnkM7RuFdP8olT_!njp=I3%c z%jFeuzLX;R(BEHpT45_m$kiIY!2F|7qjR(*=HODqO-tce855wgr(C9~94Ctfru-?3 z9Oyn(J_#BPNN;?YlyNqQAaixTg31P#RMs;g>nWdwN?vWLwWlQIu}nwwgv0#(X)n%&r9h?*9)kJX=9t9O=960qEk%b=vEOzN8 z=x_=h&i#L*!?B;RA-s5=R9$Wq2UBr&@=Pxf+eFkoEP~f2>?$1a2Z}jP!`y{AkcUI$ zYTM=_UqS(Wf@wZSL!TV*b7lLZl_ZKEqjYIo$kXz;0>+0!L&i-*nhSL$j|;W%J9Tb4 zUe7#WMZn1K?U})gMJ(+rr~3TGoU_&C?q+H-71Dp_MiRXJVt1R?D!YLr7G0knP4@@Q zdLoi`O5!IEYn=uf#d5i9ci~o#+)4CPsgNHKPnnpIymZ!pTT0)a8p|b}T$t2UE(0ad zcI^$f8?r-T!>;QzQRL!IkXFF&E16)oQx^03fu;7z+I(#aaJ2^F#e8@SI`0@vIHVR1 zX~BQUXRrKoDs)M;f>T+6`e9LD;QoOn`wH1=D5L~=h)M3Xa_q?qZ$}Q_cbALC&NAwZ z@cc-MAEFumFD>!UTBf1{N#_h}cMl}(Q26dc5`o2RP|OC!Y*66-ft(FY?)a|~77^OE zyKhrhQS*H5|=n4AlHWaPemLs>n=!dgLDVLh9z9KO^D_$LZMbtt{{rhH4cBF zH~OrGr{0LBXF;Ymi|$>u*$He`m5$~BWqb|iF_`2+Hi523a~|%0nk}z2H@)qkzq39W zvg~;G0-fLiA$B7JuoP$doyF-laGTe&>y>m0IhITz{KN%zW{17Ob2dKvp{%=3_fdiN zeHNz4+r}=SOB!&Ju4gMzCrqT%+p~X}aO=kIczwS?tL!)gOAFs?%ud?YaK@OEu1k4d z8Fg1V9|r=Q(FP!kuc%}D>X0{o*e2h{)E=KzMol_UMEXaLucwOyCvBvfd7rsB)UH5OgfQDgWWi)$~tw45k0<6%i3SDIeN-Sw4)1PmP9 z0}NPC0TTm=ZZeG-6PZy*e|Bm$nhVjvOx=%ad(bj3!>z=G5 zE#ncHjefVa6L&h2*n z`cPw6Uy4Y(%CuY690$^@LF`x6uGYf!6lc6iL5==K*4-<4&btw7d33g&Oge!Ar{*$F z%Nb9^iM^>o>M@c8=b=uHvt6`9f8r23Tl-Q6?#Jz{B5F`9)3IIb^OsU4;}oVeK#gK$ zQ!d}3#qa=6vJIw;6%K!S+HV{y8~Pr+T!itx38g+1$Hoz1Wv~kD@quh#%0q~vx!Q3` z3R>ZP%WtN8cI}a~lPPEuI2?wIlFbtecGaVuGAaUp!h%&(;a5Podk8vTaVVAxtjlVqL;S4vr;-5G@t?k}Sy)u9EM|UNoWELU-lm|jK zNxJG!8*z_BBW@~P+5R&Y0{WhW>NG8ksJlFu{YY1R;)M~_hgVX4T9&T6nz(kO*GO{3 z-TzMb(+Qn$UtHGozwUPc|L3k|GR+kDL31YCqbZF3eo%Ve-m2u#H{dCLY5osoAGd~ERJv}g+SLDJ&+=?I5&Y?`dnO)r1^CTt+slk3B-5Wnj#wc%57 zZD5-_E9^oB-jb<1>+Ixmag2FoPZqzKq|&{&f&as-<3v*o&Zo3^=00lKeiP0Sop6MQ zuSzLSkm0UQ8E^v!S{<6s>png;oexteld4f-DLyRFBye@RHXw_)kOzgXIx^gO;y+~ z9}xQH*Z1m@xBE^PlEx7Zjo#Bz@51&ZvntJto(|uF5;S)!=0L*fiYFL=ydRNL6(*P4 zVVQrNTTGV~=G&rstbk#hd%JLl7IJop99XzV3pubzR~haYlVv&or!1p|Z;WCWanCgA z+V7;%BJY?#LMlhxO;@Y6QQ4r2Li@2#OX!iztDf8LO>#)Kboz%!vot-R8_AQJF3bUC zGHgAVZU6G$kN4%@LTxwACh)rs-s}lBDXf2%wb$C%Lz0Fw$h1e3Tga+r6=nkb1A~C4 zfSY3~*lS=#jl`6lc8~W_W6MF->vpG!i_ZjZFQyR(<8i*8j`Qi{W|-A04WhqqmNU@Y z3@oN<$feLb#@gca8)O7PU2$!iu{nR* zAHDnHL?b7&;kN6vVX@4bIQozUVdG|5vXmK^LBZefMM_j3z4M>v%J|+8jn@$uZ zxqwM@)2wHi$f{*OETOH&?eN7v=>~Dr>ovBffqr@}RS@H69Dh*f{`w4PJB&Z8Vn3Tb zjI}HC$reu-bGI0HteCw~Mcy2V#pCV0!lSL;TO*dn^1fG&c1d$Gzl(=VJf?pG$r>30 zpXOctP(=9gCc$QYN@_TP3yZQ1r{C(4alMk!0X|hMNF_R3kM3v~9}{h28tvL`JGmb) zItSZ^^Kw6M1#VN+If2VI9#PJSYeWMicJ(btbeEL;j@IrhuJrrZ;MlqJLzcNFre5nH zQ@HnB&Rq_P2M7$Kp5BZb>nqXsa?XPDI<)i6l!@u1!)>TM z&Y$snot@21w>hm&4F~g2AqO%}A!!F#Y6?49mv&5Itb-dmwl$leo92HS-rbnqP9#sj z0xC_y&n|&~`L%F-_dQz^}flZ`a`5vx38hjZ!6 zEJ4SE=O5vjY2BTyuOR@BBb-mDfB=zCyIDN=r`w0;nMH8o8Iq zSx+35eWzWrlXm8pSXh5c_!8Ebzh)$k)K~*kNi7?=wyM8oWF+GVcpxb%vv0)%-MZa+ zuB^(&tD5FW={;3>v33WgOwfBrUM*s$(4BcO>wtt8-4Dk-8*f+cRs%Y*4Y0xuD(Y0- z`CVyU&a znFEM)b9(`1Zf0b~>HIF|OuHmOj0?~8@Do*oxqP#Jz(Cc92Wqt(c)$B9Q#*K9ro^Z0 z4H4!%dwY~)k;kj^?DPn3SzMb!_JVqW>WlMpwFR>58Gb+xYnv(YMxL$O@yz1W=*zc=#;~u&m&|g(MLTWBY-*o!*me&Y7UGD~H zy5Q;K?e%U`H%qXSq*z|QeG8`Za4z3@Rps867bKm~BM;Hx6F%L$jpqZMtdv50uCd#Z z#_-gi@>+jookim%-K;k8suw&d^Wdkssf8-6)#Q6+oo>voP((#uWDP~J`ZKritT^^B zOQXzrqznfB?*}^PGD@T8dgnu~lWjEW*-P7Lxu-Uy*E*qxr z6H6Pq=M&c=QsfkYBQdh4a%F)6&`72`FFrURY4!S@fz42dV`Z%L&9PZ7ATbwQS^HX1 zz^&vLofB^%sx7d+{&U%{SW)>w%c;AqAupLR>v=k{zeP>MOYKIdX{)$D7_GNZF%NqA z>imD)vG6wPytt|10WrJS?xrKUgd*a+Egw-)@y+u5h4Fm6vQ}qpRQPXQ-MfjWapDG0 zXlT}D9I5zT4DaMR`H7sPm?zYIbR#KUg@@?}uAIZjtB9C^FPJ+~Z%Kc@CO=EqpWadp z!fD4-nwDq=Ov1i`m?_h&<9$X_Mbj6jllp&M>JU&r{4GoTS6H~rT$W4WfVLvl)Ejler`AhH(EI+XI^EV}SEgbOzr04g1D>hwq{Xj1B)D8*6|1 z>z4S>Jh*K5_ZDn;cWgK>O_*%BWU%3Bb|A*IT<50kMfzNX|HuXD#i=T)&W1u_3W7dc zG@xie(EuxRv^a|B{(~XSP76HuD#hX4WQali~Dqh1@^qs^uv#a7>Pa-Qucq)A3>iSr&bjOTYu4dHmHK z&uujaKeOnoy{)c)bMPyRzUsx43vpM0WC!9Q?keB2Hdq{sKX#0t06sCWd)t2|lg8RDihew-uM)c*ULN$fXU7sJT92Y;|Kua0&9^Egad}tnwvSa7N^B;* zQyItGO`x?@Qgw`7>=g97ZYh7*@_Qv}X-Oy#f|7f~ZI`@_Qgy!M1tq^-YP&Z}xJhq} zd5jdE3563y?DcV487@A7WYm-B=KF{Yy(UWlY}gV~(kU=Fs;j zXvfk?dB2*zG4E-kMty&Sj*t&+)gI0)az7faWO3_M#_j4yZ7YiSJ(zJIKAc$&|9}GG z+MKv5Pg#VH*y?yl{iuF;ZiuZ6+Nalt&~uPzoKsbiPIy*@#Uqxsr(Lm^bg7ye{~k;F zpS7g_4om#sw#3gR^u@hu+s|3jf2Sq>?+np4O(}3CH=XsmeK&t6k&W}GJfl^*BG!Gs z$gy*-k~J06MU+_kmTjPDxB%Gf?43dMWg zi1jiXH-;j`zZ_+5SgjqQKj{KP`-7^pa}u0ujC8Qx)yEvZe{rYl&=vW>U~ z=xW4*R@GfuYg4Qz@r-3M{!3XY?h8XvoK8w6A+4Rf4Qr>_wVFmx2T}%9hD`=T_4%Wj zN8jB$()qoaVcH(1f1oG$22}JoYtf0f*gt!A@^O-t(9-1hk7S+t1tSNo2Iw^w#%I%a zjE*OFhd6(H-45Lcv|^75q~m3{h);CAdZ|Kgdu^x1R#~WPnFU2fbQFtC@W>3EN$*GF z=v_deA6{nG9lsO0;j^V^d>J<6d{9Hq^8z_n*GjeCI*$MH>}&#>xNFry`hKHI4A3{X zydLw5l!yZ1wn>N8S@&@yowk2)*xorbeD56I$KHSWP}0D9k7e$9!ZL6CGqr%X^7EdC z(`#&nfIO$w+6kGA+UxG*UD}(c0tp!dilQ3yMa{3y4`;pWI@i%-x97F{Zn)|9e4NYd zHp#s@5bvXwmbHAp6GPBRo0uX5_`60x(V!H1y0hk`ezK ztwevN;bU518^a8Y=oW&IUv4p^zRP~yK&*)P?^Vc$Im!Z*2%)!;7uu&S(89Cn$xU?% zZM>ErG_=L-6|rJjIzU6<3Z|*+Fcsv5>4P?Qr-HMVADpIJ?{99p-Q7|ey9r8^mfaQX z?g`W%9%d5!YnJ#=TPDZvx1|5`miQmB#Q%SNOZ-n-;*VJ1`Hzjx~PC%4d?8hhVh<>(HWVs@N1{GkL*Le zYw7hqo*5U<=rFN5Ot-z;d+)Y4>?Oyx7C$kPyH)qUGvddRx=|ZH6SBcZE3NYLp0|HJ zqto8~F)*LJM+5Vz2cbs~7)T<`x2t&#R!QndRhj5>{3lZr5!$+|b!>PB+~SC=B6shhEvH)Jho_#lSzdXg6vQw*6_o zh?#DA^$`EzniR{VjU2ml*r6keX6Ju%7>ahS`TKa%5Yg0vbCPCmRmM=!g&Tnz4L1lv zr{h&BV}Pr%^58)~Y^w%*uFIkirqED~g8QwY={HQ;JC-s5Fsa$uWVy{+g#v5Pg3OvV zP1S2zRk@L4!Rhz5{4Q@jI-Op9sTQ1^pO{@Ix8^x`r?(JY(`MHz6JwB%yr+M;=kv)5 zopW~;x*fEM7@kKjX^E_d?h9mzIex%C;}P;298rgI3LaoZx$gG339;^OdTmyYsWG(N zeC%#JUJKQn*Jt`Ldb_0XqykK=&Ex?DPsTL*{p-zsulwj|6;w*p@vNh9^vaH&tT4Z_ zlf5mcS3-m#Bbi4+DU}_Taln5EEl4ZM3!#R5rN0xE#tvNGz!Thv_vP49xZ)t^^D(;V^Jw*d`yhy#T&lYEN!F49@ZhH zIw%jI&gB4xe=G1yILmZ;DA>TbM@RbWL51g)pz!z5R_5)Oyf!ku65uYl^J3|y%f6Lh zQVQG>Xv+PY;@nfPP^o`@%L`E2CE?}Ybc06Mqtm`hYn`s!aB=Che)}aT_YN=M_DfI% zf*ImZ!*9A2=(HT5rd}T?!2_#Tt2mQjiKedyU{g%9t3d+-E%Lv3SxjI<>8d4T!auDhzi{cQb^4eU#7n**TJl zb3PrhW?J0SVK{$dilnJxOvTrOiK@qx30h1=xcpkE=1_>;-C25Eo29QP4H&M2VbRo~ zAGh1vq3*ulF>pk~z#p|zJC!U?g~E9c{9lyKH*87?~^*O4Q;P;nJ=mMj`cgM~2Y zcjzL;5Cvsse-A>wizFnc&|rZNq5B!DM>VWIJZj}3Ezf^})pviBp{wDvT6I{*gz`F` zAau7q{3WSy!voxKqzAY`Qer-m7lo*Zfe>Vf9`6<8=WaVt&hBC~>~D-yNub8r@|!}a z1PK#rVsa*S9Q4rJeX1RVFy1+Ah=={a4OFhigfm=6-@bz)!g?tzF&P2pfyw)hx#gbc zKdrL~u1|l05X|X)x3U1JZUCm;@CHnj0083w<+bC-kE~bjHvuV$wVM!Dl565ua4Jdw z+wgc+8y?G9@hL>qkbosB*HFx){mBP&_WWlD)g|Ifv_n5SrjM)X7`y0rp*AmM6z{EL#_>1d_kd_F*i#EJXa{^Q@ z3{$yP!|&{Lz0Iv&Nji)0Cv|4Xrx8%r!V<+n)=w2FtCz6pL4!HhquGWph-t+i%{?W_ z2Q?pwwH47$XY=d_fIAcofYI&%MdKy*O`$OvE`$5hLAn+f1JkZnpe7 zq}+e<(7qZqpO~z-*#@y*o%=B8HN4(w2S2x=%e~&(ndUkyI^h+{3#(xD?#(AeP#G08Mo_ zHeiwlf{|zUNX&6}5h48etsPjD0P;_{Th4zCkMNJPIi%JmeMLl)B0x!;2!ytfwTu2b z9s$%vJ9bmdJ!{QiU6B-E9tu3f9y=%~Wc>jWM4dM^=x=X3-JOymRPY6vE?xLdKVmI( zXr-Lm+GzWLWfl@D&U46lBJNWX>?ge8b%8ImLNel9M4*JM0=k&2T*qo77=rznt`mR% zMP;~Uo#EO~+h_jp_gcuxW+VC59v+HhMK-5X@%?xXQ?4UcK2V`J##XFQ3bc6)-|uUu8nr7-9j@`O_rxk>RJ z9PpezOYAir*!pK83&Sxd$bVvq|96)7f1FUqqdDuyyR+Tq_xU$eK)yad6UcvlI3w3; z<;=0GeOVEE`|4++l~TU*+XlhCFD^C8e$cpb(;nCp z9LPz^CnuuI_@WP!12^);>@#L}?^XB}f1;iVSx<32UIA)xJ>EUO9*>XX;zY&*)Z#?O z;zY)RsEZRBixU}(6B+OEiHv{zqHacd(P@Gxe{3-D=1M1lsg`lhC<9-`hh()ZG$lg| zGE|kJ3NX{L;v({b4Hq*;vC_Ib7m>^1Se?(^-K^q?c|3vcIoA>=U-}i#K<;LBQPDvEbdF8tb()cfxqBJaE}d5`bQNx4`)u`v#o9vD-64 z#h#kXK$@G|l5r;r*TKA;8%)sA?2^ez_@F2&3;(1#LFB)02#9lkji4DhfSrD^zjI$DL+=ziq4G7!-K5 z8lF5^4d>_aAN+sR!m4?EWTqPGUhk%7UMD5)b2@nv3x|KH%t{m!YD@Av3}77k=uuc3bpNO5pfZ9KZ{exbIIqX7yg z$0TirUj@Vog{77gOL_8W>1w`hEHOn)Pus*MSwz!qblt%c#A*g_!AdQ|YsZ!$E{FO= zSepoE!|5<8DqBY>WnHn6X@y@jj(ZN0^;(lQLQX$ybXrSsA{~~L5o4Qja+3dnU6Q}i zYPC4+PCS3h8uQ_V>kL0&Da*ET#dh_gZ3E1|w#5HMOZ=a(#2>WO`{yj_pRuI>DNFkQ zYKi{^OZ-2w#QzIR{Eu1UAGg4HAnR49|57=0fY0UmG*qVki65d`rv%Sdo`Zb1!q+Qn z&rN^Unci5OKD!e7Ckrp87%xWgNb=k zb}$KT=tUq15=;yYQQz0xrS-MR>GcII5tUd8K_Pl#=ETzE3)YenbL*U*BMbL>{YPXEH@lGEW{SRGQPPmu~dwPFif$W2c1FJ$~i>FLX7?R8e);Kv{YAhEY zF$>(Atz3qN`WvCw-f+9Ln;BlT87;H}eqY&~cWV;m6Zaa})#qzdfU7kyU(biffa4tl zgC;3?LUKsr*3tYnTj-K%1x=*|>W4*rf%^xR>?^bvfI>=;hnQ!GI!TS#W}6dQif?}& zxgU5eF;nsajD<;Gh8>R}!?_$GLv0%wP|B#{JZP!LvILKF%1v3FkyaAvv@fO}_{QHSVzv|9FPN}g z4ks@u6t@&;Seeg-mDJUo za@1#!d>QnaXI({ClQ-K8{mwKk*PX*NKnnb(3z z`57cA+m`p(U1*1Mx96c@$4cym$45rvsCr^JWX0_50*)u>D7x4y!&Nd-Ng{DM)sG`H zChRiq;gkWD)hzj+)Pf(8xIh^&LW6aWH>9%eQ2oKIENV**`yqe#Crof(;kAmU3X7Yb z7OHdUE3_PER6I5~e+O^(oo?K1Mu{g%*tqITBU#b-_E2cVJp>>D41>+dve(vjx7yD9 zux_~&*Ie1Kn`5F+>WD*@Vh3*Avd{17`|d6Mx0uv_+G;_p2@&(Kyj)+OEZ4B#s<&T) z&cl1{L;RteJ28LIY2j^=;(EhqpLWUQgp9c;7jg1S32nRBPNc{IfZXeDPoP)16xJ+o zHdjF|NWI3bfP%Ejw=4WcLu@!a2nmFM%7TId)fvb(xSz`gRHNT*?IblW?Pf%?{^QB@ zdTq3mq~AY%DlRi^HKyCYcL? zDRFu28z2NVXS`O+-E{c+i;awkKOC0jmSZlAA2Ax5@jCFmVi-2GEoDZVXi~CBGbhd_ zx}Cm3`LTZ(6ttYW+e+At9PctFa@ksWR%==*V~o9Ha3D?i?j76K#&$Ngv#~d}ZEIpX z8#~$9*2cE&WMgAvoILNp>YOicojO%h-Cgskt9p9op1ZI6cgb7|gIA(8Pu^U~q&x{4 zM|@h!yp_DU75Eq`eZ+1L!dtN1Rzeo zuks070ZqjWJ1Tp8TAP|xnLqxMIV_Ge$`$$)(sTY{zjwUv+y)%=@pHXiUe>;V{;)v5 zeH@%bd=UPOTsjhT-sw6s^1NaYYuU`?=1t3nQOY!kBKKrd+ND!&Z4$F%m>^=)C3@On z3Hs$cHW6yJ?qst|K8{C~?sx3>mmH<;tJkc6fV!8u6 zkZc6SDD-a13V;uv5@5zv^JfPNawg`L%%phgUR0J@v7BHg>9L$#?En6ORCcg7`p@M@ ze<~~Tp8IbRGrKFyqtX(1o;-P^fZ>1IjLtprB}|0eABSF0oTnXav$+}-5WE3$ex_y! z-Lx!OxSgeiD|9llYb^6A582}zU2i3dEw5E-Q!1t6f&k)+r-5MvBYM~ZjN?qNqDpdv zGOTPzH{!gNvDtWMNaRm#b-r&hHhlJ*;OHU>^Rh&7;7bC68O^^yuTS;XPcFX>HqjkX zD5u7kkT9E`VhFjLuW+L)A_bf(<6+^_4X#YUM$NXc``xdvr0|pbWlwBbc{uBTJtgI~ z&E7V55(3YTwFo_({DLPKyEgr#_O@Z6Zh-PmV zJnP$Iojn;%F)rP>n|>2aHB8+ZL>(`E*ZeOz4-8Ce{$VGSx?ZB@lIUfDi@ou8jK1TD zy>U)?>TU=lFmBvIfHbG(>VF@_W&DZ*2-@OCDPkNC9I&AG8+pAaeJrOI|2NiPspJB; z`y*vtat-J8S)Xw7&#whpTU0KpjC7~5VlF%a-+UjPJQ+QjQ=nU8@R8TV&d?jsZ4^Ih zi7u5DyuiR5@S78LKPURtM*1dGA=WS5va>!bwFd+_(yZGKOjbCO(pK)m|G7Y#{--BC-8)2p$HnF}$KW(SU(S6$jPB^t8TSz% zN+03-v;I?SNFo+#b0i4dij_k{8By!-rg<*BobIVZdAp!NQnA%9tdp7wHL z%h~Pd*VpqZFU4E@r8fuFyF4dv>=O8HWPhNyS!~S<1Yhx|+>@m|eOl8T*=y|`)#unh z{(JtB&s9eKYZ(2;IO4Cc_!!M(t1pjv>^(zY`qQ|&U?Clg`@GQp8^yPc5YW@G!17%k zfz)s(`*C=*xXbBQ^dD)?s{|kwJZ(8q)i(YIdTp&Wts4ATTFWA5S{AzSitts|`K}D% z?KACIz<)QrJ}qJCRFhs@v}%JepDoEiA6tTDeSqT&{yfjF~*Q%(aew8%Z| zM(J-OL^xNsZszTN-PwO%FDZKSWlV zjU}d&;&$wSVJOr>8!c(4*F8uCH&wnMI^rC}bJnlOv*VAtEgj8g=-BaQa{Lt8J~B2+ zS|`>ko>+I?d#qr8yRfC=4ILPdD&DA0K{^Y!t(oMA1mkXNy`umye<%ZCZ*>U+$#OGi zeSK!dUzvWXdmnyQ{;1S_ci4J0G?TTQqg-VPE!%nyTzQ2scUtnFs^iWo#JqA}8emwg z-NjJ!)*yWvtiOrI!+m&f*mJ8&6T!m!jU2qf=H9z%7R<&AR?M2obd5g9t8C4TYIjLb zzawhV#DDH=+jv&Bo!A1<@7e!G<1yh66{AWTP^SC;gj3N6jJ0XHlCeOCG!rRf6u>gL$kH!bo5gk0cmQ= ztbweUWbL$j9fD$0m4?gRnLd`Za1*)5y5>^scQ090`m5_c-?<1Vwa)yaZ5mbPpo=w=P@qk4PhD;HU6wZ;I_&UGg}{26ReX08 zL1YO)U+Dp`*DN8LZXIiR`Q9%wN0(VZg&W{^FHSd@DVLjeK zo?P>DtO=-)uCNXCfKwV$K;gLIJJdUu`$1x+O}52h&T+Fli%?)AOw6~lIThP=-&KN--dSEMw;g0Kl(Y{83D@42dv*_ zZ^2KiB(gkEeh;_J*d5>v2BtOV{9I?v=>IM$HtsY4Pnm_H$ia((clZCEL~yrCy+_*r<uo$vY8Sk! z1i8OsByjpmc9`}dlAhGJT)e#NQ4C0Ro`CTb%vcgh_~M7E!&vMSnMytbl3Bbib*(H+ zTv4~-_+Gt`MmQSP>Q)khIkMp8PGSs+-aTBVXLkpZFh~~t30tl7==?p^UYVgsL;G|Z2{S;oS zQs!YdD7|&TPOsPS1(auSy!`Dw7}WW0jFFF4YoUV@{ixw`D)@J9gm`O*VC{J}-3X)z z#-z~();v0{zDWUmmShny^`*`o&)n}vYD{_~8x;d&qGrFYIo#Yr^n}apAqOz8T2P03 zBOTT!;$8Cp75 z*WnIy2X~vSF}mF3^4P@av12VlrnBlF(M=4|w*Avm7^@g_J3L7Ex}RQ}76%(-mQ$E? z^t?PRLrC>>`P@xu__}?1pCC}r=R=B8v6+~=H*LpXS&M#z$PnrSw-m0 zy${9jq5-xbMlzlP4PBo3ZV%i`88bWrlnVdJ;?HpiZ*5kaq0Qe+V7FaW%eY6sI}5wo^{YqQs&YhMV=_n zi?VRz_b|4lA1noQV9|SEwxpeUo0DOu%&~q+>k_|F{ z`W)_gD#s}9sP$hk)Az5_Z5=K};_IYXgN18vT{ez*$MS$1b2W{i0`@!fnerJ4L z-sF&h!f8V|TQvZW(DK#3Y+DCMrAMAo0ngYp;qt+iT(PX;@F(dhNof#W;ojf6#$yC% zN8*RvJY;5VAM{V%hz8d2euPJzHFx%1_^6nRhkwf*1>E3SboF z+B=7^=nm)^p{D1gQO=S`%9FMr7-j(cd_r&n79~Y9jZN6v`2u3U0GDm`fEiz zFedPy%1Qce&6~0F7}F~6ddTcW=P?1#^=B<_P-GlSix{79$3j|moG|)rJ|7#T+z$?K zF?FTYXE4EYyiQW=dkc{dhds=y+wX_55AyM4EYVaJu6wuZrf|9sa5e>-Dy%@ZFufJ3 zKhm8qG2(qzciHg93~dTT1d~-C#S9kbVt7N&x>aDgTGZY8khl9Qn>H+@MACJV+8rGp zmOiK#^L7BFg;M85%1f6IR*R@L%Sc#LxLe8gycHx;^NCfbqn)O=^J%r(I5+m3bzb(} z+VY~ifyx@)l%`hpk#1+n)ILCH$I!P-+iKxPHot1kl1(_7A(2G|YbzV^y<^X)8#_P5 zND*q~oF|)s)k!<*xc#M~JAzNL;^xk`yQE0V)}=F6ZMA&;yB0VlbbNRtj*+yM?C@-R zjG0~4={WUPwwo$F^^IKxJI)F6&@OYN93RRJTpcq-71&VZ7D1%8sVn6HQr z>2%w8NLQiDdxqY{Bm;gC%k9etjbdGY&@$V@R3K{T=_!fLA5ijYiApvMV9R@U+M-bZ zVh&mXCkZFD^xMrN+ct0lLHVWfC`2CQVtfu>gSKd1mGa=!c4li7GIQB}?Vf=&9YJ&UcAI`6u5}Wvgo9(9nS_EFaW0*aE9Q|iWOH9 ztZ*i7Q^P3chOH6AF0kNsj79&M<&|`J7s85Tfe;K@3WuoW{4?p7${7jlm#NLDK$wDg zf!9sDHV-ePu0X~->sq6;`;X7%uMyrj!HT_I|Jg=1VSSY)?bHY>T0w*e{lR?P2hTjo zR_F4)aI7f%%liNx|J^QCEXodjVax7bE?L;*?`?YB@c}{0&mSza^g4MzUl9p!g()5cpsdc)DjNbUny) zE;`R)bV$oFGb>so)-?N!#&a?~mV10d$=`YcMVtXwqUx@f+k!MJmW?flEd@~Ii2!Q1 z5sEN0ejMkmW%Bl8aP1Wdw5HoK%cUiZFAnAcn(e6pj!MDoO6+_pnrp1fv~iG9Ffm0+ zM=HWV+DUjYI0IA!4AhL#OaP;{aB1U<+KjNcCw30CQnXl@UOK6b@P=j0x<#3!z~(K_ zNIIbU_C5WFl*`a2OyhE1{vRu0YDUFz^Ir&{L*2o%G{O2fEI(o|Hm3N!(Km9P3X2AGJt6TB1!yyJQHZqe#fwe12K5$xX`( z+y*0hW59BdO*Z~MG8V`#xKBoxXkF8uzOtwh3E&vgbJsE{I5NcCSj;3Wclrh6bgE3s zSksDsTG9U0=blyrj@4R(`n@X(S3+7^(?%BZVJGuSo{?#O4vru)E9(C#WT#qX%2i21(Ab&oO<53e&2W z%GZGp?M%ArJ8P{p(v8!fBrmFSllcLz2hrFrLf++!$s!u8UU{!2O@a6Y)ZmgQ*J@pd zOZo!Ce%Sb>L;4c>=w9X{xW-IABBt!h2vXjzX2|(4iF5{N#n>F^6}ixdW|4z_=rkHQ zp$`3`BmpcsdV)qMrVdDU3aoiF3D`mOaAJ@Y zk8t85dy1DWdhd8ncf7ul)SlIpe>}OW-ukyy9dv?YcFJ$4wZk>IqeQ(j2;H4k95Ffv z%wDNM=|apQQQ$CN1@vGUi~9idOD*9=F_r$?&s`+Z|DsZvYUp#@ojgz0LZZx5`sU5C zn3(jmb$NU}pZ6dMU2oo=i{MjN$J3)qYG&3~lLu3c3;wl?>$eV!Q525RF1YL-SXYeO z)9Y$$X~L#XF^GE-gQRFM{Hb?wvot;FvqV~>8<(MrqAStwMb7Q6Z}bAv;WWD(%uZZ2 zDNDH+bu@L`v6>=_Kvk}9)2&PNHFY%ke7{0lBPN|c5;0%l?d6`ejJepx^Vi&_8FTf> zA&$567O`t|xcX`PmKW(#8Fh8q2q-k7XWT3g_D+fxf7;yKLR!3FLKdYO!qm@L(_xbY zh~Z#}rYu?`7KRGdw|ak2s(N%a=IgY2ZZ~8=pfyLGo#H8SQ#*S-{Rqt_QYpjq{iPnAy|0*m(+v zM_VL$dPoRsxlmt`SBB)BLwzW1|JCnx0TuimZy2W{fWy?Rxk?|Z9D9QeA@<%H$Xt#p zdokDtQt=`cTo)K$cg{LPrcF{hpjACixLLdFP-p~>QI(oSsRc<*FvBECi5MB+)29}x zcaFGK7sG&^W)7g|=rDn;HVf^da?C)duYgGGCV7Q!P~_Kt6_0Syxvq+U8S~sb!(n>= zrn8x$NuYP)(?jT$n-V`2$q_-SGPK@z7b;4&+S-`tZAe zP3LFhvY0 zlI*Vh9Kl(Pg2i-PIU{!D`IJm|UMtmHA}%#^o}F-m1CWWB3FjdZ8U+XFmCM+I#ofCQ*)|_?6p3@Ecdw9<+EdbV5e$qeW`!@@3{2KTz@w ziD5X~F^0BPY&L95B^bP5`xvOW;HwII)LO;epgjx+?Ho71Jh}@6KhO-cb=`yf9GGNV z#n+Mg8JP0}{K2R7%ug=5+{x}Ut^pLV2JkLd01tLWbO?l{y>5%Fvo*|#_DBq)xC<|c zxjdg=8Mb965KFnr2pnu5P|f15BAp#A5iO8nOm3^e1p-${K7$XYC zmN$8ah}Za6ottCmo@Nmu%GT-~*!w<3s3E#Eq+r|j{uO~U*c*wFBg0VNkHF(Aki{yJ zgK&^qpDZMv-=&9f&XNYkZy`$*^dm*5Na1C{z8Xys$EKmaOE-3H3`5hr%lN%O1UdE(0|C!3!K92v^ll0tefYC2Z6m8@^OM734b49 zonZtEebci?{pt|;!W^d6v|aQhu@l`5$=%vS-oMA--$0S_1ltGe_7S{CVk$3pk4jKO zfW76zR;=5D&O$Qh+7(jaSDWDixF{K#@$JEob?7TPAX(U80;k#?pva`N5VC?Dq*g(X ze%M&i-$5d=Y65C}DA7O@bS&CQ8d0HITM@uRH^njThX&SZ5*@?m(rE?6*b(caB!R9F6 zsdj7K;kXD*D1YrwlS*ab@bot;7_VPruCJR}l2%Dw(bInOvIruC_b%0e_0BsI&l6_C zn2Ux|CbatqHG5bmq@PQf4t_@(19wtcOip%wx{}VkSPKjW#ckV})!i7-Vj*7-VDce| z3*p4+;S4XDVXDJTGsjIBL&<2j=2dkj#hO|>)n8s3(lCLW%K!Wt>8v6K7+xQ68g$;@CO`0A z8+46T^|;j5s0bgfP1z!GbHjo*3?RzWJTX7k{<&S}7~ z!+~`}2c;MV30f02{)v)GO59(t?*MILMT60UaL&_c3UA_;rI^vWS-%XS8P;GsO0>$_ z!)t$>D66Qx^U=uw=)khu&Gm%^i7tj(_a5?85@0WJyq*!t#}PBta;^12llrWq_nsL{ zKzlmlW5KD#>lNQ}H4`))x$+HFrYl#wxj z-8d{w0!k_2lHC-aShV4xA(Ss!qJKGN6`+g`G#zdzu?voYGGvo6NF8N&A(-j%(TyY` zPCS{Co@+gm+CdkiVp-_Be{cCD-XGU?2Kcy|tx&vG0#RV5$;yxkuzrmofnDkV}2B_T~W#;<%a3^pbOllnPu1U5-$@K_I4=%~u^Y>KX0ErU0Fz~;; zO{>L?RR03$y3eg9y51pFpUn>D`r(w~kRF$^d00k@RrYI?N-3o2gOr$`GAPP}3E4~| zwHpe{rE-Ps6SHCy(JkkKo8CQ6u982%)am{mSpi zBSrd&>@b>zpr*2IDBo3DAkZyW^}eR3FEIe{BDC6q>-NvQoPGfPs$COi`byVMslm|+ zk55o%FSOP?b)FpyjJ~^Uqr~b=#EuQo&0@BUvoIaNu>}Ta`s4k80jX~zSHOa-v@5hU z9{<7Oe;z7xs>YGZc6uLlJ4HHQ%aj<4hheE|6oi;9z$}KAEA%Fu@go^ZFvLH*OcD}+ z{=Ea8+;o-~Ow(dm7cS#hG960cT|&QMvvvm>$CTSWF*&V16BOkMaRaUWSN{a$BuV0q zpq3LgQ2LpWJ#?N>>-#K?|0moe&j~M+U9cW9y)a^#pWfcu&U__>VM8~fm37O}7Z|X6 za)fC7vPHA^{XuTdxjrB$vx(sRUyBcb0=W$)L410iw^xpgr&leN5wI1I-%5d@4a!Rz zGG+#@P#*SomR)w#HZbCr_MJHwtyw2*3G`AZ(1MjEaBR?jW)N-F2%@~6#vy};?8PBO zi+szzO%_%@2?i<+HaPNM2WPKM;ExoW+(R~u@0HB|80vA$@S#T1JQ1r5(3%W@pz0)3 z#Ap|WRAggHa(5-ykXM} z5eE5l6PnE52qaiR48$T0109BSGEoEzhUoKTeTjJQyGm%U&k>t%0u~iHF~KdYn27L} z9Gi%+8DL=eeS1*~BH-n9Bz-NlXR8Ony>k4yJkqHN^p!w--rIn*mV|8sy6b>n#b`@V*yBxn8+!_7V$4Yj?b;r4d;6nOk*CwlFNH}yu-Vx#6KT&o`|Je86`dg}~&lr!W9@R^T4q28Ul&FQ#Ip^^M znd4T9cv&g3GsGBRM>!DFFJm;E2*|7VHfx)VyFdJ6tm5@6XHC;CvcN;t!Rn~-K5C`_ z+L+N9epm?h4cr>mb|RF@wiK0Vb|ILl^^KcsNeM-GeJP%O9|9DS@)b0#_eMY1?jK~i zvOaDg@uACK(7*>594xLHnRy;wtS~RAe`e8&tL2_`&sZ=3Y=Su`Rw*E?Wqj77h1l7EEYg9KC-?4_t!^!Ui=$VT|mA0U^& zYBz|lg5A)@&;-%KEj4vXjQ{3Mkud{vn=kXo33&E=f5kC@9vH8sC&&}&hc+J+2w1?w9Z?cyo&ruOT8>!hmighR%O%UK<{2l~O0-CYy4)~zk2~|bdm8{^Kj}Q`%>NGsaSTG93`04PZ-5|fOEy>0&YI@q zJbz&{U`n|PYomI{4YGyK0U&bh;GC}!9j9qr^Ek{Vw^Y$a3;!v5vAT8vdMw-gCQ>g; z50a_I*eI10)m^T^IFNs!&d2=iX)&E7=2D5MrtSbPn(ERPk`AXG@bDn<4G&+u-iZmY zsJOZ$?|G^C-v4s4LH8fVCGFC3&*iljKAG8dk3r$8A^rpVi@>OT`R65(;vH7z#W>{& zSLO{q<%ve-%~9s9k)q2cBDZNkeZlTeMhEt|Q{q5HopC)iH#NATBkiE{BuY1yLne2q zLCu_EwpUK zi{OqH>a@T(q|cM^g$Ah zjtScx*ngMT^{7gQPx(;Gvx~D1`W9htKN*RYDUpTu&0B7BYiiAOBX!FTYUIhSf7o{5 z@r)IHyDi_NEvT8Wgv5hemqO*}{OGstF~0%Iw~iqw$7-E4ut{l)n}95F-+}MwwH+2V zPp|C>zI~{G3R;<43HY=3=EQd${BAw#{pC@Pt@2-vpK~IZF^)y-?LQl34a0RSDw8^6 zI&aK=pz^p;CTBf4+F9kd>%k_c!C~oT*Ibvv!S67w92-3+uLW*%CAud5N(~m(T{Ryq z**EiQ<8tn)O%L9-$BD=cE58F@j6Jt(>gI-}Nw1~=06^?=5k?>PlKfMSEM+gOE$J;D zuZ~(sIuUN(zMdz&Yg1JRhmW{UvqkaZPM{TBf*rL`B{)H^wxw^J(`r*`EciWX)pHHR z3Htd(*Y?tWHsf{gGD6O1Z|7a!EP=?k*}i%n?O9NNy)5;+&!>R)YVck(KvW4~=7 z>i(fYUcde##^25Ig7IbNkZnIfI1);Jjc{@qu&6Y0y_2jZFty{Nm7L~H!qU~Tq2J%o zv(?yNeXhN2{=P@unHyi>_Ut&=30h}Bb<>}Y(cSXTx|2}*P3>dHE?77T|I^HAV#E&s zjQz9@)^pd-NABBOBGw&F-!A?AWIU*H{l5hgg`c%OFQm!^EeHbgGJFr$_3$oE18Ddn}TG z#k84??S!^A`@eS8sz-;vCGzPLj@YGuP)ZqDaw$2vdv>(*)2;PpyB(!uJ2Onz_VxpJ zD;mE$zdreuqMw();pvOjYW~^{S!g-?xudySZr)!gL=|sI-||uld!AcJl}<@B^Lu2v z?BiO{kN>RBrtjzLp0}%AO8TgyciJiF@^KO==SxOT`p(#^o?*#BM_*QHF0#}QWImCh=klisZ@yEs2xMiAr;tF3p>0k0U?SmCgaM32^wPWuZrV4Iv=M}# z3Y77K$?Dal3T=@Sc2O2Bnya3+GLUa2+(4(pnput3h=7P;_uZ(-VEigsa+vX1Lh(!U zPhnrEn$6@X49f+pp(gDycZI_O#2YbV?5p9n7|&U$Wmb{gEK$}fy6|Qefl(3@a?TK6 zMAL-Ua_0@seY|~RNTzf4nKNW%GiG^cgZEzz(gHA$B=-VQb<_w~P1DeFI5_WWw@G12%c_9^B=w>(@9im0Iv0>IS!~vHMFv z5J~ZjqsZ1e`O#4AM|l45>a_a7_fVuuybn2}*x-{m z(*E>|9fPh4Y{96=HBMb?)}eCh=+aK@X26GHK7h{gD8%6)Qq4(QZe zGQFB`Q_9B(` zV)c%>>oq^7iLp~AzVs~iiN+{?qR5di2SvLF9}R_b-Kxrm^_ZM9De)_*q!$>4&Q$)~ zNXboCFJB9L`-XkhQ$1(a%6-NMA2tE?v|YQ0Kl-DJS8Flj^3%xko9Man{_i=GAb1Sx zk92?>bk58boLc1hv!oc*kygpsQ&-|g=lQdXm=`g13!-nM6{pLZxLeoGluFMXTupd;^fqd5no0w^(lHJfK%Rgv2b-mzNm&`ng6 z{`}&@W@)#eRd5M&WTM=%PsH8=)fD&Mn|=VeB+76$hbobDwm9+M-4Udp4KDs`90bP& zwZ+J$W0Y3j>wAD&O%o9CaNzlc(JM9r}S$kiR!-eW8nU5ItPW

X=HLN7 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%0Di@3FR$00QozHEJy*1k#_T-fi=rFm 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

JI<>MS;@@~adrv|m@e?Wn31KraI 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

`^DE&NX=`^N#s`$%}P`So@zIL$(YdM z`TqCYcK-Y^pc{!kk5*HB5uPBO<=9PEZ`4su zHS0zc_0wpkMO}2Mp7q#+JljN-gmjH#@%g zw;zqdwyIr=i6f1st8E>b%`i-}S@sb&x)Y-Hugb^_8Q%y@qUzsXz!cg#;=mMZnCakY zmhNERXAzVu0sJG}q$fdS8w{+`4GZ*=eg%gO%9yn*`o-C#F z*W`knFbkn;dnGDqvU}pqZZZo&Ix+|&^yq+jlcmoTGyqAK5qXXXdQ?`2Ws1!f5*?Gp zFqlEMuM;nO-o7-VnsS$v4mqcggbY`zC5~LmA{J`b9EHFTT5DcByqPlqoYX`3)eYs! zNQ!hjd}agvc#@kl7%TEVHoUdtnw&VD2PtM6`Z9H}VWK5##xG>P%k*Jlc~`@8)`X=5 zrhDiVAAlc@8tC5U=!#eZeYwo#dhMnQeaPW4DTS{td?#l#w8#CD!epZK%ZCSgH2TL? zz12_E6ZckbjOV=I2OcR8QTd7ho_zcHf$q%Uu%Dc3L^IGIe>r(*T*IOJ|AL=zT_?tW z3i{``i)uXxpyeHN{W$@U2{O94LifkD4pBX*Km%?S5^ppKm??V|z**eyP0gOQPzWXu z4U0VD>gzl1WlsEZf+5LW@SY5yV8V!}`##B+izDzIg+FMgPzJVaS1geNzmUq%kFQYX z3}7SE{zhx{`jINq=8)2^JAhl0KXgL(Uvr`geZ(`=zj#lzl_W=t^YF`778G7=l#6G#Kx5-ST)48oRK769;vv>Z;n&)i!-DJB4G8Z<1^TgZGe4wfh zZ)!6&pz~nn=*6kUrYq)_1HoiQEK%2?_@q#eKrb|EsBBfS=zK$)hUhL6G;XvMGKrW; zyjm;tjEqyNmKO&=hZ*bktw)@#Q25x=yMQKTF=<6HguHVuh&vGc+P2lE!izuU0`Zdp zbk)l#sgjZPFM&I};b_!oSyT>%FVBoJd)<8z^4fIver4NbOLoJW=O{tcLUZk@wQ@GU z4*!%azR$}v3{X(C;z>%T7*`>%;HPLc+TyagwrelT(T{E}<0*LW4n1Zrr+e)`3Imii zMT4)bDL=qKs(z)GHXatkEHs=Jf94Oma`mpNRbZ+QH*x1xxHsKJ-5FIl!>Wwm{{lW6 zY}Z}IPZ6}`)b}nm^ifui<^kV9hVBuR5Q)tOxq~Js3TXRbF|2yG&)Z?C`$uKw@_6=T zQeQp0PFa!CJ4hN>td>ue-)47+mJzVwv%iQ*OZH>WM?!^0M~znjh1`f6f*`PX1xiG{ zqmx{Tc}bl_L|q5j?c3BH$Al(YKQ^+XQHQ^{qg?!?{otfn@(^AJ(iV(vB~=1yfWk## z`qSF{usXeXah{b-=Fgu@5BOVK!5=vid0eEBC~AWJAOtwrZnBp{lek?#pHhIeY`1vE z2<}47b`zfbbgvn^aV*NtMwl)rTq@^}eoYeJrbsAi^Pf2js7@~^y*S0Uwe`m!JI8ecq&^^{NM zaCp+Cvy#fl7Nz7n8UW!dER&Jg7Nsikxau>J$JuRXSpjX51UV>W)rbJy&3RBZeFIRP z^o6u8P95A~X&6@qlda^&6CsSgU{S5@6jih9j{A(B*B-d`su}s@t7fw!oO!xs7m8TA zEq)5?BvxxX7OZ;q(Kp)&tk8K&Af}vx3zthjYnQc;f6k%jqn^7`Nz~>Vtq6%ZYDk)U z7yJ>LhjTbvJ~S%30RT`=12D^nR1u1x#UxGE?sJWTu}X8k2s9W59?|5TsA4wEUv<2Y z5x2OdZ}v8^t#6J(fommc->nU*9r;lurtm-G%FuJr1$%2nssh;G^*@Ibc)xo+9#J?) zsC;nF$>wp$Ld$!i1C1(^eJ^j!u-79C#{OnR^)TD<3ntT5fP1trn*ub*HClbDm?}O7 zi@i@)&(E+jzO8sP@?(kpK)B%wsn`g4ULNl3mc)qtQ><)FD(Y2BK!@!^8r4AKEcHM^ zg)p7e*#TB1Qq4Z3$&!;hmwklwxd^I>?843K$->QxEZ*wi>leunAE5$p-NRMG4wswl z)iqyR7we~6!1uv!52+&aTtyXDz=Yf;!eY2WtUM`$`Q9h3=aMLn6E);qFiFuZ9*JK@ zf>Cs6_;$(<{ndd4M+Ipgf0DI|WSx_Bo^lt1nK16%f%Ae6{=$9&W7;+E)MqjcpaSWw zBm4tU>VQ^$8KR|Mc561Dy~&q5yU-U)z(Xb6q2@XOKgGrgCnntwBf^M7lBCtsj)(3N zUmBugO)cWjerEB-_;cbFxaLCMIyLc&K!TMwaw&NDCM;9=m0Yr4C5hfS?O%{e1)%sL z8)Nf4*j3x9UY(+a@m>_Mr6%IUp+#(`y>cCeGtKLK5XHmgFs_J1QhaFmsq&@P>6x|( zoe9kVSJdcQDjtKu-V@c1gotsq+mgu0cB6aHPOKb#&BFO8#`3ceel$sv(+^%_ErDYh zl&ws)b<5gjOM`ZnrXT3Gvod=WvSVrPW~3ucvv=jIzb2P8Xb-i|Ws7|p&rQ+za7-KG zWlX?&Dk&`5wGCB(2*D$GBaKqIF!dXwU9{!IR4`5j zz%q&@xBH+-jhgDMEXq5B$C)Fg#@miI&bB5CIvNjgt%#Rmb7gZmROW#1dmi65qMt*hQ`cCs`sbD#xI|Z2X#p5C;q8( z>7tkTIxB-r1}{48lurVRk5VhENycFc!21%7pM<*4?$Vi648P4t8DjHmoODGl&oA1< zQzh{dU)2(6Y(j8_C2||rNI+^4J~h2Og6s|{O2EGC{ef9()6@MOMdmX)nELvtzypo^ z&q>tuO-R3JB^^4KP3C4p*b|C@a-!9+s%qA`F;x6H45;$M*QI^YH0aWE!sPCPkBVNhaV0ya5IZK}GZd@B)FfA~tP6NVHh0TRQy zUCy*WyTlW>?Qtmf*+JF!b&qhidj8c>b*|Jja-tT4!6U&Tb%nM4v8eZgrGB_rz%I5Y z!kES9`|BBs?D?JE&xZhE<Zl|LA`+c{5T#g|=r(k}_qnqE8Bi>~DVHMkvqIJ4&Dj)SWe1Kd3t57&0PRbP25$a_ z8SX%6_Fe7G;HHpIZkxL5_LFU$sC6hm5v~Se_KLE`fgyO~?lyQmS{8&Gga_Rd@RMnO zea-Da{)fjVSX5)en0s5S+EBsmMII#YbQ>T@`BLaY29Q@H{Eud(rEmckBg1^R$T31+ z^gQGx95@iHKG)5l^ASx>fMem+ea}}3#xun zkG4M$nZ+J0Q{iXA82fGseq~2}^}~Hu>OI3RH0FJ^ycUe-8zMd40|KByH==s;LOva7 z;l&N>O7G3g9BNTU-S+z87A^{z2wrprOz26x(>mZh zUTtnwRx2cvF`mkC04#5b2*_2WyWT0e917pO`uj+aRiCJ72=!+)sR|FHrN48mREw46 z#hDL_BOliAeui>usib-2F}?EF3SY?Zy+lZb^dd1T27qInX6=BYEN&$Zh)BJ+7nCq< ze@%*#OPz0)hfN?x!nou46OPrRMgxy+l!kd}_&_>V%R5%u0jAT8U3K}R7(l(*5b0QN zn@2R02A|L1Szh$-Yw0JaCnu}=Jkc6e%d^UR)^uf6GJ{xe=izKj-Jx&rFb6(lk^T~Z zK9OVSczucRcO@g3$O=&JWL?4@b75HQ9Ph*WMAP1&-%LD)P+D{+P$f-vv0xXL=$zJ{ z?p0z+Y`G{L0|LyOhdmb^5j@K=1&)uuU3(wkn%Iq5+3_)9e>O1?f ze`F)TtB47d`+F$CcuY;O6#R)Daz!udgw1?zIy?lQ01ud5qGe{>^H)i;~pHt6-_^w9eAjUE2xSGjwuR18XJ_g1Q_^e$Rg?@%LUVU zDfc`n8?5MJ==>BDv%{u`c4qgd7<#@6;Qvj&Jya&_5ImL0kRi6N2)Jp*^i)* zoq`tE!~rmK*L8W_8!%_@9B+#+wta}ws;`WR&$-`w0MdxBMzT-H??KramtJhSMCp-@ ztDlTV&Z{`x%es6wW%!%DzErH?`pw^T*}vusg90%+<9ihcyzbXY7rGJ2cZdotT!%z} zci)Up38z1Qo@J$yr#E`;Jwry1iRhj4JrnUt;CV)!w6j#UVi5P7r|cHlZ&|WYHbk4Y zPm>Eb1!6G;`QY&WWQ_R$Nd%G%V~hs{nAg065n+WEpxBa_DojXU?5!{X4h zAptR&NBEf`{~L%AqNKcRjo4v5>8L$vc6>j3`v~POpPpJp?)jfye z(w5=4O(|ukF%l4UjxD>njV+z|QRvGfkBZJMZ@T%rpMBIpL}IdNexThmGEMD?8!lh# zBZ25DY~5BJz{^`d_G`p9P3`s+fcQ%X2Eq+xe^FNVN-BC9M((~wx9V07RO~lK4RC^P zuF9|TA5xvvxF-)D^TxINa=!TGD6J7BsW+v8oEDinyWSs7!i`FkX)QlEWD1>Z_zecC z(-j?UuI62d_v5uUS?1*})P-K?S-V}ol#%{M*)2U9JXW61^SScr;PDu20=k(I>^OJJLmLOMdI; z>70KipTD3A=yq}YhRS}5EcDcMl}EaYDPxZDO#xRhj`q=XB9PTLtu;26pD#m%)pyYF z5DV55F2Ph@AUzVQ!7Tu30F;XtznhX|Hsp)3Njf^c%cO_3)rK$~O@SgIo=44KPMxLx zjCExjb*m=KG`8ZfN=7QciCj>UU7J_GF|3*kLnPa)fyx&#ivsI!umAp%vdXf@ZubxU2gof_Cwq*Uwu&GmvWe$ z^dj$Q&xR3FyhuUg@i^>Ft2Fj;`hld-lV^N*pfXo!Dy>8f))!cibUu8l7dN~&sQIgX z^D{TRFf`apvu|=LzbL!{FnV*WD10?A02=7u4>Ugo&3;-rm>RJB`+_k4w~&~DMwfwzh#KoZGyf}cwz9XdHT!SHf0zHg zL(W;OJuIU~gdj)6A$jQyg9b7(no!+u*TwsN>*1&yJ~} ztQim!0~{0sZ!RryN#^!-Ya8EquZpzYQzwwVLF{_mUJCmVHRZGYMpJgq{%OiK zyPk{#5B~V_M~$z`m{l9(fwB$g@UNCm^k#h9O+ZsnNSqyHkp>q=<*`oNdCScw4rJd? zuZMF)F1f&4-a|T&Lk=1q;JAc|a@ z%>b?gL7YS-6oGwSmIm&Q_I{yQ@glQMoVQ!O*vzNfX)X!)?bB+NsXL9)^?eKs`$Q}t ziB7_1RMMy9aoA>Z*_wUSwOUSt@Nbk<2A{BNE-R@Rx))SD-ws45$-eKkjeT0VEeILR zF{?`-^nTXL^R8&0-!|_d%8DFteu&Bn7GSFon#6b67WG>55JEZ!U7;1thjKK4HN{Tn zvgZ~memJXiW}y&}$=A6E57m!@8N~+5cSCdRCGTkI=^|^{0qsvDUn^>oJ}zB@jkjjL zT@a$iscP@ABLY*bq{gLMa||Z$c!A=5uB+QR+`Bu{tT*5P!an5+meo5*!G~Mr3^;{z zpDAIzgINA8AX{tGBX55*w{Q52Yq$#7OjKyy%$ z_=4$&q$Sp?zNU#}Cv;?DtFX0X1D_C?Nd@~%1J6=)CWL}}dwBcu5wOWu02~pck#1%{ z&auKwq7sd=b%>4!f$8HH7+E)Uk16UBxZjd>Qo;d$?DYqdsghEYF&9m}TK#5Z5wpUP zRTUV9j;kvLRj%q`Bgx((+L%^EK6z8V z!jsvCc8m3E4(Drc3~=cB)1Ym+2Gc~7HX_NYv>f~Nj?B~BM$?oU4`||E^$^baI{Z_l zn7mN+*R*wb#Ks;fU1Ds@p}XUGSL1Ln&YLkAUC{VBNWFGF3}+q&{fZ^}A`qYDlK+nc zb4G$dF=HzEQwxLVr{LW?=%};Y-TN9G6aPrKZw?lto}jmwfTRh$W>-?9cY~8+C>7S; zLQgG)q%{^jrJ+-TGr)peHTFF+_N$GQxWrN0_C<*FO+25dd?#(ET!4{TLb%fOhDdd zOLfq!m7-pPQ8k%^R2ezz$>|txF)!g^>Bngen8QO_tE)Cn`E-rL}A7 zGc9m3xnav8d&u1~9#}0N{G}P3Z#e`Gm2mN#ad(K`Fc)eX^l@7CWA_VZ6Tt!e8Yvm1 zc`zId2da;sNFxcH$NXUJF8Cd4T+Z;Fc8rVE>CP(cOvbt?lh1Nc`Sf3MB23F+6B&fb z7w!mHBNDx5PRv-udr!$I5)J$^c5Eu$jr{T-3NvOh;3n6uZE1TD~c@gxiJYTeZT5S1Swzw-}PqN_x|Z8{bfRy}L))`lDL8r`Fdp+uk4!jc5$pm|T+u z_Bo?|iwC-7<~ut%gGH{1i5^{cYvOU?tMu+ZFZIS1TQ`iV%x1p#N85mB1t&tMmy8IZ zzR#_coQA1T_Yd>=cB!jQ(YW>|kJ&^6roy5I974IjYj#VkyMCrz!p>nFrfP6OUdZA) z7&5ViNyjjdhv_o!;FF;RXS{01Bxnn+g3TQVYBMfMQW|hWR|>`HyN{82JS4f!BMa6SI*-R2nN)hcr8K=#Wl1L1MFIm|#|7y7q3&Vqm0T=kPg-{t@BrW#Q32 zuN3}UTAyuXt!Vco$GK+3HQ7R&qB)mzayzQT&*D&2JSXZh??U2h^)?9$Y^x(OKG{0i3^yg=;J?cR@U z+I-rwdVwkOHH*x1az}isLI9P~prDbDm-n)p{vH1y>v6b^)@Nr=O~pe7sz>2OfTMkk z`YLGcJcfQOR+;!w$RNVHw}8=_YwC=Rtup`wk(2>nIASnR8IXZd!+v7=#{1oZV+Cj4 zu7;f90%`|cJ{6!54!7o0_aB_RUX3k6ImT4!xf_}$p(xI$1zEhH+ zHRzLcNU-0Lj4zo9Uq7|I*R<7;keX=mi1`a^z@*};?Yvcb9CpGAPwV=gLb;r-ad^cT+W{T35#D4$XZWJWQ6m=w?+K9r|D zEGtJbjaEs0G>C#TM}9yR@dA4M*)UT{?tam#5>YiZl~=B&UJK0f;nOO8?SBT zPkAo#MyeL1O;Cm7H7c5+i+qy0xISxJcp2l(sfz0F645$^iIwWq+h!~$+qC- z6UfiA)9yJ#4b@t$;LAq9{^=4kraWfR{(2!Em9r)^<7=< zTkKg#MxB_;VLeeqIesFz#=#fbAz)(SnKVn=;F5aH__PAq;umC}8bO%9t!;4?uBY>I zm)Z}Md#Ed~J)Wn00Axh8x={3gX$t)^Bf48OUXQXc`%&dB!7q&${Lz~G1nqMh+uk8o*xLJ^HvVXJjUjIm8Rygjrjn}Yca2R!Yp27H>iVBl zdisgPK@-%zpb*2XLYJZ_!#pH3ye{IQT&@79;JqouH<}!zCe36Ho8 znY;EPV$Q)8C;PErE8QK0E(mx$d!8gxRe( z9AT@)KnYJ+xiLtZjd!phVGUm+8PeUWBljLB4s4W^Pv zR`#XCqmd0!BNhj=a8>-2+?~|WO^348%5+z09&vkPDm+c3@4EN<8y~TP>Rr!KZp+%38 z5PVsq)&ZkYWe9kumQbcc%cQKflnJkRtKvRL%QqBOs3fse!Oj~IE$MFL1&>NAcVC|8 zkwQtTtQcxIj!d`JlWdMO$l!%bW>A?Lm7D?Ig9d%Jy=2Rl#KK%)M6| zkB}YX>^xaEZ;Y)W{FVMiltM}9}c?pfmyOMyn6^l_q9sGf4V z&MMjjl|W@rTV{Y;{3qAw7j8Dep|rSK7TsNL6V&q;YHSa9&-7jj_Om_9G&GrUW+;qPT=MPu;XICEncS9+vYTYF@A1@PAJzer z85G(nC^@|wnfgU^7CH)4kl_^KlviUBXjxK=_w^ z_U$prOmyjqJ6PY4U!^_a1YY*wWW%O;_LPq;E}X_Ib?R9Zn&+NSnvT%+5Hdd4*}25@ zQg|wgPo;_gZ-%?G-0*}$P_{?Rvh}btQ{$EcqL>tS3fHP;CmtDm(#7J8ni=s>HlCEx zTk1qBeW2ib!JTJtyH+Ci>K)&@>u2WmWbV7vim?cCRoxkg{`L$5zmGXv7vUFd+2j>j zT3^5Jn3QEo5}p07xAAmSHLFnLdDVoMcdIL*%*-ZEhp7dfIo3q_rxsJJd1;@_*YPLM z3T@b9`G_MwW8=euPq$puP8!$KZ^i3cc&nH-xz#{l=Ry zvBk^s)t!ep->@IizsmNMx4F$5suKm>77AyGeD~hD$5#tyoM@vo^o#?G zv-BXzzWbJtY$g?B9NbW9FaiuGyve_8sUC90Y{ z36k_}C(8e2l9s~2SQHeA1k}KIxRa%b#2v=o_o>J_96tY6WXgIL62_rHf1gMOJ^8)w z%e|z)X?_{5RAzx6IK>SGCc(Xm@(m4}&bE$bX9efT=j#rmhC%{ zWzG3M;*{d}L3aoganvk)Wh#(%Bh>YLg*-p3dx{S?toi2b2RCxOk&NRI0N%+?;re?)C7+}Zz_ z;l~d3)aR!L*kXG;ZUThZTh9gQBIMa|Dw3Mj7i-S@B)TK2vc}C_T+Jj37x~r=Y9h4= zb`msAf~>jF1V{tB>K0uI>jw~l>cCqS>%rxOQDnN7lFmFb&O@9vsi(e za;vpM^xemuPX1q&-u!f5uf1F$ISp~By7MEf){*2#dtrU!=DYG3a+;5v7sZ9lo{IC9 zjqaBCS;QhQ3w#j~zl?@d(lBA#q1O~HtqXC{h1AqvasI! z*;A{Ng;QT$kDpB`{Btv~v+-!1=S>=mQkp>&`76=}9c6@pb^4YeJ0Z~&THaV9N~WE1 zHJvI;ynJoLR`OEZ%MD>D)WodsXERZYw=^CqQhvkjk8f^ptenl(Wg2eyIV}@mHC;=A zGe57L929m1@R-@t-cg;E!K_grTLm5+`5mHkv_+HXKSFP>WjK70 zvW1xKC`vid69fO)rZ?Jz3}?gmvT*1i=U8#_onrSRbF3%uIKKQ_l{4pi3kzQsQuNoo zrW`&+T2~v}#}~b{wAp-DbLb;V&>Vx3^PHW$dWt_t$FG2>48|OCA9eV7Dd}frzcjIT zk8-Gg4Q0z-ET!wT9VUmw90-wDXOQ%%=WOZN4j!+aM$X0ngHu#kfkdJ-*la<2z)_`Q9OW|K0F0YZ<8mjwz{aNXwfHF!@jH~b6_DBFhz zj|cUPx^Cb3LCDQ*C3eX^XwwkQO~#=b(IH6TF(6-hA9`5`*Q>i-_o?I}o%l!SNQ`aX z5fU#2I+`)69+AktV_$JMtcPDloPv)HrPG3+-BeJa@aRL-8+Roo(8nhtU*zO&cUiM7 znx+(CEqlq}LLF8zj?zAtpgTVMWH?G1lOGMf`^Uq6>>od4%1kZkQf<9|ow-5S_O!M>$ znR6p}t7fdUxDOiN6F-r*m9?hc$v^Zw36pAK{MHH6dF651dEvdn)_rzLPgM~9#^&-( zxNr1&vodH}mno0ORP=)0;!eY&L<7rItW5obLnRcLm;R5UK7;}NY zrgcqHT=DnZ`>ZQjG6Z+U_A$~8RNZks8`Us$9>G|ad9lZw%L?k>vLAH&EuY7yN zftTay;dZ$Fh$Wp?<}RM!0Q1jC*=J8o508NO8%rkRtmfmwRZS`zTSh~S&e+x;SwF&qU~3ic;?SEP3={25~ z^W2lvgM}4wA#WSZVHIEM<@2Xx9Y;hI7$_95^7A!Gaq`t~3__a(k%RRFc})lqzg#!+ zA!m;L%iD*2W#S(mA5RdfaD+^8iV5YTwB^oNnNiPn~z9ty3ulo=nsaz-lm5iz5*=`k*0?p?ag-NHSlt-n* z*e@J21$Ts>V?gdKHIy3qzoWb}F|pd-bGc8S5r27CP5P?(9@jV2e=VNWJ8ziu)jO}y zE^q@i7MhA!r|OvsszlWnnsz2HysC8fiktFTnxoMMP>$a-bp;GeEM+j#(!N-F6x)NL z!9&Bp$9x{+r}7xKnY!V~47m>3Ozhq$dLB+u(RZC!&+4)x-<<>{24YshJHZr8_n)a( z+cADrVqtiTHY~)&fgqtko?Q5}Z*+8q8v0WiBWkE11F3>(!sR1Z2mbU+cJzxS;%o`s z-T2gqPg~r&FW+=aN=D?1##V*BRe2iyv8&9ab#-OmPpPXF7Ph^zG9uc|QTeQ?#)hf( zMf<)@lW1&^QA{=HV24`J`^oe8$%DM|$%PNH9H;~OG@ZJ{&1PZkY+9+S3AizRM2F*v z`dx6f?{-A#vj>Bm129wZqtR{$koO5%k8@S*e15!6lw;5O^2DaYS#e-r8sG28$glH( z-*+|fE#xQ`JJ>T2={8w%n%ompePcK zqNm$dTX8GSXO|x2ijcSCm?&*d0>4O4P#Cu_Z=u8UULw@QngI212+do=H7aI6E)s%_ zq!9Sa8qkNC!u`+IUKKO=xLpj>Ulk9j5v3^zrX`JdxM}@KHo+!maLk0)hVCPygc4)G zQaZ2j4~)-MQ8Dx!Sqs?csngHnOZr(OX&$`IH%sFAKvkVz=oej>Pd(2l=HZ04EB zs8IM;PEq1foOJ$<9IYw~jW{9oz2S3T=4t~D4<_XEbE5;htcNdkd%u37Dov@$SN=2J8&4$ zhKb$tjfl10syr^*>%gQ%-R6*1snbgvBV7+_3hJn`P3SHg|5=*M+rht}u_LV4BiJOG z^L;dN7(a>7!~Dnm7eeG#*Ymb!p_AbfX4{I!ULCoZa!PdLPC?j5d!=ul4m!6l&1ghW zzQnn};9jO&B;5ToVTrrCSlByRdV!y8fjp#o*{9^zH81UeuLy_{FWIO-A15FgsU`_C zO1g&B8PI`8gkEWA0Q$HBnFzzD*dVnVFoo!C<%w2v;RbXg!@U8!d;uvK!YZW)aTi$D zjUxzJMQit}&#nxt`8YQ@n+>_pDKU;7c{0~fxE(wiF0&2tRcfQ26)RrV$~nvADKbgT z`R*%Zq9bg+#4em)<`cKI>}mdFu`Q>Ev>yK?ORit^4f2RsVC9B3^OUitlaVC)_>6a% z4_n@`&*qQHA1Rt5Az6p8nTPLO;BHf|j`HkxeSM?3o*=S@d>C(^6fd-fEEQdpj;Js$ z{SKsRChw=`x20nBirX5SBzNG^Y7e6;nhjZ_Q{^pKz9@Wo5_@l>TRvqqB`Ph9ru{{u z#(m1;cCFGA=1+7}GcOypkVQVrbkv_v<`{0?p+z_*<)jcwiy(81grO2=RYma=vMyvN z4=NocaXjN+GkU?ft;6%VZCiDy4$qFx##B<4Op~xzzNgm&*GYM6iE+G$xS}&jlOf)M z=vX}V@w4~^Wx=p=^^py%*@FU2H>ANScd5OsPbzDqd$gPWwYkOxi~dsfZ@B^kY{qYi zi^NiPMc(xdi+`5T!3Qg_rv%IHA7&`cxidx`eD67o?yb~h;>-^T2}XJ_-t%?z?eL~~ z60Yb|x*y+>Y`<)_ZB%Glz06H$5Zk@@)gL8*Dfm!taMn8;VdhLOuKrzMFZ`p=l)9+X z_cd3LrPu7RWgV5UGkU7LI1`9MN5IPH&XkxiI0D%LD4NZT(i_ zDo$%_B(zU?pVKK_D7DIaX1}8>ll5uk=j*hTkZI&Gh z{IU$d_vH<}M~U9lX(En;-fV%=N7*^W9JJmF+FU6eIWs?`Coo)1HBJ4bJS^Cch+S)2 zJ`yTbihWzkX%#fgU}=S3`b=*GS!_RTbd<1_o@_%K$>n z0nrraH3rLW#ur$@?b#mDf)_6=RrEBsu^tI{(*nt4BnKA&&vM(n+tjUXboGfVqvwt1 zkJ6Y0-ClOo=Lh|&`sl`9EA|F+sJt-SL$-qX9>sJm-K=1Z>X3PVp)N{}<5(0l%iP0$7qIr#ID&D?J>OvTR_S>To^Msuf2x z_mdeO7tt#lW(CdZ``$acI~cA_5IbEq5NYbhTw$C*+P~|;Tb_}-#XJ1^#ch`=>29HK z9d}c-J%%n@zQ(}3FnKgCqD~AFYx*G2tyt+1zLDgm z0fM)B=7E7N?vFvAdsvR5r`E&F{@W^F(IQ zs1nSM4F0;W)*rXZcu8)c)!uHYc=47$*Gv}+wa@D5kXBc6ho01IP$Y#?4n@o&;;3Gg z)a$ies_&Lvcv09bl!v7bn;q&D_V-VPcVok?kiR-CFAE)Bq6y!=Z5kQqyKSOk1S@#n zTs2W?#uarZt>FDF9qm^*xz?l^Vu3o3p~u5|N2cC|H9@Zs401gbRL`ql!So{hJa!P9 za=iEyOLt5@SxN%s|ZlIPUwsuBMCQfLVQ~w!cOu4uMmULBCVa z87!Z0`oL74o|?9y;CW$sZsBNCp<`25?3zo@N0&;mJ@kf!eBGiV3LS16Jfiv{D|RdR ziZ4EJ80QZfMu7}e#mekeVl9PU*Q6iXsn!0rJjQ(ViD|`3+G4pD2tkZI;;PW~KRXc*w(Z zvh_U?2AOGB%-{&Kqe`3gCnTRI4-|P?K%M05AK$xrId$gii;Dy-Q7)@JV+3T!`=3%u zY-zh9V^2I7h_MyoFyH(r(IB9c3FF`rof}`N+)KMG-mxMO$*LV+Sh7D;c}TM@OrUa^ z9-RN{v)-d}_=%R>G1(b-p1zjM!8Vf-DV?EIcY|U*t^EdLnCLnqd=j(k4~(?Le*0xQ zH1E6grKI-UG)*sgvY2v8(ih1NIm+87r6pEEU#4la?$xa)#~B_w0QNtHS*KJ6`S`MVdck%v0x9 zL>+9uj_c?p;wewqDl4TkaBhvKa6FQ0M-LN|G?1+<8YrY>T7QkW_2eC0gUtJfXAGG? zXwMF41Nba@<3<+laA(dDKC!!FsqnIrE+JRX2EFpWuQ5aT6!JZ1UY<3N4#wkpe-S#6 zx_CwckavDKjVsQ8A!|eq!g8SHJUej1c$tLTf3fbD0{2_us*a>5Fh8`hTMa`{s(gh=-@jeFX* zZy^ZOCdv*F+lMy^_bVQjLDxmp?rG-7TPjNn!O+J*jC%xF>Frh_K`o=9+3v{)n7g-9 z2NEe7HZqGJ4ceDGs-UBEauY}0=F4~D%;X+=D3ZxDPv2htHhb-(ce8-Q_J-be!-Zj% zpZsJTxsZhi8Ad0%*Zq4<BGtF80TjYfqfx9^KBcNn;hH2)(|A}i zD=>xi^p?b3&-CMymn$I}m8F{DVs{Q-e;vZdr(SpFYNh&$e)2325Lzw=EWBu>;7V@g zB?Ntte@LrRE$d(PaU(>6xxiphhCoc5D$;?PFhGoh*m;^Houb7hL@+)WQ;M$udEjAq zs4Mm}rBYd)d75RE*tkLeTgKEB!L_|cjMcD_G6ipi)+tQ9$0f?k*&VGLJMoH7{68uI z{<`!e0K5$xLNZ&VWZeC4iC?&+EnDwIO0XMzkno|=VO)ziXTQWo^$DW0#Ybf|aBGM- zvF?5s^yv=!d&f`Vr6udPdR*XjWrU(@lcfi-PB3EUG{VE+KF=WZ(wwy7G(HNcb5Xwq z3p{hT2-m^7R}<~--^l~e;ZbLYQj4G9am8(ucEqa$kA7S0czCe3L-`_TH{39?e^nZ; zMtmB}_buk^rMX^bJ;wp}w;r4&q=)?6QPe${U2hpMcr+hq&%b*tQAfH}YfC*83Q80NPMB{CUgd zj~@N~htpw{D)1>$uXkvS)bQ}m7c8yb%ywv4(mr+B!o^JrVM6Wg$Hx)*Wfb7a{CW@O z;c!dQ#h8|McyqQ@Y=I`NVs}aMz`q2iv0_LK79F}GIREl!jTyE4CEf2zOXXh9_xALz-3r^f3QO}6C z8|ExpAN`=-ei$$2j`2x4r*88BLCX63ab1_hFvX+vl&;F~=2?R%6~eX|Zr|$iW*B!j z`;gInIqo~=WThP?hgcW^<*vQ2`SaVfNbj+bD+&_7kgTz?48bsdpk~WbupTqtTTSW; z%nP5@0hRGurgB;uU*|n7j+=SVfAy2d8gGYc3TCaZ_(~j)*2R&CStHyTjV>EfAJhMm z5l*!3U;pH?da-DrYUJX~X$#k5P80TM;wQh^>o)Gx&XIJpkMhk8m4qQyloS-(<|)Z_ zv0JKjPsmGrRXGBhA3v06weKjw+FX~!UG0A5ZTy+)nFV-eI7QO z=AQILEsCA5LP=!xAWrtJQe{_W{E4&}aU{Tr@%i^(dEd(fx>JN0Oew-wQjO(d!pYQw zxt|Q)p4Ug8@hMeMW1o?!HE2C!{idPx+!5>B4-UqYb9&XV`2a*-{%!1HWZ-U}JEHh* z^r6tw(0ghAheyLsM&Hz{M+6wOSW`|03NSR}q@QsT_}KsSaa|j&{1V$A`Hhx-^VM8P z5oti?@mDXT zP9ag=wT;-X+d@q$?tyOVz2ss`ea3`#h9_;3$4+%>E9Itq49Xnmm^Ub02r27oBX$Bw zhJ7yu+TT>6?rJksR0l-OC-Tgj0EDU!lauRxxv23+L)CP6#?9fK>E^9M}YK2y1Em`vBu@6eg80f52bmhRUq_3x=)4qCQhbo zPNoj_&R}Z^Km~Rb1Ek>TC~)^WMDiP-TDS@FECJX+x9;nZ60ydg=X`8z7WTHLZ2wr0 z5`0_=FoR&J3?TT65TG0&1GD;X zl5biL(1G+vH$k1{0P&4(qy&j7plg+RCU4?$s{klKnQu2iBNYG*vHE}b0wTH%a#uo> zx__s{ss*UxYJj_7MkPQA=9c_pwf_fWR6&{Wci8pc;kkc@C946_e>3Ng7MNf`HRMS8 z?VFWkxSn(WPkrYaC~kjOf3^lv;9qhJk|TUQfWM`Kp}#+_Md=D!ul;LmCF`Kr-ke7% zbpRc)_TM806(%KkUI&%f&1qv+4^R;6{|A3dJ;3!Beh5MZc^aS+xT)|d!7KcA!%cy> zQtb-gYXB(!v)Ca@L{R<%aG%)rztu$q%Rc}jf6%1baRV2ZGu|Nf0dF=p!tgjgj*pGxZlvkDM1KA2QyotFyHLgD;%K>()H#v(QJc4a?}1m36i%% z$u-ah5M3|WD}^DP^}1H+osg~}?T{_koPPyvv_l;VdEg&@y@EtLplrWZqgPN-$4xbQ z1)+BWyf=;*y;ip!OrS`*abmU zpkg;vJO9!uu87LIA#Yxb;T1&O1JGV?r&o|y55RCe3$LJs9)SMewv;O(v0i|k*!b@r zx*{s*1$eJl*%d_E2krLq|H1FxcT<&K@sC0L*AwL`y_ou;z2N4K5ZDiS_0z~de0{|w zHUQiKclv>Q#D;&@>VGJ?i7o$|=nmL00B~MU^eZ9sgHUL$CHfWga`3M+$ig7h>~7`~ z8G^WO?r3pCkQ>jSA>e;ad50qq!`^SMYopv1BryzdTu=4i(x22*TQfG zm5u;tp#BKdTdwt{|H1EHPiY7ur<75UXLI(nb9v@r>da}q6VX=}>z|NmAO zgw_9J(*4cH@((^|V<$@o7Zyu97MEw{&i|012U2X`AOr748Q{_=)a|a-@9#x%{}+Rc zsk4iby$2{V2GL*JA0T>huy_nWxn8dj#02_{0)*h@Z~WTy4B-sFwYUps1d4vUt~dk8 zKL+4}h2s$OwcNjA1|gNGO#WoF#NRU;A|?mFi~(4n{zpidX4mzUA_qms0US6pkZtn1 zCgfnuI6w?%4j$Ir1n!OlcyJcr!RSq(_(y;g&hjsu?>+)}AnPQgQ~c_6oyfqi9|0UH z>pzD5%j^UhNCrwx0IYB}pndmsHLgHnuzvz_wk=3;bQ1;9B!EX{_h+qt>2OzT*-io^ zaQ2|X!cCGO@HRL+2@p{^{1IpLudyKmuQ*tz046HOKa__5!4W?Nu){gsSTtlH1Y&`N zpCA>TZ_KPK3QWv@l#dGteSPwOA2zRS9sLBw-W6P2y9s2R1_4@c ze6>czETr+)G(ZmL@fVw}C^Tmvn>@kG{+m>}qUe}`GC^++%BYw1H)Yfn5$7yGLgoF( z!~ZfD{*P*OAo=`X>ITZuSpXN#_b(oho`c-ucVlUgfyr}_u4D_4d;Uv@?{m=pVGmK> zSi5AP{yfwuhJWKXbr~|SY#s_>0I1S+li$!509>lTKi>HFE&{oB0lXVnC z-u3D)_8cq$lyG5x39a%nl-xs~A)nveyKM!{Tsh|f^b*?@Zn;v+g7#;?G;@s00HzZ zEsm3as( z=QT+E_`gKFcMaNebT=T4t_@^Y%%tnk0jT*me)Evyx(=Czxe4JnJ08NZz_oQK_{lfU zBV-`&20#m!0yb6u!@F0@Cv5;URPX-VD_6u98&EZ-UN@9u6X1eN1EW{}u>$maaxilf zN+0rV$bf4n#4G${6FRU3Z36`VYwWy&RJWjBmvOz1T!A@T&}NOTDy1Qy*2%|IuZHJCMtAue;{TpO!n233-1c{nrf8ume5QRNRC7 zc2>X`@tXIS%yHK5Y?Ls5wuip}HPA!Ot2CnGF5seIlz}uj}9@NW= z|BnVl>_G;Q?L*65tIaE&Hh&8%{UhvOj1>Dcv1)d$g3+H zc^~Sf$p?@oH=k+r_5lXCN^o@KANhR641s9i@NWrgX1mJ4NP_8bMFmdZiXq$p?1j6Ns*tg~86^B2Dgoc~u$8>dQPJ1_JcP2N zm1P%YCuJwfYBu`nd6Q61JXJhZw>^yaf&i0SQxAY}D`?*wnMnkJ8v(5D;-wzrbgLs; zg`9%pJvpv*Oa^$kjY=6Ilo%CZj|s7jegEYp1Md>t{jV~lb;R(aD5Q13a6_qA*Mjk~ z%*Y&jjF@c<9`aUyEqlw*x3}Iqz zaqq_0CX0-KDJmKETmnrbTz5h^cutuzCkaXm(-~_2bIdhQ;Wh)oR0UMv zM@oYfXdwu3incT;Gr)kjOWAf^*n(l@*(KOiXFc zy^3fi38R1*ME=`$>HD40TDI~p>!U}-=EUyK$W>G>EG@84etU(3E){$19#W%wYT+X& zdkve`0}QZNA^7Bbd;wVfSo<^iJnLBUw_dx-a)-vSw{x{Jj}$l=P&n*FQ{teKz<>`r zQc-BZr{E{CIwTTtcVhpflpivn+#piT)-s?=ARt01B66Ty0J9&^zsR3K3HNmUZTZRm z2)pEC=Flt=qVNxk7P{?P75jnUAu(DR+X1DR-JYE&JI{Mm0o`FVx8V}8&}kCN#CJ#O z+^AA&MKtmCJ@I`uXrab$ z9<(>>R0yBDz?Q&>=RQ=ZZ4i^Y6VqmWKg*tkJ_lSpCi!wiJV!0=UXl~dqd|9R=FnYj z&%J<|{C+`D&e^wGl>pxDZ`IB;_cV?CuauLyW_}}F6U9^mz7Vm_21c@eMi^Pga&A-> z`u(}STFZXeC4HaK(oi9ua*ErVRHv~a;Fz*fu{YJM03OP2*!r#7CXFV|d9QwWVffJ{u{|ngR{8JKlbZte>5neG5L^4{(3!I|I9is z2LJPFofyAey0fPf!IdxzDkWZ7_?kQ|AraC#SFR@2|3m7PN~O2a7bo$p zQJHnMgp`I8pJwbBin_S*WasfQo7c}3NU7f<<-$QCY?evop)$H?E4VBxxJ)l_U{_#- zGD9eC&D0RMpv^XKP`v*qpsU0gPI51`+}j+5IU#~Cm$|f-|L21L>4m`m?e049713rK z10cPssG+)k9_D@`*LIy)Uhl^f1PFfP=^<&Tmqnk&o-YPMjRYpmC0|-jx}L`-?H@Yn zGIDj+I7{6r6F~}02_ZCHG>EiEd-8{jGQbU1k|-4H{fe|rFhRo{OyL0ZO4)c)%A2k8 zXr+!gxDAaVE6n&9_}!+84Hf056&!C^g$;Aq>6Xux-gAE;iU>VDBGCJDzr4 z(tleM_D^;Mt2P8@?(k zO1p1}42v(?&Xr~8`J{MoCAVSPv@fGF)vX7lTzd+;RZ3fXJ9T97PVgS`E=mJS0EM)# zA-9*rvq0gNKsu`es4xH9KdOM1h*o;!?+nxJ7v7!H(7s8v+0aIH$l(Ea1%3Dh8L3eu zNdpYDPpQrUW}$_qyw2C^`vN4f87`sX;;yrIahE3Ti}gxB-G0=3$2D?9r|7w(g7yRN zgCr^5t+6tm4II!OEQ%igR;_I(0$d`y50NVdYv`p2R(T6L-ktY$Wm&DIb!XAGxS)Gf zZBMw-=>DuH5rpm#IXgOCaw5e$Ytk3K3f04XbVMA877@Z*34Ji;nxIb3{|rj8rQX;{ zHm*=u=id0(J+_OXtc;~}Hir8Rx=caUrC;-?#o)6Rz>Ez5yH7TVQsc$*DYr_Xz95$= zj>@1KAloTJ%AoQfqbZmwpgh=vQa{r$pno!wj)Sr`tTds<&ioP-kbLpqOR@QaN!}xN z5ka^+U3P}r++^5e;*6sco$Ni)a z&i$u&C!l&)P4fb%-wDu;u*lS~>D;Xc-hCVC2OUvRx>3Q~lzHhGO>tBMr2*ePc&19p zRs$skAxr5|0~JEQR8jG;_>9UvOdmJT(x;pK@KFJ*o3YeE{XjqjQ<616Wq|U6%aoCg z0aXPLh9VTQD_EwaxAPj3>LXiP9#Wn1Y1vH!TVZh}3`bd<6#St=Ht+Ewy2?Tg!GT3j zrH%>2smK6?XDUp#+AXI9xb!-nshq=ZGpWrH0-ed*yag3HC#3;aRPS9P~PJnk%!Cw-?Tx zAGEjFR}159hI6L|?q~0-H=Z*JZSD<2d)U7?j%U5#98shK(5tU$k2{w6-}IF|wT1Zg zxYG_su#u+9#2uc-bv?AZN*ca^Uf__fdnKYcHG+a){%ZyWul}nD0t&Q+fl1_GFT&$- zPtj4TYSh2_69?e$Dt#qwb z%+#7JnbblDV4L;B>N6wOOJ<(!w)!YJSDj@iSlF#|4Ws0=sp1;7B$Mr)8^W8Y1g~Z) zVUhmXXMlot)MlAbfX+un95x}KXh55k?1RIYr{IBA zuhBP11O-GrPzlD(>O(+}bt-^>-o{c3B5lLLB7r{uP7u&L&;Ah5Jx_(ONTQc{pss8n zazk1mEckI2t`IfOX`tX0x>eu0PpcGv{!ID>i&Wz*2?DBKrTW!-r4sBK@k1vv+^2zn z)@;?DfYscp;m!ZmHS&)3<^1@M91RN2%qRF2LGd3?`-{hw_YH&=@xS;}G$O!oU&vWq zuoY^Qh5PG5)&D_CUr;E`mvk>05z^cCm&y(FSDaVDnrz&3{vOuQAtV>%kY58H*xClw z;J3!u@M;@vMssvFV+FGLB@;JEqN|dYkAk?kQZ_W$s>UQ?(3@Yg2KKpf)HP zK8JtR)-MtRHWN^=$`$mJf`dRzUATrdZ&ypPQl{Q03I?rKm=PBGCISbcKdMc2r9CYi zuvmrx`!D^g!=3*H*Z*e}@1on99W%?7&962pZr!JT5mvORhO}pe12iPQLiOm;JS%N- zyH1_HjQa+~t@*`kSV(BsGzxT=|D+WxfiF<%3(Q&+7OI5!GTQ&gZ*Nc;TM$DrH;4`PH2`u31Jw*l1_R9u z3I>I{eQF8dvOiJyFnm7?z3DtZNAEPRK2uI>6+!iL3$eytrR|!ec#hP(=@j3r`7lg9 zqY2>9I@Mz#A`FTLLHny0O#*f}j%o$3aql&Ap5*?cnbY?h)-_w!%cYAt%zwen$6xU3 zy=L4a{(mqa&xb+fpYorK&X>$){+G<<{0wASy8;}<_(pYbpfTZ;uuwIkb#Bf=XoI5T z8e*i)aI#iU?AM5c3DtJHzyyj00v`QzH4nWHqK?xLSad&N@KH?P3J_qF{iQ>}xdgt- zK35l6{D^zQ(t_w^;>&6BG4Cr{aSI?@BjD48O-Q73_vJg;- zzSQV=Ba102-MLYIuK#(rbC6tDUB_Qzw(tLaSA+NZxSxyk|yfih_gD34b^BIn7F zFJ1L8;_j&!JttJH=&-AX@A?>s4yETXs>h%PbKt1#8Ol^Fr`m83L+hu>1%KKQ`6JMi z7MN~L9{0ytHOM7Vb21rWYg;&fr%T`mhY(Z^4sYE?^v*C16|CnLw(Pofs0Z zt1o0t?fiMUM*G%fqZ$|jRsAI4OCHJHLL_JSxu=`ItvQHmKFv<$_K9vVOp_a8k*M=| z@DFm(&iPUx6PBzf@%1yh`g1f~fV35PL%*gX{5jt>y&{?fb@)EySCo-qq@3zF_GoQS zb$#|~i9(Q>325+IxZ)^P1`w|a!yl2DIeY?w1{NKToyj**WA90Il$U49VJ)ATCHxYf zdBP$s@&LQ3!ET{D8MPU@+;IPcuh@X%Z{$pZ{AVuN`(dWq1GE~uIq0m8GS2Q*nicOE z&LQVG9Ll)gEL=pk76-hpmHJu;s_0HwgTDBo><5+FV`55NuuOp&8?c>oGG9-Fs-%)M z!so4Bq{>mrEsP!Dzc{j%xBEeTV+Tm@hR|nAR)ycS1=+bqvmYMZ)n<8wBNV7Fi>n7a znKJa4N7AZ2)hGE=TN7(%pKdKIi!QZKVfqw(i(^YPF)36AX|G{a=T^gla}hRB=w&{Q z-_P6*hmjQMb(lM?0x-$cza0-7_nRE_NG+Dj8@hN_@iCeFr9_>hO8L}p%o-_CI$aGB zz~pO>@@Zq4WvG!r78b)rK^(KV0Za0xw5A@j(Fs59Nerio|P0+ z!?M7xr;*Eu5y<*i5 zU}1%3Ia+_Ml)t|O^2A7aJc?q_9GD_JexDTEmt-@@$C{*E4azK{h4p!Pt(isFMX~3u zus|}iUZ8OM@_thoIR1;Hy)fkvWiWRD*JhWaE58^PX%66V+Y|*hSTw}9=}9&mKUofO zd$9>&&T8i0Z?haN{p&EXVihc0amARX_<=S-R`}PHX6G4AbvKpm6v1zLBz>=Uf$Y%a ziJ*`$bsMPw*)-en!ADsC7-kwsL(SZmuTeM#SDUT&ROgGQy$!Bk!sNb;|2`g7)M9j+ zO1Z11XaU5R?NH0|8bq$tZabIc>2UPklUu|uh)k7#B#~h?1{v0YTaaky7it(K_DPNj z;?yc~zN^C&Zwy>L9%vpP2 z2o1U)RJ1DiR*hcUA%U}U7?_@Q%}3^YSvWH^?DL3v-L5e5cs>9_y6YqPM36r-B)n-6 z2|O`O`5N@x;zxI~IZT4S)*uPU7sj*j`66Gx?nA75WJO&PZ@((j&=Ud%^gDkgZ^s*! zl`h6D5jDhL9OL+jCI3o@zL?Dj$53dVU~h`_JnpOFgs&b(K6L~h_>lH`klOr%hg*j# zWzAdoCFV+)cf27pd!Fn-n86$M2=a$f2Iw~@#_Y5cIyQ!evx_DUEv{p0a2hc?S-dYSh z>If;yIIfw;4CGq0TEJwU2@Se~QnU(M6bO_2Qy^urAnl30EF%2SsEYI4At(BP3|K*2 zu#ISK6JT@@N*40beSF{{Z!S*zUgkYN9HxKZWed~ee(3U>_)De&NJ-)c)4^~QRmEu* z+$SGSf32UjlM24o<1t(Dxj-f z{sZf)M7@usC9F5SBCle;0?ft03*%{9iks+zJoZXO(zrExHw|)JX4=VLctovY&~J3i z?X+HdypE%@ONfZ%e~rXncQm!t#mNs$=ZUu6ZEtX<3Z~>{FBj4YsskfxOzS!Md0C_< z#x`AUcg1Ls-SJP~wxgqdilI1$XMg*1?{Dlcz~WE%Z<7+8>GJ(aT)c|}fLY2XC*sCu zegnYpKZw~#jX0%I^bttuq`m_C#87Hv6a-1D1{a+l98Bju3Ewv9H}#QU08dg9X0ap6fB5Pc3}I*9G)`kEDgsVjRrK=n}x+IZFUaJg9r-*~gBPK3a?*HH-fhJ_;r2xd%gjGENRSk{9n*RNeh> z($S3Gy^HF}&H%E<4&u1U@Fp@QDO_HZLbslsjPOx5hM1h(Z2$$T@%HGTege zt*E$IK1iZF6>Q#~uyEbEDb0Vb;X31BcpMRa*cN>PKj-DfVy*i-pVHsU)P4C}Br2FG ze`F&Pz*7DIwdVmLNYhLPu_+y^M*;AB-LSb}s3_F1b^SW}~#_X31#(_gBk}mVA z>Gv7%z)2(LrM$9R=>98lCOKi8{HgjG*sfqf!3ekNJt@3RN8FG-R_q1AKH0sH7e4XNK> zX$^~`uh{BX)`u&wYfFn)C|ix72Fk940X)CObrafGu)jiPCMsB;x}|u&2IBHH*uM1D z!tU5i&HCSC?orYz*>A>&rts(wdntvc|8SCuc!m0NqX(nByk#aV8Is)X-t;_Cr1WsM zw#X6+O`CVW1Vj;In{ewJ4IJ|ZmFsd83aJ$aET=F`alCgDnUWKb6%@a604U_8PnVy` zEt|alt3z)f>q)m1{8t7Z|DlNT`>ubGg&yPxSVyQkOK#zp4D>?9XZP3&QI!9=(xm?` z!b)O*F?Csq+anv2O~8H5w;6=`Ug}=zafn#pueb8XU$IuWuEQVq;^uYwAb9Lq#7lBd za2#+KR%ItdFmsdX4TN3_o-FReH;9ZFoxGPu&i(L9lWIM7kt7u!;Y$+HHeOk&uS&XS2cS!@ILQ=6`uquTtst3S$P1XO1WtK8xaSfGE8zD7wzUR% zwVcky$6+u|%uhS8bIl89BXI`NFP@(;EI!YfPa(uxjd1ld$dN<^#5&HA(n;&YrmHiY zz8%@-@cOn|vOcH%>x^zHbdb&!JIEQl5DU4a=w&|tLr!aV+@Mj4?my)0<8GpnDZ$A! za{yQWZeU^j2`utijf(eI25Xq7@Ji9G+V5*ZGiB1i$>Fn0)}Jpdyh;93~`;tcU5e@S&R&#U52MlkEszcmNx% zrI(n((WEF9xxmn9jI2*H^1>P^M^j;% z7aq4bPbLcC*$qn4sc`YhVUs;a z2Zt{;^rWIS#aHX-`0J*X4#_th8oAb#`^I#X)HBQT$hGSHncu6D1`4C}C0*?wL%=H} z&AB#%i1-GFbtc!^;4)_Xrf4BGheAghhL=V8&>F@_2lS`F;qGrF&iaX}P+aZ{`DwCpxsqz) z(|h1?(;F?57Vp0y$%Wq8g6v@f3%5}WL1&VW1okcXZ3*+!14$sWb%SuEP^NpouNT@Z zaM*bBG~8(6D{LU5$zNW2Sg_z2_|sMV#S4Q~3!A)!f=8&nJ3Yo!t4KsNWA*b$->Yz_ zDqt3e<0#7RY#Xm!jB3*_6$V#6)$3V?g*YrsD>Bcjk=$_u|ysv!NbcT=^NmLfHQO(TqV)Ve;I>Dva|<#A}Q zJHPK)|6Qq~n|FFX)&pPK~@!un`Yu{7Q}mdtfRXT}VpIbE$`Walq?+=F1+dxiPU*+*DAq?#Dnc0VUg|_snXkb6v@eW&{OGw?jpzkQIfy7@ zbqdU$SL(+JB(>nJgYuh(ewLU!`}DS-7OK?XOK@PmsUSj#5#NZB9$1ESWHn-P8}i~~ zY92#fLZk+FpS4j3pnah<-gYvr8e?^3Z}PyZu7%GuF! zKa5nm_0-z6RJ3u>;@@so zZQwBG5|etFRm!%KB%beYS(iCY#x>*5+eqWXR&|=@Hv99B5B|Px#Bvd-5886RP!qd{ z#yff|dmg_^EK4y~kV8cB$mCX$Oq<$`j#+X(_@oO2z0D#uLN*4IuRhOr7AN20)a@GG zOwoN4UuHYtmXEXzQMB54XAxG>!ny%jlGXc>4=#7m2a z^forqFgrCxI81@0qIExhQd(CR>B1S++{>P|NaO=3(bVDR9vY#a!j&&-&%8JV8E)y@ zpW;Y*<20>#zsvR)?My%-Bd6qUTTDE&Ykzi#=CNAFPvq3Mkw_*>%o zF8uP}i|i$?3srf{iCAS;Fi6+Uj%UR_cTo zmeA1#l6>H1I*27-@$+x2wf8N<3>AO#N)WvTQzy;Q`V&{SSZH=|36@1ZwU>~xrAbb4 z^Kw_g5Uw0NP^?6;RN->k8|LNx8dQNxv^r}QF;_^?X^x_y`LuBsHp}s+VBQM<6`*n8 zaXtq^I@5(I&c~`?m!Y)jX{_u2&mfPGmyBxzh^?mAq3_#g3{&&t@0hV+)P$H2ob?gK znshQFpl|xy;xH7P%L?4c0O8s;Z!+Fuic_Q4z0IVYl(aG zWXpyASBcGnFQ4B+?TvLl!MGu1xIE=N0L24`)lofc`7CgNP&Tq{)F;iXHKZfhvC5Q+)jJ?db8qdSc#Ag zTV6@6^)3A(IK!chDj=26UiIipmmC^D_rzgguMMS0#iy-T%wKEk9fQn+v?a2J>%HRV z`Z~3+C!}SDhJY2UgAMy5UL}m<#Ow?n%V!nq0oM7UtjOTHg4WY>R7#{a{PmLjlraQY?SbXzWs zt=W29Q;9MQ1R>!NRcm3i;rny}ur_OA@K1f63Wc_XcTTx-Zz?N>GIO<5%!!}q)k|+% zO#S9Y)`^FjnhlYewrM*pRv7+GV(|1;G56RwElpO#oFVC2JsO;Dhd~lKnTVP4s2Pp0 zpQTqL;Q>ZELAbj@@xD&++_rKcFV@rIXGwxix7yb>;18*nOY&nNxd4y=5EsUCO^bg@n6J z$(c_osm~^|cSL+Fk~dy#v?83*u}c?bcvD}Y&mIPimW)khLiJ5cOSh`)6zEKKxEE`N<}wLComZWT0wAy011mE%9B z1-y-G6|7)KYw`HOTa~o+Tbr+20-6N0w~ZEi+|gYHY=j?c7B8DGcp8xk2&ea8y>M;U zHh-A=|BOo(r=nUt7IW4M&xK;lxp2Gd)Rp0&!VB;v_c+|nq{qF#*KK&7x?rcdhqX7J zZ$gdeHX>HNB)jVZNeB`rqsjsKWXF?B?a zZ6qOH_Hr-i6S8<795sCcDi4%yaO^%B;W88Lrp+%)b2%+)cA+`jeim#c2V0E}+ob#< zlu6cSBWr#EOz`_&D1Nf$n#r-ySi%dveKY;oOnF9Zx=%in4J2)J4XJMiVJL5!|JdqNGkVz5drnkmOc}&IsE9yMeP(3k1Ubf)$CfC<4Os0ff6Y+2 z$1R>l>X^;EiIrbe^eG4jEj(r`4$LUJwujCP5Wt>jkk!*jlmF;Z*v;7P)=k`gz1Gk+ zx|7`JeuD@zxyC59f24@M|sk1HoTs!q{3_A#}_!F%>NW#qy<6>>nPI%WbXT#R%Syg_C z6HW)Pc&d=UpHZ+A3E{p>^!%0<5j9A;^+8k(`z~7*%{UeXvq|m2hI0ER-s*T#CsWOd zKR9M8`F%63&#uUk%PUhqjpd{SV!mScr=@E76V9eEu>F@4eScnbcLJj=VVjlphFw4B zuyR@v0!KL`o#4;+P@0=F3ylr<6lQGq4+=a0UgP?9j+TsEy^S)2OV(Ax-$k-9N<}E$#bMoSI1ZTxpUHPSg0rs$oc{z(5q6X`{c`Z=M)*Kt_3rqcI56bM^0H%W+5&62Wp`yZ0BK`| z+Xd4n(}QF%+&Eno7w!Kpmhgcn^`by_45So{V$k^+Brxa<-5E%=+2+o5k{=5s7kpO0 z>oD6jv^Rj|vE$%GTTbNqlbn19cLAo=W#vUKd^8Tw`@5Wf2fNj+I#bZs6zrZ2NHuRXP2?sc-j+#lVUjo{ozB zCA6}?T$y-i7hy?>EHdf9&2S!~^>tv%^@ZoxcHN8`tOU+yiZ=}!&UIGPx)sp*^~Y4$ zPn>JRYu(m!M*A=N7aU{{$C{c-dtzBXuZ>qf?K)O8{;_E^o~~MGjbmcVx)@w6N5Qaf ztJ%JDI59ND<>xm3D?6KDi|Jk}wWB${=@-HCYWUT<;^A+rFmTU&DS+TyA4C6ka(z)a zK09%X?GHSTjR7^9gP&>Vqw{~K5u4h|-ooTK|7O->_#+1x2=H5<8}Xk#L)umu>j-G! zC70hAa;qRT{jKw}(#Bu4#lH>U6JU9dB`C?5^$~F2XT3h0+<3h7a<5BP-k**ix9(U8 zk~9#AzHf5BOt<<)fHRP9;{U9W9n~^i)ymXZUIpmtt+tn1d5rs^MT@QMrBKfJ-Vff- z_n(|!BX;UKq&L?tf9l{JuCP6nHA`r`tc>#h5ip?h8Z+Rt>o19}e`DS~Lv%%EU!B)^ z3^lJfWeg%1(^)mv@L@rNKj3Y_)mdutz}ou9ij3HSJK-OXF0OqlynEt^ciP=(i6Fzf z(gBpLPs48?z2;i_UACnC>ouF6yU7FhJ0ql9YUK%ghfoR<)EAK3X?QHPT=t>SddP;o z*+6w#c)dG57B)8vHyvMY)J`_*)k9t} zoJ=;O1XB=;t?v2tg)R+~5tQ96`A%>!0-qyz%}LaTNmx{-SnS@JzY$6q(H0**7Ch7l zb${VRmqvEu+c60T-a(vYVCytK{kl$3H~T2P4WgPUjEUeQTF>G5)kazj1Uv-IxDZOsQ@C6 z0TM|KqGi+VZ+G~JnHe&$vBaR51<>Hh$z%?4kz=u26eY?s4zX_r{tfM#?Y-E5YKEKB zSbAnKT#&7|a%~b<_A=fi;CfW@%G4>qe1bD88^Ie#TAk>=>z->q=$L$X6JT8gb1ocv zBG^6Uv9OIqoS5naLO!;!Ul1p!0M`(Id)`eRkn=) z0h8&-M0IUm#)tEL|AD*8+uM1@WamH4AMaT17a!F*Z4s$AgRRPnzL}}Ol61%+ILujVj2Ti zU%O$kj((%ND$>rX1&e?^0^^1kzx7{pHKy=~kpg>V{9C8ARrF0ZAXbbNR7?EvR-A?g zd*&9{MQaXHk==dUVBFySM4_x7mb>pljfo^&r{VB%Fj$=={R#+mH0oK68;Mm_lH>5N zk^&acA^Gtvm#wzHi}pp+Pdk=-O~)L~ZNM{TyC?_xRbc0(L~UP60$R$=#MqIXH=v=l zq2^qk(0Gf58{ss`C49i z^YgOkb77gzChA;^nykTuUKF!N&fSqpEyYh+>*IwEQWIP>FynylMEzCjJqDW23VGUh z9N)mD41;Rs?78T_4r4g4x*Z|!Yf68Q7|cR9bYv6@)iDr6qd64aQ0CW0gN5s_L!gAc zCGEPg{uR@-84W29-e6}idp4^tTd;D8fA?5XLguEDijxRSHk0e5s{xT?cSyw}45H|g zRXvcb#s#3w<(dUsD?+Luy`Z+VMY*(Mr8>3bE5I(iGX2jZwYKj{5`bh zbl^h^oHh0-1KjdMiVV$UR9cCtU=Z5F9>6k3`(8tIn==mMQ^9PfB##QI*mD-Sa&chC zAn?ae`+1cDASBTFSxN&+YHv8JMJ?3yZ$7gSZnc?&9VJc6K#Ozc=9gR<1#Gl`&U#cH z5B$%4C56x`KmtZnvMKsoL6hss54A(@Y^>o+NN5pOgxO3kYLo(#lE9@O0VehLq~n^{vV7E1T>4PWxHayYxmLw(6D{PwD zS*8V+7sk63_tH`~G(PD%iwi{+WGuP2&6;V|wSPl`3))d!{$hM*7x(nUj?A0m}1Jd_?0 z3iPz8O?Ty93u0)QIB+4-6E-JL;wC>2s3q&Qhs`2J-oymA{~8s9&QOf;ZEMN7d?Z`gkgJ4IE89ormmB^vu{YK# zG+K>ixJYmk%T6Za@FNwPiPY|h4MDePd@c+L4R6HHwC;#f3;Q_ZZjGtXXsn4TQQ%~6 zXrB-^L`2K&cj*K9{!HeIql_vMg( zn_kT^p~#;($1}&EcD!%elb`A~wHFp@{^OgZ?^w`7k}&u#mns})uwFFy7JE zqnot4BS|NqMhs({f)5Cji#s@IzDwDf=ogjrfmKuL!Ht@&`UHKRWil+GnLkVQ` zX!%6TB(|q3)`1UYRhU;om!mYCGj1i2oO^MFf`EE}6yw;a{F`73pp-y90`aDhx(ciR z7Au)+&W7jH63I&iK)UOVl$l`$k`Zm}(>-}Sv1Hwo{uf(VLk zp<84sE16!v%0(0lVF9pHqdlYyf)EIFIPXrHzT7YwmU6xr1{V|Vme_%9?=eP6D|T`? zXfxFs<9vo|!W}Xpb+wm13RDzoqZJvlIkC-K@%>&Gu12zjh#t!t0GW`^%o)Bd;}5inI~ zYZwiayN?jT#9IoY5XZeE06#rKk);g<9Cfon>jH~Y(f$Zhkb`B_o+&bBFGf+6NGlYj zA)6Etc&N%OIst7}a6Is1XQ1wO&^S$M^8s{W^WxL+fpUIVAL#)^#*k+$JK%q=V(s2q z1on0t=Md*OVG{ePK^hL$1d z#llorkRPi5SA&CYMm}m;6BHSo!%IBfHb*qa25)F(u80{Uz_~*epPtjQsGu&}+&JX; z>O*T_HW^?-N?{-YC6e=iDGUvg2<*h*cy3WdlI#!Zf(~Gb>-iDL(C$o8C)6FM6gR+f zlf}51-TYljdU$bHAJW;F%zEL_EFd|ax5rfi1BOyQ8ExKm27M|sMk>`og82s_$&au^ zB1zXaag74$elc9DV9CE!?atPsR00VD)P8!2W+DKhV*2+;Lm>`AWP7)8h+dEgBCiw} zbAZX1(;C(G0;OVxJ(t2Jb^K?TY(9ZcoIJxADOmiiq3@5>q=#rBE{!x;7Mpv+YT}{pHL*sUUryJ#-orl`Ay1)yg028L z1zP47Ni&>E_t}ZVHC=@P%Fn;s-yj3-$-mQeB5@i7F@blGFzs1;`qkw~5}`XysuPF^ z1)*g@pldke$1L&3AotVjEyH5a6R7y{o%j_*u_dsogY?a&s}C2jR~S(j1|75%3Z&*O z>y$jLCi&YAOJ;Rur3r+1@2NeTbV>tHTYL@=o39Dy4zoT5^Tp+VuNLnQ9BUEE=Q00a zbbj7AyWA&(kl0lPHR)HYv%h(@ujqytzpIBkEZ$ueBanXdvRA{DEjlP*lJYgrR(ej3 z);R133G`3<*FDqO@)z&HlLvkKe)AG`M|dozWU6~eZE z3vIr9nQf1#US@ihLuSV`x|KRpuNp?;r5aAA_fR;t+<7#U_~iGY77q-}Ti`#e{uEd& z3;CTar$3SYI}B~GW{SCvXBcOgs405}yIrOVLi|A6t|bLrZ_1PBck8DO8hMSle`NFBYi)0$>)0_o;oZpOU@=Z< z2(Ym#6Df)2#t7Rl?YapH@J&v|7Nxk`7Rd2~Ze|RagPR;`UmAFXR27r|&aFjiwc5{E z=S7Nv=2}yVl6r&pqH$rxPbN>;3%upe!(*F{9GO56q2p|oFh%3Qn^FXtt8hqyt7u=L zNd*-tQ=?6VSpOAZro4?3i%Bmg9ls=<6M;0NQk{_W-#SI=%+gC9MAl^QwEW2IrpIoG zDi}0~8s4w`Io%%TB-Id0!d&wMdElrXDfCEYxuXSn8G;;j2sa6CEO{d!O+mFoIQJ_Eb14IFumAKhh59~n}V4?s2 z`)22Ut3ITIZj?VrWs1mk65Ki;;_``c1WiKrEXkBuMC42d)#-G?3;SZGh>Ad1!xz4- zBegM+v5iaNQFaWpQcj3<^tG-!yq@>+pRaxp{;htk`SJI1x$LCsq)gZV7B5aj8H#Y& z9^=IMWR9zo+pX;HM74PyFnPFpny~L}KMU&~U1jHn=keF;x+m&sc%n_XegeZ>uTbl7 z=XBS2L22tA@3CmR#XT;Lu{tgd*@+@4OnuU3la(LODiFoxf}SP}0gpEsSy2;HE5P(l!>&~<6blE0+o zfmVc5s>;-`XRFe8L*7%*qu7T1QU5aEu)oZwKWg;dLEBvOD6*{C8uZsR^w)vb;ft2x znCQVl@S#OZKpzciLVX!|Y8+izvY{${X|kcPvwR~sYC?*t3?ngDwRRxPaGf;_1sVC5 zhNSC%%}9iBPpXcRt#LGrl-d^+MdUwzx;4x~EZl!ex?hlY zlaU?7!xZ$H-h^yBw-Qs4+9CzbfT|5?qlR%U5f;T>JFym$Z$NH4`F;n1fdK6RLPhqh zyz{%ZKEpyUM`0`T2>R+p+SywVS)rzmL1qD($w9SDvVt^q0FMEXaK^##$w}KuhmEOx zkp1hZ)>}EZdFPaLH&~SYUEJ4?l{_Eyu4R8hBf^=PqC@X@BGX0r^*s}HF(J{oGuY}r z)w{NnzIZoJX^->`LPc&PUjyWN!NI2L@c79GebQP*sDZ}tcu}>7nllTpzXCbOuZ7K+ z>YbG$2d=e*eUCcew&nvM{kr-09AERG>#-GvEenrUR zD7vXNo_+UJMEIb~`Z{o9Xt=MXCM_|%HutN!-WHdq7=WgAD*>~~IBItqJ&A51Xi#;o zuWC?puIG1~aq&3sKk4D9%49<2M0w^bByqV@8`!m0h?qYaE5)kz9#Ln3)9Q z^NHf>j$G5Se&OsBlp^&l*GVr$H3EVDhf*bBoh*6SbI>7SSXHrL;p>&T^Brl5H@SV{ z2QxX?A;65MD;}Xt>2z}l2hRq==;5FSJ?S5&E68i!l?%-Pu~CR?x7HS2j-$t@m_>vK z$S65dtBVQhn4pa0Hgp3_7a545q57$z?cvPiweadmjNf>!Pz^&>#>g=p?N2Y6nguNC z0}rWNerN`zzossp*(bz1JL#v)!=;qTkC^{%aDGoSWGD?Q zaEM6OiZ>}GDijw)IARCK_EF0U&1bO+D=xBHjO|Y*L~da?O9zm2d$#S%yL^^{Th{f< z-@a@4`tg!)rqaE)7WmF77jJ$Bv#N(L3y5zTNTdEg*4{C=vZ!tU><+tQbgYhTyJOq7 z)v>cXcG9s=Y<6thwr!h}=Y8IP&CJKCn)+4ksU3K=p*LCAsAytA|Desbs^ohlB zwNDGN?NvNlAdJRUJk;xvBQ9lVC0*-!7Pen9J0;D~y|2VLaawPvvC`^)3A zwCXt=9Rz*r7Hi!~X2It-)hP$Ty5)!o+er z@|xEUQ^3TboX_fVgTyCfo?`6o0;?%~oes(pHGun?;j(v%H?ep-XH`4R@ui z+B4Y~)V;WVET-@9$3YwM;N0*V=1v~HS^jzdj~EeDVq?)*jQghz$M_H(Z^y4OITi(a zbb!t6!o(45b`alT+8v~q(gJovsnv_-zL|v8Qdg8s%d!aVWi2awdD3!y2hv=1#hy=M zEiIxPg^QTgnFYwoYCSP%l2TSw@`r)|zjLndF$qigc`k6fQablmL?l#G8@1ysX0;q`U}=2y}pgkMW6Njk33&VDiGtRp-g|17jL3?$@KnLyh|lKkHuXv6@{`w zba&RyQ>cYYNAa=byNCx3v*~0=pM>-2=Qhhx>@AU(gh;>6YYeA9GD^v&1&@kS{R2ID zwqoGg1AcA3I|M>UPh6?okvSAam@7-32eyunbl1(8FZWpLB^&E^FCD9Gr84~mF|Y^T z2HwUE=@EQzB->XOc;^5a8oET8G^qo>@l566^dY@PUcM-(yWdnhowjpBsh6FmwDE>z zy7<5}%|9sqVN#Nf%B)CF$d|*EV=2E&Al6XMUkj% zUVA|$=}BiB?V4Vv=uRA9v}oCm5kw5r_;`Ele|f%kl#tse!{ThF>$cj(*18r;d2*hz z4kCJ^$+Z^|m2P>GK6U@2fs2{l1D5zMkL^3qyROf^vj}tZol$OA=ZC}hAYgc##;lNp zIYgt~J5<&fLEt63T;s4IdLQSOJ{6c}A-`nZWuGbQ`cmhsL+aLUxr9vyH$kYdW9;{H zPF0$PHG_48tHPx)TsV1@sT;Q@hqFCsl@g@w{QZf!8m8RR#x7tv&&DwfbxbZzV&n?W z`~g~LM9ij+)|Io9bcOfR7-cSd2vg417&R*M2y1oNXSfQPG>@HJfUj2&v_OofEC%P#j{*MvGiocg6TdmL4r=qs zdSbA;9ST0*N+~D1-?UBT)4Y#saX>{x5L4Oa0@aV=PA+@W;kl>&`z522j^sMdcHx^Z zwvv&vJ9Q^tT%43D1FTtR=rc#(msr#zbUk{gC*x77vN!b?m@4uy(Q@16G;u5W&m#!< zr#_gj+p;0r%=gFseliO~q)6Gnj&_**q_?waYeOq--FIm8JAPteueVP z;go}a9O1f^%zd-Ie&u2aQH3EUL_JoYcD-^n{=TVd^)pdA;C#i0(_trqhOibN@}5#^ z1X+GR)@iZP3LtT`A)we)Zgj5+^7N&K?0V?8h|k-rN>_`D7qnFFYntm$k2F>Y*ag(j zLN#X1&6LRwgxdY9)^A?c*>$ibuHS0YihzpP;gN9596$CXPBQ;dI6%>NWTEGEa29C) zkvnR8-^+XNZNvlwmDWZL5(b{va4*{P`2lQDoW?t@wUd4SV8op)3U()dOwNvM^Hv3TUSM?X!PrsKCb<+ zgo}Y2fFFW?z3p;m$cvwZRT0%s00ZvblMsSwPIF#?RPiWu zAlE*OGac{*m&zg|!}MceJWG&VB2af&CEEtk$vl-yS!sqa^eju5d^K`q8JxA5+*UjE zDocDoIp&YQ7`TY;i9g$~Dc(OhjQ!w0G7b-LflD`4sw~NeP0rvS^Zra3=3?;D5)a)9 z;5Sp0%OQb7hwGBgj(#Y(Cqlc{p#fOoAk!mKknp^LP9h?#hvy}OCfLqpr-C*x zTb`<&i5;qu<{3||h*}J?t3s$)xSPH<^oPVtf#M!IAe8;-?SNEYfdOs!Sp2$YEEMak z`V5HI@$u`POs-c4cY9p^L^~kB?_Z$69lbN`3Ox*V{Q2C*i|E}9UEA-xz&--6QUzoz zYuFHxB;-4mhmG$mVqn#Qe{8C&^nrgwX-bDdY+2yP=R9r2r!nZIH^HLrFPJg$6^_%S zh%+dc#bP*=qg07GoW_Lq3(i@(*_KTosS_VK97pEf;upR1M8=JHrI&=lGfE^<;ZiKD zRk*u>g@3zPoN~a0#rS@mCh69^Ob<{Cs;ycE4esO1G^G-Prl;a1BDUk3b}uoj9wp5F z_`G8MEmWGm4bj41AkaO!cl@D}{FCZC6_w}=wfR%9qLfqqU9+VcSy$o(o@oBLfpRMA zPsq9N=pWt5kNL{K{8x5LHQToS3R^(*<eb162!$y+cIBZC*4wldE51;`VXh4Q1LDR1@VQ5nO)}JZN%Mi%k62sKzLmb|m`UnlR?m z8X=S?h_vut14QV>2&2hW{0fQb|Yk-^Y88!UkFrawG5O$8Tp2yJ5< zoC|74I#Yf5*By+(R&fN|o8p}UAB`W(oY}vD4EV9Yd-xOi{nZ>?Z)bJGvONPnbe590vInpd65Fo06WtS@S-??Zju!QjD6_ac#A_%EMj2V+OFogNG%%qk6aGeZJo>!6yR@D0)yI(i`^YIexWYKO>DfM*V2gFy zU(D!REn}awuYv3Cs(F4#jFz?=AXhLl4dX5?ZH`wShZA+ zpn|Ge^wE2kMak3KcS4UHySA|O<&fa*o(lfa1o&xHZuGQ9H8!$9qj_PTRA;6&NCW@> z)(FggNR%d^_-bjG^=@7g#ou#8lro_B0$~`o!x*?1n_5TR3_41$IoQyrF1hv+qiBMZ z@C7J!h_b|J_RCz+fnw2{$jcCYnmX&fy1)Ah>2#9b`GN_TR7&W$jqHF26N#*$lwghR zDg}EIRb36~+kLwRJ5GT+ZR<>taTSyevbwnd5sxjVrTGJDLaRaQm_x2#dHSwi$<@_P zusL3MP(07e;o~C~I0+j;)TL%!;Ftt=(YA@<>#VVg*WnlV(p4`sL?~G^M7l{k^hVOJ z#~1JrOqd481ps)9)dFym#{R9C{T3-$r$=w2=)e zqe^!H%_#EZ%B)!-*!aU@~xa6wQeyF9vy`gjVvSquDh9V@py)XlzXtFwmqoLLj zAart+ZH!yx)^HH-Pee0RVaAiE`kvS%w+?V7`jx--aNfc9UzQsojMPp?sM8{OAdKnr zLns3Eq>F#F_y&%X?x*WYM5r@an_`jwPP!Zi#|EQ`OS+DK=}7B0JqZK&Xw+O z;qq6M|AO{YL9bCEM$fa5eBJ4^YtlAO$yU_1mg)>MA{3I|$6If2PV)P~KH{T;_OlpA zPzW0V!8hUcE)m{a(Q@7Q80~FpR9EjyMLu3P(UcI-p2gHny!gamBqbG3?2*F#J4W>> z_zY`9?Hd5)PR_nJhx+`i>TUnjpAhuAp5Zkei}uq{Gq;mX{+Z&0q3z~X%V<@LTBjv? zagt3_Xr)ZkWf4Ex06HzZwrWggJlv|Gabdr4+I3^(VkVvI~ zkg2b{rdz7J-ccAoMmfUeEr3QKp`uB3vO65m{>W1ihP`BA0NKC3HlR3y_xEU-ySq5S zl73}|_&`d{X*T+x24KJqA2_HR({qK#;9w|B4@mV59%WguJ}>e*vP z?7XL9c$AE8seF_z@sJP2io>n(@hFX%rA`rc4^rZ3b*Q>i=};E06g8kfX@cxgFv_Mi z2)V$Gi54?%cQQqgqLn^+_NDQq)_+u3e;_*bi1ZqUA?Wr{CQLAZ<~VHO#5iOjUHI4Y z(FtTB?m*Mre&obx-WYu2hIZ1JL&*E%a~F3qrCKK1G7wR}LB*QpQJiww=H9&c-V|ZW zo+c4}A~R!$3pGJ7rUd+Dp7uVDWq%l5s(aM@y-!oH_;&|}MCt3^{r)V1Z(DAd{wzeh zA32xtA7Y%X?*1jmA@%gV1HAR)D7+#VN6_R?ExolO;dQJ&a87#?@;=6oRu~_-?R_LN z8>;b;N9rL)W5}JY()o7=JH8u-6DE*Tgee*ptGuL?Mkoop|$sq(zhDbW~ z+T_)c!xcK_vi7fcca%`kRlc6hXs@F^9Il}tp}|43)sTD^l&tZ2FB0!t%n|ujrkk7^ zA4yjxicaJUnu;gx$mtwqkbe5a~%G!5YDX>79s^_9!#JX0#=nP6vnJ^rM+&5w`g;Z@q1%P$5Z~m1?_dNU>x@dwK5h9VnojE9J2Qf#q|-zT!L6pvVgX*_je&5a)!yDu5TLN*c4;gZMgAs99N3qADu1eSL+e+={ptH4fgGsRvLy>gRR47-dn&3RlZvnN5s-23y0kFxWfgo&}$(82FHPYlC zUwilAbKPd_0+-hup22d0moGTER5EG4i&uGoxXI)rXvg21Eg zM_}!exWn_A#ac(D$1O3PM#j@u>eHGD;Fg)u4JbZ2d?;`BpR`}e-1OG(^^MDyGizcw zK7F-M<)gj!^7Y;%o+5u025AT|-F;sNYPxwCWYaZi?Jb->j@w!4xCWRHMC40}H4OUd zHyLiB+omYBEp+5{Ei!1zJwl~Cg)|kuYdV7thEcOr#IC&pgQ0J3DQ84fOqTCu6WM4T zEhfY*{MZuQ>Um(7omg}`=XE)(voqJ^YRRkWT&v?H52n|{E;`Z*luba4)LF`aShn(~ zes&3Y$K0hyDE1lIw~bUfY?4=H9ZieNw^X4!OL%NgDzJo_NIuE36w9|X?JE;L7QHY` zK>dhpe}}LmG}2X}BA0ry)W*Ksdu?FZLme0JfQY{k2aP>Kw6Mr7lDNc3<=Tnc}fNJbEDTNG_CypifzjAn5P}q2+~) zBb%tJvpwA&f8YhAn2iCMkZoMXZA8Jl3C^;1s|p<^i1uG{@$442oWWWB#ZQ)tgzBnk zt^+Xn*yG-gny?1{H4dnr&mg3Gn2_x-yL7{Q1Na12b((9@i`?YJFu)d)q5VK76Cs|8 z7h%VZMqi_n34TN+>5MV-mkC+HZtMA`pyS}xq71bA%uItpBxrGliPXE=WRBM6);Tfo zgMsC$9SEH>YhKmy(&aS>9BMcgvH&crfP?s*@X&t_mw*Uk|Ib)Vh^RlE$VeR9oiV*+ z;Y4h0-wcs>;gArK5CNo%Z%B6j1C{>52;6S7Ri_~aIEUP#VF3jyx;$VfWVVa;;Bqy~ zHi+f5hSZY_r&&5$;+iAjUO}mz%%zBMrFH$HvQMrt>jTV9J!)j`` ze;xleLHtBaw#JJLS--iVn>nQZU=ngB<&@#x(O)4Yfs)VK(8HCJH5v7!g!)@ zPwNJI<;a$kN*ut=!VG$+&{!CYd?+TRRr2q^lwD9{_*5Db}*q{om6y z{O;?wXvOJw2GTR`;gN@dSl+cr6wUj1qWTlRl2sEw!F^7DYG zRW~0M5$tJ010O+L@C9;bxI=eEMw5*{u@Lx)p8BV`su7@bi~-@6T7pzxU7YA{QN)LE zqoo*m1Cmw+d+Cf|CZG|^G>;qWh<{l8gMs)B1M8?GDdwFV>*y`wR#)`7fqD9ajrfh8 zY5Ic<8gIfl{>ewwL!s8~Q|mh{k55Mt80Q^84x2$ZZSY8Vz8N8KCbZyyUkq9hfY%D6M)hhGj^9UO%W+O}00PH>$*sM!_bP9^9V83H7 z?{+a=KYZU020`NAMBTC2iL+ICP~=1$$X~C%e9{@(*!46FAqUb3%e0|%iRK-nUkUXW zU7n&3NstXIa_@hqAw82*ntt~pGaGZV#J7Ixj_9U}^OBAHIF@3@3g4yqn3K}z<}AKA zCignqX)gr?Nhv5Py1uTeen@$Jkm#D@-+@zAbwW78j?ywT==*+$mHx%^AJp}`m8isC z;)flLsQ+G#-5izoeo&E~(JM{+l(nL$xr>VAM_+~v59w|LP3EC;uoj%%f4(6-#F`a6 z3_{zmYdEB(8BghK^j=HGVz>5#B#My%Do(sb;JUT*&M)9Bs0{~>)_s*s?XYZ1iZ~}2 z3JA&jgJQ&yAw2||?O@F8k5N4TD?4Y93q~5eTl3_eIAQt~AMTF|T$!Oh8n_S6<;s`s zub=pC>^nW$ocCKX`%Z{X88MS4jc^9m&D`qH1DUb+u9OxZS*ITE@-A(^>5?R#laB!1 z-WnrhSG^TJZ`@KDQ&!1Pjvh>Wkyzq@Pw z-1UhCp+RlU6RiVjy4%SV7HhJ{EN? z1mb3z{#6UjYp!~2DXs}o=0Ia5h^*X=aKnAj>KulCBI>}Nv~;~2gS?(JO?-{Ht0oiY znv%Y@x!zOUxtF}V=G$hIir`hSFLxioAN~k`{L{-C2?vwl>nt;(Cw|T3yAW&6|7AoV zJ_5?-|5oC(hXgqb3L;PrMO!m(|E<-TRJ;8@BsfKRo~0;^sY2UmoMK`U?Kn6Vp!z?8 z`&L?th#9krh)@a7lhHv)zfQa{sA$T*B<4((H1JO#Of5jd*pEbyr8cTan~qfZP!iTKIIAp0~z zdy0!Ij^$IDWsZPZ;?VXoAdG_$Y%?QCMyp=?=jcD^Px*I^s_FSWl6){SOew} zQ;kl}DvPgk|D~${@)rC*q}@NR)S9NismJNBEEOQk(`<777xkJyKL3ThFV#fU+IX6c zG#NY&{TJSUk=Fdh{|Ug)U=iIWu|hI2y)J`?V_HNkAUn|#rePtBZYqYu@h@XY*Os)h zBrrzD<{3>Htu+to26mL5p`-H^Y@RiX;J*PXyk|)ijN_r5Wz5@tAmQAsr)^vAsIiToa6WQ#Wzln;S{UAa!a^M zgq*^uJc?}%NBw;`3sgC4D<`(_KQl4gANu3?h&M8o2RA@?ooE{<1LEJ@jnUcmv`lY$ zJ5nld`OO9r*N3#^!I*5m@w`*h%MI2Vz?V;ul0g8w1X2}0ZeG2dRlgc@Qk9p@de@^& zU`xO2nw)p8A%&UOmJB4w&pZ2`Us4=teadD09jlK4@lC(dEVxmnh7=k_#pXUy{&=g_ zbS%!$5mR$VI$Is8X*6v!=M9jglVYI6!hSrx0;it?Iaq|DU1 zyAYK)$M18hrIsgovc#+$Wy1QB9}pf`QVf^J8_GJ2H_G zEZ{71uT-sq5SEI_YuAV4`Z7%X{Ok3+`l5$GdzwCdlyJn6oR<^{TlG%8XD$LG`F3() zxQb0viB7qtTFEkNcLR?7O?JKZhPG{dQc9x{cb*vz7RjZxkP1vsf<(W=C?&iv$MzU!?=qWt;$9Ltq(!qdsP$LyKG^%mG8mhok#gg28Uw-{ zbmWrUmO&QS%HD9bX=t8ujf`<5T6n=-Sf^$4Zh`goD7< z^a#;!s%%<90;e*InFgo;>M8Z11nsJ;76}NvQA^feq z722?k`|!47v0lmMKPHYdq=%y+0RjwuVWK#7e^DZU(z*4ggiZefa0`F710agEVHV2p zyQ~KNCqoRKvEUk@$ZsUjan$nL3(nEq&cu{A@<2uM9wa7VvzROl;8`pr0^kM@uzK0Mg5ExcgN3BGA^9^>1A9zpc1xSdz z*D_rvZCNjZVtQ7>^AEFs@v(`8q(M+;X4$SYlswBqLHf>|sB7NssDItTxs%I{Ah=kska|L5Gm31NOIiQ>%n)F#G{V9Vs~mLfc3|#DY|><2a#EeT zQgOwlaC42-BvyhaEACdG5OEu|P*WO^P3=ce+4CPohhhjAbKHGrv)1o{`kzaE>3_e& zU*0xn$=!f2s0?`jfkv~+{C_{tIe|)Z|L=(MTNZO>caAkCTO?s~(`hljZVC;n`ZR$(@TW8U-fzF!+c|JC zf{d}Ot&JM6y|u(t-8=!Dv(A!#>ZARil`SQrjA4b7-Q^DIIUm`GUJ3QFIzb}Gf;sx% zN66?rXk+!hN2yxNbFd5dIM3>VSe)=%=-RxkVylZL^ zFe9Q<7~OFWid`jT(^S+=Ve<`8;G?a+dvG&(g1-D32C^Tlq-T1c!pKIH)qEGo0E~JW zZvIuU+Nv$w-+W05+G{O>#Ajm7`FYK=5kaca#!l}_SV-nI zVuxm)G_++K!>lr}ewI7zjrYY(f8(y0gH-T5amnWK?zGIo`u@`sWqmL5*%Rgcr)jo8 z?;S{uY==zRT>zf}Pr8z6XkG;W`W2!z&xb6yV+p*WV+kUL9SC1wsm!X_9b2}NS5#(l z6Pg`ppK49^f2(V)c9TfzWACnZLxDxV0w+6( zG}V12Kn9Y22l!YLOZG=ArKAVv=frsBZFlPI7D-wn_(!J8Wosw>4xaZ86&h8+yPfu329IGrYsQ|fP$O{HW_!pCe&-_8!%**dZIur`NGsicVREbL| zzRzAoRsAK9oPM;v{}SLsi$4Wu^yw$t0msX_^o>J5o^T{O@ZTg zWiu4OT4Os2HvAaF6otnsNpn5#7wmm$>c!4fvEycj7_;-n6Me*y7?~YSUDwpp=MzvCkeWFrp{B~%qX7k=;^R~*Go`WW}E}N!#^T=&;aZ%Kr z^2k-X^(2(m4Pw`}c{TRd5aX$X^`QJ};Ut?wJrXiBMo!e-B(Ge4EQmt~wccA+LLgOehnv5}`e9%Q+I% z0GfIJO%LXhgb~oT%N1v4+50uTq3?^h+H=F?qDVk2ZR zR)yn47biuN7KIM7yp!47QuJ5`S}y%5To0gIYp$)Xz=Lwgt!q`o?R&|M-Tj;9`Hbng zb+@jNGPWl1Fyr6Ap_`@m+0)Fym03~^KsU64%o4E=P3_GW2{m;k%8%VoeE6V*k+HLS zI{#(D%1-o(B7-2QUf1q?!~LY2%eZfUC)CfY^;SLt!bLF}a#TKJk{!f*j7nX*ZM}?@ zR@OakDvDGSZWL+nEVQnN5}MTi>8B$v-$-2|h+ooIu&G2&A-V&`dqLlhz_3s>Rb4dQ%D)pE4l_ZnXtfs<>pPBr1 zr{CIr>yF+to1?U3%?^{=8)<+0g}G{qGa#t`YvvExoDQ7cy(8)!MlT=p@q*I7x+!E!MkC2DaG7EDRkf z{!wF@g44ri?^&O#truOE9D~fo9TV)rbd@bXi>`H>Vp8Z@Cap%UT?^^-*e1;=_6pr2 zAq#3)DDSgWLV{BRYmNjmQ_1Eaj}CZ~BRHRuC5wYqO1$pZVt*gG412jtBjp^#BsB8Y zPs`DFHGy!D5%q`N}{t{32v64$VaI?9&)PV0$_Q9dr`7+_I zd$zan=jw*xe!HeO(5Q=`NSWoGJ*hSyF*A){vwO@!&0#8&xhHF8ID_TDN8>~LgD0?0 zzS(JK^UM)a!n46ALxE14ZWH*Dwk`VoSnqgGA|Z1j_pmz|p|UC!@Gwkh=6u;h)>Lme zrJ}=6-H5KBg$F2?r<45Z^IZFUu2N@;#TEzvCmO)bXpaEO`5H^-$w5M5agoV}`@#b< zx9+M!O}!xWsX^DmYgtq#Zu2GNVZ-eTq|p1~dT{-6U20Y|n=^Ct@sph9-NgCNa>FBi z^oOy=X3j{=`#TH(dH)!UZQ=XXxit#e32`6~@pZj!lPQlG8}rpGVNBuNR6}B1XSaG- zg>Nf?R%DKy8v6jy{qu1idwdV`F9$ZJg1f5W-{c<63G|VpQ*PTTQVO5zut+vrevV9p z9TeU|iG@tJyHc;+{@s1ICw|hz;}K>uOa9W@r5J$d zIhIgfM&z7BITT@BT}JZOaiBsla9_7f%3p}Xs+m zxFX$eL^pW@3pPAZ^@xo~M7WVG=IC%?qiX6E^u2fpA_xLL3tl926crBbdA`L?NYE+f z_)ZqkBAW!p#(%4`sqG5NUoJ>0%g0sMf(o#9txsskH1Jv7{VBWv#6+3cG-%g%aOE{`p0rZKjT)b+SBm7M8YfEL8m8{&OAB_O^6!#59#?!2BEF5jD z?5}2He5!g5s%8#26Bwbm5(Z!1*?VDp797JgU`4hdcibAC5z2<;JgFC7b|HHK4qgEp zPCvX|$Yx5PDs*8+m>nl4ZSs~d(l!5O!`d0Dr*WmiTBiwUg17nX059sm=y_#~te-Mv zLZu*p6f|h@+{)T1CbK@A>on z`=xR6w`Hm*7)ySfufu#yMj+|VmIWWLA-g_!Yoo0BJWd?8IYR9o z&VJHD_d@oXf|>69lOfw*El1f+8r#4MOYN`j0dg>wxN%`~uX+2@^>r%N zl{AtY)`MIHGf6_of%=BEY$`-~Ak7M#Er)O{iX;xR3Tw=ihaYPfq0K6K~l03bmG{)h=13VbTG(zw&S)QaL=Uy%x&O&Qk``42D~}FX(b%sbGSB zim{s!iy2_A$zp5#{MN>QK8~mm*1JF3S~v26LY%JoW35L*hBZRJ!m6Lb1rWsIN*NV= zrY^c3GobnUXYu?S!Dc(Mv$|7ukndR{Dm08@i(Q+o^B}8l*Vdv48z{Qg@KXWf- zPWL1pDp%8$+Y{@V48kt3`SZf2DHhYBVG~*mm1k?cBsOS z{|jV$o8ZC<-0`@o@DWDLk@kdGx^UM(Sr7&A<&e9pEiXCqdU^ta-pB;o4Mx5G3U z4|B$*%>K4~&+E^u)%@-%Yj7VbYm-duJ@hNI+;`JQmpy3osdN;6({Q$oXnAGhBI$aKNL^>Wj z{w=%he=v3<4zz`y`?w*TI%@A$x=@iWXxG<+O3%_2&5!P${RhQ!D4L1AW{z49Gtmrz z6SP*?>*JwVM~Ch!$?FX^lQ-onq&`oz^?G|4%q!Os);OJPd~;NEUS_i#dkW%&M>cXU z!!L=_jToUTa=?B%c0&;3lG4uY!hL_TiO?uCH-z^(?3H^oHR{RHKQDtlUz!K&U*}!X zr$T`QdsDtS=^xM4=>U+B^5n-~+vCO-7zjtRf^jWLXicbVL(ULYp{HeEz>-1lC4fXG z`NPj|0r95#4o6paRrNsv7yhM`S4I8DT~ce&$Ak338Q?b$D;LoOob6*Aa((f)P&Z?B$+KW^7#gYM`uz;&m9*Z8f`JBS6XO=Uw#KB8-^q3II+e=1lK{*)qtM0MKx^1jwHo6F zT(ZV!0YDzUG{xfHxl-AKn$TefO7+N|^3(0GVF%Q>FYd`RQ>hhv+|ni`#mK z%S$Of@pZVyuaFmBe9u;hZk3&ymlxB^QS$1Q$8_78}+>Q4JkE*NI@va$6}t7tBFw-O-^;yU{dH+GHcn z2+?*~<%;A=#!$vlZ*B}lY~W2nJ8O&u@OQ#T?dJT*Dl{;k1l54;%Fl`ht2V$+_2%h! z0mQuEig=50Zkw_ZFwn4mb8vs9Uyhz{Qh|ocM5IX8ij- z%qssa)l2BZU4oWMd0V|MiIk=f@#^`;V3P4^m1mXxm$_$Lnu#7(TQa`Cl7+L7Y``y5 zBQ>Ox1MM=T!rH{U8Cdk&EHQ=}6Z}9X?Cc8ze{S`3kEAQ42M=xo-LY9188qxuJENYr zb*g{PJ6Pt4J-)lGLp!CF?ahw}uOB;VK=n`ZMs$8(AX|yX$HAk*AP`3T{J9zX zVZObl{a4(DJrE;}F>u*o_SWVh0R&{cP8`eHT2ms@Z3Bh6jp^Ns)0D@JrCxS+_Ji&O zXLHQ=J*^Ledoq%mn-4j=f2|S6D1QIGjL>An7%$VKm0TZJh7{~p3*YVR$PM?>QM>+` zLRz>a2BJa>+{rt7#C)O}U^p$;Y&zR}V7alqb&Df#1FTpD?yO&+n{t+RfD64{C)YOK zJo99&Gd=2(`#?HQSF|M|o&}BM`-KU#SK69__nL#mw{lZ4?;?wE5yj>3AD^>MVCQ`^Ma$E)p+$<$LGidX5)$CEmHgFEVgkc6>SA?uNrd>kH-^o z#uRc#X#a%sJ*~6+ryCI=-$HbDIjL+nNl8R&@$tX%5;=Xsdo#v4{r>=px#bXj8WOjT{#mQCl(r~Bu85;NC{e4P$KE0i@UFFxu_ zPdlr`ny5eS1}}EuNt#Qad1D(8*`#}VJ3%6yxz+UUw{nhYNNNNHiyL~5?|%jYe@lDF zGpN2*DRFgK^p??iJ4M{EHm#hZxeD+or7x-fH7SKBA{nVyS&E20gc-vj5!B9j|#GjMaE< zy$B>l_F_>5Rt{86j#^w6Ic;>OFfMuRgSJfizW4H}?NS0a4i~4M$_sC89o_1Deec)t zf7$sx7Z4(Hq4RDMX0AYM@-ZPXKmoQP*Gtz!PJhRa$rdvwt`;4ECnjC^blbnO8E>xW zLVtgDy~W2atqYy!_k_$~6;-b@mFYBRm@^NAD8gZaM7DZvoM6nWz0p8~K4b!sfxxM8 z#C0WP{sZ7VwDGrP?Tvi|xdFLE`qIT?8Fk2&6O>1d83M@T5Vo`I>u{H6o`C!QcA!=C zYfM_saHSjT`F(okSJNhCwpbr&(&tX$J^utE^l<}vm(@JwwOs&mD?*l z_g*Tk3;9gJZPS4mUjMD0^;*`K%$W)>2KzaZ-FbSN$g2ieWeokS%y>@9?JKmAJ z1JB0ZN}d(Z1##?lI=}C(SD&x@wo1$Rw428by)Ag!Ggrg;itg1`m&3!3CNi|@INGy= zym*Efbd$!C)0N;3ZeV^M_@?T`_rSGKCv`(V|5QfyyyL0Ar2mk8$kED9JX>^I(JWxd zP6hPbYCPX)m4VuYg>|p3X{~U!riHm2PUeQFgIsg$2f8r$MUi?vt!6*IJqu#g+;B>( zRiRP*4aQM?+`X!17wl374cBJ{dVJ>~si(F^><$5^s3Uq_bhtV-6B6%dFRlx`jElSj zdYyKMtG=6|+gFj_8pP_WVtuE+rFKk@tHAc=^K(}pZZ!FtIgaQU&h?04 zySAs*eys%uu+O7P@6DqyoNKR$L_s)r7BPb9Sl|WHCNVyjIaCXdOAid!%=7Sw_&?YJ zUKjm8=c{9D`Vnu7@T5&IyyY(zc>O|wiII`!f#=+mLs2IW;OOVa@1_ZL7Y}w)5WqGT zXtbTVuypq>l~KMw|d$X?m)P?+7}b>w!GXc4cv z5b}1j)Z_FXnx-&x|Ch(>Nrj}e0r2;{Q59Xl7U~Ht-x|`SeJk>zmuKzh$4iV?v>LIl zpU1Gm$kftnSozL&B=>_QYHlJG9Ui`&>O0sl^Pxf5$ml6QRsd`8hhe+?i6IZJC^!-% zzI5ExuK>@M2kIk}1o{GqY%&nPH*JT9#OJ|CCiBb7Q`T$}m9*1V!8Jo*?|>XeFym=y zLGF2uBZo!=;!NN2RsVCHf>|pj2`WWN->DmmR>$+}O}GL%{&;NZiJh&scX`c~t;J4Z z)?Z7#*Ru=0hu1o_j)z+x)_VuJf=Dx6 z7cw3u3hOiAu?|_s7^JB;I)B-z+bsS(^t{a%(G+eTHe7uNc{*JHI|;nVg9BCczB%7EG!t#;3zl{Cc_)ZM2HFGh_2=ers*ibk4JeIR5=lEHW( zBa!hgNiz-%#E!PN$1-{EUbRjpcnNsQ9%heF9ZptbLmMdO%w$R?_Vb@lkBZkdIp^$_ zlq=sKH|{zi`D4#zSo$zep72j+dOH)Ga{YY zXyB2h3rz3i!I;1o+1fv+R6HF?ylmFD+0?eG;Q#y^6Vn2QzFwqBFf^CXfA03MG=!Kp zFSL1e=Kn7MR6wi0$YXKX=|;n44W-a>C&z~Fp^Wr%;(3Ux<#S8;w^to>GH>vm@hRNG zf#qlC&dS15kD7({nOS)DQM1rn#=<8GhS7gofd7jE{GS!z|8hy%T@Acogfw?-deUom z`gp%0xw=BibMzCz5jqLdt%qxdiht9SVwg=n)u4su8~bP{?6Cu>{S(skzEBz}kMo4%dl0 zbY2wPV-^e6H3S1WV$^Zm!5+dOQk)Upo|-##T{yhs3{;>qi%hsDusd-v!fLKR@2PNe zy84odX=m)dntw(RP$xc(CPThM7CB;gAuqWgH8hP)zy z3rMCyb~kjAq#em6?6G9;e4$;jL!J;z@?NPVqvkRlaqaFIr4MrgN>I>VV6 zm#2K6hTNju?sOqWx{gDw zN&CSOC|XD&$5K8@9<*82g48gIuurEaX&YF=DWh|LK=-PSqV~8mPD}^_h-l+Q)R+}) z$Z?+>%m}19ry#nro++xVZYPal_7XBY=42J%?tdDu9#7-l9@ZQ=`tg1G9VP4m!x#Nd zk_YD3c%^*3KE;#1L!}3fc~`Ug^+HyABeC>U93E#md>4-_V7Y<|c%1T6DBX8qzSm?l zosJXZqHDm&mCo3CIOMUk`z|QV`0kqSyQnfFjMQc;P1)UdF9$4tBGVVPaZBZ>mAt-% zZ+~J;QI{BZ#zMcowbePPAKs3ldqnLfCRZB~6uKo+AA=1LzVIF)xuj0wiA+cfTWx{y;X_Rl2_bxakxkrw;nt9?uj%G!+;brua++5j}hpA!-liaerSB z5F;QfX-sk_0)uGgTy2;GVKQyoOP~;EdpJX+5no}B1TPLGVG^=YsW6PY;y+@wDo8{$ zN+Co?xG9)v$^<48#|KiAxu#O)5XfL6pfLV8fyyX?U_e< z6me@P>{#3jXX>#H&lkF)@>2})sDEsz=p9WRQa>~l7XFOy+c!|`e;s@2@)cf&qM==- z%cH-c#?e4iiT;wtTto0=VW=rS^r2|31w{$NDqU#(D#&p%U1@ZNstlU;vzZA6p>p%yfko#f|+Q>?IAUA zEN`!Q+%Z2!VE4oMvBDZVWS(~ZPYjhD9^zOt&`iRNoZ3<$BCk+*G=CE3*vL+Xp2jYU zlrC;G6btx1O=G*ygoA^yVS)PvjUt8A_5k05fwj|NpIX^qWbo1G-i)8E8;qb751D|3 zkEVjh5_E_!+6Xp^d(*_YO$6?9bWWUeme^PYw0w5DU0Aioq#;e)yxw)bu-6L99yHC! z`XM{CCgki}9F_B2MSmD~#wQ4^t6ZUG31E>KKK>CimqB3ZtO&0pV_|XP$3dt4-!gMV zzuU2c7rL!}5(z61B4MgnmaJeL;7q_E^Gnc#^A|o#l`EF->Pj(}ZLp$^m2iFU~s;a16#$WC&*)l9L8odMH|JgKB-yEky zRHUfaC-Xi0#D7Ci=EHGI{x0!jJPg_vEsrDG?m(HvF`qQWlg5lOSUtzIh#jYSSi3Wy zCFC)ix2sgE_z91|c`aDcnP;FD&T1c@)#FMLBNk<`(3X1J_ zvsFnmBn-DhG(f}LI-ob=Eel#MO+Ys^JDSeJzv+E`Is@FPU@6~z&ey)< zHoKiPh$8(cucj>qYPJyT$YKE9J-b3citHi9Cm!-TmT#6U-A>X1?GJlBo z{ZIHwb>kHK4qjRXpw#HpbQl(kDV^zv*-u4OZ1c;Wa=AW@C?iP}2A0W~Ui6+>(-YXE z;P+leom95c&_MOxO8p$;2>SU^W(1;l868(l+HOab?MFzMW=RC)YScc8=M)a4ahS-|u|dm7w-5Pu+TzHyIPSFTB`w-QhmkV1J;0l}eHl5P2;fbXZ5 zYy;t!-X;(NPOT;yBlqqwC~zKhru{ZwElgWL`KZexMo3#1G)-zUH8kjRg~mda)cnmR z*`;=yu+*ew(E(fZvp#fN&8hW7gKg~rnx$N?)tbhfM7{8q%D@s#($*_tYSJK zqoVOVtC!HndEf-oLp>9(u=>5RB9v3X&gDSVy4W~Zl3C@`P#Varg9e~K<9!=)k?NCN zW8;DhC8L<%^Z>FqoOao8014U@Ay+aI7j2tJ%!h2$fzCm%?_82oAdWgPTBU}PH4r;z z_iduE2gVv2B;M}yl5T9%xPLbVg;Vby4J97kekY4$17(ot*f9;Vo^eG3&_zrmA`!PceP`aWDZp%D%x0K;U=u`R0s~KzZd)hB zJ2OJy4E=&~Uo!4!=IRg+MjGckViaSDX=J0COVJ+CgbfweG$3OhB1GaNw=q&-H?LBOIJ(zAwC+)-r`=AxAV}IAx#ttn>nh4iL?C|r zccmE-KMQA?jJ+ZrPiy1Ty=W(y+@puz6vp-#3YgO_7y&E}L?EvF2yGR}A-=x#LW@Tj zX3-3!Zxbwip&2LYBojMM5Ax=H_}2$$l?^FE?SoKxd<#G)j*VM-nUbc7NwVkhwDfGqkBz!}k=m zwya?mnyMfmxk-QyMYTBN6&PsbdWwLX=VfO40&gb@xB%${go~)n%$SV8va@g70Zd0w zKCy@sS%2M5$U_$!0lM4>$nA^dW3>Ys(w#@f6UQsQQ#hLq`K>V1U7dymFzhoPAU#X4 z)kZByDj2o?Q-5ZNj-g0!Wk|oQ#lu<_D?tKDLbsz$22-6z`PsI@Seh3xl+ut^1(qax zPs0@gj2L>}5L*RZDZOP!-Xz@uqhqSP85vV zP}t>W^Jojw$L%gzpo``*>nAJ4z=O`+rU4EbCu(Mq;D53yZ_5QCpHuYFy}+Tz-BAuW z2|&>ManT#N4^nW{AF@e0BhbjEi7iV|7{-&-`ttb~!xT~w1$Gz>78UaT*j%nmU+@BpO#%A4aa%=;bg*#D$&IlG8*rHwkaP_Tf zS$|a_w5~3Ut5G!82x|6Z`9~O;^2ja{18JtfbrTqNPGDJkc&HfBH9?2U64y5-ogpd@ zbbpxWCK8nJB-LdA^+B_@7h%fJgZdaM-F+m(NScE9J@X-}5Ft8Ku^=3&o|blkp#)dH zQ`YAjdJ-Q;Lq*d@yP`pr+q*Yri+PJ#1%EXG_GE;k+yI{1vPo@u+UkNCj!WD6%no&N z0;$^+&N8V>Sa(tBn3GwLPO6LBSZZN&F!LHzCOKD=d`8(9Vc*W|+;md0pkW7@!>|&s zKQynyl06XX(sAO&A6op}NZk@jHHvwV6UQ#`OT64SG` z++5)$5RpKQ2Vh{yz*}EHj7|ozb(*~&A|?(eBXdrbY$?xEGn3UPZclW~@HUQRRWGhK zt9g-h=VN^K~Y6DR^@>>>@_FG zfSwK#btbV{5+XgfyL~|Qa78+kPt69*(Zrd?z$%tY*lbA$^`2&%LRwsjWP^>u-!LAD zy_g(dYU9R=>~9%UIA@&oF0Bbw#t49g9qy|-;4B8OIr|y^EYnM4++d{@ihuMI0cd7` za>r9(7Ue5s90|L2q8?U24_^r#2AFK*Xvm5`4#Q{UcqDU}v`PoWBVPP^7}u*pWPgYe zKY3h3#j}8fR<0qjlC!MzgEZvSvsY&QDJ)I;T}wyPsadlcdXx?vNgJHbn~m+vX-tio zqaT(VZI>qqDsFrhX_K4JmVdaFzw$E1dN0PQw6Jtnbh&v0Wy<&o`zr5r4O zWI!53h8sRsz2qRH_Y#OmKOYlkvnaqcl1{_4pAkD+S#G84Lxmn<8^kR<$H%ETJx{WZ&Y;L1pEuWBv#kuw;sZW=XYjO$ue9ic zAorBqgBW(sO~S@@9;(T=@JGP2VMjpD!qEvlYkh7!$ZnaJ{u=hmE9>EkOZ(Z<(jd%2 zcxhUIVk65*R@sOvAAdBWh{mxwcx_;9x^6IS*pGDT<=umAlpdO8H_h-x2X!LU^Vw71 z7NT>)qR8_=R^Dld)qfgceV;}oG9SxAVdO?v8287h;OV5jnD-k6ke4M~i23aB6+W6M z$90T|LP(}X1gL8c+Jg4$DWq4U*$4na%M*1w2V!Iex4_%=Z%(b*|7`?sp0}$NkUFw1~+( z7Q&>5u%9zmg=+eNkf~QZFtO{A0|jA5?9k!Ss(J;_w1*6y`-vSN6z2MyfQEBTy67CQ zerFvcr$f+LO@FcVS*q`QStr8tkvDt_ZHvI8WqsB=aUS7xqhMV$c+ErT;|fQ4*}_qn z%AW(%lTkMr`WP;;^SCjEsmYwY1XGmbIn84t&0!+VV`3^7R(9toVc0Fd5H>Xs;Kph! z1pSs*=&zeh5QvL9C39SmZHDoTFIjf14$VG z`en5EAc&W4kbM=CQf|FUdruw@s~LSd81CMQI|6BV|uxydkH48 zSzr-+J5GSKSu!EiURFcY2=8BT6@g@*md}=S#{&$+M=^;Sha-eTy%Hfr6$qm|dgYXp z@z4b&HooFE^E*;$CmniC$X?i zk1>*!x(bF5y2>A9`sXn2;^`?q@n8?t3Mz`oHs5Z@3ahE}w&P9eW3Ed(+$>aJ?W+!3 ziRV0(qq*abh>qz>rl9? zQV1?)DP_4u$V5eDjuxX(*eh0d=1QUeBcnVVb>(I!Wr~3q*P*#sPa*l??sdi;A2E+_ zqzsE;2yUudQ!WR~BQ)GAjSt?fuaaYC1vWc;fbis-iCN&Bm`#*?OO9bsPI-x|ZGX14 z4eds7gO~x5`BD%z3to(7aiDTM#8xptbK}U5APrKCmD91#obo0JsmOp58$GsmH*_+e zS-_2AUd5|L8B%fTs!I6aNR%QCFrJf0c3@^EG;!f>$%rom8%d17d2}44$(WmpBq1`d z8u1w>B;^1eI%m_~+_~eC?DHDhsDC7cWSNEup6uCeix$-ky(1S08kR?S0X3m=Om_sB zYfKDnE+=7HbBQ{Ocs3VHM|!SO`FL&?ie4ATFhd-6 z6(JJ-eFs6G#$N}(K(7dMl3<9pdCiVSsjYQC0A1Z{4#Wh0@qO`dEE+F5=zpL4(Fl$C z3lftOf_7-WPyIkJO)x{2@6-G#y@EhluQVDSlG(Kfb2++9f;t~ZGZ#hxD04H0_&DFg z7=U5W{IVtmX^d}X1ZCz`fCgRBJC12&aCPlIAP=e%hXFYsy1gDBHH{{h*)UAD6{rwP zD_g=XtM9@fQm-!eVMxE;#eY}!xqL9EJtW-kqOVwLfb;n94Rm3zNgNKO&&ca91n6d~YR7hf$8De)b})uD7V~x<&nJ zX(Z!8xKI1fvt#KA9t97#Wf|=aQS0u_cY;e-V9GAth33JRHuD%kqkrW#AKWxZ*A}0l zWw*_;S5+iHUT{y1Y>+tB2}XiuPlCqmiZYJ-;YYNu)mGTctDUf zPVCB%uaoHN;v>lJ)_*E&VqQ=2;h7cI3G?=P9pp9IN!T7Ix=nI#GZUlQc5ZB@o7An5RN75;}=X& zAVFhy`EYh40+>s!G%4m=KBPz3IB$rJ^Tt>YY}?a4S-(_s84S!m?2pTFc3_SrH9OO5 z&~GIˌ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νhIdF*7=53d+q1Rq3>vs&Y#u`3`dh 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�~L{<{v?0VHJvPu8UQbhMhB>Kj7LRa(`&SU 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 diff --git a/assets/themes.bin b/assets/themes.bin index c9dfcde10ba797b3038418cf9c26aa3a30bd42ca..b42fa8f3020da443324596dc864f6fa8df5c34a0 100644 GIT binary patch delta 15634 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 Date: Tue, 7 Jan 2025 21:30:39 +0200 Subject: [PATCH 112/189] Post release steps Add new unreleased section at top of change log --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 362ac4f5..08113db1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# unreleased + +## Features + +## Bugfixes + +## Other + +## Syntaxes + +## Themes + +## `bat` as a library + # v0.25.0 ## Features From 01680e444ba4273b17d2d6d85a19f7a5e7046820 Mon Sep 17 00:00:00 2001 From: Branch Vincent Date: Tue, 7 Jan 2025 20:01:10 -0800 Subject: [PATCH 113/189] Bump git2 to 0.20 --- Cargo.lock | 934 ++++++++++++++++++++++++++++++++++------------------- Cargo.toml | 2 +- 2 files changed, 600 insertions(+), 336 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8341249d..a8ec51cc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,9 +10,9 @@ checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -43,26 +43,26 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.0" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.0" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -77,19 +77,20 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "assert_cmd" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6" +checksum = "dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d" dependencies = [ "anstyle", "bstr", "doc-comment", + "libc", "predicates", "predicates-core", "predicates-tree", @@ -98,9 +99,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "base64" @@ -152,7 +153,7 @@ dependencies = [ "terminal-colorsaurus", "thiserror", "toml", - "unicode-width 0.1.13", + "unicode-width 0.1.14", "wait-timeout", "walkdir", "wild", @@ -190,15 +191,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "bstr" -version = "1.8.0" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" +checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" dependencies = [ "memchr", "regex-automata", @@ -207,20 +208,20 @@ dependencies = [ [[package]] name = "bugreport" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "535120b8182547808081a66f1f77a64533c780b23da26763e0ee34dfb94f98c9" +checksum = "f280f65ce85b880919349bbfcb204930291251eedcb2e5f84ce2f51df969c162" dependencies = [ "git-version", "shell-escape", - "sys-info", + "sysinfo", ] [[package]] name = "bytemuck" -version = "1.12.1" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5715e491b5a1598fc2bef5a606847b5dc1d48ea625bd3c02c00de8285591da" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" [[package]] name = "bytesize" @@ -230,12 +231,13 @@ checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" [[package]] name = "cc" -version = "1.0.83" +version = "1.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -252,23 +254,23 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "clap" -version = "4.5.13" +version = "4.5.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" +checksum = "9560b07a799281c7e0958b9296854d6fafd4c5f31444a7e5bb1ad6dde5ccf1bd" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.13" +version = "4.5.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" +checksum = "874e0dd3eb68bf99058751ac9712f622e61e6f393a94f7128fa26e3f02f5c7cd" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.1", + "strsim", "terminal_size", ] @@ -285,14 +287,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9334f725b46fb9bed8580b9b47a932587e044fadb344ed7fa98774b067ac1a" dependencies = [ "cfg-if", - "windows", + "windows 0.56.0", ] [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "console" @@ -317,19 +319,50 @@ dependencies = [ ] [[package]] -name = "crc32fast" -version = "1.3.2" +name = "core-foundation-sys" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] [[package]] -name = "darling" -version = "0.20.3" +name = "crossbeam-deque" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -337,23 +370,23 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", + "strsim", "syn", ] [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", @@ -362,12 +395,12 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.4.0" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.12.3", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", @@ -389,10 +422,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" [[package]] -name = "dissimilar" -version = "1.0.5" +name = "displaydoc" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd5f0c7e4bd266b8ab2550e6238d2e74977c23c15536ac7be45e9c95e2e3fbbb" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dissimilar" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59f8e79d1fbf76bdfbde321e902714bf6c49df88a7dda6fc682fc2979226962d" [[package]] name = "doc-comment" @@ -402,9 +446,9 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "either" -version = "1.8.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "encode_unicode" @@ -429,23 +473,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.3" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", "libc", + "windows-sys 0.52.0", ] [[package]] @@ -498,9 +531,9 @@ checksum = "69dc321eb6be977f44674620ca3aa21703cb20ffbe560e1ae97da08401ffbcad" [[package]] name = "expect-test" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e0be0a561335815e06dab7c62e50353134c796e7a6155402a64bcff66b6a5e0" +checksum = "63af43ff4431e848fb47472a920f14fa71c24de13255a5692e93d4e90302acb0" dependencies = [ "dissimilar", "once_cell", @@ -518,9 +551,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "flate2" @@ -565,6 +598,17 @@ dependencies = [ "typenum", ] +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + [[package]] name = "git-version" version = "0.3.9" @@ -587,11 +631,11 @@ dependencies = [ [[package]] name = "git2" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" +checksum = "3fda788993cc341f69012feba8bf45c0ba4f3291fcc08e214b4d5a7332d88aff" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "libc", "libgit2-sys", "log", @@ -600,9 +644,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "globset" @@ -633,21 +677,15 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.14.1" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "home" @@ -658,6 +696,124 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -666,22 +822,33 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] name = "indexmap" -version = "2.3.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", - "hashbrown 0.14.1", + "hashbrown 0.15.2", "serde", ] @@ -702,36 +869,36 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.3" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.161" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libgit2-sys" -version = "0.17.0+1.8.1" +version = "0.18.0+1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" +checksum = "e1a117465e7e1597e8febea8bb0c410f1c7fb93b1e1cddf34363f8390367ffec" dependencies = [ "cc", "libc", @@ -741,9 +908,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.8" +version = "1.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" +checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa" dependencies = [ "cc", "libc", @@ -759,15 +926,21 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.4.10" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -775,9 +948,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "memchr" @@ -787,20 +960,19 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4929e1f84c5e54c3ec6141cd5d8b5a5c055f031f80cf78f2072920173cb4d880" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi", "libc", "wasi", "windows-sys 0.52.0", @@ -812,7 +984,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "cfg-if", "cfg_aliases", "libc", @@ -825,12 +997,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] -name = "nu-ansi-term" -version = "0.50.0" +name = "ntapi" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2800e1520bdc966782168a627aa5d1ad92e33b984bf7c7615d31280c83ff14" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" dependencies = [ - "windows-sys 0.48.0", + "winapi", +] + +[[package]] +name = "nu-ansi-term" +version = "0.50.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +dependencies = [ + "windows-sys 0.52.0", ] [[package]] @@ -841,9 +1022,9 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -878,9 +1059,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -888,15 +1069,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", + "redox_syscall", "smallvec", - "windows-sys 0.45.0", + "windows-targets 0.52.6", ] [[package]] @@ -916,9 +1097,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "plist" @@ -955,15 +1136,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" [[package]] name = "predicates-tree" -version = "1.0.5" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d86de6de25020a36c6d3643a86d9a6a9f552107c0559c60ea03551b5e16c032" +checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" dependencies = [ "predicates-core", "termtree", @@ -989,36 +1170,47 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] [[package]] -name = "redox_syscall" -version = "0.2.16" +name = "rayon" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ - "bitflags 1.3.2", + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", ] [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", ] [[package]] name = "regex" -version = "1.10.6" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -1028,9 +1220,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -1039,37 +1231,37 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rgb" -version = "0.8.34" +version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3603b7d71ca82644f79b5a06d1220e9a58ede60bd32255f698cb1af8838b8db3" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" dependencies = [ "bytemuck", ] [[package]] name = "rustix" -version = "0.38.21" +version = "0.38.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" +checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -1082,15 +1274,15 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" [[package]] name = "serde" @@ -1114,11 +1306,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.85" +version = "1.0.135" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -1157,9 +1350,9 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.29" +version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15e0ef66bf939a7c890a0bf6d5a733c70202225f9888a89ed5c62298b019129" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ "indexmap", "itoa", @@ -1204,10 +1397,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" [[package]] -name = "smallvec" -version = "1.10.0" +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "std_prelude" @@ -1215,12 +1420,6 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe" -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" @@ -1229,15 +1428,26 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.93" +version = "2.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c786062daee0d6db1132800e623df74274a0a87322d8e183338e01b3d98d058" +checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "syntect" version = "5.2.0" @@ -1262,33 +1472,38 @@ dependencies = [ ] [[package]] -name = "sys-info" -version = "0.9.1" +name = "sysinfo" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b3a0d0aba8bf96a0e1ddfdc352fc53b3df7f39318c71854910c3c4b024ae52c" +checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01" dependencies = [ - "cc", + "core-foundation-sys", "libc", + "memchr", + "ntapi", + "rayon", + "windows 0.57.0", ] [[package]] name = "tempfile" -version = "3.8.1" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.4.1", + "getrandom", + "once_cell", "rustix", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] @@ -1320,34 +1535,34 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" dependencies = [ "rustix", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] name = "termtree" -version = "0.2.4" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", @@ -1356,9 +1571,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", @@ -1377,29 +1592,24 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ "num-conv", "time-core", ] [[package]] -name = "tinyvec" -version = "1.6.0" +name = "tinystr" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ - "tinyvec_macros", + "displaydoc", + "zerovec", ] -[[package]] -name = "tinyvec_macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" - [[package]] name = "toml" version = "0.8.19" @@ -1441,32 +1651,17 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - [[package]] name = "unicode-ident" -version = "1.0.4" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-width" @@ -1476,15 +1671,15 @@ checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unsafe-libyaml" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -1492,10 +1687,22 @@ dependencies = [ ] [[package]] -name = "utf8parse" -version = "0.2.1" +name = "utf16_iter" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "vcpkg" @@ -1555,11 +1762,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -1574,7 +1781,17 @@ version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" dependencies = [ - "windows-core", + "windows-core 0.56.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", "windows-targets 0.52.6", ] @@ -1584,8 +1801,20 @@ version = "0.56.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6" dependencies = [ - "windows-implement", - "windows-interface", + "windows-implement 0.56.0", + "windows-interface 0.56.0", + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement 0.57.0", + "windows-interface 0.57.0", "windows-result", "windows-targets 0.52.6", ] @@ -1601,6 +1830,17 @@ dependencies = [ "syn", ] +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "windows-interface" version = "0.56.0" @@ -1612,6 +1852,17 @@ dependencies = [ "syn", ] +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "windows-result" version = "0.1.2" @@ -1621,22 +1872,13 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.1", -] - [[package]] name = "windows-sys" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.48.5", ] [[package]] @@ -1659,32 +1901,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm 0.42.1", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm 0.42.1", - "windows_x86_64_msvc 0.42.1", -] - -[[package]] -name = "windows-targets" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" -dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] @@ -1705,15 +1932,9 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" @@ -1723,15 +1944,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" @@ -1741,15 +1956,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" @@ -1765,15 +1974,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" @@ -1783,15 +1986,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" @@ -1801,15 +1998,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" @@ -1819,15 +2010,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" @@ -1837,13 +2022,25 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.20" +version = "0.6.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "39281189af81c07ec09db316b302a3e67bf9bd7cbf6c820b50e35fee9c2fa980" dependencies = [ "memchr", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "yaml-rust" version = "0.4.5" @@ -1852,3 +2049,70 @@ checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" dependencies = [ "linked-hash-map", ] + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.toml b/Cargo.toml index 3883b2be..02ab67c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -70,7 +70,7 @@ execute = { version = "0.2.13", optional = true } terminal-colorsaurus = "0.4" [dependencies.git2] -version = "0.19" +version = "0.20" optional = true default-features = false From 280f3eeb4e3203bbaabb00ab0032c88e6a43de84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Tue, 7 Jan 2025 22:42:04 +0100 Subject: [PATCH 114/189] Fix name of BAT_THEME_{DARK,LIGHT} env vars --- src/theme.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/theme.rs b/src/theme.rs index 5863bf85..11352183 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -10,9 +10,9 @@ pub mod env { /// See [`crate::theme::ThemeOptions::theme`]. pub const BAT_THEME: &str = "BAT_THEME"; /// See [`crate::theme::ThemeOptions::theme_dark`]. - pub const BAT_THEME_DARK: &str = "BAT_THEME"; + pub const BAT_THEME_DARK: &str = "BAT_THEME_DARK"; /// See [`crate::theme::ThemeOptions::theme_light`]. - pub const BAT_THEME_LIGHT: &str = "BAT_THEME"; + pub const BAT_THEME_LIGHT: &str = "BAT_THEME_LIGHT"; } /// Chooses an appropriate theme or falls back to a default theme From 4d73c1e51107b5ce430b5edf19dd492066675782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Thu, 9 Jan 2025 08:04:58 +0100 Subject: [PATCH 115/189] Add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 08113db1..941e4e3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Features ## Bugfixes +* Fix `BAT_THEME_DARK` and `BAT_THEME_LIGHT` being ignored, see issue #3171 and PR #3168 (@bash) ## Other From 8a11a46f667fa1c4e841d1fa2cdbfd364a5bafec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tau=20G=C3=A4rtli?= Date: Thu, 9 Jan 2025 08:20:09 +0100 Subject: [PATCH 116/189] Add integration tests --- tests/integration_tests.rs | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 8b61b878..b4680a1e 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -2265,6 +2265,46 @@ fn theme_arg_overrides_env_withconfig() { .stderr(""); } +#[test] +fn theme_light_env_var_is_respected() { + bat() + .env("BAT_THEME_LIGHT", "Coldark-Cold") + .env("COLORTERM", "truecolor") + .arg("--theme=light") + .arg("--paging=never") + .arg("--color=never") + .arg("--terminal-width=80") + .arg("--wrap=never") + .arg("--decorations=always") + .arg("--style=plain") + .arg("--highlight-line=1") + .write_stdin("Lorem Ipsum") + .assert() + .success() + .stdout("\x1B[48;2;208;218;231mLorem Ipsum\x1B[0m") + .stderr(""); +} + +#[test] +fn theme_dark_env_var_is_respected() { + bat() + .env("BAT_THEME_DARK", "Coldark-Dark") + .env("COLORTERM", "truecolor") + .arg("--theme=dark") + .arg("--paging=never") + .arg("--color=never") + .arg("--terminal-width=80") + .arg("--wrap=never") + .arg("--decorations=always") + .arg("--style=plain") + .arg("--highlight-line=1") + .write_stdin("Lorem Ipsum") + .assert() + .success() + .stdout("\x1B[48;2;33;48;67mLorem Ipsum\x1B[0m") + .stderr(""); +} + #[test] fn theme_env_overrides_config() { bat_with_config() From b39a156d5702f5ba5ca3d43713b2d81c83b7fac8 Mon Sep 17 00:00:00 2001 From: Philipp Schneider <47689073+philipp-tailor@users.noreply.github.com> Date: Fri, 10 Jan 2025 17:45:26 +0100 Subject: [PATCH 117/189] Update README.md Fixes copy and paste error, where same option was listed twice, instead of the 2 distinct options of `--theme` for different system appearances. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b51b7f8..67399545 100644 --- a/README.md +++ b/README.md @@ -489,7 +489,7 @@ bat --list-themes | fzf --preview="bat --theme={} --color=always /path/to/file" ``` `bat` automatically picks a fitting theme depending on your terminal's background color. -You can use the `--theme-light` / `--theme-light` options or the `BAT_THEME_DARK` / `BAT_THEME_LIGHT` environment variables +You can use the `--theme-dark` / `--theme-light` options or the `BAT_THEME_DARK` / `BAT_THEME_LIGHT` environment variables to customize the themes used. This is especially useful if you frequently switch between dark and light mode. You can also use a custom theme by following the From 648bedf290e589e930cacb3d0e4d87aaf9bd2386 Mon Sep 17 00:00:00 2001 From: oliviajohnsto Date: Tue, 14 Jan 2025 21:54:19 -0500 Subject: [PATCH 118/189] Add Warp Pack sponsorship --- README.md | 5 +++++ doc/sponsors/warp-pack-header.png | Bin 0 -> 160778 bytes 2 files changed, 5 insertions(+) create mode 100644 doc/sponsors/warp-pack-header.png diff --git a/README.md b/README.md index 67399545..a841f9ff 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,11 @@ bat f - g # output 'f', then stdin, then 'g'. ### Integration with other tools +#### `Warp` + + Warp + + #### `fzf` You can use `bat` as a previewer for [`fzf`](https://github.com/junegunn/fzf). To do this, diff --git a/doc/sponsors/warp-pack-header.png b/doc/sponsors/warp-pack-header.png new file mode 100644 index 0000000000000000000000000000000000000000..2592a62aef3c04f5b62cf06e917ea799db9fa7a9 GIT binary patch literal 160778 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 Date: Wed, 15 Jan 2025 08:32:48 +0100 Subject: [PATCH 119/189] Move section slightly further down --- README.md | 11 ++++++----- doc/sponsors/warp-pack-header.png | Bin 160778 -> 37674 bytes 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a841f9ff..eefc101b 100644 --- a/README.md +++ b/README.md @@ -121,11 +121,6 @@ bat f - g # output 'f', then stdin, then 'g'. ### Integration with other tools -#### `Warp` - - Warp - - #### `fzf` You can use `bat` as a previewer for [`fzf`](https://github.com/junegunn/fzf). To do this, @@ -227,6 +222,12 @@ Note that the [Manpage syntax](assets/syntaxes/02_Extra/Manpage.sublime-syntax) The [`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) script is a wrapper that will format code and print it with `bat`. +#### `Warp` + + + Warp + + #### Highlighting `--help` messages You can use `bat` to colorize help text: `$ cp --help | bat -plhelp` diff --git a/doc/sponsors/warp-pack-header.png b/doc/sponsors/warp-pack-header.png index 2592a62aef3c04f5b62cf06e917ea799db9fa7a9..ed7efe6abb54a2e25fe80f0d9d838ffa4d694fe6 100644 GIT binary patch literal 37674 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¯>*xI^)PTW9xaQE(z0zaJ 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%0Ac42Gv|tAI&ajw`+4# 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 UEZV2*>;M1&07*qoM6N<$f-XHwjQ{`u literal 160778 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 Date: Fri, 17 Jan 2025 21:18:12 -0800 Subject: [PATCH 120/189] Work around `cargo vendor` losing syntax_mapping builtins directory --- CHANGELOG.md | 2 ++ build/syntax_mapping.rs | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 941e4e3c..7e30fbf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ ## Other +- Work around build failures when building `bat` from vendored sources #3179 (@dtolnay) + ## Syntaxes ## Themes diff --git a/build/syntax_mapping.rs b/build/syntax_mapping.rs index 91a448f6..48468b9a 100644 --- a/build/syntax_mapping.rs +++ b/build/syntax_mapping.rs @@ -236,8 +236,14 @@ fn get_def_paths() -> anyhow::Result> { ]; let mut toml_paths = vec![]; - for subdir in source_subdirs { - let wd = WalkDir::new(Path::new("src/syntax_mapping/builtins").join(subdir)); + for subdir_name in source_subdirs { + let subdir = Path::new("src/syntax_mapping/builtins").join(subdir_name); + if !subdir.try_exists()? { + // Directory might not exist due to this `cargo vendor` bug: + // https://github.com/rust-lang/cargo/issues/15080 + continue; + } + let wd = WalkDir::new(subdir); let paths = wd .into_iter() .filter_map_ok(|entry| { From 94f49fd99b8d13779d7a4f43c19392eca34fb9fd Mon Sep 17 00:00:00 2001 From: cyqsimon <28627918+cyqsimon@users.noreply.github.com> Date: Sat, 18 Jan 2025 00:44:53 +0800 Subject: [PATCH 121/189] Add syntax mapping for paru configuration --- src/syntax_mapping/builtins/linux/50-paru.toml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/syntax_mapping/builtins/linux/50-paru.toml diff --git a/src/syntax_mapping/builtins/linux/50-paru.toml b/src/syntax_mapping/builtins/linux/50-paru.toml new file mode 100644 index 00000000..2706a36e --- /dev/null +++ b/src/syntax_mapping/builtins/linux/50-paru.toml @@ -0,0 +1,6 @@ +# See https://github.com/Morganamilo/paru/blob/master/man/paru.conf.5 +[mappings] +"INI" = [ + "${PARU_CONF}", + "paru.conf", +] From dd9dc4f76b6b100881f68054aff0ba7130b216ad Mon Sep 17 00:00:00 2001 From: cyqsimon <28627918+cyqsimon@users.noreply.github.com> Date: Mon, 20 Jan 2025 11:58:07 +0800 Subject: [PATCH 122/189] Write changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e30fbf1..b24e1a1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ ## Syntaxes +- Add syntax mapping for paru configuration files #3182 (@cyqsimon) + ## Themes ## `bat` as a library From 4f161705a3eb36ebb37c27e8ea2635fa2e704c2f Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Mon, 27 Jan 2025 16:40:29 +0100 Subject: [PATCH 123/189] Fix: Don't output default theme info to piped stdout --- src/bin/bat/main.rs | 4 +++- tests/integration_tests.rs | 11 ++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index 253c3885..70443b2f 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -210,7 +210,7 @@ pub fn list_themes( let default_theme_name = default_theme(color_scheme(detect_color_scheme).unwrap_or_default()); for theme in assets.themes() { - let default_theme_info = if !config.loop_through && default_theme_name == theme { + let default_theme_info = if default_theme_name == theme { " (default)" } else if default_theme(ColorScheme::Dark) == theme { " (default dark)" @@ -231,6 +231,8 @@ pub fn list_themes( .run(vec![theme_preview_file()], None) .ok(); writeln!(stdout)?; + } else if config.loop_through { + writeln!(stdout, "{theme}")?; } else { writeln!(stdout, "{theme}{default_theme_info}")?; } diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index b4680a1e..436d84d5 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -305,11 +305,12 @@ fn list_themes_without_colors() { #[test] fn list_themes_to_piped_output() { - bat() - .arg("--list-themes") - .assert() - .success() - .stdout(predicate::str::contains("(default)").not()); + bat().arg("--list-themes").assert().success().stdout( + predicate::str::contains("(default)") + .not() + .and(predicate::str::contains("(default light)").not()) + .and(predicate::str::contains("(default dark)").not()), + ); } #[test] From 91acb0d16ffdf8d743718c27941063eea93c69e6 Mon Sep 17 00:00:00 2001 From: Keith Hall <11882719+keith-hall@users.noreply.github.com> Date: Mon, 27 Jan 2025 21:43:57 +0200 Subject: [PATCH 124/189] update changelog to mention --list-themes bugfix when stdout is piped --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b24e1a1c..84ec75d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,8 @@ ## Features ## Bugfixes -* Fix `BAT_THEME_DARK` and `BAT_THEME_LIGHT` being ignored, see issue #3171 and PR #3168 (@bash) +- Fix `BAT_THEME_DARK` and `BAT_THEME_LIGHT` being ignored, see issue #3171 and PR #3168 (@bash) +- Prevent `--list-themes` from outputting default theme info to stdout when it is piped, see #3189 (@einfachIrgendwer0815) ## Other From d6cb3ba7474bc974e2bf8057e2a0b50a2fc94f98 Mon Sep 17 00:00:00 2001 From: Denis Buzdalov Date: Tue, 24 Dec 2024 19:19:07 +0300 Subject: [PATCH 125/189] [ new ] Add support for Idris 2 programming language --- .gitmodules | 3 + CHANGELOG.md | 3 +- assets/syntaxes/02_Extra/Idris2 | 1 + .../syntax-tests/highlighted/Idris2/test.idr | 107 ++++++++++++++++++ tests/syntax-tests/source/Idris2/LICENSE.md | 7 ++ tests/syntax-tests/source/Idris2/test.idr | 107 ++++++++++++++++++ 6 files changed, 227 insertions(+), 1 deletion(-) create mode 160000 assets/syntaxes/02_Extra/Idris2 create mode 100644 tests/syntax-tests/highlighted/Idris2/test.idr create mode 100644 tests/syntax-tests/source/Idris2/LICENSE.md create mode 100644 tests/syntax-tests/source/Idris2/test.idr diff --git a/.gitmodules b/.gitmodules index fe159da8..36060a72 100644 --- a/.gitmodules +++ b/.gitmodules @@ -263,3 +263,6 @@ [submodule "assets/syntaxes/02_Extra/CFML"] path = assets/syntaxes/02_Extra/CFML url = https://github.com/jcberquist/sublimetext-cfml.git +[submodule "assets/syntaxes/02_Extra/Idris2"] + path = assets/syntaxes/02_Extra/Idris2 + url = https://github.com/buzden/sublime-syntax-idris2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 84ec75d2..d541f061 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,8 @@ ## Syntaxes -- Add syntax mapping for paru configuration files #3182 (@cyqsimon) +- Add syntax mapping for `paru` configuration files #3182 (@cyqsimon) +- Add support for [Idris 2 programming language](https://www.idris-lang.org/) #3150 (@buzden) ## Themes diff --git a/assets/syntaxes/02_Extra/Idris2 b/assets/syntaxes/02_Extra/Idris2 new file mode 160000 index 00000000..7c1bf44c --- /dev/null +++ b/assets/syntaxes/02_Extra/Idris2 @@ -0,0 +1 @@ +Subproject commit 7c1bf44c4f9092b7b1e274b1332cf32a089b2b99 diff --git a/tests/syntax-tests/highlighted/Idris2/test.idr b/tests/syntax-tests/highlighted/Idris2/test.idr new file mode 100644 index 00000000..04691268 --- /dev/null +++ b/tests/syntax-tests/highlighted/Idris2/test.idr @@ -0,0 +1,107 @@ +-- some code in Idris +module XX.X''' + +import Data.Nat + +data X = A | B + +namespace X + ||| Documentation + record Y where + [noHints] + constructor MkY' + field1 : Nat + {auto x : Nat} + +namespace X' { + parameters (x : A (Maybe b)) + x : Nat +} + +u : () +u = () + +k, w, u : Char +k = '\NUL' +w = 'w' + +x = [1, 0, 3, "sdf\{d}", 0xFF, 0o77, 0b10_1, 100_100] + +f : Int -> Int +f = if x > 0 then x else 0 () SS `elem` S $ do + x <- a [1, 2, 3] + let ukuk = akak + rewrite $ Wow Wow Wow Wow.Wow b W (W) + pure $ f A B c D (EE) E + +(&&&) : Nat -> Nat -> Nat +z &&& y = d + ?foo +(&&&) x y = ?asfda + +public export covering +(.fun) : X a Y b => Nat -> Nat +Z .fun = haha.fun haha .N +(.fun) Z = ahah $ \case + x@(x, y) => Prelude.Types.ahahah + +(.N) : Nat -> Nat +Z .N = Z +(.N) (S n) = (.N) n + +xx : Name +xx = `{Full.Name} + +infixr 0 ^^^, &&& + +xxx : ? +xxx = case x of + Z => lalalaCamelCase + z => alalalCamelCase + +ff : Nat -> TTImp +ff 0 = let x = 0 in val +ff _ = `(let x = 0 in ~val ^~^ ~(abc)) +ff _ = f `(let x = 0 in ~val ^~^ ~(abc)) x + +%language ElabReflection +%runElab X.sf ads + +%macro %inline +fff : List Decl +fff = `[ + f : Nat -> Nat + + f Z = haha %runElab %search @{%World} +] + +private infixr 4 ^--^ + +(^--^) : Nat -> Nat -> Nat +(^--^) Z Z = Z +x ^--^ y = x + y + +x : (y : Vect n (Maybe (Maybe (&&&) Nat))) -> + {x : Nat} -> {auto _ : Monoid a} -> + {default 4 xx : Nat} -> + {default (f x Y) xx' : Nat} -> + String +x Z S = ?foo +x y _ = "a b \{show $ let x = 0 in y} y >>= z" + +multiline : String +multiline = """ + A multiline string\NUL + """ + +f' : Nat -> Nat +f' = x' 4 + +x : Char +x = '\BEL' +x = '\\' +x = '\'' +x = '\o755' +x = 'a' + +xx : Int +xx = 0o7_5_5 diff --git a/tests/syntax-tests/source/Idris2/LICENSE.md b/tests/syntax-tests/source/Idris2/LICENSE.md new file mode 100644 index 00000000..2d9d6206 --- /dev/null +++ b/tests/syntax-tests/source/Idris2/LICENSE.md @@ -0,0 +1,7 @@ +The `test.idr` file has been added from https://github.com/buzden/sublime-syntax-idris2 under the following license: + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 diff --git a/tests/syntax-tests/source/Idris2/test.idr b/tests/syntax-tests/source/Idris2/test.idr new file mode 100644 index 00000000..1fada03d --- /dev/null +++ b/tests/syntax-tests/source/Idris2/test.idr @@ -0,0 +1,107 @@ +-- some code in Idris +module XX.X''' + +import Data.Nat + +data X = A | B + +namespace X + ||| Documentation + record Y where + [noHints] + constructor MkY' + field1 : Nat + {auto x : Nat} + +namespace X' { + parameters (x : A (Maybe b)) + x : Nat +} + +u : () +u = () + +k, w, u : Char +k = '\NUL' +w = 'w' + +x = [1, 0, 3, "sdf\{d}", 0xFF, 0o77, 0b10_1, 100_100] + +f : Int -> Int +f = if x > 0 then x else 0 () SS `elem` S $ do + x <- a [1, 2, 3] + let ukuk = akak + rewrite $ Wow Wow Wow Wow.Wow b W (W) + pure $ f A B c D (EE) E + +(&&&) : Nat -> Nat -> Nat +z &&& y = d + ?foo +(&&&) x y = ?asfda + +public export covering +(.fun) : X a Y b => Nat -> Nat +Z .fun = haha.fun haha .N +(.fun) Z = ahah $ \case + x@(x, y) => Prelude.Types.ahahah + +(.N) : Nat -> Nat +Z .N = Z +(.N) (S n) = (.N) n + +xx : Name +xx = `{Full.Name} + +infixr 0 ^^^, &&& + +xxx : ? +xxx = case x of + Z => lalalaCamelCase + z => alalalCamelCase + +ff : Nat -> TTImp +ff 0 = let x = 0 in val +ff _ = `(let x = 0 in ~val ^~^ ~(abc)) +ff _ = f `(let x = 0 in ~val ^~^ ~(abc)) x + +%language ElabReflection +%runElab X.sf ads + +%macro %inline +fff : List Decl +fff = `[ + f : Nat -> Nat + + f Z = haha %runElab %search @{%World} +] + +private infixr 4 ^--^ + +(^--^) : Nat -> Nat -> Nat +(^--^) Z Z = Z +x ^--^ y = x + y + +x : (y : Vect n (Maybe (Maybe (&&&) Nat))) -> + {x : Nat} -> {auto _ : Monoid a} -> + {default 4 xx : Nat} -> + {default (f x Y) xx' : Nat} -> + String +x Z S = ?foo +x y _ = "a b \{show $ let x = 0 in y} y >>= z" + +multiline : String +multiline = """ + A multiline string\NUL + """ + +f' : Nat -> Nat +f' = x' 4 + +x : Char +x = '\BEL' +x = '\\' +x = '\'' +x = '\o755' +x = 'a' + +xx : Int +xx = 0o7_5_5 From 4fc55cfcec44dba3f67bd79cac9ccf64dc18eb08 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Feb 2025 03:24:58 +0000 Subject: [PATCH 126/189] Bump semver from 1.0.24 to 1.0.25 (#3191) Bumps [semver](https://github.com/dtolnay/semver) from 1.0.24 to 1.0.25. - [Release notes](https://github.com/dtolnay/semver/releases) - [Commits](https://github.com/dtolnay/semver/compare/1.0.24...1.0.25) --- updated-dependencies: - dependency-name: semver dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a8ec51cc..86fc0759 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -478,7 +478,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1254,7 +1254,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1280,9 +1280,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" @@ -1496,7 +1496,7 @@ dependencies = [ "getrandom", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1766,7 +1766,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] From ef3830234ddc73aa8a85dffbdb12fb830a16b3a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Feb 2025 03:53:27 +0000 Subject: [PATCH 127/189] Bump itertools from 0.13.0 to 0.14.0 (#3193) Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.13.0 to 0.14.0. - [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-itertools/itertools/compare/v0.13.0...v0.14.0) --- updated-dependencies: - dependency-name: itertools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 86fc0759..feefad3b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -860,9 +860,9 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] diff --git a/Cargo.toml b/Cargo.toml index 02ab67c2..41423320 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -103,7 +103,7 @@ nix = { version = "0.29", default-features = false, features = ["term"] } [build-dependencies] anyhow = "1.0.86" indexmap = { version = "2.3.0", features = ["serde"] } -itertools = "0.13.0" +itertools = "0.14.0" once_cell = "1.20" regex = "1.10.6" serde = "1.0" From 995f23b58fe0d16fe10374f71a8acda04a7348a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Feb 2025 04:18:58 +0000 Subject: [PATCH 128/189] Bump tempfile from 3.15.0 to 3.16.0 (#3192) Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.15.0 to 3.16.0. - [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md) - [Commits](https://github.com/Stebalien/tempfile/compare/v3.15.0...v3.16.0) --- updated-dependencies: - dependency-name: tempfile dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 31 +++++++++++++++++++++++++------ Cargo.toml | 2 +- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index feefad3b..4231e063 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -600,13 +600,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" dependencies = [ "cfg-if", "libc", - "wasi", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", ] [[package]] @@ -974,7 +975,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -1487,9 +1488,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand", @@ -1735,6 +1736,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wild" version = "2.2.1" @@ -2029,6 +2039,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "write16" version = "1.0.0" diff --git a/Cargo.toml b/Cargo.toml index 41423320..6c394721 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -94,7 +94,7 @@ expect-test = "1.5.0" serial_test = { version = "2.0.0", default-features = false } predicates = "3.1.3" wait-timeout = "0.2.0" -tempfile = "3.8.1" +tempfile = "3.16.0" serde = { version = "1.0", features = ["derive"] } [target.'cfg(unix)'.dev-dependencies] From db812e11796bcd6a8242b34b79de35267c856ca0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Feb 2025 04:35:19 +0000 Subject: [PATCH 129/189] Bump thiserror from 1.0.69 to 2.0.11 (#3195) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.69 to 2.0.11. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.69...2.0.11) --- updated-dependencies: - dependency-name: thiserror dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 26 +++++++++++++++++++++++--- Cargo.toml | 2 +- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4231e063..a87351cd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -151,7 +151,7 @@ dependencies = [ "syntect", "tempfile", "terminal-colorsaurus", - "thiserror", + "thiserror 2.0.11", "toml", "unicode-width 0.1.14", "wait-timeout", @@ -1467,7 +1467,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "thiserror", + "thiserror 1.0.69", "walkdir", "yaml-rust", ] @@ -1556,7 +1556,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +dependencies = [ + "thiserror-impl 2.0.11", ] [[package]] @@ -1570,6 +1579,17 @@ dependencies = [ "syn", ] +[[package]] +name = "thiserror-impl" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "time" version = "0.3.37" diff --git a/Cargo.toml b/Cargo.toml index 6c394721..68172e72 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,7 +47,7 @@ bincode = "1.0" console = "0.15.10" flate2 = "1.0" once_cell = "1.20" -thiserror = "1.0" +thiserror = "2.0" wild = { version = "2.2", optional = true } content_inspector = "0.2.4" shell-words = { version = "1.1.0", optional = true } From 6cf747678c49a2197d16174f62cf9a8c7b7fdf7d Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:06:42 +0100 Subject: [PATCH 130/189] Fix `clippy::needless_borrows_for_generic_args` warnings --- src/theme.rs | 2 +- tests/integration_tests.rs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/theme.rs b/src/theme.rs index 11352183..5cd571f1 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -509,7 +509,7 @@ mod tests { ThemePreference::Light, ]; for pref in prefs { - assert_eq!(pref, ThemePreference::new(&pref.to_string())); + assert_eq!(pref, ThemePreference::new(pref.to_string())); } } } diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 436d84d5..3aafb17c 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -1832,7 +1832,7 @@ fn do_not_panic_regression_tests() { ] { bat() .arg("--color=always") - .arg(&format!("regression_tests/{filename}")) + .arg(format!("regression_tests/{filename}")) .assert() .success(); } @@ -1845,7 +1845,7 @@ fn do_not_detect_different_syntax_for_stdin_and_files() { let cmd_for_file = bat() .arg("--color=always") .arg("--map-syntax=*.js:Markdown") - .arg(&format!("--file-name={file}")) + .arg(format!("--file-name={file}")) .arg("--style=plain") .arg(file) .assert() @@ -1855,7 +1855,7 @@ fn do_not_detect_different_syntax_for_stdin_and_files() { .arg("--color=always") .arg("--map-syntax=*.js:Markdown") .arg("--style=plain") - .arg(&format!("--file-name={file}")) + .arg(format!("--file-name={file}")) .pipe_stdin(Path::new(EXAMPLES_DIR).join(file)) .unwrap() .assert() @@ -1874,7 +1874,7 @@ fn no_first_line_fallback_when_mapping_to_invalid_syntax() { bat() .arg("--color=always") .arg("--map-syntax=*.invalid-syntax:InvalidSyntax") - .arg(&format!("--file-name={file}")) + .arg(format!("--file-name={file}")) .arg("--style=plain") .arg(file) .assert() From b009fee5ea76dbdbcea02d656a6a3239a0f78d04 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:11:34 +0100 Subject: [PATCH 131/189] Fix `clippy::needless_return` warnings --- src/vscreen.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vscreen.rs b/src/vscreen.rs index 9e29f9cc..af082cef 100644 --- a/src/vscreen.rs +++ b/src/vscreen.rs @@ -360,10 +360,10 @@ pub struct EscapeSequenceOffsetsIterator<'a> { impl<'a> EscapeSequenceOffsetsIterator<'a> { pub fn new(text: &'a str) -> EscapeSequenceOffsetsIterator<'a> { - return EscapeSequenceOffsetsIterator { + EscapeSequenceOffsetsIterator { text, chars: text.char_indices().peekable(), - }; + } } /// Takes values from the iterator while the predicate returns true. @@ -564,10 +564,10 @@ pub struct EscapeSequenceIterator<'a> { impl<'a> EscapeSequenceIterator<'a> { pub fn new(text: &'a str) -> EscapeSequenceIterator<'a> { - return EscapeSequenceIterator { + EscapeSequenceIterator { text, offset_iter: EscapeSequenceOffsetsIterator::new(text), - }; + } } } From 3d442cdf98bd0ac12e91d541d82b4807b7678024 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:20:25 +0100 Subject: [PATCH 132/189] Fix `clippy::needless_borrow` warnings --- src/printer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/printer.rs b/src/printer.rs index 95017188..ab00a66e 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -432,7 +432,7 @@ impl<'a> InteractivePrinter<'a> { .highlight_line(for_highlighting, highlighter_from_set.syntax_set)?; if too_long { - highlighted_line[0].1 = &line; + highlighted_line[0].1 = line; } Ok(highlighted_line) From 3d0f0c056552deb0ca080e3f09378997c1664d2a Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:14:29 +0100 Subject: [PATCH 133/189] Fix `clippy::unnecessary_map_or` warnings --- src/printer.rs | 6 +++--- src/syntax_mapping.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/printer.rs b/src/printer.rs index ab00a66e..04300acb 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -267,7 +267,7 @@ impl<'a> InteractivePrinter<'a> { let is_printing_binary = input .reader .content_type - .map_or(false, |c| c.is_binary() && !config.show_nonprintable); + .is_some_and(|c| c.is_binary() && !config.show_nonprintable); let needs_to_match_syntax = (!is_printing_binary || matches!(config.binary, BinaryBehavior::AsText)) @@ -544,7 +544,7 @@ impl<'a> Printer for InteractivePrinter<'a> { })?; if self.config.style_components.grid() { - if self.content_type.map_or(false, |c| c.is_text()) + if self.content_type.is_some_and(|c| c.is_text()) || self.config.show_nonprintable || matches!(self.config.binary, BinaryBehavior::AsText) { @@ -559,7 +559,7 @@ impl<'a> Printer for InteractivePrinter<'a> { fn print_footer(&mut self, handle: &mut OutputHandle, _input: &OpenedInput) -> Result<()> { if self.config.style_components.grid() - && (self.content_type.map_or(false, |c| c.is_text()) + && (self.content_type.is_some_and(|c| c.is_text()) || self.config.show_nonprintable || matches!(self.config.binary, BinaryBehavior::AsText)) { diff --git a/src/syntax_mapping.rs b/src/syntax_mapping.rs index a149f9bb..306443e6 100644 --- a/src/syntax_mapping.rs +++ b/src/syntax_mapping.rs @@ -153,7 +153,7 @@ impl<'a> SyntaxMapping<'a> { if glob.is_match_candidate(&candidate) || candidate_filename .as_ref() - .map_or(false, |filename| glob.is_match_candidate(filename)) + .is_some_and(|filename| glob.is_match_candidate(filename)) { return Some(*syntax); } From f0e2f642e04011b221a08ccf38213ce58cc82879 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:16:03 +0100 Subject: [PATCH 134/189] Fix `clippy::redundant_closure` warnings --- src/style.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/style.rs b/src/style.rs index b8d8b09f..d6343c94 100644 --- a/src/style.rs +++ b/src/style.rs @@ -225,7 +225,7 @@ impl FromStr for StyleComponentList { fn from_str(s: &str) -> Result { Ok(StyleComponentList( s.split(",") - .map(|s| ComponentAction::extract_from_str(s)) // If the component starts with "-", it's meant to be removed + .map(ComponentAction::extract_from_str) // If the component starts with "-", it's meant to be removed .map(|(a, s)| Ok((a, StyleComponent::from_str(s)?))) .collect::>>()?, )) From 2c49d905e433882c0cbc5c73c51a1df9781038a6 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:09:39 +0100 Subject: [PATCH 135/189] Fix `clippy::legacy_numeric_constants` warnings --- src/line_range.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/line_range.rs b/src/line_range.rs index 8899c706..eb844435 100644 --- a/src/line_range.rs +++ b/src/line_range.rs @@ -9,8 +9,8 @@ pub struct LineRange { impl Default for LineRange { fn default() -> LineRange { LineRange { - lower: usize::min_value(), - upper: usize::max_value(), + lower: usize::MIN, + upper: usize::MAX, } } } @@ -93,7 +93,7 @@ fn test_parse_full() { #[test] fn test_parse_partial_min() { let range = LineRange::from(":50").expect("Shouldn't fail on test!"); - assert_eq!(usize::min_value(), range.lower); + assert_eq!(usize::MIN, range.lower); assert_eq!(50, range.upper); } @@ -101,7 +101,7 @@ fn test_parse_partial_min() { fn test_parse_partial_max() { let range = LineRange::from("40:").expect("Shouldn't fail on test!"); assert_eq!(40, range.lower); - assert_eq!(usize::max_value(), range.upper); + assert_eq!(usize::MAX, range.upper); } #[test] @@ -203,11 +203,7 @@ impl LineRanges { } pub fn from(ranges: Vec) -> LineRanges { - let largest_upper_bound = ranges - .iter() - .map(|r| r.upper) - .max() - .unwrap_or(usize::max_value()); + let largest_upper_bound = ranges.iter().map(|r| r.upper).max().unwrap_or(usize::MAX); LineRanges { ranges, largest_upper_bound, From cbc9c3629d72e7708805f8b3c1a5a4927ff66a39 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:18:33 +0100 Subject: [PATCH 136/189] Fix `clippy::manual_pattern_char_comparison` warnings --- src/printer.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/printer.rs b/src/printer.rs index 04300acb..abc84464 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -144,7 +144,7 @@ impl<'a> Printer for SimplePrinter<'a> { // Skip squeezed lines. if let Some(squeeze_limit) = self.config.squeeze_lines { if String::from_utf8_lossy(line_buffer) - .trim_end_matches(|c| c == '\r' || c == '\n') + .trim_end_matches(['\r', '\n']) .is_empty() { self.consecutive_empty_lines += 1; @@ -644,7 +644,7 @@ impl<'a> Printer for InteractivePrinter<'a> { // Skip squeezed lines. if let Some(squeeze_limit) = self.config.squeeze_lines { - if line.trim_end_matches(|c| c == '\r' || c == '\n').is_empty() { + if line.trim_end_matches(['\r', '\n']).is_empty() { self.consecutive_empty_lines += 1; if self.consecutive_empty_lines > squeeze_limit { return Ok(()); @@ -697,7 +697,7 @@ impl<'a> Printer for InteractivePrinter<'a> { // Regular text. EscapeSequence::Text(text) => { let text = self.preprocess(text, &mut cursor_total); - let text_trimmed = text.trim_end_matches(|c| c == '\r' || c == '\n'); + let text_trimmed = text.trim_end_matches(['\r', '\n']); write!( handle, @@ -751,10 +751,8 @@ impl<'a> Printer for InteractivePrinter<'a> { match chunk { // Regular text. EscapeSequence::Text(text) => { - let text = self.preprocess( - text.trim_end_matches(|c| c == '\r' || c == '\n'), - &mut cursor_total, - ); + let text = self + .preprocess(text.trim_end_matches(['\r', '\n']), &mut cursor_total); let mut max_width = cursor_max - cursor; From cc46282866bf73f4bd4af670af4823feb494986f Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:01:29 +0100 Subject: [PATCH 137/189] Fix `clippy::into_iter_on_ref` warnings --- src/bin/bat/app.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index 8f69870f..d339ba94 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -425,7 +425,7 @@ impl App { None => StyleComponents(HashSet::from_iter( StyleComponent::Default .components(self.interactive_output) - .into_iter() + .iter() .cloned(), )), }; From 095442191c18ab508b8166ad33699b4606017b1c Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:29:00 +0100 Subject: [PATCH 138/189] Fix `clippy::ptr_arg` warnings --- src/lessopen.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lessopen.rs b/src/lessopen.rs index cf004d49..4e18b85a 100644 --- a/src/lessopen.rs +++ b/src/lessopen.rs @@ -200,7 +200,7 @@ impl LessOpenPreprocessor { }) } - fn fall_back_to_original_file(&self, lessopen_stdout: &Vec, exit_code: ExitStatus) -> bool { + fn fall_back_to_original_file(&self, lessopen_stdout: &[u8], exit_code: ExitStatus) -> bool { lessopen_stdout.is_empty() && (!exit_code.success() || matches!(self.kind, LessOpenKind::PipedIgnoreExitCode)) } From 625e986552c3a75bef1228259c464afe8af3d511 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:22:01 +0100 Subject: [PATCH 139/189] Fix `clippy::manual_ignore_case_cmp` warnings --- src/assets/build_assets/acknowledgements.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/build_assets/acknowledgements.rs b/src/assets/build_assets/acknowledgements.rs index c4fde919..db9b5c69 100644 --- a/src/assets/build_assets/acknowledgements.rs +++ b/src/assets/build_assets/acknowledgements.rs @@ -60,7 +60,7 @@ fn to_path_and_stem(source_dir: &Path, entry: DirEntry) -> Option { fn handle_file(path_and_stem: &PathAndStem) -> Result> { if path_and_stem.stem == "NOTICE" { handle_notice(&path_and_stem.path) - } else if path_and_stem.stem.to_ascii_uppercase() == "LICENSE" { + } else if path_and_stem.stem.eq_ignore_ascii_case("LICENSE") { handle_license(&path_and_stem.path) } else { Ok(None) From bc24ce9ad442bc4586e814f1971d666ef70352a9 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:23:42 +0100 Subject: [PATCH 140/189] Fix `clippy::needless_update` warnings --- src/theme.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/theme.rs b/src/theme.rs index 5cd571f1..b2903b86 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -383,7 +383,6 @@ mod tests { theme: ThemePreference::Fixed(ThemeName::Named("Theme".to_string())), theme_dark: Some(ThemeName::Named("Dark Theme".to_string())), theme_light: Some(ThemeName::Named("Light Theme".to_string())), - ..Default::default() }, ] { let detector = ConstantDetector(color_scheme); From 52252b15d699a0370e5aac7557c8af8409e09b0a Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Sun, 2 Feb 2025 14:20:05 +0100 Subject: [PATCH 141/189] Fix `clippy::needless_lifetimes` warnings --- src/assets.rs | 2 +- src/controller.rs | 2 +- src/input.rs | 2 +- src/printer.rs | 6 +++--- src/syntax_mapping.rs | 2 +- src/vscreen.rs | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/assets.rs b/src/assets.rs index d32ccbd4..e6c50219 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -370,7 +370,7 @@ mod tests { pub temp_dir: TempDir, } - impl<'a> SyntaxDetectionTest<'a> { + impl SyntaxDetectionTest<'_> { fn new() -> Self { SyntaxDetectionTest { assets: HighlightingAssets::from_binary(), diff --git a/src/controller.rs b/src/controller.rs index ffc5dd5b..422b381e 100644 --- a/src/controller.rs +++ b/src/controller.rs @@ -25,7 +25,7 @@ pub struct Controller<'a> { preprocessor: Option, } -impl<'b> Controller<'b> { +impl Controller<'_> { pub fn new<'a>(config: &'a Config, assets: &'a HighlightingAssets) -> Controller<'a> { Controller { config, diff --git a/src/input.rs b/src/input.rs index 0ebaa4ce..b36204df 100644 --- a/src/input.rs +++ b/src/input.rs @@ -75,7 +75,7 @@ pub(crate) enum InputKind<'a> { CustomReader(Box), } -impl<'a> InputKind<'a> { +impl InputKind<'_> { pub fn description(&self) -> InputDescription { match self { InputKind::OrdinaryFile(ref path) => InputDescription::new(path.to_string_lossy()), diff --git a/src/printer.rs b/src/printer.rs index abc84464..2c364bd7 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -73,7 +73,7 @@ pub enum OutputHandle<'a> { FmtWrite(&'a mut dyn fmt::Write), } -impl<'a> OutputHandle<'a> { +impl OutputHandle<'_> { fn write_fmt(&mut self, args: fmt::Arguments<'_>) -> Result<()> { match self { Self::IoWrite(handle) => handle.write_fmt(args).map_err(Into::into), @@ -116,7 +116,7 @@ impl<'a> SimplePrinter<'a> { } } -impl<'a> Printer for SimplePrinter<'a> { +impl Printer for SimplePrinter<'_> { fn print_header( &mut self, _handle: &mut OutputHandle, @@ -448,7 +448,7 @@ impl<'a> InteractivePrinter<'a> { } } -impl<'a> Printer for InteractivePrinter<'a> { +impl Printer for InteractivePrinter<'_> { fn print_header( &mut self, handle: &mut OutputHandle, diff --git a/src/syntax_mapping.rs b/src/syntax_mapping.rs index 306443e6..0cd2d655 100644 --- a/src/syntax_mapping.rs +++ b/src/syntax_mapping.rs @@ -61,7 +61,7 @@ pub struct SyntaxMapping<'a> { halt_glob_build: Arc, } -impl<'a> Drop for SyntaxMapping<'a> { +impl Drop for SyntaxMapping<'_> { fn drop(&mut self) { // signal the offload thread to halt early self.halt_glob_build.store(true, Ordering::Relaxed); diff --git a/src/vscreen.rs b/src/vscreen.rs index af082cef..06cc038a 100644 --- a/src/vscreen.rs +++ b/src/vscreen.rs @@ -539,7 +539,7 @@ impl<'a> EscapeSequenceOffsetsIterator<'a> { } } -impl<'a> Iterator for EscapeSequenceOffsetsIterator<'a> { +impl Iterator for EscapeSequenceOffsetsIterator<'_> { type Item = EscapeSequenceOffsets; fn next(&mut self) -> Option { match self.chars.peek() { From 53af1dc32d507daf4ecdce9639e52f6e9dbbfd04 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:26:00 +0100 Subject: [PATCH 142/189] Fix `clippy::unnecessary_filter_map` warnings --- tests/github-actions.rs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/github-actions.rs b/tests/github-actions.rs index c902f10b..d697ddf8 100644 --- a/tests/github-actions.rs +++ b/tests/github-actions.rs @@ -35,13 +35,7 @@ fn all_jobs_not_missing_any_jobs() { .as_mapping() .unwrap() .keys() - .filter_map(|k| { - if exceptions.contains(&k.as_str().unwrap_or_default()) { - None - } else { - Some(k) - } - }) + .filter(|k| !exceptions.contains(&k.as_str().unwrap_or_default())) .map(ToOwned::to_owned) .collect::>(); From 71dce0e7f3b5f36ed23fdb7f6220cb00a625d2a3 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Thu, 30 Jan 2025 18:30:20 +0100 Subject: [PATCH 143/189] Fix `clippy::duplicated_attributes` warnings --- src/lessopen.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lessopen.rs b/src/lessopen.rs index 4e18b85a..79f977af 100644 --- a/src/lessopen.rs +++ b/src/lessopen.rs @@ -1,5 +1,3 @@ -#![cfg(feature = "lessopen")] - use std::convert::TryFrom; use std::env; use std::fs::File; From 61d42ee87be8baac6f0917d74f14a6156775291e Mon Sep 17 00:00:00 2001 From: odilf Date: Sun, 2 Feb 2025 11:16:50 +0100 Subject: [PATCH 144/189] Add syntax mapping for `nix`s `flake.lock` --- CHANGELOG.md | 1 + src/syntax_mapping/builtins/common/50-nix.toml | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 src/syntax_mapping/builtins/common/50-nix.toml diff --git a/CHANGELOG.md b/CHANGELOG.md index d541f061..ce78fd1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Add syntax mapping for `paru` configuration files #3182 (@cyqsimon) - Add support for [Idris 2 programming language](https://www.idris-lang.org/) #3150 (@buzden) +- Add syntax mapping for `nix`'s '`flake.lock` lockfiles #3196 (@odilf) ## Themes diff --git a/src/syntax_mapping/builtins/common/50-nix.toml b/src/syntax_mapping/builtins/common/50-nix.toml new file mode 100644 index 00000000..e2d2fcbb --- /dev/null +++ b/src/syntax_mapping/builtins/common/50-nix.toml @@ -0,0 +1,2 @@ +[mappings] +"JSON" = ["flake.lock"] From 0ed527f0d13951213ca510ccad45027d07611d7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Gonz=C3=A1lez=20Prieto?= Date: Mon, 3 Feb 2025 22:01:33 +0100 Subject: [PATCH 145/189] Replace spaces in git submodule paths To mitigate a bug in the GitHub API that broke the Dependabot action that updates submodules. See sharkdp/bat#3198. --- .gitmodules | 8 ++++---- .../syntaxes/02_Extra/{Assembly (ARM) => Assembly_(ARM)} | 0 assets/syntaxes/02_Extra/{HTML (Twig) => HTML_(Twig)} | 0 .../02_Extra/{JavaScript (Babel) => JavaScript_(Babel)} | 0 assets/syntaxes/02_Extra/{Org mode => Org_mode} | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename assets/syntaxes/02_Extra/{Assembly (ARM) => Assembly_(ARM)} (100%) rename assets/syntaxes/02_Extra/{HTML (Twig) => HTML_(Twig)} (100%) rename assets/syntaxes/02_Extra/{JavaScript (Babel) => JavaScript_(Babel)} (100%) rename assets/syntaxes/02_Extra/{Org mode => Org_mode} (100%) diff --git a/.gitmodules b/.gitmodules index 36060a72..fe3df9a2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -65,7 +65,7 @@ path = assets/themes/onehalf url = https://github.com/sonph/onehalf [submodule "assets/syntaxes/JavaScript (Babel)"] - path = assets/syntaxes/02_Extra/JavaScript (Babel) + path = assets/syntaxes/02_Extra/JavaScript_(Babel) url = https://github.com/babel/babel-sublime [submodule "assets/syntaxes/FSharp"] path = assets/syntaxes/02_Extra/FSharp @@ -89,7 +89,7 @@ path = assets/themes/sublime-snazzy url = https://github.com/greggb/sublime-snazzy [submodule "assets/syntaxes/Assembly (ARM)"] - path = assets/syntaxes/02_Extra/Assembly (ARM) + path = assets/syntaxes/02_Extra/Assembly_(ARM) url = https://github.com/tvi/Sublime-ARM-Assembly [submodule "assets/syntaxes/protobuf-syntax-highlighting"] path = assets/syntaxes/02_Extra/Protobuf @@ -108,7 +108,7 @@ path = assets/syntaxes/02_Extra/Fish url = https://github.com/Phidica/sublime-fish.git [submodule "assets/syntaxes/Org mode"] - path = assets/syntaxes/02_Extra/Org mode + path = assets/syntaxes/02_Extra/Org_mode url = https://github.com/jezcope/Org.tmbundle.git [submodule "assets/syntaxes/DotENV"] path = assets/syntaxes/02_Extra/DotENV @@ -142,7 +142,7 @@ path = assets/themes/dracula-sublime url = https://github.com/dracula/sublime.git [submodule "assets/syntaxes/HTML (Twig)"] - path = assets/syntaxes/02_Extra/HTML (Twig) + path = assets/syntaxes/02_Extra/HTML_(Twig) url = https://github.com/Anomareh/PHP-Twig.tmbundle.git [submodule "assets/themes/Nord-sublime"] path = assets/themes/Nord-sublime diff --git a/assets/syntaxes/02_Extra/Assembly (ARM) b/assets/syntaxes/02_Extra/Assembly_(ARM) similarity index 100% rename from assets/syntaxes/02_Extra/Assembly (ARM) rename to assets/syntaxes/02_Extra/Assembly_(ARM) diff --git a/assets/syntaxes/02_Extra/HTML (Twig) b/assets/syntaxes/02_Extra/HTML_(Twig) similarity index 100% rename from assets/syntaxes/02_Extra/HTML (Twig) rename to assets/syntaxes/02_Extra/HTML_(Twig) diff --git a/assets/syntaxes/02_Extra/JavaScript (Babel) b/assets/syntaxes/02_Extra/JavaScript_(Babel) similarity index 100% rename from assets/syntaxes/02_Extra/JavaScript (Babel) rename to assets/syntaxes/02_Extra/JavaScript_(Babel) diff --git a/assets/syntaxes/02_Extra/Org mode b/assets/syntaxes/02_Extra/Org_mode similarity index 100% rename from assets/syntaxes/02_Extra/Org mode rename to assets/syntaxes/02_Extra/Org_mode From 330c51de9fd2f181a907dedca3677a5991cb08d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Gonz=C3=A1lez=20Prieto?= Date: Tue, 4 Feb 2025 00:15:45 +0100 Subject: [PATCH 146/189] Add Changelog entry --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce78fd1d..61103651 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,10 @@ ## Features ## Bugfixes + - Fix `BAT_THEME_DARK` and `BAT_THEME_LIGHT` being ignored, see issue #3171 and PR #3168 (@bash) - Prevent `--list-themes` from outputting default theme info to stdout when it is piped, see #3189 (@einfachIrgendwer0815) +- Rename some submodules to fix Dependabot submodule updates, see issue #3198 and PR #3201 (@victor-gp) ## Other From b82b920420c937cd2d3180f9f0a1ee5a4297c524 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sat, 8 Feb 2025 21:06:33 +0200 Subject: [PATCH 147/189] attempt to fix syslog error highlighting --- assets/syntaxes/02_Extra/log.sublime-syntax | 24 +++++++-------- .../syntaxes/02_Extra/syslog.sublime-syntax | 30 ++++++++++--------- .../syntax-tests/source/Syslog/example.syslog | 1 + 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/assets/syntaxes/02_Extra/log.sublime-syntax b/assets/syntaxes/02_Extra/log.sublime-syntax index a68c7e83..0ce01f10 100644 --- a/assets/syntaxes/02_Extra/log.sublime-syntax +++ b/assets/syntaxes/02_Extra/log.sublime-syntax @@ -38,21 +38,21 @@ contexts: scope: markup.underline.link.scheme.log push: url-host log_level_lines: - - match: ^(?=.*{{error}}) + - match: (?=.*{{error}}) push: - - error_line + - error_line_meta - main_pop_at_eol - - match: ^(?=.*{{warning}}) + - match: (?=.*{{warning}}) push: - - warning_line + - warning_line_meta - main_pop_at_eol - - match: ^(?=.*{{info}}) + - match: (?=.*{{info}}) push: - - info_line + - info_line_meta - main_pop_at_eol - - match: ^(?=.*{{debug}}) + - match: (?=.*{{debug}}) push: - - debug_line + - debug_line_meta - main_pop_at_eol log_levels: - match: '{{error}}' @@ -63,16 +63,16 @@ contexts: scope: markup.info.log - match: '{{debug}}' scope: markup.info.log - error_line: + error_line_meta: - meta_scope: meta.annotation.error-line.log - include: immediately_pop - warning_line: + warning_line_meta: - meta_scope: meta.annotation.warning-line.log - include: immediately_pop - info_line: + info_line_meta: - meta_scope: meta.annotation.info-line.log - include: immediately_pop - debug_line: + debug_line_meta: - meta_scope: meta.annotation.debug-line.log - include: immediately_pop immediately_pop: diff --git a/assets/syntaxes/02_Extra/syslog.sublime-syntax b/assets/syntaxes/02_Extra/syslog.sublime-syntax index 1efad346..b1e10cca 100644 --- a/assets/syntaxes/02_Extra/syslog.sublime-syntax +++ b/assets/syntaxes/02_Extra/syslog.sublime-syntax @@ -31,22 +31,24 @@ contexts: structured-data: - match: '\[' scope: punctuation.section.mapping.begin.syslog - push: - - match: \] - scope: punctuation.section.mapping.end.syslog - pop: true - - match: \w+ - scope: variable.parameter.syslog - - match: = - scope: keyword.operator.assignment.syslog - push: - - match: '[^\s\]]+' - scope: constant.other.syslog - pop: true - - match: (?=\]) - pop: true + push: structured-data-contents - match: (?=\S) set: text + structured-data-contents: + - match: \] + scope: punctuation.section.mapping.end.syslog + pop: true + - match: \w+ + scope: variable.parameter.syslog + - match: = + scope: keyword.operator.assignment.syslog + push: structured-data-assignment + structured-data-assignment: + - match: '[^\s\]]+' + scope: constant.other.syslog + pop: true + - match: (?=\]) + pop: true text: - match: $ pop: true diff --git a/tests/syntax-tests/source/Syslog/example.syslog b/tests/syntax-tests/source/Syslog/example.syslog index 9dc82e7c..5b7e575b 100644 --- a/tests/syntax-tests/source/Syslog/example.syslog +++ b/tests/syntax-tests/source/Syslog/example.syslog @@ -14,3 +14,4 @@ Aug 11 13:36:34 192.168.220.5 nginx: 2021/08/11 13:36:34 [debug] 2031#2031: epol Aug 11 21:31:08 ::1 nginx: 2021/08/11 21:31:08 [debug] 760831#760831: epoll add event: fd:6 op:1 ev:10000001 Aug 11 21:40:31 hostname-here scop hello Aug 16 21:38:21 hostname-here systemd[1]: Finished Cleanup of Temporary Directories. +2025-02-08 20:52:11.039 - setfont: ERROR kdfontop.c:183 put_font_kdfontop: Unable to load such font with such kernel version From c0898dedb123b7c2a3ecea5c95c02b84dca26ba9 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sat, 8 Feb 2025 21:14:56 +0200 Subject: [PATCH 148/189] fix meta scope ordering to come before constant.numeric scope for times --- assets/syntaxes/02_Extra/syslog.sublime-syntax | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/syntaxes/02_Extra/syslog.sublime-syntax b/assets/syntaxes/02_Extra/syslog.sublime-syntax index b1e10cca..01ed58db 100644 --- a/assets/syntaxes/02_Extra/syslog.sublime-syntax +++ b/assets/syntaxes/02_Extra/syslog.sublime-syntax @@ -8,10 +8,10 @@ scope: text.log.syslog contexts: main: - match: ^(\w+\s+\d+)\s+(\d{2}:\d{2}:\d{2}) - scope: meta.datetime.syslog constant.numeric.syslog + scope: meta.datetime.syslog captures: - 1: meta.date.syslog - 2: meta.time.syslog + 1: meta.date.syslog constant.numeric.syslog + 2: meta.time.syslog constant.numeric.syslog push: loghost - match: ^ push: text From 27ba45ded7c24266c1d1b2547c2539516c5604c9 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 9 Feb 2025 12:56:53 +0200 Subject: [PATCH 149/189] patch Monokai Extended theme for better Syslog error highlighting --- CHANGELOG.md | 1 + assets/patches/Monokai-Extended.tmTheme.patch | 19 +++++++++-- doc/assets.md | 2 +- .../syntax-tests/highlighted/Log/example.log | 2 +- .../highlighted/Syslog/example.syslog | 33 ++++++++++--------- 5 files changed, 37 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61103651..71c8b749 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - Add syntax mapping for `paru` configuration files #3182 (@cyqsimon) - Add support for [Idris 2 programming language](https://www.idris-lang.org/) #3150 (@buzden) - Add syntax mapping for `nix`'s '`flake.lock` lockfiles #3196 (@odilf) +- Improve (Sys)log error highlighting, see #3205 (@keith-hall) ## Themes diff --git a/assets/patches/Monokai-Extended.tmTheme.patch b/assets/patches/Monokai-Extended.tmTheme.patch index 106b584d..ece5d49c 100644 --- a/assets/patches/Monokai-Extended.tmTheme.patch +++ b/assets/patches/Monokai-Extended.tmTheme.patch @@ -21,11 +21,26 @@ index 9c2aa3e..180cbbf 100644 Invalid scope - invalid -+ invalid, markup.error ++ invalid, meta.annotation.error-line settings background -@@ -1042,7 +1042,7 @@ +@@ -1038,11 +1038,22 @@ + #f8f8f0 + + ++ ++ name ++ Error ++ scope ++ markup.error ++ settings ++ ++ foreground ++ #dd2020 ++ ++ + name Invalid deprecated scope diff --git a/doc/assets.md b/doc/assets.md index a06a1e67..032a7883 100644 --- a/doc/assets.md +++ b/doc/assets.md @@ -26,7 +26,7 @@ in the `.sublime-syntax` format. 4. Re-compile `bat`. At compilation time, the `syntaxes.bin` file will be stored inside the `bat` binary. -5. Use `bat --list-languages` to check if the new languages are available. +5. Use `bat --list-languages` to check if the new languages are available. You may want to do something like `export PATH="`pwd`/target/debug:$PATH"` to ensure the locally compiled version is the one being used. 6. Add a syntax test for the new language. See [below](#Syntax-tests) for details. diff --git a/tests/syntax-tests/highlighted/Log/example.log b/tests/syntax-tests/highlighted/Log/example.log index f0e9754a..57e0e9a3 100644 --- a/tests/syntax-tests/highlighted/Log/example.log +++ b/tests/syntax-tests/highlighted/Log/example.log @@ -1,3 +1,3 @@ 2021-03-06 23:22:21.392 https://[2001:db8:4006:812::200e]:8080/path/the%20page.html 2021-03-06 23:22:21 https://example.com:8080/path/the%20page(with_parens).html -2022-03-16T17:41:02.519 helix_term::application [WARN] unhandled window/showMessage: ShowMessageParams { typ: Error, message: "rust-analyzer failed to load workspace: Failed to read Cargo metadata from Cargo.toml file /home/zeta/dev/raytracer/Cargo.toml, cargo 1.61.0-nightly (65c8266 2022-03-09): Failed to run `\"cargo\" \"metadata\" \"--format-version\" \"1\" \"--manifest-path\" \"/home/zeta/dev/raytracer/Cargo.toml\" \"--filter-platform\" \"wasm32-unknown-unknown\"`: `cargo metadata` exited with an error: Updating crates.io index\nerror: failed to select a version for `parking_lot`.\n ... required by package `raytracer v0.1.0 (/home/zeta/dev/raytracer)`\nversions that meet the requirements `^0.12.0` are: 0.12.0\n\nthe package `raytracer` depends on `parking_lot`, with features: `wasm-bindgen` but `parking_lot` does not have these features.\n\n\nfailed to select a version for `parking_lot` which could resolve this conflict\n" } +2022-03-16T17:41:02.519 helix_term::application [WARN] unhandled window/showMessage: ShowMessageParams { typ: Error, message: "rust-analyzer failed to load workspace: Failed to read Cargo metadata from Cargo.toml file /home/zeta/dev/raytracer/Cargo.toml, cargo 1.61.0-nightly (65c8266 2022-03-09): Failed to run `\"cargo\" \"metadata\" \"--format-version\" \"1\" \"--manifest-path\" \"/home/zeta/dev/raytracer/Cargo.toml\" \"--filter-platform\" \"wasm32-unknown-unknown\"`: `cargo metadata` exited with an error: Updating crates.io index\nerror: failed to select a version for `parking_lot`.\n ... required by package `raytracer v0.1.0 (/home/zeta/dev/raytracer)`\nversions that meet the requirements `^0.12.0` are: 0.12.0\n\nthe package `raytracer` depends on `parking_lot`, with features: `wasm-bindgen` but `parking_lot` does not have these features.\n\n\nfailed to select a version for `parking_lot` which could resolve this conflict\n" } diff --git a/tests/syntax-tests/highlighted/Syslog/example.syslog b/tests/syntax-tests/highlighted/Syslog/example.syslog index 0c200c33..78c45a12 100644 --- a/tests/syntax-tests/highlighted/Syslog/example.syslog +++ b/tests/syntax-tests/highlighted/Syslog/example.syslog @@ -1,16 +1,17 @@ -Apr 4 00:00:01 hostname-here systemd[1]: logrotate.service: Succeeded. -Apr 4 00:00:01 hostname-here systemd[1]: Finished Rotate log files. -Apr 4 00:00:01 hostname-here colord[920]: failed to get session [pid 137485]: No data available -Apr 4 00:00:21 hostname-here kernel: [55604.908232] audit: type=1400 audit(1617483621.094:28): apparmor="DENIED" operation="capable" profile="/usr/sbin/cups-browsed" pid=59311 comm="cups-browsed" capability=23 capname="sys_nice" -Apr 4 00:01:38 hostname-here systemd-resolved[721]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP. -Apr 4 00:04:46 hostname-here ntpd[952]: Soliciting pool server 255.76.59.37 -Apr 4 00:05:21 hostname-here ntpd[952]: ::1 local addr 0:0:0:0:0:0:0:1 ->  -Apr 4 00:06:29 hostname-here ntpd[952]: receive: Unexpected origin timestamp 0xe414a8d1.82e825f5 does not match aorg 0xe414a8d5.82c50d8c from server@127.0.0.1 xmt 0xe414a8d1.e671d7c4 -Apr 4 09:30:01 hostname-here CRON[89278]: (root) CMD ([ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/dev/null; fi) -Apr 4 16:32:07 hostname-here NetworkManager[740]:  [1617629527.1101] manager: NetworkManager state is now CONNECTED_GLOBAL -Apr 4 22:00:45 hostname-here dbus-daemon[1094]: [session uid=1000 pid=1094] Successfully activated service 'io.github.celluloid_player.Celluloid' -Aug 11 13:29:06 hostname-here insomnia_insomnia.desktop[142666]: 13:29:06.316 › [updater] Updater not running platform=linux dev=false -Aug 11 13:36:34 192.168.220.5 nginx: 2021/08/11 13:36:34 [debug] 2031#2031: epoll add event: fd:6 op:1 ev:00002001 -Aug 11 21:31:08 ::1 nginx: 2021/08/11 21:31:08 [debug] 760831#760831: epoll add event: fd:6 op:1 ev:10000001 -Aug 11 21:40:31 hostname-here scop hello -Aug 16 21:38:21 hostname-here systemd[1]: Finished Cleanup of Temporary Directories. +Apr 4 00:00:01 hostname-here systemd[1]: logrotate.service: Succeeded. +Apr 4 00:00:01 hostname-here systemd[1]: Finished Rotate log files. +Apr 4 00:00:01 hostname-here colord[920]: failed to get session [pid 137485]: No data available +Apr 4 00:00:21 hostname-here kernel: [55604.908232] audit: type=1400 audit(1617483621.094:28): apparmor="DENIED" operation="capable" profile="/usr/sbin/cups-browsed" pid=59311 comm="cups-browsed" capability=23 capname="sys_nice" +Apr 4 00:01:38 hostname-here systemd-resolved[721]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP. +Apr 4 00:04:46 hostname-here ntpd[952]: Soliciting pool server 255.76.59.37 +Apr 4 00:05:21 hostname-here ntpd[952]: ::1 local addr 0:0:0:0:0:0:0:1 ->  +Apr 4 00:06:29 hostname-here ntpd[952]: receive: Unexpected origin timestamp 0xe414a8d1.82e825f5 does not match aorg 0xe414a8d5.82c50d8c from server@127.0.0.1 xmt 0xe414a8d1.e671d7c4 +Apr 4 09:30:01 hostname-here CRON[89278]: (root) CMD ([ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/dev/null; fi) +Apr 4 16:32:07 hostname-here NetworkManager[740]:  [1617629527.1101] manager: NetworkManager state is now CONNECTED_GLOBAL +Apr 4 22:00:45 hostname-here dbus-daemon[1094]: [session uid=1000 pid=1094] Successfully activated service 'io.github.celluloid_player.Celluloid' +Aug 11 13:29:06 hostname-here insomnia_insomnia.desktop[142666]: 13:29:06.316 › [updater] Updater not running platform=linux dev=false +Aug 11 13:36:34 192.168.220.5 nginx: 2021/08/11 13:36:34 [debug] 2031#2031: epoll add event: fd:6 op:1 ev:00002001 +Aug 11 21:31:08 ::1 nginx: 2021/08/11 21:31:08 [debug] 760831#760831: epoll add event: fd:6 op:1 ev:10000001 +Aug 11 21:40:31 hostname-here scop hello +Aug 16 21:38:21 hostname-here systemd[1]: Finished Cleanup of Temporary Directories. +2025-02-08 20:52:11.039 - setfont: ERROR kdfontop.c:183 put_font_kdfontop: Unable to load such font with such kernel version From 512bfde7ce1c455a55d709aa8a46de103f97a782 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Mon, 13 Dec 2021 23:29:44 +0200 Subject: [PATCH 150/189] Correctly handle CSV files with a single separator throughout better auto-detection of CSV delimiter - files with a tsv extension are automatically detected as tab delimited - other files parsed as CSV go through the following steps: - if the first line contains at least 3 of the same separator, it uses that separator as a delimiter - if the first line contains only one supported separator character, it uses that separator as a delimiter - otherwise it falls back to treating all supported delimiters as the delimiter supported delimiters, in precedence order: - comma `,` - semi-colon `;` - tab `\t` - pipe `|` --- .../CSV-comma.sublime-syntax} | 66 +++++----- .../02_Extra/CSV/CSV-pipe.sublime-syntax | 80 +++++++++++++ .../CSV/CSV-semi-colon.sublime-syntax | 79 ++++++++++++ .../syntaxes/02_Extra/CSV/CSV.sublime-syntax | 113 ++++++++++++++++++ .../syntaxes/02_Extra/CSV/TSV.sublime-syntax | 83 +++++++++++++ .../highlighted/CSV/comma-delimited.csv | 3 + .../highlighted/CSV/comma_in_quotes.csv | 12 +- ...als_comma_decimal_point_pipe_delimited.csv | 3 + ...omma_decimal_point_semicolon_delimited.csv | 3 + tests/syntax-tests/highlighted/CSV/simple.tsv | 3 + .../source/CSV/comma-delimited.csv | 3 + ...als_comma_decimal_point_pipe_delimited.csv | 3 + ...omma_decimal_point_semicolon_delimited.csv | 3 + tests/syntax-tests/source/CSV/simple.tsv | 3 + 14 files changed, 419 insertions(+), 38 deletions(-) rename assets/syntaxes/02_Extra/{CSV.sublime-syntax => CSV/CSV-comma.sublime-syntax} (62%) create mode 100644 assets/syntaxes/02_Extra/CSV/CSV-pipe.sublime-syntax create mode 100644 assets/syntaxes/02_Extra/CSV/CSV-semi-colon.sublime-syntax create mode 100644 assets/syntaxes/02_Extra/CSV/CSV.sublime-syntax create mode 100644 assets/syntaxes/02_Extra/CSV/TSV.sublime-syntax create mode 100644 tests/syntax-tests/highlighted/CSV/comma-delimited.csv create mode 100644 tests/syntax-tests/highlighted/CSV/decimals_comma_decimal_point_pipe_delimited.csv create mode 100644 tests/syntax-tests/highlighted/CSV/decimals_comma_decimal_point_semicolon_delimited.csv create mode 100644 tests/syntax-tests/highlighted/CSV/simple.tsv create mode 100644 tests/syntax-tests/source/CSV/comma-delimited.csv create mode 100644 tests/syntax-tests/source/CSV/decimals_comma_decimal_point_pipe_delimited.csv create mode 100644 tests/syntax-tests/source/CSV/decimals_comma_decimal_point_semicolon_delimited.csv create mode 100644 tests/syntax-tests/source/CSV/simple.tsv diff --git a/assets/syntaxes/02_Extra/CSV.sublime-syntax b/assets/syntaxes/02_Extra/CSV/CSV-comma.sublime-syntax similarity index 62% rename from assets/syntaxes/02_Extra/CSV.sublime-syntax rename to assets/syntaxes/02_Extra/CSV/CSV-comma.sublime-syntax index 0ad17834..f23751ac 100644 --- a/assets/syntaxes/02_Extra/CSV.sublime-syntax +++ b/assets/syntaxes/02_Extra/CSV/CSV-comma.sublime-syntax @@ -2,20 +2,21 @@ --- # See http://www.sublimetext.com/docs/3/syntax.html name: Comma Separated Values -file_extensions: - - csv - - tsv -scope: text.csv +scope: text.csv.comma variables: - field_separator: (?:[,;|\t]) + field_separator: (?:,) record_separator: (?:$\n?) contexts: - prototype: - - match: (?={{record_separator}}) - pop: true + main: + - match: '^' + push: fields + fields: - - match: "" + - include: record_separator + - match: '' push: + - field_or_record_separator + - field5 - field_or_record_separator - field4 - field_or_record_separator @@ -24,54 +25,55 @@ contexts: - field2 - field_or_record_separator - field1 - main: + + record_separator_pop: + - match: (?={{record_separator}}) + pop: true + + record_separator: - meta_include_prototype: false - - match: "^" - set: fields + - match: '{{record_separator}}' + scope: punctuation.terminator.record.csv + pop: true field_or_record_separator: - meta_include_prototype: false - - match: "{{record_separator}}" - scope: punctuation.terminator.record.csv - pop: true - - match: "{{field_separator}}" + - include: record_separator_pop + - match: '{{field_separator}}' scope: punctuation.separator.sequence.csv pop: true field_contents: - match: '"' scope: punctuation.definition.string.begin.csv - push: double_quoted_string + push: scope:text.csv#double_quoted_string - - match: (?={{field_separator}}|{{record_separator}}) - pop: true - - double_quoted_string: - - meta_include_prototype: false - - meta_scope: string.quoted.double.csv - - match: '""' - scope: constant.character.escape.csv - - match: '"' - scope: punctuation.definition.string.end.csv + - include: record_separator_pop + - match: (?={{field_separator}}) pop: true field1: - - match: "" + - match: '' set: - - meta_content_scope: meta.field-1.csv support.type + - meta_content_scope: meta.field-1.csv variable.parameter - include: field_contents field2: - - match: "" + - match: '' set: - meta_content_scope: meta.field-2.csv support.function - include: field_contents field3: - - match: "" + - match: '' set: - meta_content_scope: meta.field-3.csv constant.numeric - include: field_contents field4: - - match: "" + - match: '' set: - meta_content_scope: meta.field-4.csv keyword.operator - include: field_contents + field5: + - match: '' + set: + - meta_content_scope: meta.field-5.csv string.unquoted + - include: field_contents diff --git a/assets/syntaxes/02_Extra/CSV/CSV-pipe.sublime-syntax b/assets/syntaxes/02_Extra/CSV/CSV-pipe.sublime-syntax new file mode 100644 index 00000000..52103fde --- /dev/null +++ b/assets/syntaxes/02_Extra/CSV/CSV-pipe.sublime-syntax @@ -0,0 +1,80 @@ +%YAML 1.2 +--- +# See http://www.sublimetext.com/docs/3/syntax.html +name: Pipe Separated Values +scope: text.csv.pipe +variables: + field_separator: (?:\|) + record_separator: (?:$\n?) + +contexts: + main: + - match: '^' + push: fields + + fields: + - include: record_separator + - match: '' + push: + - field_or_record_separator + - field5 + - field_or_record_separator + - field4 + - field_or_record_separator + - field3 + - field_or_record_separator + - field2 + - field_or_record_separator + - field1 + + record_separator_pop: + - match: (?={{record_separator}}) + pop: true + + record_separator: + - meta_include_prototype: false + - match: '{{record_separator}}' + scope: punctuation.terminator.record.csv + pop: true + + field_or_record_separator: + - meta_include_prototype: false + - include: record_separator_pop + - match: '{{field_separator}}' + scope: punctuation.separator.sequence.csv + pop: true + + field_contents: + - match: '"' + scope: punctuation.definition.string.begin.csv + push: scope:text.csv#double_quoted_string + + - include: record_separator_pop + - match: (?={{field_separator}}) + pop: true + + field1: + - match: '' + set: + - meta_content_scope: meta.field-1.csv variable.parameter + - include: field_contents + field2: + - match: '' + set: + - meta_content_scope: meta.field-2.csv support.function + - include: field_contents + field3: + - match: '' + set: + - meta_content_scope: meta.field-3.csv constant.numeric + - include: field_contents + field4: + - match: '' + set: + - meta_content_scope: meta.field-4.csv keyword.operator + - include: field_contents + field5: + - match: '' + set: + - meta_content_scope: meta.field-5.csv string.unquoted + - include: field_contents diff --git a/assets/syntaxes/02_Extra/CSV/CSV-semi-colon.sublime-syntax b/assets/syntaxes/02_Extra/CSV/CSV-semi-colon.sublime-syntax new file mode 100644 index 00000000..e0547ce0 --- /dev/null +++ b/assets/syntaxes/02_Extra/CSV/CSV-semi-colon.sublime-syntax @@ -0,0 +1,79 @@ +%YAML 1.2 +--- +# See http://www.sublimetext.com/docs/3/syntax.html +name: Semi-Colon Separated Values +scope: text.csv.semi-colon +variables: + field_separator: (?:;) + record_separator: (?:$\n?) +contexts: + main: + - match: '^' + push: fields + + fields: + - include: record_separator + - match: '' + push: + - field_or_record_separator + - field5 + - field_or_record_separator + - field4 + - field_or_record_separator + - field3 + - field_or_record_separator + - field2 + - field_or_record_separator + - field1 + + record_separator_pop: + - match: (?={{record_separator}}) + pop: true + + record_separator: + - meta_include_prototype: false + - match: '{{record_separator}}' + scope: punctuation.terminator.record.csv + pop: true + + field_or_record_separator: + - meta_include_prototype: false + - include: record_separator_pop + - match: '{{field_separator}}' + scope: punctuation.separator.sequence.csv + pop: true + + field_contents: + - match: '"' + scope: punctuation.definition.string.begin.csv + push: scope:text.csv#double_quoted_string + + - include: record_separator_pop + - match: (?={{field_separator}}) + pop: true + + field1: + - match: '' + set: + - meta_content_scope: meta.field-1.csv variable.parameter + - include: field_contents + field2: + - match: '' + set: + - meta_content_scope: meta.field-2.csv support.function + - include: field_contents + field3: + - match: '' + set: + - meta_content_scope: meta.field-3.csv constant.numeric + - include: field_contents + field4: + - match: '' + set: + - meta_content_scope: meta.field-4.csv keyword.operator + - include: field_contents + field5: + - match: '' + set: + - meta_content_scope: meta.field-5.csv string.unquoted + - include: field_contents diff --git a/assets/syntaxes/02_Extra/CSV/CSV.sublime-syntax b/assets/syntaxes/02_Extra/CSV/CSV.sublime-syntax new file mode 100644 index 00000000..8ce83acb --- /dev/null +++ b/assets/syntaxes/02_Extra/CSV/CSV.sublime-syntax @@ -0,0 +1,113 @@ +%YAML 1.2 +--- +# See http://www.sublimetext.com/docs/3/syntax.html +name: Separated Values +file_extensions: + - csv +scope: text.csv +variables: + field_separator_chars: ',;\t|' + field_separator: (?:[{{field_separator_chars}}]) + record_separator: (?:$\n?) +contexts: + main: + - meta_include_prototype: false + - include: three_field_separators + - include: single_separator_type_on_line + - match: '^' + push: unknown-separated-main + + three_field_separators: + - match: ^(?=(?:[^,]*,){3}) + set: scope:text.csv.comma + - match: ^(?=(?:[^;]*;){3}) + set: scope:text.csv.semi-colon + - match: ^(?=(?:[^\t]*\t){3}) + set: scope:text.csv.tab + - match: ^(?=(?:[^|]*\|){3}) + set: scope:text.csv.pipe + + single_separator_type_on_line: + - match: ^(?=[^{{field_separator_chars}}]*,[^;\t|]*$) + set: scope:text.csv.comma + - match: ^(?=[^{{field_separator_chars}}]*;[^,\t|]*$) + set: scope:text.csv.semi-colon + - match: ^(?=[^{{field_separator_chars}}]*\t[^,;|]*$) + set: scope:text.csv.tab + - match: ^(?=[^{{field_separator_chars}}]*\|[^,;\t]*$) + set: scope:text.csv.pipe + + unknown-separated-main: + - include: record_separator + - match: '' + push: + - field_or_record_separator + - field5 + - field_or_record_separator + - field4 + - field_or_record_separator + - field3 + - field_or_record_separator + - field2 + - field_or_record_separator + - field1 + + record_separator_pop: + - match: (?={{record_separator}}) + pop: true + + record_separator: + - meta_include_prototype: false + - match: '{{record_separator}}' + scope: punctuation.terminator.record.csv + + field_or_record_separator: + - meta_include_prototype: false + - include: record_separator_pop + - match: '{{field_separator}}' + scope: punctuation.separator.sequence.csv + pop: true + + field_contents: + - match: '"' + scope: punctuation.definition.string.begin.csv + push: double_quoted_string + + - include: record_separator_pop + - match: (?={{field_separator}}) + pop: true + + double_quoted_string: + - meta_include_prototype: false + - meta_scope: string.quoted.double.csv + - match: '""' + scope: constant.character.escape.csv + - match: '"' + scope: punctuation.definition.string.end.csv + pop: true + + field1: + - match: '' + set: + - meta_content_scope: meta.field-1.csv variable.parameter + - include: field_contents + field2: + - match: '' + set: + - meta_content_scope: meta.field-2.csv support.function + - include: field_contents + field3: + - match: '' + set: + - meta_content_scope: meta.field-3.csv constant.numeric + - include: field_contents + field4: + - match: '' + set: + - meta_content_scope: meta.field-4.csv keyword.operator + - include: field_contents + field5: + - match: '' + set: + - meta_content_scope: meta.field-5.csv string.unquoted + - include: field_contents diff --git a/assets/syntaxes/02_Extra/CSV/TSV.sublime-syntax b/assets/syntaxes/02_Extra/CSV/TSV.sublime-syntax new file mode 100644 index 00000000..fdca0c31 --- /dev/null +++ b/assets/syntaxes/02_Extra/CSV/TSV.sublime-syntax @@ -0,0 +1,83 @@ +%YAML 1.2 +--- +# See http://www.sublimetext.com/docs/3/syntax.html +name: Tab Separated Values +scope: text.csv.tab +file_extensions: + - tsv + +variables: + field_separator: (?:\t) + record_separator: (?:$\n?) + +contexts: + main: + - match: '^' + push: fields + + fields: + - include: record_separator + - match: '' + push: + - field_or_record_separator + - field5 + - field_or_record_separator + - field4 + - field_or_record_separator + - field3 + - field_or_record_separator + - field2 + - field_or_record_separator + - field1 + + record_separator_pop: + - match: (?={{record_separator}}) + pop: true + + record_separator: + - meta_include_prototype: false + - match: '{{record_separator}}' + scope: punctuation.terminator.record.csv + pop: true + + field_or_record_separator: + - meta_include_prototype: false + - include: record_separator_pop + - match: '{{field_separator}}' + scope: punctuation.separator.sequence.csv + pop: true + + field_contents: + - match: '"' + scope: punctuation.definition.string.begin.csv + push: scope:text.csv#double_quoted_string + + - include: record_separator_pop + - match: (?={{field_separator}}) + pop: true + + field1: + - match: '' + set: + - meta_content_scope: meta.field-1.csv variable.parameter + - include: field_contents + field2: + - match: '' + set: + - meta_content_scope: meta.field-2.csv support.function + - include: field_contents + field3: + - match: '' + set: + - meta_content_scope: meta.field-3.csv constant.numeric + - include: field_contents + field4: + - match: '' + set: + - meta_content_scope: meta.field-4.csv keyword.operator + - include: field_contents + field5: + - match: '' + set: + - meta_content_scope: meta.field-5.csv string.unquoted + - include: field_contents diff --git a/tests/syntax-tests/highlighted/CSV/comma-delimited.csv b/tests/syntax-tests/highlighted/CSV/comma-delimited.csv new file mode 100644 index 00000000..05285a7c --- /dev/null +++ b/tests/syntax-tests/highlighted/CSV/comma-delimited.csv @@ -0,0 +1,3 @@ +foo,bar,baz,this|that,test,colors,cycle +1.2,1.7,2.5,blah;cool,test,colors,cycle + diff --git a/tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv b/tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv index 9bd0da1a..8f4004a0 100644 --- a/tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv +++ b/tests/syntax-tests/highlighted/CSV/comma_in_quotes.csv @@ -1,7 +1,7 @@ -first,last,address,city,zip -John,Doe,120 any st.,"Anytown, WW",08123 -a,b -1,"ha  +first,last,address,city,zip +John,Doe,120 any st.,"Anytown, WW",08123 +a,b +1,"ha  ""ha""  -ha",120 any st.,"Anytown, WW",08123 -3,4,120 any st.,"Anytown, WW",08123 +ha",120 any st.,"Anytown, WW",08123 +3,4,120 any st.,"Anytown, WW",08123 diff --git a/tests/syntax-tests/highlighted/CSV/decimals_comma_decimal_point_pipe_delimited.csv b/tests/syntax-tests/highlighted/CSV/decimals_comma_decimal_point_pipe_delimited.csv new file mode 100644 index 00000000..843264e6 --- /dev/null +++ b/tests/syntax-tests/highlighted/CSV/decimals_comma_decimal_point_pipe_delimited.csv @@ -0,0 +1,3 @@ +foo|bar|baz +1,2|1,7|2,7 +1,5|8,5|-5,5 diff --git a/tests/syntax-tests/highlighted/CSV/decimals_comma_decimal_point_semicolon_delimited.csv b/tests/syntax-tests/highlighted/CSV/decimals_comma_decimal_point_semicolon_delimited.csv new file mode 100644 index 00000000..da1b0704 --- /dev/null +++ b/tests/syntax-tests/highlighted/CSV/decimals_comma_decimal_point_semicolon_delimited.csv @@ -0,0 +1,3 @@ +foo;bar;baz +1,2;1,7;2,7 +1,5;8,5;-5,5 diff --git a/tests/syntax-tests/highlighted/CSV/simple.tsv b/tests/syntax-tests/highlighted/CSV/simple.tsv new file mode 100644 index 00000000..7dd1a9de --- /dev/null +++ b/tests/syntax-tests/highlighted/CSV/simple.tsv @@ -0,0 +1,3 @@ +foo bar baz|;, test hello world tsv +1,2 1,7 2,7 a b c "hello again" tsv +";|," ;|, baz test "hello world" tsv diff --git a/tests/syntax-tests/source/CSV/comma-delimited.csv b/tests/syntax-tests/source/CSV/comma-delimited.csv new file mode 100644 index 00000000..4d7b2ec2 --- /dev/null +++ b/tests/syntax-tests/source/CSV/comma-delimited.csv @@ -0,0 +1,3 @@ +foo,bar,baz,this|that,test,colors,cycle +1.2,1.7,2.5,blah;cool,test,colors,cycle + diff --git a/tests/syntax-tests/source/CSV/decimals_comma_decimal_point_pipe_delimited.csv b/tests/syntax-tests/source/CSV/decimals_comma_decimal_point_pipe_delimited.csv new file mode 100644 index 00000000..c8a46786 --- /dev/null +++ b/tests/syntax-tests/source/CSV/decimals_comma_decimal_point_pipe_delimited.csv @@ -0,0 +1,3 @@ +foo|bar|baz +1,2|1,7|2,7 +1,5|8,5|-5,5 diff --git a/tests/syntax-tests/source/CSV/decimals_comma_decimal_point_semicolon_delimited.csv b/tests/syntax-tests/source/CSV/decimals_comma_decimal_point_semicolon_delimited.csv new file mode 100644 index 00000000..63301750 --- /dev/null +++ b/tests/syntax-tests/source/CSV/decimals_comma_decimal_point_semicolon_delimited.csv @@ -0,0 +1,3 @@ +foo;bar;baz +1,2;1,7;2,7 +1,5;8,5;-5,5 diff --git a/tests/syntax-tests/source/CSV/simple.tsv b/tests/syntax-tests/source/CSV/simple.tsv new file mode 100644 index 00000000..2cf870a5 --- /dev/null +++ b/tests/syntax-tests/source/CSV/simple.tsv @@ -0,0 +1,3 @@ +foo bar baz|;, test hello world tsv +1,2 1,7 2,7 a b c "hello again" tsv +";|," ;|, baz test "hello world" tsv From 93fd013aa1c459a9a0a9a809b2a21ad67d6a7f86 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Fri, 24 Jan 2025 23:05:35 +0200 Subject: [PATCH 151/189] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61103651..d1d4b99a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - Add syntax mapping for `paru` configuration files #3182 (@cyqsimon) - Add support for [Idris 2 programming language](https://www.idris-lang.org/) #3150 (@buzden) - Add syntax mapping for `nix`'s '`flake.lock` lockfiles #3196 (@odilf) +- Improvements to CSV/TSV highlighting, with autodetection of delimiter and support for TSV files, see #3186 (@keith-hall) ## Themes From 2843a2c0e877900be77ebb26a5aa41d5ff76a287 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sat, 15 Feb 2025 08:46:22 +0200 Subject: [PATCH 152/189] Add mapping for ndjson file extension to JSON syntax --- CHANGELOG.md | 1 + src/syntax_mapping/builtins/common/50-json.toml | 2 +- tests/syntax-tests/highlighted/JSON/example.ndjson | 3 +++ tests/syntax-tests/source/JSON/example.ndjson | 3 +++ 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 tests/syntax-tests/highlighted/JSON/example.ndjson create mode 100644 tests/syntax-tests/source/JSON/example.ndjson diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b07bd58..6859f71a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - Add syntax mapping for `nix`'s '`flake.lock` lockfiles #3196 (@odilf) - Improvements to CSV/TSV highlighting, with autodetection of delimiter and support for TSV files, see #3186 (@keith- - Improve (Sys)log error highlighting, see #3205 (@keith-hall) +- Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) ## Themes diff --git a/src/syntax_mapping/builtins/common/50-json.toml b/src/syntax_mapping/builtins/common/50-json.toml index 3198c4f3..6b3252e8 100644 --- a/src/syntax_mapping/builtins/common/50-json.toml +++ b/src/syntax_mapping/builtins/common/50-json.toml @@ -1,3 +1,3 @@ # JSON Lines is a simple variation of JSON #2535 [mappings] -"JSON" = ["*.jsonl", "*.jsonc", "*.jsonld", "*.geojson"] +"JSON" = ["*.jsonl", "*.jsonc", "*.jsonld", "*.geojson", "*.ndjson"] diff --git a/tests/syntax-tests/highlighted/JSON/example.ndjson b/tests/syntax-tests/highlighted/JSON/example.ndjson new file mode 100644 index 00000000..775a5218 --- /dev/null +++ b/tests/syntax-tests/highlighted/JSON/example.ndjson @@ -0,0 +1,3 @@ +{"some":"thing"} +{"foo":17,"bar":false,"quux":true} +{"may":{"include":"nested","objects":["and","arrays"]}} diff --git a/tests/syntax-tests/source/JSON/example.ndjson b/tests/syntax-tests/source/JSON/example.ndjson new file mode 100644 index 00000000..2bc459eb --- /dev/null +++ b/tests/syntax-tests/source/JSON/example.ndjson @@ -0,0 +1,3 @@ +{"some":"thing"} +{"foo":17,"bar":false,"quux":true} +{"may":{"include":"nested","objects":["and","arrays"]}} From d31bc4347a974089c5d9c45a59e9d41d257dcedf Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Sun, 23 Feb 2025 20:20:52 +0200 Subject: [PATCH 153/189] Map various .NET file extensions to XML syntax --- CHANGELOG.md | 1 + src/syntax_mapping/builtins/common/50-dotnet-xml.toml | 2 ++ .../highlighted/XML/Directory.Build.props | 5 +++++ tests/syntax-tests/highlighted/XML/console.csproj | 11 +++++++++++ .../syntax-tests/highlighted/XML/projectname.targets | 8 ++++++++ tests/syntax-tests/source/XML/Directory.Build.props | 5 +++++ tests/syntax-tests/source/XML/console.csproj | 11 +++++++++++ tests/syntax-tests/source/XML/projectname.targets | 8 ++++++++ 8 files changed, 51 insertions(+) create mode 100644 src/syntax_mapping/builtins/common/50-dotnet-xml.toml create mode 100644 tests/syntax-tests/highlighted/XML/Directory.Build.props create mode 100644 tests/syntax-tests/highlighted/XML/console.csproj create mode 100644 tests/syntax-tests/highlighted/XML/projectname.targets create mode 100644 tests/syntax-tests/source/XML/Directory.Build.props create mode 100644 tests/syntax-tests/source/XML/console.csproj create mode 100644 tests/syntax-tests/source/XML/projectname.targets diff --git a/CHANGELOG.md b/CHANGELOG.md index 6859f71a..55fb6c5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - Improvements to CSV/TSV highlighting, with autodetection of delimiter and support for TSV files, see #3186 (@keith- - Improve (Sys)log error highlighting, see #3205 (@keith-hall) - Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) +- Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall) ## Themes diff --git a/src/syntax_mapping/builtins/common/50-dotnet-xml.toml b/src/syntax_mapping/builtins/common/50-dotnet-xml.toml new file mode 100644 index 00000000..1e3a860a --- /dev/null +++ b/src/syntax_mapping/builtins/common/50-dotnet-xml.toml @@ -0,0 +1,2 @@ +[mappings] +"XML" = ["*.csproj", "*.vbproj", "*.props", "*.targets"] diff --git a/tests/syntax-tests/highlighted/XML/Directory.Build.props b/tests/syntax-tests/highlighted/XML/Directory.Build.props new file mode 100644 index 00000000..bd4b97a0 --- /dev/null +++ b/tests/syntax-tests/highlighted/XML/Directory.Build.props @@ -0,0 +1,5 @@ +<Project> + <PropertyGroup> + <OutDir>C:\output\$(MSBuildProjectName) +  + diff --git a/tests/syntax-tests/highlighted/XML/console.csproj b/tests/syntax-tests/highlighted/XML/console.csproj new file mode 100644 index 00000000..ee49fbf0 --- /dev/null +++ b/tests/syntax-tests/highlighted/XML/console.csproj @@ -0,0 +1,11 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe + <TargetFramework>net9.0 + <RootNamespace>SomeNamespace + <ImplicitUsings>enable + <Nullable>enable +  + + diff --git a/tests/syntax-tests/highlighted/XML/projectname.targets b/tests/syntax-tests/highlighted/XML/projectname.targets new file mode 100644 index 00000000..0af85fbd --- /dev/null +++ b/tests/syntax-tests/highlighted/XML/projectname.targets @@ -0,0 +1,8 @@ + +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <Target Name="TestTarget" AfterTargets="Build"> + <Message Importance="High" Text="-------------MHM----------------" /> +  + + diff --git a/tests/syntax-tests/source/XML/Directory.Build.props b/tests/syntax-tests/source/XML/Directory.Build.props new file mode 100644 index 00000000..95da98cf --- /dev/null +++ b/tests/syntax-tests/source/XML/Directory.Build.props @@ -0,0 +1,5 @@ + + + C:\output\$(MSBuildProjectName) + + diff --git a/tests/syntax-tests/source/XML/console.csproj b/tests/syntax-tests/source/XML/console.csproj new file mode 100644 index 00000000..61dd6821 --- /dev/null +++ b/tests/syntax-tests/source/XML/console.csproj @@ -0,0 +1,11 @@ + + + + Exe + net9.0 + SomeNamespace + enable + enable + + + diff --git a/tests/syntax-tests/source/XML/projectname.targets b/tests/syntax-tests/source/XML/projectname.targets new file mode 100644 index 00000000..fc597ed2 --- /dev/null +++ b/tests/syntax-tests/source/XML/projectname.targets @@ -0,0 +1,8 @@ + + + + + + + + From ffc094bd91027162c550ad19998b734271a79ca3 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Tue, 25 Feb 2025 22:17:00 +0200 Subject: [PATCH 154/189] Add debsources syntax --- CHANGELOG.md | 1 + .../02_Extra/apt-source-list.sublime-syntax | 42 +++++++++++++++++++ .../highlighted/debsources/sources.list | 15 +++++++ .../source/debsources/sources.list | 15 +++++++ 4 files changed, 73 insertions(+) create mode 100644 assets/syntaxes/02_Extra/apt-source-list.sublime-syntax create mode 100644 tests/syntax-tests/highlighted/debsources/sources.list create mode 100644 tests/syntax-tests/source/debsources/sources.list diff --git a/CHANGELOG.md b/CHANGELOG.md index 55fb6c5d..b4a8184c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - Improve (Sys)log error highlighting, see #3205 (@keith-hall) - Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) - Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall) +- Add debsources syntax to highlight `/etc/apt/sources.list` files, see #3215 (@keith-hall) ## Themes diff --git a/assets/syntaxes/02_Extra/apt-source-list.sublime-syntax b/assets/syntaxes/02_Extra/apt-source-list.sublime-syntax new file mode 100644 index 00000000..d5ede5b5 --- /dev/null +++ b/assets/syntaxes/02_Extra/apt-source-list.sublime-syntax @@ -0,0 +1,42 @@ +%YAML 1.2 +--- +# See http://www.sublimetext.com/docs/syntax.html +name: debsources +file_extensions: + - sources.list +scope: text.apt-source-list +contexts: + main: + - include: comments + - match: ^[\w-]+ + scope: constant.language.apt-source-list + - match: \w+://\S+ + scope: markup.underline.link.apt-source-list + push: distribution + - match: \bmain\b + scope: support.class.apt-source-list + - match: \buniverse\b + scope: support.constant.apt-source-list + - match: \brestricted\b + scope: storage.modifier.apt-source-list + - match: \bmultiverse\b + scope: keyword.other.apt-source-list + - match: '[\w-]+' + scope: constant.other.apt-source-list + + comments: + - match: '#' + scope: punctuation.definition.comment.apt-source-list + push: line_comment + + line_comment: + - meta_scope: comment.line.apt-source-list + - match: $ + pop: true + + distribution: + - match: \S+ + scope: support.type.apt-source-list + pop: 1 + - match: $ + pop: 1 diff --git a/tests/syntax-tests/highlighted/debsources/sources.list b/tests/syntax-tests/highlighted/debsources/sources.list new file mode 100644 index 00000000..ef89d137 --- /dev/null +++ b/tests/syntax-tests/highlighted/debsources/sources.list @@ -0,0 +1,15 @@ +# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to +# newer versions of the distribution. + +deb https://deb.debian.org/debian bookworm main non-free-firmware +#deb-src https://deb.debian.org/debian bookworm main non-free-firmware + +## Major bug fix updates produced after the final release of the +## distribution. +# deb-src http://lt.archive.ubuntu.com/ubuntu/ xenial-updates main restricted + +deb https://security.debian.org/debian-security bookworm-security main non-free-firmware +deb-src https://security.debian.org/debian-security bookworm-security main non-free-firmware + +deb https://deb.debian.org/debian bookworm-updates main non-free-firmware +deb-src https://deb.debian.org/debian bookworm-updates main non-free-firmware diff --git a/tests/syntax-tests/source/debsources/sources.list b/tests/syntax-tests/source/debsources/sources.list new file mode 100644 index 00000000..2bdc6ef1 --- /dev/null +++ b/tests/syntax-tests/source/debsources/sources.list @@ -0,0 +1,15 @@ +# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to +# newer versions of the distribution. + +deb https://deb.debian.org/debian bookworm main non-free-firmware +#deb-src https://deb.debian.org/debian bookworm main non-free-firmware + +## Major bug fix updates produced after the final release of the +## distribution. +# deb-src http://lt.archive.ubuntu.com/ubuntu/ xenial-updates main restricted + +deb https://security.debian.org/debian-security bookworm-security main non-free-firmware +deb-src https://security.debian.org/debian-security bookworm-security main non-free-firmware + +deb https://deb.debian.org/debian bookworm-updates main non-free-firmware +deb-src https://deb.debian.org/debian bookworm-updates main non-free-firmware From 75313d886b5e8811efa09720310f4a74551a1e68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Mar 2025 03:25:07 +0000 Subject: [PATCH 155/189] Bump assets/syntaxes/02_Extra/Nix from `9032bd6` to `48c497c` (#3219) Bumps [assets/syntaxes/02_Extra/Nix](https://github.com/wmertens/sublime-nix) from `9032bd6` to `48c497c`. - [Release notes](https://github.com/wmertens/sublime-nix/releases) - [Commits](https://github.com/wmertens/sublime-nix/compare/9032bd613746b9c135223fd6f26a5fa555f18946...48c497c709c66a2fb118c534a8de8e4e1c4c401d) --- updated-dependencies: - dependency-name: assets/syntaxes/02_Extra/Nix dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- assets/syntaxes/02_Extra/Nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/syntaxes/02_Extra/Nix b/assets/syntaxes/02_Extra/Nix index 9032bd61..48c497c7 160000 --- a/assets/syntaxes/02_Extra/Nix +++ b/assets/syntaxes/02_Extra/Nix @@ -1 +1 @@ -Subproject commit 9032bd613746b9c135223fd6f26a5fa555f18946 +Subproject commit 48c497c709c66a2fb118c534a8de8e4e1c4c401d From 0449107230063040d9567a68167d0593bd137ba8 Mon Sep 17 00:00:00 2001 From: David Peter Date: Tue, 4 Mar 2025 19:30:20 +0100 Subject: [PATCH 156/189] Update sponsors --- README.md | 11 +---------- doc/sponsors/workos-logo-white-bg.svg | 11 ----------- 2 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 doc/sponsors/workos-logo-white-bg.svg diff --git a/README.md b/README.md index eefc101b..c3818851 100644 --- a/README.md +++ b/README.md @@ -21,16 +21,7 @@ ### Sponsors -A special *thank you* goes to our biggest sponsors:
- - WorkOS -
- Your app, enterprise-ready. -
- Start selling to enterprise customers with just a few lines of code. -
- Add Single Sign-On (and more) in minutes instead of months. -
+A special *thank you* goes to our biggest sponsor:
Warp diff --git a/doc/sponsors/workos-logo-white-bg.svg b/doc/sponsors/workos-logo-white-bg.svg deleted file mode 100644 index 3c9bb24c..00000000 --- a/doc/sponsors/workos-logo-white-bg.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - From a006457a724e6f395676b8a45386c34625324baf Mon Sep 17 00:00:00 2001 From: David Peter Date: Sun, 9 Mar 2025 19:20:02 +0100 Subject: [PATCH 157/189] Update Warp link --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c3818851..0eebd295 100644 --- a/README.md +++ b/README.md @@ -23,14 +23,12 @@ A special *thank you* goes to our biggest sponsor:
- + Warp
Warp, the intelligent terminal
- Run commands like a power user with AI and your dev team’s -
- knowledge in one fast, intuitive terminal. For MacOS or Linux. + Available on MacOS, Linux, Windows
### Syntax highlighting From 3838766dd4464e93630a5f274b1357cef47d8835 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Mar 2025 16:13:59 +0000 Subject: [PATCH 158/189] Bump assets/syntaxes/02_Extra/Docker from `0f6b7bc` to `c001fb2` (#3024) Bumps [assets/syntaxes/02_Extra/Docker](https://github.com/asbjornenge/Docker.tmbundle) from `0f6b7bc` to `c001fb2`. - [Release notes](https://github.com/asbjornenge/Docker.tmbundle/releases) - [Commits](https://github.com/asbjornenge/Docker.tmbundle/compare/0f6b7bc87acf684f7b0790fd480731ffb4615b87...c001fb280561d7c16f0f2837d76af493cf6c3bf8) --- updated-dependencies: - dependency-name: assets/syntaxes/02_Extra/Docker dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- assets/syntaxes/02_Extra/Docker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/syntaxes/02_Extra/Docker b/assets/syntaxes/02_Extra/Docker index 0f6b7bc8..c001fb28 160000 --- a/assets/syntaxes/02_Extra/Docker +++ b/assets/syntaxes/02_Extra/Docker @@ -1 +1 @@ -Subproject commit 0f6b7bc87acf684f7b0790fd480731ffb4615b87 +Subproject commit c001fb280561d7c16f0f2837d76af493cf6c3bf8 From 5c43ddb56c96ced40194fab35f11196b12f2b17a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Mar 2025 17:23:30 +0000 Subject: [PATCH 159/189] Bump assets/syntaxes/02_Extra/cmd-help from `209559b` to `68e727b` (#3222) Bumps [assets/syntaxes/02_Extra/cmd-help](https://github.com/victor-gp/cmd-help-sublime-syntax) from `209559b` to `68e727b`. - [Commits](https://github.com/victor-gp/cmd-help-sublime-syntax/compare/209559b72f7e8848c988828088231b3a4d8b6838...68e727bad437fa8bd8c74c464d0b7ba0e52d2758) --- updated-dependencies: - dependency-name: assets/syntaxes/02_Extra/cmd-help dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- assets/syntaxes/02_Extra/cmd-help | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/syntaxes/02_Extra/cmd-help b/assets/syntaxes/02_Extra/cmd-help index 209559b7..c71ba410 160000 --- a/assets/syntaxes/02_Extra/cmd-help +++ b/assets/syntaxes/02_Extra/cmd-help @@ -1 +1 @@ -Subproject commit 209559b72f7e8848c988828088231b3a4d8b6838 +Subproject commit c71ba410bdfcc8f627df3219f14e3f2be4fe68ba From 207f90f01bb8593b6bccd36752d2844d84e6c765 Mon Sep 17 00:00:00 2001 From: Chetan Date: Sun, 23 Mar 2025 13:24:30 +0000 Subject: [PATCH 160/189] Add GDScript submodule and syntax test file for GDScript support, see #XXX (@chetanjangir0) --- .gitmodules | 3 + CHANGELOG.md | 1 + assets/syntaxes/02_Extra/GDScript-sublime | 1 + tests/syntax-tests/source/GDScript/test.gd | 71 ++++++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 160000 assets/syntaxes/02_Extra/GDScript-sublime create mode 100644 tests/syntax-tests/source/GDScript/test.gd diff --git a/.gitmodules b/.gitmodules index fe3df9a2..f51cea4f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -266,3 +266,6 @@ [submodule "assets/syntaxes/02_Extra/Idris2"] path = assets/syntaxes/02_Extra/Idris2 url = https://github.com/buzden/sublime-syntax-idris2 +[submodule "assets/syntaxes/02_Extra/GDScript-sublime"] + path = assets/syntaxes/02_Extra/GDScript-sublime + url = https://github.com/beefsack/GDScript-sublime diff --git a/CHANGELOG.md b/CHANGELOG.md index b4a8184c..fca20b2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ - Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) - Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall) - Add debsources syntax to highlight `/etc/apt/sources.list` files, see #3215 (@keith-hall) +- Add syntax test file for GDScript highlighting, see #XYZ (@chetanjangir0) ## Themes diff --git a/assets/syntaxes/02_Extra/GDScript-sublime b/assets/syntaxes/02_Extra/GDScript-sublime new file mode 160000 index 00000000..96f5dcf2 --- /dev/null +++ b/assets/syntaxes/02_Extra/GDScript-sublime @@ -0,0 +1 @@ +Subproject commit 96f5dcf29728aa987123321e2544330eed991a3e diff --git a/tests/syntax-tests/source/GDScript/test.gd b/tests/syntax-tests/source/GDScript/test.gd new file mode 100644 index 00000000..7192dfec --- /dev/null +++ b/tests/syntax-tests/source/GDScript/test.gd @@ -0,0 +1,71 @@ +extends Node + +signal custom_signal(param) + +const PI = 3.14159 + +var untyped_var = "Hello, World!" +var typed_int: int = 42 +var typed_float: float = 3.14 +var typed_string: String = "GDScript Test" +var typed_array: Array = [1, 2, 3, 4] +var typed_dict: Dictionary = {"key": "value", "number": 100} + +onready var label = $Label + +func say_hello() -> void: + print("Hello from GDScript!") + +func add_numbers(a: int, b: int = 10) -> int: + return a + b + +func process_value(value: int) -> String: + if value < 0: + return "Negative" + elif value == 0: + return "Zero" + else: + return "Positive" + +func sum_array(arr: Array) -> int: + var total: int = 0 + for num in arr: + total += num + return total + +func describe_number(num: int) -> String: + match num: + 0: + return "Zero" + 1, 2, 3: + return "Small number" + _: + return "Large number" + +func long_description() -> String: + return """This is a test file for GDScript. +It covers variables, functions, control structures, loops, signals, inner classes, +multiline strings, arrays, and dictionaries.""" + +class InnerExample: + var inner_value: int = 99 + func show_value() -> void: + print("Inner value is:", inner_value) + +func test_inner_class() -> void: + var inner = InnerExample.new() + inner.show_value() + +func trigger_signal() -> void: + emit_signal("custom_signal", "TestParam") + +func _ready() -> void: + say_hello() + var result_add = add_numbers(5) + print("Add result:", result_add) + print("Process value for -5:", process_value(-5)) + print("Sum of array [10, 20, 30]:", sum_array([10, 20, 30])) + print("Description for 2:", describe_number(2)) + print("Long description:\n", long_description()) + test_inner_class() + trigger_signal() From 4175f289796af56ea251d04ae621ef8053706c44 Mon Sep 17 00:00:00 2001 From: Chetan Date: Sun, 23 Mar 2025 13:53:32 +0000 Subject: [PATCH 161/189] Update changelog entry for GDScript support (#3233) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fca20b2b..08503047 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,7 @@ - Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) - Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall) - Add debsources syntax to highlight `/etc/apt/sources.list` files, see #3215 (@keith-hall) -- Add syntax test file for GDScript highlighting, see #XYZ (@chetanjangir0) +- Add syntax test file for GDScript highlighting, see #3236 (@chetanjangir0) ## Themes From 2e7ab99099bf95ea58272a212c7caeae4ed2ae83 Mon Sep 17 00:00:00 2001 From: Chetan Date: Fri, 28 Mar 2025 12:17:45 +0000 Subject: [PATCH 162/189] Add Odin submodule and syntax test file --- .gitmodules | 3 +++ CHANGELOG.md | 1 + assets/syntaxes/02_Extra/sublime-odin | 1 + tests/syntax-tests/highlighted/Odin/test.odin | 27 +++++++++++++++++++ tests/syntax-tests/source/Odin/test.odin | 27 +++++++++++++++++++ 5 files changed, 59 insertions(+) create mode 160000 assets/syntaxes/02_Extra/sublime-odin create mode 100644 tests/syntax-tests/highlighted/Odin/test.odin create mode 100644 tests/syntax-tests/source/Odin/test.odin diff --git a/.gitmodules b/.gitmodules index fe3df9a2..c582187c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -266,3 +266,6 @@ [submodule "assets/syntaxes/02_Extra/Idris2"] path = assets/syntaxes/02_Extra/Idris2 url = https://github.com/buzden/sublime-syntax-idris2 +[submodule "assets/syntaxes/02_Extra/sublime-odin"] + path = assets/syntaxes/02_Extra/sublime-odin + url = https://github.com/odin-lang/sublime-odin diff --git a/CHANGELOG.md b/CHANGELOG.md index b4a8184c..fca20b2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ - Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) - Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall) - Add debsources syntax to highlight `/etc/apt/sources.list` files, see #3215 (@keith-hall) +- Add syntax test file for GDScript highlighting, see #XYZ (@chetanjangir0) ## Themes diff --git a/assets/syntaxes/02_Extra/sublime-odin b/assets/syntaxes/02_Extra/sublime-odin new file mode 160000 index 00000000..5d6a0ed4 --- /dev/null +++ b/assets/syntaxes/02_Extra/sublime-odin @@ -0,0 +1 @@ +Subproject commit 5d6a0ed41e41ec3709ec74f40686dc3761d6596e diff --git a/tests/syntax-tests/highlighted/Odin/test.odin b/tests/syntax-tests/highlighted/Odin/test.odin new file mode 100644 index 00000000..ab13ed8c --- /dev/null +++ b/tests/syntax-tests/highlighted/Odin/test.odin @@ -0,0 +1,27 @@ +package main + +import "core:fmt" +import "core:math" + +Vector :: struct { + components: []f64, +} + +euclidean_distance :: proc(v1: Vector, v2: Vector) -> f64 { + if len(v1.components) != len(v2.components) { + panic("Vectors must be same dimension") + } + sum: f64 = 0.0; + for i, comp in v1.components { + diff := comp - v2.components[i]; + sum += diff * diff; + } + return math.sqrt(sum); +} + +main :: proc() { + v1: Vector = Vector{components = []f64{1.0, 2.0, 3.0}}; + v2: Vector = Vector{components = []f64{4.0, 6.0, 8.0}}; + dist: f64 = euclidean_distance(v1, v2); + fmt.println("Distance:", dist); +} diff --git a/tests/syntax-tests/source/Odin/test.odin b/tests/syntax-tests/source/Odin/test.odin new file mode 100644 index 00000000..dafcfcfd --- /dev/null +++ b/tests/syntax-tests/source/Odin/test.odin @@ -0,0 +1,27 @@ +package main + +import "core:fmt" +import "core:math" + +Vector :: struct { + components: []f64, +} + +euclidean_distance :: proc(v1: Vector, v2: Vector) -> f64 { + if len(v1.components) != len(v2.components) { + panic("Vectors must be same dimension") + } + sum: f64 = 0.0; + for i, comp in v1.components { + diff := comp - v2.components[i]; + sum += diff * diff; + } + return math.sqrt(sum); +} + +main :: proc() { + v1: Vector = Vector{components = []f64{1.0, 2.0, 3.0}}; + v2: Vector = Vector{components = []f64{4.0, 6.0, 8.0}}; + dist: f64 = euclidean_distance(v1, v2); + fmt.println("Distance:", dist); +} From 964e2bdac3583f19c59cefa94f2fa82482f959fc Mon Sep 17 00:00:00 2001 From: Chetan Date: Fri, 28 Mar 2025 12:23:34 +0000 Subject: [PATCH 163/189] updated changelog for pr number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fca20b2b..c806bc5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,7 @@ - Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) - Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall) - Add debsources syntax to highlight `/etc/apt/sources.list` files, see #3215 (@keith-hall) -- Add syntax test file for GDScript highlighting, see #XYZ (@chetanjangir0) +- Add syntax test file for GDScript highlighting, see #3241 (@chetanjangir0) ## Themes From c00b382f1334ad56fb182e5bc15d0616ff0115c1 Mon Sep 17 00:00:00 2001 From: Simon Olofsson Date: Fri, 28 Mar 2025 22:01:23 +0100 Subject: [PATCH 164/189] Add abbreviations for fish to Readme --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 0eebd295..4d628a17 100644 --- a/README.md +++ b/README.md @@ -240,6 +240,13 @@ alias -g -- -h='-h 2>&1 | bat --language=help --style=plain' alias -g -- --help='--help 2>&1 | bat --language=help --style=plain' ``` +For `fish`, you can use abbreviations: + +```fish +abbr -a --position anywhere -- --help '--help | bat -plhelp' +abbr -a --position anywhere -- -h '-h | bat -plhelp' +``` + This way, you can keep on using `cp --help`, but get colorized help pages. Be aware that in some cases, `-h` may not be a shorthand of `--help` (for example with `ls`). From 5ea762a46c7940366e75693285af7e146eab4b7d Mon Sep 17 00:00:00 2001 From: Simon Olofsson Date: Sat, 29 Mar 2025 00:07:48 +0100 Subject: [PATCH 165/189] Use built-in detection for OS theme in Readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d628a17..3b3c8ec4 100644 --- a/README.md +++ b/README.md @@ -691,7 +691,7 @@ theme based on the OS theme. The following snippet uses the `default` theme when and the `GitHub` theme when in the _light mode_. ```bash -alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)" +alias cat="bat --theme auto:system --theme-dark default --theme-light GitHub" ``` From a73c641a0fdcb0b599b3eee0aa7e8941e617ceff Mon Sep 17 00:00:00 2001 From: Chetan Jangir <69336404+chetanjangir0@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:43:36 +0530 Subject: [PATCH 166/189] Update CHANGELOG.md Co-authored-by: Keith Hall --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c806bc5e..b8c59964 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,7 @@ - Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) - Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall) - Add debsources syntax to highlight `/etc/apt/sources.list` files, see #3215 (@keith-hall) -- Add syntax test file for GDScript highlighting, see #3241 (@chetanjangir0) +- Add syntax test file for Odin highlighting, see #3241 (@chetanjangir0) ## Themes From 8e2d233445640791227b2c0566883aa20ffc1d27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 29 Mar 2025 06:41:10 +0000 Subject: [PATCH 167/189] Bump assets/syntaxes/02_Extra/Zig from `1a4a384` to `8a4a3fe` (#3220) Bumps [assets/syntaxes/02_Extra/Zig](https://github.com/ziglang/sublime-zig-language) from `1a4a384` to `8a4a3fe`. - [Release notes](https://github.com/ziglang/sublime-zig-language/releases) - [Commits](https://github.com/ziglang/sublime-zig-language/compare/1a4a38445fec495817625bafbeb01e79c44abcba...8a4a3fe4a051f85c4752b82f586d395cab843c06) --- updated-dependencies: - dependency-name: assets/syntaxes/02_Extra/Zig dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- assets/syntaxes/02_Extra/Zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/syntaxes/02_Extra/Zig b/assets/syntaxes/02_Extra/Zig index 1a4a3844..8a4a3fe4 160000 --- a/assets/syntaxes/02_Extra/Zig +++ b/assets/syntaxes/02_Extra/Zig @@ -1 +1 @@ -Subproject commit 1a4a38445fec495817625bafbeb01e79c44abcba +Subproject commit 8a4a3fe4a051f85c4752b82f586d395cab843c06 From f761ff68240d6cae88ee03266f89590bfae3939c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 29 Mar 2025 06:55:24 +0000 Subject: [PATCH 168/189] Bump assets/syntaxes/02_Extra/Org_mode from `4976d8f` to `bb6e5d8` (#3221) Bumps [assets/syntaxes/02_Extra/Org_mode](https://github.com/jezcope/Org.tmbundle) from `4976d8f` to `bb6e5d8`. - [Release notes](https://github.com/jezcope/Org.tmbundle/releases) - [Commits](https://github.com/jezcope/Org.tmbundle/compare/4976d8f84eeecd94df7da872bf404c125df04c73...bb6e5d848151135ab8f87bdcb997437b2308718a) --- updated-dependencies: - dependency-name: assets/syntaxes/02_Extra/Org_mode dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- assets/syntaxes/02_Extra/Org_mode | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/syntaxes/02_Extra/Org_mode b/assets/syntaxes/02_Extra/Org_mode index 4976d8f8..bb6e5d84 160000 --- a/assets/syntaxes/02_Extra/Org_mode +++ b/assets/syntaxes/02_Extra/Org_mode @@ -1 +1 @@ -Subproject commit 4976d8f84eeecd94df7da872bf404c125df04c73 +Subproject commit bb6e5d848151135ab8f87bdcb997437b2308718a From 18b71743c8ffc242653960b8fd335f3346b94094 Mon Sep 17 00:00:00 2001 From: Haris Mohamedy Date: Mon, 31 Mar 2025 17:23:19 -0700 Subject: [PATCH 169/189] Fix for multibyte characters in file path --- CHANGELOG.md | 1 + Cargo.lock | 7 +++++++ Cargo.toml | 1 + src/printer.rs | 13 +++++++------ tests/examples/test.A—B가 | 0 tests/integration_tests.rs | 11 +++++++++++ 6 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 tests/examples/test.A—B가 diff --git a/CHANGELOG.md b/CHANGELOG.md index b8c59964..96017e33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Fix `BAT_THEME_DARK` and `BAT_THEME_LIGHT` being ignored, see issue #3171 and PR #3168 (@bash) - Prevent `--list-themes` from outputting default theme info to stdout when it is piped, see #3189 (@einfachIrgendwer0815) - Rename some submodules to fix Dependabot submodule updates, see issue #3198 and PR #3201 (@victor-gp) +- Fix crash for multibyte characters in file path, see #3230 (@HSM95) ## Other diff --git a/Cargo.lock b/Cargo.lock index a87351cd..2ea16f11 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -153,6 +153,7 @@ dependencies = [ "terminal-colorsaurus", "thiserror 2.0.11", "toml", + "unicode-segmentation", "unicode-width 0.1.14", "wait-timeout", "walkdir", @@ -1678,6 +1679,12 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + [[package]] name = "unicode-width" version = "0.1.14" diff --git a/Cargo.toml b/Cargo.toml index 68172e72..c792a4c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -68,6 +68,7 @@ bytesize = { version = "1.3.0" } encoding_rs = "0.8.35" execute = { version = "0.2.13", optional = true } terminal-colorsaurus = "0.4" +unicode-segmentation = "1.12.0" [dependencies.git2] version = "0.20" diff --git a/src/printer.rs b/src/printer.rs index 2c364bd7..6d933363 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -17,6 +17,7 @@ use content_inspector::ContentType; use encoding_rs::{UTF_16BE, UTF_16LE}; +use unicode_segmentation::UnicodeSegmentation; use unicode_width::UnicodeWidthChar; use crate::assets::{HighlightingAssets, SyntaxReferenceInSet}; @@ -403,14 +404,14 @@ impl<'a> InteractivePrinter<'a> { handle: &mut OutputHandle, content: &str, ) -> Result<()> { - let mut content = content; let content_width = self.config.term_width - self.get_header_component_indent_length(); - while content.len() > content_width { - let (content_line, remaining) = content.split_at(content_width); - self.print_header_component_with_indent(handle, content_line)?; - content = remaining; + let mut content_graphemes: Vec<&str> = content.graphemes(true).collect(); + while content_graphemes.len() > content_width { + let (content_line, remaining) = content_graphemes.split_at(content_width); + self.print_header_component_with_indent(handle, content_line.join("").as_str())?; + content_graphemes = remaining.iter().cloned().collect(); } - self.print_header_component_with_indent(handle, content) + self.print_header_component_with_indent(handle, content_graphemes.join("").as_str()) } fn highlight_regions_for_line<'b>( diff --git a/tests/examples/test.A—B가 b/tests/examples/test.A—B가 new file mode 100644 index 00000000..e69de29b diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 3aafb17c..97dbd550 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -1600,6 +1600,17 @@ oken .stderr(""); } +#[test] +fn header_narrow_terminal_with_multibyte_chars() { + bat() + .arg("--terminal-width=30") + .arg("--decorations=always") + .arg("test.A—B가") + .assert() + .success() + .stderr(""); +} + #[test] #[cfg(feature = "git")] // Expected output assumes git is enabled fn header_default() { From a55d23aaa4eb256560e6b17436750f031711bf52 Mon Sep 17 00:00:00 2001 From: Haris Mohamedy Date: Mon, 31 Mar 2025 17:50:23 -0700 Subject: [PATCH 170/189] Add PR to CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96017e33..de61621d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ - Fix `BAT_THEME_DARK` and `BAT_THEME_LIGHT` being ignored, see issue #3171 and PR #3168 (@bash) - Prevent `--list-themes` from outputting default theme info to stdout when it is piped, see #3189 (@einfachIrgendwer0815) - Rename some submodules to fix Dependabot submodule updates, see issue #3198 and PR #3201 (@victor-gp) -- Fix crash for multibyte characters in file path, see #3230 (@HSM95) +- Fix crash for multibyte characters in file path, see issue #3230 and PR #3245 (@HSM95) ## Other From 05cddff72d1aa02c8d6e3292d915a970e845acf1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 02:44:03 +0000 Subject: [PATCH 171/189] Bump anyhow from 1.0.95 to 1.0.97 (#3246) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.95 to 1.0.97. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.95...1.0.97) --- updated-dependencies: - dependency-name: anyhow dependency-version: 1.0.97 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a87351cd..56b910a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -77,9 +77,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.95" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" [[package]] name = "assert_cmd" diff --git a/Cargo.toml b/Cargo.toml index 68172e72..b6936157 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -101,7 +101,7 @@ serde = { version = "1.0", features = ["derive"] } nix = { version = "0.29", default-features = false, features = ["term"] } [build-dependencies] -anyhow = "1.0.86" +anyhow = "1.0.97" indexmap = { version = "2.3.0", features = ["serde"] } itertools = "0.14.0" once_cell = "1.20" From d7b10b4352ebf519c9af85d461e84c0021f91f7e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 03:11:49 +0000 Subject: [PATCH 172/189] Bump etcetera from 0.8.0 to 0.10.0 (#3247) Bumps [etcetera](https://github.com/lunacookies/etcetera) from 0.8.0 to 0.10.0. - [Release notes](https://github.com/lunacookies/etcetera/releases) - [Commits](https://github.com/lunacookies/etcetera/compare/v0.8.0...v0.10.0) --- updated-dependencies: - dependency-name: etcetera dependency-version: 0.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 104 ++++++++++------------------------------------------- Cargo.toml | 2 +- 2 files changed, 20 insertions(+), 86 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 56b910a6..260b3ef4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -483,13 +483,13 @@ dependencies = [ [[package]] name = "etcetera" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +checksum = "26c7b13d0780cb82722fd59f6f57f925e143427e4a75313a6c77243bf5326ae6" dependencies = [ "cfg-if", "home", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -607,7 +607,7 @@ dependencies = [ "cfg-if", "libc", "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1078,7 +1078,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1812,7 +1812,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" dependencies = [ "windows-core 0.56.0", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1822,7 +1822,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ "windows-core 0.57.0", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1834,7 +1834,7 @@ dependencies = [ "windows-implement 0.56.0", "windows-interface 0.56.0", "windows-result", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1846,7 +1846,7 @@ dependencies = [ "windows-implement 0.57.0", "windows-interface 0.57.0", "windows-result", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1899,16 +1899,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", + "windows-targets", ] [[package]] @@ -1917,7 +1908,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1926,22 +1917,7 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows-targets", ] [[package]] @@ -1950,46 +1926,28 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -2002,48 +1960,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" diff --git a/Cargo.toml b/Cargo.toml index b6936157..572cd414 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,7 +60,7 @@ semver = "1.0" path_abs = { version = "0.5", default-features = false } clircle = { version = "0.6.1", default-features = false } bugreport = { version = "0.5.0", optional = true } -etcetera = { version = "0.8.0", optional = true } +etcetera = { version = "0.10.0", optional = true } grep-cli = { version = "0.1.11", optional = true } regex = { version = "1.10.6", optional = true } walkdir = { version = "2.5", optional = true } From b13c4d5f8de932a7593271f74b7b3815a1e9ee26 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 03:39:30 +0000 Subject: [PATCH 173/189] Bump indexmap from 2.7.0 to 2.8.0 (#3248) Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.7.0 to 2.8.0. - [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md) - [Commits](https://github.com/indexmap-rs/indexmap/compare/2.7.0...2.8.0) --- updated-dependencies: - dependency-name: indexmap dependency-version: 2.8.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 260b3ef4..ddd32b4e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -844,9 +844,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" dependencies = [ "equivalent", "hashbrown 0.15.2", diff --git a/Cargo.toml b/Cargo.toml index 572cd414..42555277 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -102,7 +102,7 @@ nix = { version = "0.29", default-features = false, features = ["term"] } [build-dependencies] anyhow = "1.0.97" -indexmap = { version = "2.3.0", features = ["serde"] } +indexmap = { version = "2.8.0", features = ["serde"] } itertools = "0.14.0" once_cell = "1.20" regex = "1.10.6" From 9272e09058a89fd64cb051bf6972ff6cb2d2d83f Mon Sep 17 00:00:00 2001 From: Dan Hipschman <48698358+dan-hipschman@users.noreply.github.com> Date: Tue, 1 Apr 2025 12:58:00 -0700 Subject: [PATCH 174/189] Make highlight tests fail when new syntaxes don't have fixtures --- CHANGELOG.md | 1 + .../compare_highlighted_versions.py | 24 ++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8c59964..9804d51c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Fix `BAT_THEME_DARK` and `BAT_THEME_LIGHT` being ignored, see issue #3171 and PR #3168 (@bash) - Prevent `--list-themes` from outputting default theme info to stdout when it is piped, see #3189 (@einfachIrgendwer0815) - Rename some submodules to fix Dependabot submodule updates, see issue #3198 and PR #3201 (@victor-gp) +- Make highlight tests fail when new syntaxes don't have fixtures PR #3255 (@dan-hipschman) ## Other diff --git a/tests/syntax-tests/compare_highlighted_versions.py b/tests/syntax-tests/compare_highlighted_versions.py index 9cf67e46..ad142e9f 100755 --- a/tests/syntax-tests/compare_highlighted_versions.py +++ b/tests/syntax-tests/compare_highlighted_versions.py @@ -12,13 +12,15 @@ def compare_highlighted_versions(root_old, root_new): print(" -", root_old) print(" -", root_new) has_changes = False + # Used to check for newly added files that don't have a test + unknown_files = {strip_root(p) for p in glob.glob(path.join(root_new, "*", "*"))} + for path_old in glob.glob(path.join(root_old, "*", "*")): - filename = path.basename(path_old) - dirname = path.basename(path.dirname(path_old)) + rel_path = strip_root(path_old) + unknown_files.discard(rel_path) + path_new = path.join(root_new, rel_path) - path_new = path.join(root_new, dirname, filename) - - print("\n========== {}/{}".format(dirname, filename)) + print("\n========== {}".format(rel_path)) with open(path_old) as file_old: lines_old = file_old.readlines() @@ -39,11 +41,21 @@ def compare_highlighted_versions(root_old, root_new): has_changes = True else: print("No changes") - print() + for f in unknown_files: + print("\n========== {}: No fixture for this language, run update.sh".format(f)) + has_changes = True + + print() return has_changes +def strip_root(p: str) -> str: + filename = path.basename(p) + dirname = path.basename(path.dirname(p)) + return path.join(dirname, filename) + + if __name__ == "__main__": parser = argparse.ArgumentParser( description="This script compares two directories that were created " From 12a2a451b4de8a4129f9b79ea6ae1da105f06c0b Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Wed, 26 Mar 2025 14:59:41 +0100 Subject: [PATCH 175/189] Add paging to `--list-themes` --- examples/buffer.rs | 9 +++++++-- src/bin/bat/app.rs | 5 ++++- src/bin/bat/main.rs | 21 +++++++++++++-------- src/controller.rs | 19 ++++++++----------- src/lib.rs | 2 +- src/output.rs | 15 +++++++++++++++ src/pretty_printer.rs | 6 +++++- src/printer.rs | 17 +---------------- 8 files changed, 54 insertions(+), 40 deletions(-) diff --git a/examples/buffer.rs b/examples/buffer.rs index 839689d4..eefdb249 100644 --- a/examples/buffer.rs +++ b/examples/buffer.rs @@ -1,4 +1,6 @@ -use bat::{assets::HighlightingAssets, config::Config, controller::Controller, Input}; +use bat::{ + assets::HighlightingAssets, config::Config, controller::Controller, output::OutputHandle, Input, +}; fn main() { let mut buffer = String::new(); @@ -10,7 +12,10 @@ fn main() { let controller = Controller::new(&config, &assets); let input = Input::from_file(file!()); controller - .run(vec![input.into()], Some(&mut buffer)) + .run( + vec![input.into()], + Some(OutputHandle::FmtWrite(&mut buffer)), + ) .unwrap(); println!("{buffer}"); diff --git a/src/bin/bat/app.rs b/src/bin/bat/app.rs index d339ba94..946ce5b1 100644 --- a/src/bin/bat/app.rs +++ b/src/bin/bat/app.rs @@ -124,7 +124,10 @@ impl App { // If we have -pp as an option when in auto mode, the pager should be disabled. if extra_plain || self.matches.get_flag("no-paging") { PagingMode::Never - } else if inputs.iter().any(Input::is_stdin) { + } else if inputs.iter().any(Input::is_stdin) + // ignore stdin when --list-themes is used because in that case no input will be read anyways + && !self.matches.get_flag("list-themes") + { // If we are reading from stdin, only enable paging if we write to an // interactive terminal and if we do not *read* from an interactive // terminal. diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs index 70443b2f..4496032b 100644 --- a/src/bin/bat/main.rs +++ b/src/bin/bat/main.rs @@ -16,6 +16,7 @@ use std::io::{BufReader, Write}; use std::path::Path; use std::process; +use bat::output::{OutputHandle, OutputType}; use bat::theme::DetectColorScheme; use nu_ansi_term::Color::Green; use nu_ansi_term::Style; @@ -205,8 +206,9 @@ pub fn list_themes( config.language = Some("Rust"); config.style_components = StyleComponents(style); - let stdout = io::stdout(); - let mut stdout = stdout.lock(); + let mut output_type = + OutputType::from_mode(config.paging_mode, config.wrapping_mode, config.pager)?; + let mut writer = output_type.handle()?; let default_theme_name = default_theme(color_scheme(detect_color_scheme).unwrap_or_default()); for theme in assets.themes() { @@ -221,26 +223,29 @@ pub fn list_themes( }; if config.colored_output { writeln!( - stdout, + writer, "Theme: {}{}\n", Style::new().bold().paint(theme.to_string()), default_theme_info )?; config.theme = theme.to_string(); Controller::new(&config, &assets) - .run(vec![theme_preview_file()], None) + .run( + vec![theme_preview_file()], + Some(OutputHandle::IoWrite(&mut writer)), + ) .ok(); - writeln!(stdout)?; + writeln!(writer)?; } else if config.loop_through { - writeln!(stdout, "{theme}")?; + writeln!(writer, "{theme}")?; } else { - writeln!(stdout, "{theme}{default_theme_info}")?; + writeln!(writer, "{theme}{default_theme_info}")?; } } if config.colored_output { writeln!( - stdout, + writer, "Further themes can be installed to '{}', \ and are added to the cache with `bat cache --build`. \ For more information, see:\n\n \ diff --git a/src/controller.rs b/src/controller.rs index 422b381e..c8961b91 100644 --- a/src/controller.rs +++ b/src/controller.rs @@ -11,10 +11,10 @@ use crate::lessopen::LessOpenPreprocessor; #[cfg(feature = "git")] use crate::line_range::LineRange; use crate::line_range::{LineRanges, RangeCheckResult}; -use crate::output::OutputType; +use crate::output::{OutputHandle, OutputType}; #[cfg(feature = "paging")] use crate::paging::PagingMode; -use crate::printer::{InteractivePrinter, OutputHandle, Printer, SimplePrinter}; +use crate::printer::{InteractivePrinter, Printer, SimplePrinter}; use clircle::{Clircle, Identifier}; @@ -35,18 +35,14 @@ impl Controller<'_> { } } - pub fn run( - &self, - inputs: Vec, - output_buffer: Option<&mut dyn std::fmt::Write>, - ) -> Result { - self.run_with_error_handler(inputs, output_buffer, default_error_handler) + pub fn run(&self, inputs: Vec, output_handle: Option>) -> Result { + self.run_with_error_handler(inputs, output_handle, default_error_handler) } pub fn run_with_error_handler( &self, inputs: Vec, - output_buffer: Option<&mut dyn std::fmt::Write>, + output_handle: Option>, mut handle_error: impl FnMut(&Error, &mut dyn Write), ) -> Result { let mut output_type; @@ -88,8 +84,9 @@ impl Controller<'_> { clircle::Identifier::stdout() }; - let mut writer = match output_buffer { - Some(buf) => OutputHandle::FmtWrite(buf), + let mut writer = match output_handle { + Some(OutputHandle::FmtWrite(w)) => OutputHandle::FmtWrite(w), + Some(OutputHandle::IoWrite(w)) => OutputHandle::IoWrite(w), None => OutputHandle::IoWrite(output_type.handle()?), }; let mut no_errors: bool = true; diff --git a/src/lib.rs b/src/lib.rs index 502427a7..4c60f10e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -38,7 +38,7 @@ mod less; mod lessopen; pub mod line_range; pub(crate) mod nonprintable_notation; -mod output; +pub mod output; #[cfg(feature = "paging")] mod pager; #[cfg(feature = "paging")] diff --git a/src/output.rs b/src/output.rs index dc75d6e7..bb9a45d5 100644 --- a/src/output.rs +++ b/src/output.rs @@ -1,3 +1,4 @@ +use std::fmt; use std::io::{self, Write}; #[cfg(feature = "paging")] use std::process::Child; @@ -162,3 +163,17 @@ impl Drop for OutputType { } } } + +pub enum OutputHandle<'a> { + IoWrite(&'a mut dyn io::Write), + FmtWrite(&'a mut dyn fmt::Write), +} + +impl OutputHandle<'_> { + pub fn write_fmt(&mut self, args: fmt::Arguments<'_>) -> Result<()> { + match self { + Self::IoWrite(handle) => handle.write_fmt(args).map_err(Into::into), + Self::FmtWrite(handle) => handle.write_fmt(args).map_err(Into::into), + } + } +} diff --git a/src/pretty_printer.rs b/src/pretty_printer.rs index a70ac021..4979bab5 100644 --- a/src/pretty_printer.rs +++ b/src/pretty_printer.rs @@ -10,6 +10,7 @@ use crate::{ error::Result, input, line_range::{HighlightedLineRanges, LineRange, LineRanges}, + output::OutputHandle, style::StyleComponent, StripAnsiMode, SyntaxMapping, WrappingMode, }; @@ -325,7 +326,10 @@ impl<'a> PrettyPrinter<'a> { // If writer is provided, pass it to the controller, otherwise pass None if let Some(mut w) = writer { - controller.run(inputs.into_iter().map(|i| i.into()).collect(), Some(&mut w)) + controller.run( + inputs.into_iter().map(|i| i.into()).collect(), + Some(OutputHandle::FmtWrite(&mut w)), + ) } else { controller.run(inputs.into_iter().map(|i| i.into()).collect(), None) } diff --git a/src/printer.rs b/src/printer.rs index 2c364bd7..c62be3f6 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -1,5 +1,3 @@ -use std::fmt; -use std::io; use std::vec::Vec; use nu_ansi_term::Color::{Fixed, Green, Red, Yellow}; @@ -29,6 +27,7 @@ use crate::diff::LineChanges; use crate::error::*; use crate::input::OpenedInput; use crate::line_range::RangeCheckResult; +use crate::output::OutputHandle; use crate::preprocessor::strip_ansi; use crate::preprocessor::{expand_tabs, replace_nonprintable}; use crate::style::StyleComponent; @@ -68,20 +67,6 @@ const EMPTY_SYNTECT_STYLE: syntect::highlighting::Style = syntect::highlighting: font_style: FontStyle::empty(), }; -pub enum OutputHandle<'a> { - IoWrite(&'a mut dyn io::Write), - FmtWrite(&'a mut dyn fmt::Write), -} - -impl OutputHandle<'_> { - fn write_fmt(&mut self, args: fmt::Arguments<'_>) -> Result<()> { - match self { - Self::IoWrite(handle) => handle.write_fmt(args).map_err(Into::into), - Self::FmtWrite(handle) => handle.write_fmt(args).map_err(Into::into), - } - } -} - pub(crate) trait Printer { fn print_header( &mut self, From 5edaa96164f0a1542928556c6bd1512a519b31c6 Mon Sep 17 00:00:00 2001 From: einfachIrgendwer0815 <85333734+einfachIrgendwer0815@users.noreply.github.com> Date: Mon, 24 Mar 2025 15:50:39 +0100 Subject: [PATCH 176/189] Update CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9804d51c..8f741113 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Features +- Add paging to `--list-themes`, see PR #3239 (@einfachIrgendwer0815) + ## Bugfixes - Fix `BAT_THEME_DARK` and `BAT_THEME_LIGHT` being ignored, see issue #3171 and PR #3168 (@bash) From b5413cc015664044f6be7815be58b5d4edffd7c8 Mon Sep 17 00:00:00 2001 From: Haris Mohamedy Date: Thu, 3 Apr 2025 00:49:14 -0700 Subject: [PATCH 177/189] Do not split into graphemes if not necessary --- src/printer.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/printer.rs b/src/printer.rs index 6d933363..6574069f 100644 --- a/src/printer.rs +++ b/src/printer.rs @@ -405,6 +405,10 @@ impl<'a> InteractivePrinter<'a> { content: &str, ) -> Result<()> { let content_width = self.config.term_width - self.get_header_component_indent_length(); + if content.chars().count() <= content_width { + return self.print_header_component_with_indent(handle, content); + } + let mut content_graphemes: Vec<&str> = content.graphemes(true).collect(); while content_graphemes.len() > content_width { let (content_line, remaining) = content_graphemes.split_at(content_width); From 3691c9945a028b022f94821c216789027760e2c9 Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Mon, 7 Apr 2025 06:21:23 +0200 Subject: [PATCH 178/189] CICD: Stop building for x86_64-pc-windows-gnu which fails Let's not build for platforms that are broken. If someone fixes the build we can of course add it back. --- .github/workflows/CICD.yml | 1 - CHANGELOG.md | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 9a44b831..5d2d27ae 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -173,7 +173,6 @@ jobs: - { target: i686-unknown-linux-musl , os: ubuntu-20.04, dpkg_arch: musl-linux-i686, use-cross: true } - { target: x86_64-apple-darwin , os: macos-13, } - { target: aarch64-apple-darwin , os: macos-14, } - - { target: x86_64-pc-windows-gnu , os: windows-2019, } - { target: x86_64-pc-windows-msvc , os: windows-2019, } - { target: x86_64-unknown-linux-gnu , os: ubuntu-20.04, dpkg_arch: amd64, use-cross: true } - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, dpkg_arch: musl-linux-amd64, use-cross: true } diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f741113..6a8409fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ ## Other - Work around build failures when building `bat` from vendored sources #3179 (@dtolnay) +- CICD: Stop building for x86_64-pc-windows-gnu which fails #3261 (Enselic) ## Syntaxes From ea17f6ad2871b54a06a6be96f71c5e66a4da45d2 Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Mon, 7 Apr 2025 06:52:35 +0200 Subject: [PATCH 179/189] Make mention (@ in front of name) in CHANGELOG entry optional --- .github/workflows/require-changelog-for-PRs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/require-changelog-for-PRs.yml b/.github/workflows/require-changelog-for-PRs.yml index 9b9d7cde..346ed385 100644 --- a/.github/workflows/require-changelog-for-PRs.yml +++ b/.github/workflows/require-changelog-for-PRs.yml @@ -30,4 +30,4 @@ jobs: echo "Added lines in CHANGELOG.md:" echo "$ADDED" echo "Grepping for PR info (see CONTRIBUTING.md):" - grep "#${PR_NUMBER}\\b.*@${PR_SUBMITTER}\\b" <<< "$ADDED" + grep "#${PR_NUMBER}\\b.*${PR_SUBMITTER}\\b" <<< "$ADDED" From 51491c3c08a23e5b1f0a9961e6e8a1c544fd18b2 Mon Sep 17 00:00:00 2001 From: Adam Gaskins Date: Mon, 7 Apr 2025 17:11:59 -0400 Subject: [PATCH 180/189] Fix syntax highlighting for bash/zsh --- .../builtins/unix-family/50-shell.toml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/syntax_mapping/builtins/unix-family/50-shell.toml b/src/syntax_mapping/builtins/unix-family/50-shell.toml index d015ca81..cd59a84e 100644 --- a/src/syntax_mapping/builtins/unix-family/50-shell.toml +++ b/src/syntax_mapping/builtins/unix-family/50-shell.toml @@ -2,4 +2,24 @@ "Bourne Again Shell (bash)" = [ # used by lots of shells "/etc/profile", + + "bashrc", + "*.bashrc", + "bash_profile", + "*.bash_profile", + "bash_login", + "*.bash_login", + "bash_logout", + "*.bash_logout", + + "zshrc", + "*.zshrc", + "zprofile", + "*.zprofile", + "zlogin", + "*.zlogin", + "zlogout", + "*.zlogout", + "zshenv", + "*.zshenv" ] From c4c919aa31316a5084d17bb92a2d5c6fce8bce72 Mon Sep 17 00:00:00 2001 From: Adam Gaskins Date: Mon, 7 Apr 2025 17:11:59 -0400 Subject: [PATCH 181/189] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a8409fb..ba027663 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - Prevent `--list-themes` from outputting default theme info to stdout when it is piped, see #3189 (@einfachIrgendwer0815) - Rename some submodules to fix Dependabot submodule updates, see issue #3198 and PR #3201 (@victor-gp) - Make highlight tests fail when new syntaxes don't have fixtures PR #3255 (@dan-hipschman) +- Fix bash/zsh file highlighting, see PR #3262 (@AdamGaskins) ## Other From 2f70906665a1f20715d367e97f1628cea0509544 Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Mon, 7 Apr 2025 06:12:20 +0200 Subject: [PATCH 182/189] Cargo.toml: Document that MSRV can be bumped if there is a reason for it To the best of my knowledge our current MSRV rule is that we can bump MSRV whenever there is a reason for it. Let's document it. --- Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.toml b/Cargo.toml index 42555277..a52a3f99 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ version = "0.25.0" exclude = ["assets/syntaxes/*", "assets/themes/*"] build = "build/main.rs" edition = '2021' +# You are free to bump MSRV as soon as a reason for bumping emerges. rust-version = "1.74" [features] From 3eef8590f43f1c0e052f0a31e29f603d30afd90d Mon Sep 17 00:00:00 2001 From: chetanjangir0 Date: Sat, 12 Apr 2025 18:00:43 +0530 Subject: [PATCH 183/189] genereated highlighted syntax test file --- .../syntax-tests/highlighted/GDScript/test.gd | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 tests/syntax-tests/highlighted/GDScript/test.gd diff --git a/tests/syntax-tests/highlighted/GDScript/test.gd b/tests/syntax-tests/highlighted/GDScript/test.gd new file mode 100644 index 00000000..99c64412 --- /dev/null +++ b/tests/syntax-tests/highlighted/GDScript/test.gd @@ -0,0 +1,71 @@ +extends Node + +signal custom_signal(param) + +const PI = 3.14159 + +var untyped_var = "Hello, World!" +var typed_int: int = 42 +var typed_float: float = 3.14 +var typed_string: String = "GDScript Test" +var typed_array: Array = [1, 2, 3, 4] +var typed_dict: Dictionary = {"key": "value", "number": 100} + +onready var label = $Label + +func say_hello() -> void: + print("Hello from GDScript!") + +func add_numbers(a: int, b: int = 10) -> int: + return a + b + +func process_value(value: int) -> String: + if value < 0: + return "Negative" + elif value == 0: + return "Zero" + else: + return "Positive" + +func sum_array(arr: Array) -> int: + var total: int = 0 + for num in arr: + total += num + return total + +func describe_number(num: int) -> String: + match num: + 0: + return "Zero" + 1, 2, 3: + return "Small number" + _: + return "Large number" + +func long_description() -> String: + return """This is a test file for GDScript. +It covers variables, functions, control structures, loops, signals, inner classes, +multiline strings, arrays, and dictionaries.""" + +class InnerExample: + var inner_value: int = 99 + func show_value() -> void: + print("Inner value is:", inner_value) + +func test_inner_class() -> void: + var inner = InnerExample.new() + inner.show_value() + +func trigger_signal() -> void: + emit_signal("custom_signal", "TestParam") + +func _ready() -> void: + say_hello() + var result_add = add_numbers(5) + print("Add result:", result_add) + print("Process value for -5:", process_value(-5)) + print("Sum of array [10, 20, 30]:", sum_array([10, 20, 30])) + print("Description for 2:", describe_number(2)) + print("Long description:\n", long_description()) + test_inner_class() + trigger_signal() From 14064dd987413ac3ff0b19eecdb0f9d7b346ae93 Mon Sep 17 00:00:00 2001 From: chetanjangir0 Date: Sat, 12 Apr 2025 19:14:15 +0530 Subject: [PATCH 184/189] regenerated the highlighted file --- .../syntax-tests/highlighted/GDScript/test.gd | 112 +++++++++--------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/tests/syntax-tests/highlighted/GDScript/test.gd b/tests/syntax-tests/highlighted/GDScript/test.gd index 99c64412..4ea498cf 100644 --- a/tests/syntax-tests/highlighted/GDScript/test.gd +++ b/tests/syntax-tests/highlighted/GDScript/test.gd @@ -1,71 +1,71 @@ -extends Node +extends Node -signal custom_signal(param) +signal custom_signal(param) -const PI = 3.14159 +const PI = 3.14159 -var untyped_var = "Hello, World!" -var typed_int: int = 42 -var typed_float: float = 3.14 -var typed_string: String = "GDScript Test" -var typed_array: Array = [1, 2, 3, 4] -var typed_dict: Dictionary = {"key": "value", "number": 100} +var untyped_var = "Hello, World!" +var typed_int: int = 42 +var typed_float: float = 3.14 +var typed_string: String = "GDScript Test" +var typed_array: Array = [1, 2, 3, 4] +var typed_dict: Dictionary = {"key": "value", "number": 100} -onready var label = $Label +onready var label = $Label -func say_hello() -> void: - print("Hello from GDScript!") +func say_hello() -> void: + print("Hello from GDScript!") -func add_numbers(a: int, b: int = 10) -> int: - return a + b +func add_numbers(a: int, b: int = 10) -> int: + return a + b -func process_value(value: int) -> String: - if value < 0: - return "Negative" - elif value == 0: - return "Zero" - else: - return "Positive" +func process_value(value: int) -> String: + if value < 0: + return "Negative" + elif value == 0: + return "Zero" + else: + return "Positive" -func sum_array(arr: Array) -> int: - var total: int = 0 - for num in arr: - total += num - return total +func sum_array(arr: Array) -> int: + var total: int = 0 + for num in arr: + total += num + return total -func describe_number(num: int) -> String: - match num: - 0: - return "Zero" - 1, 2, 3: - return "Small number" +func describe_number(num: int) -> String: + match num: + 0: + return "Zero" + 1, 2, 3: + return "Small number"  _: - return "Large number" + return "Large number" -func long_description() -> String: - return """This is a test file for GDScript. -It covers variables, functions, control structures, loops, signals, inner classes, -multiline strings, arrays, and dictionaries.""" +func long_description() -> String: + return """This is a test file for GDScript. +It covers variables, functions, control structures, loops, signals, inner classes, +multiline strings, arrays, and dictionaries.""" -class InnerExample: - var inner_value: int = 99 - func show_value() -> void: - print("Inner value is:", inner_value) +class InnerExample: + var inner_value: int = 99 + func show_value() -> void: + print("Inner value is:", inner_value) -func test_inner_class() -> void: - var inner = InnerExample.new() - inner.show_value() +func test_inner_class() -> void: + var inner = InnerExample.new() + inner.show_value() -func trigger_signal() -> void: - emit_signal("custom_signal", "TestParam") +func trigger_signal() -> void: + emit_signal("custom_signal", "TestParam") -func _ready() -> void: - say_hello() - var result_add = add_numbers(5) - print("Add result:", result_add) - print("Process value for -5:", process_value(-5)) - print("Sum of array [10, 20, 30]:", sum_array([10, 20, 30])) - print("Description for 2:", describe_number(2)) - print("Long description:\n", long_description()) - test_inner_class() - trigger_signal() +func _ready() -> void: + say_hello() + var result_add = add_numbers(5) + print("Add result:", result_add) + print("Process value for -5:", process_value(-5)) + print("Sum of array [10, 20, 30]:", sum_array([10, 20, 30])) + print("Description for 2:", describe_number(2)) + print("Long description:\n", long_description()) + test_inner_class() + trigger_signal() From e761d795129e609764c156480bcaa492f5872f97 Mon Sep 17 00:00:00 2001 From: Adam Gaskins Date: Sat, 12 Apr 2025 11:08:57 -0400 Subject: [PATCH 185/189] Update CHANGELOG.md Co-authored-by: Keith Hall --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba027663..d9ba1c57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ - Prevent `--list-themes` from outputting default theme info to stdout when it is piped, see #3189 (@einfachIrgendwer0815) - Rename some submodules to fix Dependabot submodule updates, see issue #3198 and PR #3201 (@victor-gp) - Make highlight tests fail when new syntaxes don't have fixtures PR #3255 (@dan-hipschman) -- Fix bash/zsh file highlighting, see PR #3262 (@AdamGaskins) +- Add missing mappings for various bash/zsh files, see PR #3262 (@AdamGaskins) ## Other From 0bf4753ff10529912e424c3f5b6620fe614261f8 Mon Sep 17 00:00:00 2001 From: Chetan Jangir <69336404+chetanjangir0@users.noreply.github.com> Date: Sun, 13 Apr 2025 14:51:53 +0530 Subject: [PATCH 186/189] Update CHANGELOG.md Co-authored-by: Keith Hall --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 056cc71a..5f679045 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,7 @@ - Map `ndjson` extension to JSON syntax, see #3209 (@keith-hall) - Map files with `csproj`, `vbproj`, `props` and `targets` extensions to XML syntax, see #3213 (@keith-hall) - Add debsources syntax to highlight `/etc/apt/sources.list` files, see #3215 (@keith-hall) -- Add syntax test file for GDScript highlighting, see #3236 (@chetanjangir0) +- Add syntax definition and test file for GDScript highlighting, see #3236 (@chetanjangir0) - Add syntax test file for Odin highlighting, see #3241 (@chetanjangir0) ## Themes From e202a33ea1e7d79c40a0d15ad58d82e3b8bcd37e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 13 Apr 2025 09:50:51 +0000 Subject: [PATCH 187/189] Bump assets/syntaxes/02_Extra/Apache from `163bc03` to `cf6cefc` (#3253) Bumps [assets/syntaxes/02_Extra/Apache](https://github.com/colinta/ApacheConf.tmLanguage) from `163bc03` to `cf6cefc`. - [Commits](https://github.com/colinta/ApacheConf.tmLanguage/compare/163bc03ae8998a237dfb4be353d0aea198ea17f5...cf6cefc51ebb46b1b54906433edbae0fe9c71cad) --- updated-dependencies: - dependency-name: assets/syntaxes/02_Extra/Apache dependency-version: cf6cefc51ebb46b1b54906433edbae0fe9c71cad dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- assets/syntaxes/02_Extra/Apache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/syntaxes/02_Extra/Apache b/assets/syntaxes/02_Extra/Apache index 163bc03a..cf6cefc5 160000 --- a/assets/syntaxes/02_Extra/Apache +++ b/assets/syntaxes/02_Extra/Apache @@ -1 +1 @@ -Subproject commit 163bc03ae8998a237dfb4be353d0aea198ea17f5 +Subproject commit cf6cefc51ebb46b1b54906433edbae0fe9c71cad From 5d75632c8e142acefff7aaf37fcee35f4b62f5b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 13 Apr 2025 10:14:09 +0000 Subject: [PATCH 188/189] Bump assets/syntaxes/02_Extra/PowerShell from `c0372a1` to `a08b55b` (#3252) Bumps [assets/syntaxes/02_Extra/PowerShell](https://github.com/PowerShell/EditorSyntax) from `c0372a1` to `a08b55b`. - [Commits](https://github.com/PowerShell/EditorSyntax/compare/c0372a1d2df136ca6b3d1a9f7b85031dedf117f9...a08b55bf1146c210f58e844be53c2aa78fd5e610) --- updated-dependencies: - dependency-name: assets/syntaxes/02_Extra/PowerShell dependency-version: a08b55bf1146c210f58e844be53c2aa78fd5e610 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- assets/syntaxes/02_Extra/PowerShell | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/syntaxes/02_Extra/PowerShell b/assets/syntaxes/02_Extra/PowerShell index c0372a1d..a08b55bf 160000 --- a/assets/syntaxes/02_Extra/PowerShell +++ b/assets/syntaxes/02_Extra/PowerShell @@ -1 +1 @@ -Subproject commit c0372a1d2df136ca6b3d1a9f7b85031dedf117f9 +Subproject commit a08b55bf1146c210f58e844be53c2aa78fd5e610 From ba49ba0acd2ecb6e1ea7aa5da3e02638ce54f1d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 13 Apr 2025 10:36:54 +0000 Subject: [PATCH 189/189] Bump assets/themes/zenburn from `86d4ee7` to `9c588eb` (#3251) Bumps [assets/themes/zenburn](https://github.com/colinta/zenburn) from `86d4ee7` to `9c588eb`. - [Commits](https://github.com/colinta/zenburn/compare/86d4ee7a1f884851a1d21d66249687f527fced32...9c588ebc11c3e6487b081bd54528af08baa8a09a) --- updated-dependencies: - dependency-name: assets/themes/zenburn dependency-version: 9c588ebc11c3e6487b081bd54528af08baa8a09a dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- assets/themes/zenburn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/themes/zenburn b/assets/themes/zenburn index 86d4ee7a..9c588ebc 160000 --- a/assets/themes/zenburn +++ b/assets/themes/zenburn @@ -1 +1 @@ -Subproject commit 86d4ee7a1f884851a1d21d66249687f527fced32 +Subproject commit 9c588ebc11c3e6487b081bd54528af08baa8a09a