stynx-code-skills 3.10.1

Skill definitions and slash-command handling
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::domain::skill::Skill;

pub fn search_skills<'a>(skills: &'a [Skill], query: &str) -> Vec<&'a Skill> {
    let q = query.to_lowercase();
    skills
        .iter()
        .filter(|skill| {
            skill.metadata.name.to_lowercase().contains(&q)
                || skill.metadata.description.to_lowercase().contains(&q)
                || skill
                    .metadata
                    .triggers
                    .iter()
                    .any(|t| t.to_lowercase().contains(&q))
        })
        .collect()
}