Add filtering to RecallContextManager
#1095
Draft
+122
−28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements the change mentioned in #1083 (comment) and the following comment.
Some notes and things that remain to be done:
UiRecallContextManager
class might not actually necessary, because it simply adds a different defaultfilter
function.filter_ui_objects
function is meant to returnTrue
forTagChild
orTagAttrs
orNone
objects. However, there's not really a good way to check if something is aTagChild
orTagAttrs
, since those aren't classes, but instead Union types which are recursive. I suppose we could recurse into the objects and check the entire tree to see if everything fits into the type, but that seems pretty crude. This issue is the most questionable part of this approach.TagChild
args, while others acceptTagChild | TagAttrs
, but thefilter_ui_objects
function currently only checks for the latter. There should be a different filter function that checks for the former.