feat(config): improve label field fallback
This commit is contained in:
parent
dcc2cd2708
commit
e151364014
|
@ -31,7 +31,7 @@ use crate::{counter::next_id, merge};
|
|||
use anyhow::Result;
|
||||
use log::error;
|
||||
use regex::Regex;
|
||||
use std::iter::FromIterator;
|
||||
use std::{iter::FromIterator, path::PathBuf};
|
||||
use std::{collections::HashSet, path::Path};
|
||||
use thiserror::Error;
|
||||
|
||||
|
@ -42,6 +42,8 @@ const STANDARD_EXCLUDES: &[&str] = &["../match/**/_*.yml"];
|
|||
pub(crate) struct ResolvedConfig {
|
||||
parsed: ParsedConfig,
|
||||
|
||||
source_path: Option<PathBuf>,
|
||||
|
||||
// Generated properties
|
||||
id: i32,
|
||||
match_paths: Vec<String>,
|
||||
|
@ -55,6 +57,7 @@ impl Default for ResolvedConfig {
|
|||
fn default() -> Self {
|
||||
Self {
|
||||
parsed: Default::default(),
|
||||
source_path: None,
|
||||
id: 0,
|
||||
match_paths: Vec::new(),
|
||||
filter_title: None,
|
||||
|
@ -70,7 +73,17 @@ impl Config for ResolvedConfig {
|
|||
}
|
||||
|
||||
fn label(&self) -> &str {
|
||||
self.parsed.label.as_deref().unwrap_or("none")
|
||||
if let Some(label) = self.parsed.label.as_deref() {
|
||||
return label;
|
||||
}
|
||||
|
||||
if let Some(source_path) = self.source_path.as_ref() {
|
||||
if let Some(source_path) = source_path.to_str() {
|
||||
return source_path
|
||||
}
|
||||
}
|
||||
|
||||
"none"
|
||||
}
|
||||
|
||||
fn match_paths(&self) -> &[String] {
|
||||
|
@ -291,6 +304,7 @@ impl ResolvedConfig {
|
|||
|
||||
Ok(Self {
|
||||
parsed: config,
|
||||
source_path: Some(path.to_owned()),
|
||||
id: next_id(),
|
||||
match_paths,
|
||||
filter_title,
|
||||
|
|
Loading…
Reference in New Issue
Block a user