Support reading category from in-buffer-settings.

This commit is contained in:
Tom Alexander 2023-09-30 00:14:26 -04:00
parent 896250836b
commit 846a8b3729
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
3 changed files with 12 additions and 1 deletions

View File

@ -12,6 +12,8 @@ pub struct GlobalSettings<'g, 's> {
pub radio_targets: Vec<&'g Vec<Object<'s>>>,
pub file_access: &'g dyn FileAccessInterface,
pub in_progress_todo_keywords: BTreeSet<String>,
pub category: Option<String>,
pub complete_todo_keywords: BTreeSet<String>,
/// Set to true to allow for plain lists using single letters as the bullet in the same way that numbers are used.
///
@ -39,6 +41,7 @@ impl<'g, 's> GlobalSettings<'g, 's> {
working_directory: None,
},
in_progress_todo_keywords: BTreeSet::new(),
category: None,
complete_todo_keywords: BTreeSet::new(),
list_allow_alphabetical: false,
tab_width: DEFAULT_TAB_WIDTH,

View File

@ -191,7 +191,7 @@ fn _document<'b, 'g, 'r, 's>(
remaining,
Document {
source: source.into(),
category: None,
category: context.get_global_settings().category.clone(),
path: None,
zeroth_section,
children,

View File

@ -111,6 +111,14 @@ pub(crate) fn apply_in_buffer_settings<'g, 's, 'sf>(
}
}
// Category
for kw in keywords
.iter()
.filter(|kw| kw.key.eq_ignore_ascii_case("category"))
{
new_settings.category = Some(kw.value.to_owned());
}
Ok(new_settings)
}