MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / search_terms

Function search_terms

atomic-cli/src/commands/vault/context.rs:554–565  ·  view source on GitHub ↗

Lowercased, deduplicated terms using KG FTS rules plus a small allowlist of meaningful short technology names. Exact token matching prevents substring matches such as `rust` in `trust`.

(seed_query: &str)

Source from the content-addressed store, hash-verified

552/// meaningful short technology names. Exact token matching prevents substring
553/// matches such as `rust` in `trust`.
554fn search_terms(seed_query: &str) -> Vec<String> {
555 let mut terms = tokenize_for_fts(seed_query);
556 terms.extend(
557 seed_query
558 .split(|character: char| !character.is_alphanumeric() && character != '_')
559 .map(str::to_lowercase)
560 .filter(|term| SHORT_TECH_TERMS.contains(&term.as_str())),
561 );
562 terms.sort();
563 terms.dedup();
564 terms
565}
566
567/// Fraction of seed terms present as exact body tokens (case-insensitive).
568fn body_match_fraction(terms: &[String], body: &str) -> f64 {

Calls 5

tokenize_for_ftsFunction · 0.85
extendMethod · 0.80
sortMethod · 0.80
containsMethod · 0.45
as_strMethod · 0.45