You basically had this with the Smalltalk refactoring Browser, where each search popped up displayed in a browser window. Then you could easily AND such searches together by executing a script in the browser window. Slightly more sophisticated combinations were possible with just a few lines of scripting.
On top of that, everything above applied to syntax-driven rewrites and refactorings.
On top of that, everything above applied to syntax-driven rewrites and refactorings.