Commit Graph

138 Commits

Author SHA1 Message Date
Leonid Shalupov
c75f975a4b IJI-2422: plugins/JavaScriptLanguage: separate source and resource roots
(cherry picked from commit a4cd2a071d1e8cee9bbb1dadd751c80a9fdbf8a7)

IJ-CR-155976

GitOrigin-RevId: 62918c360e9fbad3f176a94c8149469161d1dd7d
2025-02-25 13:10:18 +00:00
Nikolay Chashnikov
2d050772a0 [json] extract explicit main module from plugin.xml for JSON plugin (IJPL-176240)
This is needed to enable automatic layout and to allow merging two JSON plugins to a single one. Also, this is needed to allow adding dependency on JSON from the unified YAML plugin.

'intellij.json' is registered as an embedded content module, so it uses the main plugin classloader, and now has a dependency on 'intellij.json.split' module. This ensures that classes from both modules are available to content modules from other plugins which declare dependency on JSON plugin as before.

After this change, build scripts don't put intellij.toml.json to a separate JAR anymore, and an explicit adjustment is needed in the Wiremock plugin's layout to avoid creating an unnecessary separate JAR.

GitOrigin-RevId: be77513b7f0c1e397b4f6dda7524aa6978fa2a90
2025-02-07 14:23:09 +00:00
Nikolay Chashnikov
9ab7236e56 [json] extract explicit main module from plugin.xml for JSON plugin (IJPL-176240)
This is an auxiliary commit to keep history of the file.

IJPL-176240

