Commit Graph

115 Commits

Author SHA1 Message Date
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
Nikita Katkov
76de112858 [json] IDEA-339628 Refactored nested completions logic
Primarily used by the Amper yaml files, this functionality provided great value but using incorrect approach at the same time. Previously stored inside a JsonSchemaObject, instances of NestedCompletionsRoot are now provided during json schema-based completion via the corresponding extension point. Caching of nested completion roots is now a responsibility of implementors. SchemaObject instances are no more mutated by this API, extension interface itself is simplified too and does not depend on a particular schema object instance - instead it assumes that the provided completions tree is always constructed for the very inspected file root

GitOrigin-RevId: e8ab13ab6af569f50525f37a1291d670595a7fe6
2024-01-16 20:26:07 +00:00
Nicolay Mitropolsky
c577b07262 [json] IJPF-CR-20466 JsonJacksonReformatAction: dialog message fix
GitOrigin-RevId: d602689f702d493e959b7c8e4f5302b19c6bc979
2024-01-09 10:32:49 +00:00
Nicolay Mitropolsky
147a426e4a [json] WEB-64937 Action to format large JSON files
GitOrigin-RevId: 9f25cdc05c64e6cc327c799256f77ea3f03b0a5b
2024-01-08 15:26:12 +00:00
Anton Vasilev
848444ae2a [json] IDEA-324659 IJPF-CR-13049 fixed hyphens
GitOrigin-RevId: e153f40daec8518d61ce2b88b3330a7000add557
2023-11-01 13:29:50 +00:00
Yuriy Artamonov
c53774e2fc [inspections] IDEA-321711 Use optimized PsiElementVisitor implementations
GitOrigin-RevId: 18ebc32aec877f71cd185ee7072dd139c076e9a3
2023-09-16 15:18:22 +00:00
wout.werkman
1187e422d2 [IDEA-331564][JsonSchema] Add extension point to allow plugins to alter JsonSchemaObjects for files.
GitOrigin-RevId: 9d53361d0a2491c7bec6a8ce620d1a687b69d71e
2023-09-08 19:33:54 +00:00
Nikita Katkov
78ed483ced [json] IDEA-324659 'Fill-in properties' intention introduced
It inserts all known properties from the corresponding JSON-schema into the JsonObject a caret is located in.

GitOrigin-RevId: a48ef273a059283d6fa34ad25f7c06f30e77798c
2023-08-02 23:06:50 +00:00
Alex Bashkatov
6a32b6c8e5 Merge remote-tracking branch 'origin/master' into bashkatov/WEB-53334-jsonc-format-support
# Conflicts:
#	community/json/resources/intellij.json.xml

GitOrigin-RevId: 3a05279ebb0dc6b83b8714e605617a99f71911a2
2023-06-27 16:44:33 +00:00
Alex Bashkatov
635a04ce33 WEB-53334: useless filetype removed; jsonc compliance problems test added
GitOrigin-RevId: c8c46880e28686595db3249c375d0ffb8f89cd00
2023-06-27 16:39:12 +00:00
Alex Bashkatov
62f4e8bf36 WEB-53334: jsonc format support added
GitOrigin-RevId: 0f15f853209a7da0f00a04e2034e18a94c020cbd
2023-06-16 09:39:45 +00:00
Yuriy Artamonov
86d653c338 [jsonpath] IDEA-321687 Extract JsonPath plugin
GitOrigin-RevId: 54fbb867ebf3050f01fd44e66b7a83cf3b8a8082
2023-06-12 14:38:40 +00:00
Yuriy Artamonov
09003c4c66 [jsonpath] IDEA-321687 Extract JsonPath plugin
GitOrigin-RevId: 322f27fa98def5b2adb4eba0dbbc16be147ebb15
2023-06-11 15:47:57 +00:00
Dmitry Avdeev
a628ac23ba IDEA-305201 Not localized: Settings | Languages... | Schemas... | JSON Schema Mappings | Add: "Name" label and default value
GitOrigin-RevId: 7ecfa0c89061c9a578c5da178c908d31d1b388f1
2023-06-02 23:10:03 +00:00
Yuriy Artamonov
a39ecb72e3 [json] IDEA-316888 devcontainer.json files shown with red errors in comments
GitOrigin-RevId: f5b04f0b44481fcb0926e3fd190e58a2d33537ea
2023-04-01 18:39:57 +00:00
Nikita Katkov
d2d6c897eb [json] Persist ignored schema type selected for file
GitOrigin-RevId: fca6243ce22ec71fcfff7a00994c4d9c0489d477
2023-01-26 17:25:07 +00:00
Nikita Katkov
56744050f9 [json + yaml] EP for suppressing navigation to json schema element
Might be useful in cases where json schema is an implementation detail: user should only work with features provided by json schema mechanism (like validation and completion), but not with the schema file itself

GitOrigin-RevId: 66284d55d9e5afb2dc0b3468ba66ec8015f18441
2023-01-24 20:47:36 +00:00
Nikita Katkov
a452a21558 [json] Introduce remove schema mapping action for json schema widget
GitOrigin-RevId: 0c8ccc7cce1175d45bfde354c2687c14b67b307e
2023-01-24 20:47:29 +00:00
Daniil Tsaryov
89d8e858ff IDEA-301689 [micronaut] Data: MongoDB: support 'ISODate', 'Date' in JSON queries
GitOrigin-RevId: acd3a80f9d28633819e4cc67cd83bf55106a01b5
2022-12-09 10:51:47 +00:00
Vladimir Krivosheev
6179d12db3 status bar widget id must match corresponding extension id
GitOrigin-RevId: a7330c00bd887a2f09b3b066e7994a8965052ede
2022-11-14 17:42:09 +00:00
Sergey Simonchik
f1982b3aa3 json: specify id="JSONSchemaSelector" for JsonSchemaStatusWidgetFactory
Make sure it's the same as JsonSchemaStatusWidgetFactory.getId and JsonSchemaStatusWidget.ID

GitOrigin-RevId: 9dd08bf36953e4616661beabc0c918eb3c13577f
2022-11-10 20:14:00 +00:00
Konstantin Ulitin
de959bb96f [json] move 'show as json' action to json plugin, use bgt thread
GitOrigin-RevId: d486d80bae360a8a4b71d9b648773f167cf4632c
2022-10-24 22:41:59 +00:00
Sergey Simonchik
3f099bb59c json: apply "Sort properties alphabetically" to all JSON-objects inside selection (WEB-45242)
GitOrigin-RevId: 01b5e5a986d56d641d8145b6e49e1e8c2870b61d
2022-10-10 10:21:59 +00:00
Yuriy Artamonov
891f8cc6d9 [json] IDEA-299244 Intentions should not be instantiated on opening of unrelated file types
GitOrigin-RevId: d0b43f8468fb41c1f2771b1f9e3595617121dcfe
2022-08-18 19:44:45 +00:00