To allow outer panels to override editor copy/cut/paste/delete providers via rules.
For LLM-12619.
(cherry picked from commit 33a4233949332ba14aea2eb34c37882894798368)
IJ-CR-148949
GitOrigin-RevId: 32aee37f03f901139765ddbc03de4f3154bbc943
In PyCharm we need to make it larger, so we extract it to the registry
(cherry picked from commit 9cba69d6efdb40a69ed01c0c1412737bb83709ee)
IJ-CR-150247
GitOrigin-RevId: 15e541e9c8e37143c0e31be38ad819cd67172918
The cause: setting extendedState to maximized
has the same effect as option-clicking the green button.
Which, on Sequoia, actually un-maximizes the window
if it's already maximized. Whether it's maximized or not
is determined by its size alone. If there's no "normal"
size to restore, then macOS just makes up one,
slightly less than the screen size.
This leads to a bug when the saved size happens to be
the same as the maximum one, which happens quite often.
Then the size is restored, and when extendedState is set,
it makes the frame smaller than it should be.
The fix: if the saved state is maximized, do not restore
the saved size, but instead restore some size that's
smaller than the current screen. For this we introduce
an extra parameter to setDefaultSize(), so we can
specify the exact screen (determined by the saved location).
This way setting extendedState works as expected,
maximizing the frame.
To prevent setExtendedState() from saving this fake
size as the "normal" one, swap restoring the state
and restoring the normal bounds in create():
now we restore the state first, and then apply
the normal bounds, overwriting whatever setExtendedState()
could have saved there.
(cherry picked from commit 4f190f6ce5b9d7c5dc52f11abbee4fde53a135b4)
IJ-CR-149074
GitOrigin-RevId: d184fb0dff15f7b3f10e94fbddd476a4d3e03cfe
Also, don't query LanguageLevel for each element of each instruction,
only once per scope traversal.
This doesn't fix the problem with unreachable definition *inside* blocks under
unmatched version checks, i.e.
if sys.version_info < (3, 8):
Alias = int
expr: Alias # unresolved
but it's a more difficult problem how to handle those consistently with the idea
of unreachable version checks under the *current* interpreter version, and hopefully
it occurs rarer than, say, unresolved top-level imports of common names from typing.
(cherry picked from commit 55fd4597c6d0860d290caba15fbf4d313e985a86)
IJ-CR-149696
GitOrigin-RevId: 357ada7e10618aef75c470e6cd878f7672109e83
Because async generator methods in ABC and protocols are supposed to be declared as
plain "def" methods so as not to confuse type checkers with their AsyncIterable
return type annotations, it's better to disable such type-hint re-use if methods
async-ness don't match and not wrap anything in typing.Coroutine implicitly.
See also https://mypy.readthedocs.io/en/stable/more_types.html#asynchronous-iterators
(cherry picked from commit 6342f15a7786ec0d02ee1ab2b18fd40fd1ca1430)
IJ-CR-149694
GitOrigin-RevId: 3e19f190d9334e6c8648462ebb5b61abe931b0e6
- `FileSizeLimit.getDefaultContentLoadLimit()` should be used in VCS instead of `PersistentFSConstants.MAX_FILE_LENGTH_TO_CACHE`
(cherry picked from commit 53ed1545fdf4437cbee5a9b2b0116e65d65d0ad0)
(cherry picked from commit 2dc43bf985655785267d2e98876511cac1e0ec4f)
IJ-CR-150186
GitOrigin-RevId: de307ec46d2ade1a3c229273c2e0518aabd23bb9
`FileUtilRt.LARGE_FOR_CONTENT_LOADING` was used in 2 roles: as just 'big file, load with caution', and also 'do not cache file content in VFS' -- but those roles are quite different really, and should not be mixed =>
- `PersistentFSConstants.MAX_FILE_LENGTH_TO_CACHE` is now the limit for VFS caching: default value 1Mb, `-Didea.vfs.max-file-length-to-cache=...` to override
- `FileUtilRt.LARGE_FOR_CONTENT_LOADING` is still used for everything else
(cherry picked from commit f7642bf36cba9984f5a6438c88fcecbe769335a8)
(cherry picked from commit 77ef2bc348054154fba9b612f75bcc41ac880f64)
IJ-CR-150186
GitOrigin-RevId: e8a95f377142a793f171d5ba055ab54dc9bc3d6c
+ previously we limited max file size to cache _on_load -- but not on save, so if huge file is !readOnly, its saving could easily overflow VFSContentStorage -> now all ways to VFSContentStorage have same limits
(cherry picked from commit 0a5e639f35ae41901a7312d25e2e33be49aa4e97)
(cherry picked from commit 61ba8143c82cf1f32c7ae8d1d82e00505b7f91b0)
IJ-CR-150186
GitOrigin-RevId: c8161c5b36cdcbe0b441b5e85b4268f42d9854a6
We now allow spaces in project path (`validatePath`) but convert them to underlines for `projectName` (both changes are in `ProjectPathFlows`).
(cherry picked from commit cc875f7b4e6d2354fba79387a0fc9161a6d267e1)
GitOrigin-RevId: 620e5bca8a406c9588f3e4f54260e5e3162bf686
It allows avoiding the case when a callback triggers some event that leads to animation cancelling and re-call of
callbacks
(cherry picked from commit a194f54a52e35892e69e0e1baa9b03b4b063b0a5)
IJ-CR-149651
GitOrigin-RevId: 9a38c193c6af2e129e792a253d0972c772883bf4
Delegate the popup building and opening to the `LineStatusMarkerPopupService` and control that opened popup is disposed
before creating the new marker panel
(cherry picked from commit fff881f00d75ce4d4b9fa0fc5fa2e2407f7e8813)
IJ-CR-149651
GitOrigin-RevId: 3458a2e0f1e7830d5c67aa539839182840e9d64c
Add "Copy" as well to the context menu
(cherry picked from commit 7a64bba4ba719d3a5a45e9ca51ecf27ca8ed9bd0)
IJ-CR-149651
GitOrigin-RevId: 4dac3794ff4e2716cfdf5fed1fbc6b5cd1c1550f
- use VARTYPE_UNKNOWN for all unknown types and `getExprType` must always return non-null type
(cherry picked from commit ebe50921fe40561ef6219ff4a51448a910f90c3a)
GitOrigin-RevId: b85b5de42549a32a7b445c5bce1df889f6e4a808