mirror of
https://github.com/sourcebot-dev/sourcebot.git
synced 2025-12-11 20:05:25 +00:00
Some checks failed
Publish to ghcr / build (linux/amd64, blacksmith-4vcpu-ubuntu-2404) (push) Has been cancelled
Publish to ghcr / build (linux/arm64, blacksmith-8vcpu-ubuntu-2204-arm) (push) Has been cancelled
Update Roadmap Released / update (push) Has been cancelled
Publish to ghcr / merge (push) Has been cancelled
* generate protobuf types * stream poc over SSE * wip: make stream search api follow existing schema. Modify UI to support streaming * fix scrolling issue * Dockerfile * wip on lezer parser grammar for query language * add lezer tree -> grpc transformer * remove spammy log message * fix syntax highlighting by adding a module resolution for @lezer/common * further wip on query language * Add case sensitivity and regexp toggles * Improved type safety / cleanup for query lang * support search contexts * update Dockerfile with query langauge package * fix filter * Add skeletons to filter panel when search is streaming * add client side caching * improved cancelation handling * add isSearchExausted flag for flagging when a search captured all results * Add back posthog search_finished event * remove zoekt tenant enforcement * migrate blocking search over to grpc. Centralize everything in searchApi * branch handling * plumb file weburl * add repo_sets filter for repositories a user has access to * refactor a bunch of stuff + add support for passing in Query IR to search api * refactor * dev README * wip on better error handling * error handling for stream path * update mcp * changelog wip * type fix * style * Support rev:* wildcard * changelog * changelog nit * feedback * fix build * update docs and remove uneeded test file
255 lines
3.1 KiB
Text
255 lines
3.1 KiB
Text
# Literal dash term
|
|
|
|
-test
|
|
|
|
==>
|
|
|
|
Program(Term)
|
|
|
|
# Quoted dash term
|
|
|
|
"-excluded"
|
|
|
|
==>
|
|
|
|
Program(Term)
|
|
|
|
# Dash in middle
|
|
|
|
test-case
|
|
|
|
==>
|
|
|
|
Program(Term)
|
|
|
|
# Multiple dash terms
|
|
|
|
-one -two -three
|
|
|
|
==>
|
|
|
|
Program(AndExpr(Term,Term,Term))
|
|
|
|
# Negate file prefix
|
|
|
|
-file:test.js
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(FileExpr)))
|
|
|
|
# Negate repo prefix
|
|
|
|
-repo:archived
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(RepoExpr)))
|
|
|
|
# Negate lang prefix
|
|
|
|
-lang:python
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(LangExpr)))
|
|
|
|
# Negate content prefix
|
|
|
|
-content:TODO
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(ContentExpr)))
|
|
|
|
# Negate revision prefix
|
|
|
|
-rev:develop
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(RevisionExpr)))
|
|
|
|
# Negate archived prefix
|
|
|
|
-archived:yes
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(ArchivedExpr)))
|
|
|
|
# Negate fork prefix
|
|
|
|
-fork:yes
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(ForkExpr)))
|
|
|
|
# Negate visibility prefix
|
|
|
|
-visibility:any
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(VisibilityExpr)))
|
|
|
|
# Negate context prefix
|
|
|
|
-context:backend
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(ContextExpr)))
|
|
|
|
# Negate symbol prefix
|
|
|
|
-sym:OldClass
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(SymExpr)))
|
|
|
|
# Negate parentheses
|
|
|
|
-(test)
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(ParenExpr(Term)))
|
|
|
|
# Negate group with multiple terms
|
|
|
|
-(test exclude)
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(ParenExpr(AndExpr(Term,Term))))
|
|
|
|
# Negate group with prefix
|
|
|
|
-(file:test.js console.log)
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(ParenExpr(AndExpr(PrefixExpr(FileExpr),Term))))
|
|
|
|
# Prefix with negated term
|
|
|
|
file:test.js -console
|
|
|
|
==>
|
|
|
|
Program(AndExpr(PrefixExpr(FileExpr),Term))
|
|
|
|
# Multiple prefixes with negation
|
|
|
|
file:test.js -lang:python
|
|
|
|
==>
|
|
|
|
Program(AndExpr(PrefixExpr(FileExpr),NegateExpr(PrefixExpr(LangExpr))))
|
|
|
|
# Complex negation pattern
|
|
|
|
function -file:test.js -lang:java
|
|
|
|
==>
|
|
|
|
Program(AndExpr(Term,NegateExpr(PrefixExpr(FileExpr)),NegateExpr(PrefixExpr(LangExpr))))
|
|
|
|
# Negation inside parentheses
|
|
|
|
(-file:test.js)
|
|
|
|
==>
|
|
|
|
Program(ParenExpr(NegateExpr(PrefixExpr(FileExpr))))
|
|
|
|
# Multiple negations in group
|
|
|
|
(-file:a.js -lang:python)
|
|
|
|
==>
|
|
|
|
Program(ParenExpr(AndExpr(NegateExpr(PrefixExpr(FileExpr)),NegateExpr(PrefixExpr(LangExpr)))))
|
|
|
|
# Mixed in parentheses
|
|
|
|
(include -file:test.js)
|
|
|
|
==>
|
|
|
|
Program(ParenExpr(AndExpr(Term,NegateExpr(PrefixExpr(FileExpr)))))
|
|
|
|
# Negate nested group
|
|
|
|
-((file:test.js))
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(ParenExpr(ParenExpr(PrefixExpr(FileExpr)))))
|
|
|
|
# Negate short form prefix
|
|
|
|
-f:test.js
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(FileExpr)))
|
|
|
|
# Negate short form repo
|
|
|
|
-r:myrepo
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(RepoExpr)))
|
|
|
|
# Negate short form content
|
|
|
|
-c:console
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(ContentExpr)))
|
|
|
|
# Negate with prefix in quotes
|
|
|
|
-file:"test file.js"
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(FileExpr)))
|
|
|
|
# Complex with multiple negated prefixes
|
|
|
|
lang:typescript -file:*.test.ts -file:*.spec.ts
|
|
|
|
==>
|
|
|
|
Program(AndExpr(PrefixExpr(LangExpr),NegateExpr(PrefixExpr(FileExpr)),NegateExpr(PrefixExpr(FileExpr))))
|
|
|
|
# Negated group with prefix
|
|
|
|
-(file:test.js lang:python)
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(ParenExpr(AndExpr(PrefixExpr(FileExpr),PrefixExpr(LangExpr)))))
|
|
|
|
# Negate empty group
|
|
|
|
-()
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(ParenExpr(Term(⚠))))
|
|
|
|
# Negate with space after dash
|
|
|
|
- file:test.js
|
|
|
|
==>
|
|
|
|
Program(NegateExpr(PrefixExpr(FileExpr)))
|