Commit Graph

1750 Commits

Author SHA1 Message Date
Nikita Katkov
0349903955 [json] IJPL-172038 More performance improvements for json schema FUS
- Prefer HashMap and HashSet over the Linked* collections to reduce overhead
- Prefer strict enum type in a map
- Run several test attempts to achieve more stable results


(cherry picked from commit 8254f2317efc10450adb40168f8159120aa87915)

IJ-CR-149952

GitOrigin-RevId: f8fde91b390057faa64ff4e8b40f9db67f9ac36e
2024-12-04 21:44:47 +00:00
Nikita Katkov
a12c2ab9e8 [json] IJPL-172038 Prefer HashMap and HashSet over the Linked* collections to reduce FUS performance impact
(cherry picked from commit f033e0ec51114f2b4dc54b76a4e7c8a13137edc2)

IJ-CR-149952

GitOrigin-RevId: ae4411032c6a63effc1ee104e268b10472717849
2024-12-04 21:44:47 +00:00
Nikita Katkov
8ba490d2fa [json] IJ-CR-149952 Fix FUS collection errors
- reversed condition
- prefer internal modifiers over annotations


(cherry picked from commit 7d1cc8695a85ce54ca7e71fad060b94c662915d1)

IJ-CR-149952

GitOrigin-RevId: 0596cd5b72be783b266cc6187915e06fcf86e6be
2024-12-04 21:44:47 +00:00
Nikita Katkov
86b8508ffc [json] IJPL-172038 Removed unneccessary readaction assertion since it is not useful anymore
(cherry picked from commit 3317cf8955a52586fa7255b1ba3b8bb7129de181)

IJ-CR-149952

GitOrigin-RevId: e6f65e713a9652752f145366d709b73d57fef787
2024-12-04 21:44:46 +00:00
Nikita Katkov
28e2fadfb3 [json] IJPL-172038 Prefer simple thread local cache instead of ReadActionCache to reduce FUS collection performance impact
(cherry picked from commit 0788ef02d6384176e0ed6fec8037c3f63b656fb9)

IJ-CR-149952

GitOrigin-RevId: 5c59f591702288cbf48a4616050e0d86fc45bd87
2024-12-04 21:44:46 +00:00
Nikita Katkov
883722fe8e [json] IJ-CR-149952 Prefer allowed values list instead of regexp-based schemaId reporting
(cherry picked from commit 047b36e55b16ec4721f882c879dbb9e415511849)

IJ-CR-149952

GitOrigin-RevId: 6bf17ed7a46cc07e38aad2e3e403ce9315d4b29f
2024-12-04 21:44:46 +00:00
Nikita Katkov
f651b9272e [json] IJPL-166426 FUS-5203 Prefer default events naming convention, introduce event descriptions
(cherry picked from commit bf88345fea68ace01c149b9791ff8b48ce6fe9d9)

IJ-CR-149952

GitOrigin-RevId: 2e7057e6765132fb6c76d9edab488f4639816a21
2024-12-04 21:44:46 +00:00
Nikita Katkov
21c80c4fbc [json] IJPL-166426 Cache root schema object's file url because it is accessed in the equals & hashcode methods frequently enough
(cherry picked from commit 3af3524fb8d7d044da4508090911d8bc97aeda83)

IJ-CR-149952

GitOrigin-RevId: e9b81f32abe75d1a48c5ece1c351d6ba209481ee
2024-12-04 21:44:46 +00:00
Nikita Katkov
c4e34440e7 [json] IJPL-166426 Log the number of various resolve-related method invocations to be able to compare with the updated version in the future.
The goal is to reduce both number of local and remote url resolve attempts


(cherry picked from commit 8b347c28c75b6241e2a15d2bf5d7ac509da6d178)

IJ-CR-149952

GitOrigin-RevId: eb13dd5f224091d7c73fec7a46b5d30248e1d49d
2024-12-04 21:44:46 +00:00
Vladimir Panimaskin
fd4b3bcb44 [webpack] update Webpack json schemas WEB-64138
(cherry picked from commit c8975ff5cd29c34b65cbc413d366b1fd01196acd)

IJ-CR-148438

GitOrigin-RevId: c4e21a458a7a17d983f584c253901446591c2d53
2024-11-07 23:45:26 +00:00
Yuriy Artamonov
0ad7df3289 [editor] IJPL-164140 Floating code toolbar is not configurable for JSON, XML, YAML and SQL files
(cherry picked from commit 9d3a74bf1433284ed0fb7e6e2b554926966110e7)
IJ-CR-148640

