""" Query analyzer for code search intent. """ from typing import Any from .dictionaries.frameworks import FRAMEWORKS from .dictionaries.languages import PROGRAMMING_LANGUAGES CODE_KEYWORDS = [ "function", "class", "method", "algorithm", "implementation", "example", "tutorial", "pattern", "template", "snippet", "code", "programming", "development", "api", "library", ] def analyze_code_query(query: str) -> dict[str, Any]: """ Analyze a query to determine if it's code-related and extract relevant information. Args: query: Search query to analyze Returns: Analysis results with query classification and extracted info """ query_lower = query.lower() detected_languages = [lang for lang in PROGRAMMING_LANGUAGES if lang in query_lower] detected_frameworks = [fw for fw in FRAMEWORKS if fw in query_lower] code_indicators = [kw for kw in CODE_KEYWORDS if kw in query_lower] is_code_query = len(detected_languages) > 0 or len(detected_frameworks) > 0 or len(code_indicators) > 0 return { "is_code_query": is_code_query, "confidence": min( 1.0, (len(detected_languages) + len(detected_frameworks) + len(code_indicators)) * 0.3, ), "languages": detected_languages, "frameworks": detected_frameworks, "code_indicators": code_indicators, "enhanced_query_recommended": is_code_query, } def analyze_query_for_code_search(query: str) -> dict[str, Any]: """ Standalone function to analyze if a query is code-related. """ return analyze_code_query(query)