"""FTS5 search engine for snippets.""" from typing import Any from snip.db.database import Database class SearchEngine: def __init__(self, db: Database): self.db = db def search( self, query: str, limit: int = 50, language: str | None = None, tag: str | None = None, ) -> list[dict[str, Any]]: """Search snippets using FTS5.""" return self.db.search_snippets(query, limit=limit, language=language, tag=tag) def highlight(self, text: str, query: str) -> str: """Add highlighting markers around matched terms.""" terms = query.split() result = text for term in terms: result = result.replace(term, f"**{term}**") return result