1pub fn matches_name_pattern(pattern: &str, name: &str) -> bool {
3 pattern.strip_suffix('*').map_or_else(|| pattern == name, |prefix| name.starts_with(prefix))
4}
5
6#[cfg(test)]
7mod tests {
8 use super::matches_name_pattern;
9
10 #[test]
11 fn matches_exact_names_and_trailing_prefix_wildcards() {
12 assert!(matches_name_pattern("bash", "bash"));
13 assert!(!matches_name_pattern("bash", "bash_extra"));
14 assert!(matches_name_pattern("lsp_*", "lsp_hover"));
15 assert!(matches_name_pattern("*", "anything"));
16 assert!(!matches_name_pattern("lsp_*_tool", "lsp_hover_tool"));
17 }
18}