1 unstable release
0.1.4 | Feb 27, 2021 |
---|---|
0.1.3 |
|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#6 in #c-bindings
77KB
2.5K
SLoC
VoidTools' Everything bindings in Rust
This just wraps the VoidTools' bindings, nothing else.
Example
This example requires widestring
package along with everything-sys
. This
same example can be found from examples
directory.
use everything_sys::*;
use widestring::U16CString;
pub fn search(query: &str) {
unsafe {
let query_as_wchar = U16CString::from_str(query).unwrap();
Everything_SetSearchW(query_as_wchar.as_ptr());
if Everything_QueryW(1) == 1 {
let res = Everything_GetNumResults();
for i in 0..res {
let filename =
U16CString::from_ptr_str(Everything_GetResultFileNameW(i)).to_string_lossy();
let path = U16CString::from_ptr_str(Everything_GetResultPathW(i)).to_string_lossy();
println!("{} {}", path, filename);
}
}
}
}
pub fn main() {
search("notepad*")
}
Dependencies
~0–2.4MB
~45K SLoC