use everything_sdk::raw::*;
fn main() {
match Everything_IsDBLoaded() {
Some(false) => panic!("The Everything database has not been fully loaded now."),
None => panic!("Everything is required to run in the background."),
_ => {
Everything_SetSearch("jpg");
Everything_SetRequestFlags(
RequestFlags::EVERYTHING_REQUEST_FILE_NAME
| RequestFlags::EVERYTHING_REQUEST_PATH
| RequestFlags::EVERYTHING_REQUEST_SIZE
| RequestFlags::EVERYTHING_REQUEST_RUN_COUNT,
);
Everything_SetMax(5);
Everything_SetSort(SortType::EVERYTHING_SORT_DATE_RECENTLY_CHANGED_ASCENDING);
assert_eq!(Everything_GetMatchCase(), false);
Everything_Query(true);
let visible_num_results = dbg!(Everything_GetNumResults());
assert!(visible_num_results <= 5);
let total_num_results = dbg!(Everything_GetTotResults());
assert!(total_num_results >= visible_num_results);
let is_attr_flag_set = dbg!(Everything_GetResultListRequestFlags())
.contains(RequestFlags::EVERYTHING_REQUEST_ATTRIBUTES);
assert!(!is_attr_flag_set);
for index in 0..5 {
let path: std::path::PathBuf = Everything_GetResultPath(index).unwrap().into();
let filename = Everything_GetResultFileName(index).unwrap();
let file_size = Everything_GetResultSize(index).unwrap();
println!(
"Item[{}]: {} ({} bytes)",
index,
path.join(filename).display(), file_size,
);
}
let run_count = Everything_GetResultRunCount(2);
println!("Run Count for Item[2]: `{}`", run_count);
Everything_SetSearch("cargo");
Everything_Query(true);
}
}
let (major, minor, patch, build, taget) = (
Everything_GetMajorVersion().unwrap(),
Everything_GetMinorVersion().unwrap(),
Everything_GetRevision().unwrap(),
Everything_GetBuildNumber().unwrap(),
Everything_GetTargetMachine().unwrap(),
);
println!("Everything.exe version is {major}.{minor}.{patch}.{build} ({taget})");
let _is_in_appdata = Everything_IsAppData().unwrap();
}