feat: Add --filters option to --get and parse filters early
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
18
src/main.rs
18
src/main.rs
@@ -176,12 +176,24 @@ fn main() -> Result<(), Error> {
|
||||
// Initialize database
|
||||
let mut conn = db::open(db_path.clone())?;
|
||||
|
||||
// Create an empty filters vector for the get mode
|
||||
let filters: Vec<String> = Vec::new();
|
||||
// Parse filter chain early for better error reporting
|
||||
let filter_chain = if let Some(filter_str) = &args.item.filters {
|
||||
match keep::filter_plugin::parse_filter_string(filter_str) {
|
||||
Ok(chain) => Some(chain),
|
||||
Err(e) => {
|
||||
cmd.error(
|
||||
ErrorKind::InvalidValue,
|
||||
format!("Invalid filter string: {}", e)
|
||||
).exit();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
match mode {
|
||||
KeepModes::Save => modes::save::mode_save(&mut cmd, &settings, ids, tags, &mut conn, data_path),
|
||||
KeepModes::Get => modes::get::mode_get(&mut cmd, &settings, ids, tags, &mut conn, data_path, &filters),
|
||||
KeepModes::Get => modes::get::mode_get(&mut cmd, &settings, ids, tags, &mut conn, data_path, filter_chain),
|
||||
KeepModes::Diff => modes::diff::mode_diff(&mut cmd, &settings, &settings, ids, tags, &mut conn, data_path),
|
||||
KeepModes::List => modes::list::mode_list(&mut cmd, &settings, ids, tags, &mut conn, data_path),
|
||||
KeepModes::Delete => modes::delete::mode_delete(&mut cmd, &settings, &settings, ids, tags, &mut conn, data_path),
|
||||
|
||||
Reference in New Issue
Block a user