GitOrigin-RevId: 3c215330677d9e7730aaa04fbdd9fcffdbf3d7ba
2024-11-07 20:33:37 +00:00
Andrei Iurko
efbebbef0b [qodana] QD-9891 Add reviewed inspections categories and fix json schema validation
GitOrigin-RevId: 7ca2b2fde31a47b41b1940badee13d931bd91102
2024-11-06 14:28:05 +00:00
Nikita Katkov
53af24ec04 [json schema] IJPL-163460 Get rid of vararg in API to avoid accidental excessive arrays copying
(cherry picked from commit 100b1a8277016b3a6f99c26fccb357101a64d3f0)

IJ-CR-147983

GitOrigin-RevId: 70dd14ac5cb2836eff3ad14cf4063d8f319f353f
2024-10-29 15:56:11 +00:00
Nikita Katkov
2503b96301 [json + yaml] IJPL-163460 Disable on the fly remote schema resolve cause it might produce tons of http requests followed by the same amount of VFS access attempts throught the HttpVirtualFile api. This might result in lots of duplicated files being loaded into memory
(cherry picked from commit 32a9666485761cdbdb4e6a48a981206440b8555b)

IJ-CR-147983

GitOrigin-RevId: 816cf3ff66963829196b73d4289b81a24aa1d049
2024-10-29 15:56:11 +00:00
Nikita Katkov
4a273f51d8 [json + yaml] IJPL-163460 Implement fast exit for yaml deprecation inspection
There is no point in traversing schema if there are no deprecated nodes specified in it. So we first index the in-memory schema instance and perform fast exit in case no deprecation keywords were detected


(cherry picked from commit decd0a968fa3e04326b4fdeec3cdab01563439fb)

IJ-CR-147983

GitOrigin-RevId: 2f816ec1c9867bf9b81f560524917d274705fc1a
2024-10-29 15:56:11 +00:00
Yuriy Artamonov
7703401b52 [ui] IJPL-164017 Enable floating toolbar for JSON/XML/YAML
GitOrigin-RevId: 219d903159220d92ca1de77f24ed1c869550b368
2024-10-12 00:00:10 +00:00
Andrei Iurko
4111cfc875 [qodana] QD-9891 Add aspects with the highest certainty for inspections
GitOrigin-RevId: 8fad66714287192bd5cbc8396a3d30f1ba139302
2024-10-11 14:49:57 +00:00
Nikolay Chashnikov
df3e571577 [json] API cleanup: mark deprecated unused API for removal (IJPL-156972)
Deprecated APIs which still have internal usage are marked as internal to ensure that new external usages won't appear.

GitOrigin-RevId: 8c49669e8cc5238cd2a0ef6632d0fa0aa559ce4b
2024-10-10 23:55:42 +00:00
Nikita.Ashihmin
487eb45975 PY-71854 Jupyter(feat): rename getLoadLimit() to getDefaultLoadLimit
GitOrigin-RevId: 87ae69b139e84aa6817b27123d3d3db79ac64344
2024-10-05 23:58:20 +00:00
Nikita.Ashihmin
a82c5d2f20 PY-71854 Platform(refactor): Replace all usage of old non file type specific File limits to the new FileSizeLimit
GitOrigin-RevId: c65b945a34e24ab79b06f2039361fd6dcc1048e7
2024-10-05 23:58:19 +00:00
Vladimir Krivosheev
4a176d4c02 IJ-CR-146078 extract intellij.platform.bootstrap
GitOrigin-RevId: b79efc92829111228e83058e54381d8e02116b6f
2024-10-05 22:01:55 +00:00
Nikita Katkov
9ad64512e3 [json] IJ-CR-144628 Redistribute split module inside end-user plugin jars
If we could specify custom path for required content modules, we could include json.split into the monolith intellij.json plugin as well.

Currently we have to keep it in a separate jar to satisfy the test. It seems to make litle sense since no other plugin in monolith ide depends on json.split.

GitOrigin-RevId: 77362ce4de0957d941844003d69593c273269a68
2024-09-25 21:39:42 +00:00
Nikita Katkov
d22ae766f6 [json] IJ-CR-144628 Employ the new required content module feature
- it allows to avoid duplicated registrations in different plugin descriptors
- it loads json.split module's classes with a main plugin classloader -> classes from the json.split module can be directly accessed from the main plugin module

