Commit Graph

1739 Commits

Author SHA1 Message Date
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
Yuriy Artamonov
4dac328bf4 [i18n] IJPL-158521 Fix more ellipsis problems in plugins
GitOrigin-RevId: 981393c6f975e303847ca598b650fec8fe65d9bf
2024-07-30 16:35:51 +00:00
Nikita Katkov
ee3b909e5b [json] IJ-CR-140028 Consider previous validation results during annotations collections
GitOrigin-RevId: f40a43bb2d06ccaf51dc73027c9723da9ecd3afa
2024-07-24 12:21:13 +00:00
Nikita Kudrin
cdf91bf213 [benchmarks] Renaming PerformanceTest* => Benchmark*
GitOrigin-RevId: 9963b84d51e1062acc262a8d3d3de1409a708e3b
2024-07-23 18:20:01 +00:00
Nikita Katkov
18f22ce5c2 [json] IJPL-150342 Check whether a given schema virtual file is fully loaded or is not an HttpVirtualFile at all
GitOrigin-RevId: 31cb55be97e7ddfef0a36b4e691728cd911c725d
2024-07-16 22:17:19 +00:00
Nikita Katkov
b186257cb6 [json + swagger] IJPL-157229 Do not inherit unevaluated properties to avoid false positives
This validation has very limited support in the json plugin, it depends on the results of other validations, and must be applied only when IDE is really sure that the error exists. In case of complicated inherited schemas it should give up if any uncertainty occurs.

GitOrigin-RevId: 2ccc53306b27c114748d9a01ddedcd4636667bde
2024-07-16 00:37:45 +00:00
Nikita Katkov
2f872974b1 [json] IJPL-157229 Fix incorrect type validation for 2020 jscon schema
Unspecified type in the meta schema lead to treating many of the instance fields as either an object, or a boolean (as it is specified in the #meta schema node).

GitOrigin-RevId: 4c1441f161039eef502fd7e3e4b64295d04cffc3
2024-07-16 00:37:45 +00:00
Nikita Katkov
23fb60afd8 [json] IJPL-63554 Implemented fast exit for json schema validators
- If requested, validation will stop as soon as any error is found. This is extremelly important performance optimisation that plays well with the recenty introduced if-else branch computation. The number of calls to JsonSchemaResolver.isCorrect() increased dramatically, even more json-schema subsystem refactoring was demanded.

The existing API didn't assume any kind of laziness or cancellability. The refactoring is performed in a way to cause minimal number of changes in code and API. It'd be great to rewrite the entire validation code to sequence/analogs once and drop complicated JsonAnnotationsCollectionMode

GitOrigin-RevId: 4e62f7db76ed6b4071accbe1b80151c4b4664342
2024-07-16 00:37:45 +00:00
Nikita Katkov
9dbc5b0a65 [json] Provide pretty json schema node text in case the node is an object
Previously used asText() method always returns empty string for object nodes, which makes using the readChildNode(..) API inconvenient. Currently, we use pretty rendered string here

GitOrigin-RevId: 4c22553db897e371d6013f8dd8a7be2aa782c431
2024-07-11 18:12:41 +00:00
Nikita Katkov
32456fa0df [json] Fallback to minimal supported json schema version in case no version was chosen
GitOrigin-RevId: 1c621748cbfd29540493dcfb3c0a81cdbe2c58db
2024-07-09 18:13:44 +00:00
Nikita Katkov
d524aec751 [json] IJPL-157406 Fix presentable schema version name
GitOrigin-RevId: 6ad3686198090f9ac42d49e9e1fae73181d7abaa
2024-07-08 18:53:35 +00:00
Tagir Valeev
d263e30396 Remove raw types in PopupStep#onChosen inheritors
GitOrigin-RevId: df36f1a249ab4d87c2d10e3d39c27f0351298921
2024-07-08 16:18:24 +00:00