(events: &mut BTreeSet<UsageEvent>, raw: &str)
| 217 | } |
| 218 | |
| 219 | fn insert_skill_event(events: &mut BTreeSet<UsageEvent>, raw: &str) { |
| 220 | let name = raw.trim(); |
| 221 | if name.is_empty() { |
| 222 | return; |
| 223 | } |
| 224 | events.insert(UsageEvent { |
| 225 | kind: UsageKind::Skill, |
| 226 | category: categorize_skill(name), |
| 227 | name: name.to_string(), |
| 228 | }); |
| 229 | } |
| 230 | |
| 231 | fn record_tool_family(families: &mut BTreeMap<String, FamilyCounts>, tool: &str, text: &str) { |
| 232 | let normalized = normalize_tool_name(tool); |
no test coverage detected