GitOrigin-RevId: 052de488d023b25dd9362a62ae45232d292ded13
2024-09-25 21:39:42 +00:00
Nikita Katkov
3a77373380 [json] IJ-CR-144657 Fix minor code style warnings
GitOrigin-RevId: e44a82a38dea8086ff105a2422ac1e2e120e729b
2024-09-24 13:03:39 +00:00
Anton Lobov
a976ac8093 [json schema] nested completions - properly handle the case with multiple child nodes (named + regex at once)
GitOrigin-RevId: 6a2b408f0d84612d6c1373d0f2740a8ec1d588df
2024-09-23 13:52:18 +00:00
Nikita Katkov
a30592e62a [json] Specify platform module dependency in plugin.xml
GitOrigin-RevId: 47d488bc34e2467e98cf4db7021e9e6c7c258f67
2024-09-16 00:21:06 +00:00
Maxim.Kolmakov
c6d31a553c Remove @HardwareAgentRequired annotation
All Perf Unit tests are run on the hardware agents to ensure stability of the metrics.
So the annotation is not needed anymore and it doesn't work on JUnit5 tests so the same test is run twice and since test execution time depends on the bucketing, metrics are jumping.

GitOrigin-RevId: fc83a368447d09d6ad1b269c88fe4f6c79067a91
2024-09-13 15:28:16 +00:00
Nikita Katkov
e1c5798abc [json] IJPL-160634 Fix accidentally broken json schema mapping persisting
Historically, we store enum's string representation inside the json mappings state. In turn, the string is assembled from a message bundle line used in several places across the project. Changing this line broke the deserialization process.

To preserve backward compatibility, we intentionally continue using the same approach, but provide a converter capable of reading the schema version tag both in new and in old formats

GitOrigin-RevId: 8813740318ede3c9bc5656ee46c847059760e3c5
2024-09-11 21:32:42 +00:00
Nikita Katkov
305f58f0b5 [json] IJPL-159355 Implement custom settings provider required method
GitOrigin-RevId: 595ec1a27d6b98aeae0e94f83a6dd13eecd7cc56
2024-09-11 15:07:40 +00:00
Nikita Katkov
e8ca887433 [json + remdev] Duplicate extensions declarations in frontend and backend plugin descriptors until required modules are not implemented
GitOrigin-RevId: 853513a6223517b7a47d3e4a8b5ac1c16d932d40
2024-09-11 15:07:40 +00:00
Nikita Katkov
62b18f6f3f [json] IJPL-159355 Dynamically disable editor-related extensions that can not be disabled via split mode-specific API
GitOrigin-RevId: 6a65082ad8d157d45b7fdcba3fad2aba3b10698b
2024-09-11 15:07:40 +00:00
Nikita Katkov
c8a120de43 [json] IJPL-159355 Moved json formatter and code style settings to shared module & enabled code style settings sync between frontend and backend
GitOrigin-RevId: ee9fe29775579100255429c8503e1f4a83fb564e
2024-09-11 15:07:39 +00:00
Nikita Katkov
b18d236ef7 [json] IJPL-159355 Moved json string literal annotator to split module
GitOrigin-RevId: f119206ee4f328a1a090fdb4d5e6d55219137f76
2024-09-11 15:07:39 +00:00
Nikita Katkov
a8e5342b17 [json] IJPL-159354 Removed nonexisting source root
GitOrigin-RevId: d251e4c97c131d58af7fa1caa29c4a35e6b28ce5
2024-09-11 15:07:39 +00:00
Nikita Katkov
95d0180339 [json] IJPL-159355 Update plugin layout: include frontend jar into the monolith plugin
GitOrigin-RevId: 72eea76db6ce02276237b59e8e24038d9da6ea2a
2024-09-11 15:07:39 +00:00
Nikita Katkov
1d3e672957 [json] IJPL-159355 Plugin descriptor simplification
GitOrigin-RevId: 9cffcdaaf64c6a8b578a3901b6345f93255a98de
2024-09-11 15:07:39 +00:00
Nikita Katkov
4ba1d4aa65 [remdev + json] IJPL-159355 Moved editor-related features to shared module to reuse in split mode
GitOrigin-RevId: 52c77f48f13f763f6799bae96a540cadef05bf07
2024-09-11 15:07:39 +00:00
Nikita Katkov
7f9fd1d9ed [remdev + json] IJPL-159355 Adjust plugin content layout
GitOrigin-RevId: b8d26c58fb72a7fd1af14685890ab91242c0484d
2024-09-11 15:07:39 +00:00
Nikita Katkov
a74ffa0e10 [remdev + json] IJPL-159355 Move shared classes and extensions to the new json.split module
GitOrigin-RevId: 591c01c811152497a6cf8182207e364029d74375
2024-09-11 15:07:39 +00:00
Nikita Katkov
1059d63e64 [remdev + json] IJPL-159355 Introduce json.split shared module for both frontend and monolith IDE plugins
GitOrigin-RevId: 24fa5e237a2bb74a5dd50be268e1c3fa616dc100
2024-09-11 15:07:39 +00:00
Piotr Tomiak
ffab6232c6 WEB-69157 JSON: optimize JsonPsiImplUtils.getName
GitOrigin-RevId: ef881215a448da0b848a0ea08cbb7acd7426a98d
2024-09-10 12:43:38 +00:00
Roman Shevchenko
a5666abead [project] pruning FileChooserDescriptor overrides (IJPL-150176 prerequisite)
`BrowseFolderRunnable` and `*WithBrowseButton` family: getting rid of separate "title" and "description" parameters in favor of the chooser descriptor object, to avoid cloning the latter down the road.

