lv2ls/
lv2ls.rs

1use lilv::{plugin::Plugin, World};
2
3fn main() {
4    let world = World::new();
5    world.load_all();
6
7    let show_names = false;
8
9    let print = |plugin: Plugin| {
10        if show_names {
11            String::from(plugin.name().as_str().unwrap())
12        } else {
13            String::from(plugin.uri().as_uri().unwrap())
14        }
15    };
16
17    let plugins = world
18        .plugins()
19        .iter()
20        .filter(Plugin::verify)
21        .map(print)
22        .collect::<Vec<_>>();
23
24    debug_assert_eq!(world.plugins().count(), plugins.len());
25
26    for uri in plugins {
27        println!("{}", uri);
28    }
29}