@@ -484,7 +484,7 @@ public override (bool CanEnumerate, bool ShouldOverride) CanEnumerateMemberEntri
484484 return ( CanEnumerate : false , ShouldOverride : false ) ;
485485 }
486486
487- public override IEnumerable < string > ProcessQueryArguments ( IEnumerable < string > queryArgs ) {
487+ public override IEnumerable < string > ProcessQueryArguments ( IEnumerable < string > queryArgs , bool isAutoComplete ) {
488488 using var enumerator = queryArgs . GetEnumerator ( ) ;
489489 while ( enumerator . MoveNext ( ) ) {
490490 string arg = enumerator . Current ;
@@ -505,7 +505,7 @@ public override IEnumerable<string> ProcessQueryArguments(IEnumerable<string> qu
505505 yield return TargetQuery . InvalidQueryArgument ;
506506 yield break ;
507507 }
508- } else if ( IncompleteEntityIDRegex . Match ( arg ) is { Success : true } entityIncompleteMatch ) {
508+ } else if ( isAutoComplete && IncompleteEntityIDRegex . Match ( arg ) is { Success : true } entityIncompleteMatch ) {
509509 yield return entityIncompleteMatch . Groups [ 1 ] . Value ;
510510 yield return IncompleteEntityIDKey ;
511511 yield return entityIncompleteMatch . Groups [ 2 ] . Value ;
@@ -514,7 +514,7 @@ public override IEnumerable<string> ProcessQueryArguments(IEnumerable<string> qu
514514 // Only exists for auto-complete, so disallow arguments following this
515515 yield return TargetQuery . InvalidQueryArgument ;
516516 }
517- } else if ( ComponentRegex . Match ( arg ) is { Success : true } componentMatch ) {
517+ } else if ( ComponentRegex . Match ( arg ) is { Success : true } componentMatch ) {
518518 yield return componentMatch . Groups [ 1 ] . Value ;
519519 yield return ComponentKey ;
520520 yield return componentMatch . Groups [ 2 ] . Value ;
@@ -1087,7 +1087,7 @@ internal class CollectionQueryHandler : TargetQuery.Handler {
10871087 private const string SpreadKey = "___SpreadCollection___" ;
10881088 private const string IndexKey = "___Index___" ;
10891089
1090- public override IEnumerable < string > ProcessQueryArguments ( IEnumerable < string > queryArgs ) {
1090+ public override IEnumerable < string > ProcessQueryArguments ( IEnumerable < string > queryArgs , bool isAutoComplete ) {
10911091 foreach ( string arg in queryArgs ) {
10921092 if ( arg . EndsWith ( '*' ) ) {
10931093 string newArg = arg [ ..^ 1 ] ;
@@ -1162,6 +1162,7 @@ public override IEnumerable<string> ProcessQueryArguments(IEnumerable<string> qu
11621162 keyType = type . GenericTypeArguments [ 0 ] ;
11631163 }
11641164
1165+ // TODO: This supports resolving target-queries, but the query-arg parsing logic does not..
11651166 var keyResult = TargetQuery . ResolveValue ( [ memberArgs [ memberIdx ] [ IndexKey . Length ..] ] , [ keyType ] ) ;
11661167 if ( keyResult . CheckFailure ( out var error ) ) {
11671168 value = null ;
@@ -1432,7 +1433,7 @@ private class ButtonBindingData {
14321433 } else {
14331434 return Result < bool , TargetQuery . MemberAccessError > . Ok ( false ) ;
14341435 }
1435-
1436+
14361437 var nodes = button . Nodes ;
14371438 var mouseButtons = button . Binding . Mouse ;
14381439 var data = ( ButtonBindingData ) value ! ;
@@ -1545,7 +1546,7 @@ public override IEnumerator<CommandAutoCompleteEntry> EnumerateTypeEntries(Type
15451546 // Only ASCII alphabet is allowed
15461547 continue ;
15471548 }
1548-
1549+
15491550 yield return new CommandAutoCompleteEntry {
15501551 Name = key . ToString ( ) ,
15511552 Extra = "Key" ,
0 commit comments