model check should be triggered on:
- toggle filters (a preserve case is filter)
- typing (it trigger update on switching state to find/replace)
No need to update results if switched
- replace state
- preserve case
- string to replace changed
(cherry picked from commit 3ed8b144579e63728fd5e06372bf35c6eb5aea37)
(cherry picked from commit b2431ed9e5f1ea6fc22d40017156a4d7447cc681)
IJ-MR-173754
GitOrigin-RevId: 1a6bd8381cb6f4419b65340faebf4fd40b7f081a
- Added APIs and services to allow the backend to expose available search scopes to the frontend (ScopeModelService)
- created ScopesStateService that keeps map scopeId to ScopeDescriptor
- added scopeId to FindModel for getting scope on the backend using ScopesStateService
- refactored FindPopupScopeUIImpl for using FrontendScopeChooserCombo instead of ScopeChooserCombo in case when FindKey is enabled
(cherry picked from commit 4d44d7aaadff23a0a3bb4262ea4d6f5a7dfe1f85)
GitOrigin-RevId: 7a1174256fc723c3373c7924a4d028fd6e3d1285
preparation for bruteforce search impl:
+ docs, field re-ordering and renaming
+ remove my-prefix from field names
GitOrigin-RevId: 6a438afdaef91e652c28c440a45b12018f4d6dd0
+ if `IdIndexer` (`IdIndex` sub-indexer) implements `FileTypeIndexingHint` -- it is used by `IdInputFilter` to customize input files filtering
+ this feature is used to re-implement `index.ids.from.java.sources.in.jar` (instead of extension points)
+ test for `JavaIdIndexer` filtering
+ adjust `IdIndex`: processes .class-files only conditionally
+ rename registry keys (unify naming):
+ `ide.index.id.skip.java.sources.in.libs`: enables/disables indexing of java sources in libraries (index .class-files instead)
+ `ide.index.trigram.enable.exclude.extensions`: enable/disable excluding of .java-sources in libraries from trigram index
GitOrigin-RevId: 8b8e40d621e01466854364c282d00a4731d5f4de
+ extracting common `IndexFilterExcludingExtension` and `ExtensionCustomizableExcludes` helper to be used by both Id & Trigram indexes (and maybe others)
+ renaming and moving classes for mental clarity
GitOrigin-RevId: e01b712072e0453253495c263573672414619bdc
The processor is created per search session in background thread, so it's a relatively short-living thing. It's unlikely that the service should be unloaded during its function. On the other hand, processTextOccurrence might be called too often, which affects the overall search performance.
May help IDEA-368981 Renaming package never finishes, stuck "Looking for Usages"
GitOrigin-RevId: f3f9643fd47a948997dbebde05f10b344e63ba53
Otherwise, an unsupported operation exception will be thrown and the analysis will break
The fix was initially written by Andrey Zaytsev <andrey.zaytsev@jetbrains.com> but then reverted
GitOrigin-RevId: 860bde852187871da5592f2da2cbd36de9d3f97b
The generic ability does not make sense because each feature (Find usages, Rename, etc.) is expected to implement its
own search. We've already had `ReferencesSearch` and tried to implement different features on top of it, and it turned
out that it's too generic. For instance, one needs to filter out some of its results during the Rename, but include them
in Find Usages. Instead, we require language support to implement different searchers for different features. If the
code is actually share-able, it's up to the language plugin implementation to share it.
GitOrigin-RevId: 65f719838645d780effcbe80a1aafaf93e756ae0
See Migration-stubs-from-stub-element-types.md for details.
In short, IStubElementType hierarchy is not necessary for implementing stub support anymore.
Use StubRegistryExtension instead.
GitOrigin-RevId: e5be32d46270678b4ddf7904f5bd3bdd7e2b433d