pub struct AppConfig {Show 22 fields
pub import: Vec<String>,
pub catalogs: Vec<CatalogRef>,
pub read_catalogs: Vec<Catalog>,
pub catalog_dir: Option<PathBuf>,
pub broken_catalogs: Vec<Broken>,
pub read: ReadConfig,
pub csv: CsvConfig,
pub display: DisplayConfig,
pub performance: PerformanceConfig,
pub analysis: AnalysisConfig,
pub chart: ChartConfig,
pub home: HomeConfig,
pub cloud: CloudConfig,
pub http: HttpConfig,
pub query: QueryConfig,
pub views: ViewsConfig,
pub clipboard: ClipboardConfig,
pub formats: FormatsConfig,
pub limits: LimitsConfig,
pub log: LogConfig,
pub theme: ThemeConfig,
pub glyphs: GlyphsConfig,
}Expand description
Complete application configuration
Fields§
§import: Vec<String>Additional config files merged in before this file’s own values.
catalogs: Vec<CatalogRef>Catalog files elsewhere, listed on the home screen besides catalog.toml and
catalogs/: a path, or { path, id, label }.
read_catalogs: Vec<Catalog>The catalogs read (catalog.toml, then each of catalogs). Not a key: filled by
AppConfig::read_catalog_files after merging.
catalog_dir: Option<PathBuf>The directory catalog.toml was looked for in: the config file’s.
broken_catalogs: Vec<Broken>Catalog files left out for a mistake, each with what is wrong.
read: ReadConfig§csv: CsvConfig§display: DisplayConfig§performance: PerformanceConfig§analysis: AnalysisConfig§chart: ChartConfig§home: HomeConfig§cloud: CloudConfig§http: HttpConfig§query: QueryConfig§views: ViewsConfig§clipboard: ClipboardConfig§formats: FormatsConfig§limits: LimitsConfig§log: LogConfig§theme: ThemeConfig§glyphs: GlyphsConfigImplementations§
Source§impl AppConfig
impl AppConfig
Sourcepub fn load_with(app_name: &str, overrides: &[Override]) -> Result<Self>
pub fn load_with(app_name: &str, overrides: &[Override]) -> Result<Self>
Load configuration from all layers (default, imports, user config), with
-c KEY=VALUE over the files.
Sourcepub fn load_from_file(config_path: &Path) -> Result<Self>
pub fn load_from_file(config_path: &Path) -> Result<Self>
Load configuration rooted at config_path with its import chain. Layers, lowest
first: defaults, each import in order (depth-first), then the file; each changes
only the keys it writes. A missing root means defaults; an unreadable root or
existing import is an error; a missing import is skipped with a warning (a theme
system may not have generated it yet).
Sourcepub fn load_from_file_with(
config_path: &Path,
overrides: &[Override],
) -> Result<Self>
pub fn load_from_file_with( config_path: &Path, overrides: &[Override], ) -> Result<Self>
Self::load_from_file, with -c KEY=VALUE laid over every file.
Sourcepub fn read_layers(
config_path: &Path,
overrides: &[Override],
) -> Result<Vec<(LayerSource, ConfigLayer)>>
pub fn read_layers( config_path: &Path, overrides: &[Override], ) -> Result<Vec<(LayerSource, ConfigLayer)>>
Every layer of the configuration at config_path, lowest first: imports
depth-first, the file, then -c, each named by its origin. A missing root adds
nothing.
Sourcepub fn from_read_layers(
config_path: &Path,
overrides: &[Override],
layers: &[(LayerSource, ConfigLayer)],
) -> Result<Self>
pub fn from_read_layers( config_path: &Path, overrides: &[Override], layers: &[(LayerSource, ConfigLayer)], ) -> Result<Self>
The configuration layers (from Self::read_layers) describe, merged over
defaults and validated.
Sourcepub fn from_layers(
layers: impl IntoIterator<Item = ConfigLayer>,
) -> Result<Self>
pub fn from_layers( layers: impl IntoIterator<Item = ConfigLayer>, ) -> Result<Self>
The configuration layers describe, lowest first, over the defaults (resolved
once here). Colors start from the built-in theme theme.dark/theme.light names
for the declared mode; from_read_layers adds theme files. import is left
empty. Not validated.
Sourcepub fn read_theme_files(&mut self, config_dir: Option<&Path>) -> Result<()>
pub fn read_theme_files(&mut self, config_dir: Option<&Path>) -> Result<()>
Resolve theme.dark and theme.light with config_dir’s themes/ files as well
as built-ins. A broken file or unusable name is reported and falls back to the
built-in; it never stops startup.
Sourcepub fn catalogs(&self) -> Vec<Catalog>
pub fn catalogs(&self) -> Vec<Catalog>
Every catalog, hidden ones included: catalog.toml, the listed files, then the
bundled examples (unless a listed examples.toml replaces it).
Sourcepub fn shown_catalogs(&self) -> Vec<Catalog>
pub fn shown_catalogs(&self) -> Vec<Catalog>
The catalogs home shows: Self::catalogs less [home] hide (a catalog id, or
catalog/id for one entry).
Sourcepub fn hides_nothing(name: &str) -> String
pub fn hides_nothing(name: &str) -> String
Why name in home.hide hides nothing, with the fix when it is the bundled
catalog’s old id (public, now examples).
The [home] hide names that match no catalog or entry, each once.
Sourcepub fn read_catalog_files(&mut self, config_dir: Option<&Path>) -> Result<()>
pub fn read_catalog_files(&mut self, config_dir: Option<&Path>) -> Result<()>
Read catalog.toml from config_dir, its catalogs/*.toml by name, and every
file catalogs lists. A missing listed file is skipped with a warning (it may be
on an unmounted share).
Sourcepub fn sync_dataset_access(&mut self)
pub fn sync_dataset_access(&mut self)
Derive [cloud]’s view of how catalog URLs are read. Called by from_layers,
read_catalog_files and default; call it after changing the catalogs by hand.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AppConfig
impl<'de> Deserialize<'de> for AppConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for AppConfig
impl RefUnwindSafe for AppConfig
impl Send for AppConfig
impl Sync for AppConfig
impl Unpin for AppConfig
impl UnsafeUnpin for AppConfig
impl UnwindSafe for AppConfig
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Key for Twhere
T: Clone,
impl<T> Key for Twhere
T: Clone,
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more