GitOrigin-RevId: 9e26820ce423ded82d605ad4669ca7943684a815
2025-02-07 14:23:09 +00:00
Leonid Shalupov
ae234e5fb1 IJI-2422: community: move resources under resources root
GitOrigin-RevId: c7d393fd8a9a074970bc7e0de3325bdee4ec070b
2025-02-05 10:14:39 +00:00
Nikita Katkov
55eb603d71 [json] IJ-CR-149952 Prefer allowed values list instead of regexp-based schemaId reporting
GitOrigin-RevId: 047b36e55b16ec4721f882c879dbb9e415511849
2024-11-25 21:34:02 +00:00
Nikita Katkov
b7366bf1f0 [json] Update JSON plugin layout and exclude shared modules from module included in several plugins test correctly
GitOrigin-RevId: e4bd326e7908ef8e1648b7d158d8cbe9d5f07274
2024-11-21 18:26:52 +00:00
Nikita Katkov
4661bcc19f [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

GitOrigin-RevId: 8b347c28c75b6241e2a15d2bf5d7ac509da6d178
2024-11-18 20:34:42 +00:00
Andrei Iurko
fa910aa4a3 [qodana] QD-9891 Add reviewed inspections categories and fix json schema validation
GitOrigin-RevId: c997f3886f587f5bbc864341691a90c9f55c6199
2024-10-30 14:47:21 +00:00
Nikita Katkov
00ef504612 [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
GitOrigin-RevId: 32a9666485761cdbdb4e6a48a981206440b8555b
2024-10-28 20:44:19 +00:00
Yuriy Artamonov
83823421f3 [editor] IJPL-164140 Floating code toolbar is not configurable for JSON, XML, YAML and SQL files
GitOrigin-RevId: 9d3a74bf1433284ed0fb7e6e2b554926966110e7
2024-10-22 19:53:39 +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
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
a30592e62a [json] Specify platform module dependency in plugin.xml
GitOrigin-RevId: 47d488bc34e2467e98cf4db7021e9e6c7c258f67
2024-09-16 00:21:06 +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
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
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
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
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
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
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
d524aec751 [json] IJPL-157406 Fix presentable schema version name
GitOrigin-RevId: 6ad3686198090f9ac42d49e9e1fae73181d7abaa
2024-07-08 18:53:35 +00:00
Yann Cébron
4504284ed9 [various] plugin descriptors: suppress "Invalid extension point name" warnings
we can't change existing names in a backwards-compatible way

GitOrigin-RevId: 46f8980842d90dd1aae3ce5a9a32dfd4afc30735
2024-07-03 20:24:32 +00:00
Anton Lobov
c58f381025 [json schema] support adding arbitrary metadata to schema elements and use that facility in amper for filtering of completion items
GitOrigin-RevId: 34d3641afeb2c2d3e6932d33f1e3c091b76e2205
2024-06-26 13:35:22 +00:00
Andrii Zinchenko
d4059839e2 [devcontainers] IJPL-67049: suggest to try Ultimate by devcontainer.json/.devcontainer.json file opening in the Editor
GitOrigin-RevId: 7744cd002a656e85b354697e4a49da718f5775e1
2024-06-21 13:45:33 +00:00
Nikita Katkov
41ccf9c452 [json] IJPL-63554 Resolve json schema node with explicitly provided PSI element to make it possible to process if-then-else schema expressions
All client calls of the resolver API were updated to make PSI-dependent resolve possible

GitOrigin-RevId: f0b1596048e0a73953f044d7cf391dea9e6a8feb
2024-06-18 20:26:11 +00:00
Nikita Katkov
e9825c5666 [json] IJPL-63554 Bundle vocabularies for 2019 and 2020 schema versions
GitOrigin-RevId: ff4f1231043c4d1c7b8c1a9283f4367f38055f1c
2024-06-18 20:26:10 +00:00
Anton Lobov
5340653c50 [amper] expanding shorthand values and intentions as the first application of that
GitOrigin-RevId: 5fcdbca7efcc11bf9f7bf252ec0d7239c11d4d5b
2024-06-12 19:49:54 +00:00
Anton Lobov
4b686de69e [amper] AMPER-656 Don't show "Fill in all properties from JSON schema"
GitOrigin-RevId: dbb9f11880a2a8eb1db4a00c458f07071c553b2a
2024-05-22 18:40:29 +00:00
Andrey Starovoyt
93df237fff [json]: fix error message IJPL-149491
GitOrigin-RevId: 0735c3d66636efd8b33c3a0533c7186a811026f6
2024-05-08 20:20:39 +00:00
Nikita Katkov
7f907761cb [json + js] IJ-CR-129937 Fix wording
GitOrigin-RevId: d83828b6aa751a4784772b495eaaf855a0db119f
2024-04-16 19:35:56 +00:00
Anton Lobov
d2d2a80c11 [amper] provide a custom insert handler for enum item for a json schema
this is needed to handle cases when the value is "expandable" - there are two different options to write the same (product = lib or product {type = lib}), but in some cases one of them requires expanding by default (lib requires a set of platforms)

instead of introducing the notion of "expandable" into the schema, we just provide an ability to provide a custom completion insert handler to handle tricky cases like that

GitOrigin-RevId: 5e54f19326891d7d02061b338efb392fc0ae2634
2024-04-11 19:19:15 +00:00
Nikita Katkov
e710b04569 [json + javascript] IJ-CR-129937 Fix wording and utilize message bundle's choice feature
GitOrigin-RevId: 192f55c99b60bfddf8e75f0588bd95e09a05ca4a
2024-03-26 13:33:24 +00:00
Nikita Katkov
3f890f8310 [json + javascript] WEB-64406 Display number of array items in folded object nodes
GitOrigin-RevId: 336827ac995931adec2b0fdfc5e4eb2b0e36343c
2024-03-25 13:43:35 +00:00
Nikita Katkov
4126bf118a [json + javascript] WEB-64406 Display number of array items in folded array nodes
GitOrigin-RevId: e9d7fd69011fbf2a0ccc717e7e5bd6150753337f
2024-03-25 13:43:30 +00:00
Yuriy Artamonov
7d474bfa88 [wiremock] IDEA-346519 Suggest plugin in relevant JSON files
GitOrigin-RevId: 7c5be5790c8e3e57f60af4b942a5e546accb15ec
2024-02-26 11:50:55 +00:00
Nikita Katkov
46967b586c [json] IJ-CR-124164 Review fixes
- Use virtual file as a key in schema storage map
- Prefer KFMap instead of lazy properties
- Fix various minor code-style problems

GitOrigin-RevId: 20825456c5b98f654e3957eb9783badb21a6d433
2024-02-07 18:29:11 +00:00
Nikita Katkov
892e56cde1 [json] Turn on the new JsonSchemaObject implementation again
The key was turned off previously to collect more metrics with the old implementation

GitOrigin-RevId: 66bcc54055fe7bfa553bd08acd311e3aa87da849
2024-01-24 19:18:20 +00:00
Andrii Zinchenko
63f42a3e4b [devcontainers] IDEA-343782: inspection errors for comments for .devcontainer.json root file
GitOrigin-RevId: 9f95afc018df3078d7584869820aa1ea8004b1d0
2024-01-23 20:41:40 +00:00
Andrey Cherkasov
1a62d88764 Cleanup: use light services
^IDEA-254577

GitOrigin-RevId: 01afb3f2166f8713cd4599f37d43ecf7f4d2944c
2024-01-23 06:03:51 +00:00
Nikita Katkov
7e2f634eb9 [json] IDEA-339628 Performance test for inspections & completion
Current commit disables the new JsonSchemaObject implementation to record test results before the recent susystem changes. After the statistics is collected, new implementation should be turned on again for further comparison

GitOrigin-RevId: f9cc59d2f4df2f47c6f62bf77cf3ff2efbe073fe
2024-01-18 04:05:38 +00:00
Nikita Katkov
1e3aded5cb [json] IDEA-339628 Enable new JsonSchemaObject implementation by default
GitOrigin-RevId: 2c585cc8a08da782e4f6a8c90e6d091f952dc21f
2024-01-16 20:28:01 +00:00
Nikita Katkov
0970f5fa6d [json] IDEA-339628 Introduced temporary registry key to switch between the existing and the upcoming json schema object implementations
The key is used across the json plugin codebase in the hottest in terms of memory allocations places. The goal is to create such a schema object implementation, that would be capable of providing schema data the same way that the existing API does, but to save up on memory allocations and GC.

GitOrigin-RevId: e763ff89ec81628dd58708d6b18118939fc8b4c7
2024-01-16 20:26:47 +00:00