mirror of
https://github.com/sourcegraph/sourcegraph.git
synced 2026-02-06 17:31:43 +00:00
Currently searcher can only handle patterns with a single atom. We'd like to update searcher to handle AND/ OR patterns directly. This refactor takes us a step towards being able to natively handle AND/ OR patterns by refactoring the way we match files. It pulls out a `matcher` interface, which for now just has a single implementation (`regexMatcher`), but eventually can represent nested matchers combined through AND/ OR. Even without this goal, I think the refactor stands on its own and helps clean up the logic. Specific changes: * Lots of renames to make things clearer, like `readerGrep` -> `regexMatcher` * Define `matcher` interface, which finds matches given file contents, and related logic into new file * Pull `pathMatcher` out of `matcher`, since it's really its own top-level concept * Move all file content and buffer management to `search_regex`. This lets each `matcher` object become threadsafe, and avoids the need for copying them for every goroutine. |
||
|---|---|---|
| .. | ||
| batcheshelper | ||
| blobstore | ||
| bundled-executor | ||
| cody-gateway | ||
| embeddings | ||
| executor | ||
| executor-kubernetes | ||
| frontend | ||
| gitserver | ||
| loadtest | ||
| migrator | ||
| msp-example | ||
| pings | ||
| precise-code-intel-worker | ||
| repo-updater | ||
| searcher | ||
| server | ||
| sourcegraph | ||
| symbols | ||
| telemetry-gateway | ||
| worker | ||
| README.md | ||
This directory contains Sourcegraph services and binaries.
When a services is added, removed, or when a service's dependencies change, update our architecture diagram.