GitOrigin-RevId: 33ec5968a1db953c60848974135055c288accf85
2024-09-06 11:41:43 +00:00
Anton Lobov
ef0cd49c7c [json schema] improve the highlighting range and provide a typo quick fix for disallowed property inspection
GitOrigin-RevId: 11380194fc21750f07fde230dae6ad5b37362384
2024-08-21 18:52:53 +00:00
Anton Lobov
1f409fad17 [json schema] AMPER-932 Don't suggest duplicate enum values if parent array assumes unique items
GitOrigin-RevId: a0e471c3d086ea2a4234501f75bbe4792b15a3d1
2024-08-12 15:50:13 +00:00
Max Medvedev
c795cec244 IJPL-155874 Make most of the spellchecking strategies dumb aware
If you see any problems with your spellchecking strategy, please feel free to remove DumbAware from it. Or, you can make it dumb-aware by avoiding using indexes in dumb mode

The only strategies that are not DumbAware at the moment are:
- JavaSpellcheckingStrategy
- JSSpellCheckingStrategy

GitOrigin-RevId: 74781cf1ebd9b58669396bf7b1c03a839019f12b
2024-08-09 20:25:06 +00:00
Liubov Afanaseva
3ed8dc3cee FUS: increased "json.schema" version
GitOrigin-RevId: 8c161501b093bd332d73b5c8eb3020c449430d1b
2024-08-08 10:45:56 +00:00
Vladimir Krivosheev
a259c55960 add new content reports
GitOrigin-RevId: 0eab2825fccd798d52a354cd6e2ce254a5b8365c
2024-08-08 08:45:51 +00:00
Nikita Katkov
8d2c779293 [json] IJPL-159354 Specify action text via its id
GitOrigin-RevId: 4b9bab676afd8512f71d07501d791709c9aeb1d7
2024-08-06 21:52:26 +00:00
Nikita Katkov
4e185c87f9 [json] IJPL-159354 Removed JSON module from the platform layout in favor of bundled JSON plugin
GitOrigin-RevId: 944b1fdad9394c3228832dd769fba5bf29fae298
2024-08-06 21:52:26 +00:00
Nikita Katkov
28b1da45c2 [json] IJPL-159354 Unbundle JSON plugin from the platform
- JSON becomes a true plugin instead of a bundled module.
- New plugin's ID is intentionally set equal to the old module name so that external dependent plugins would not face difficulties migrating to the new layout.
- All discovered internal plugins that implicitly depended on the JSON module currently unconditionally depend on the plugin.
- Consider extracting optional modules in a subset of affected plugins: spring.boot, intellij.yaml, intellij.java
- Consider testing the following IDEs that bundle JSON extension using xml:include: writerside, rider
- Refactor PlatformLangXmlPlugin to avoid api breakages

GitOrigin-RevId: 7d92b0c5905154c4f6f25d55f3246e79da79e278
2024-08-06 21:52:25 +00:00