diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 144f8a55ca72d..e7ea4c9223a3b 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -22,6 +22,11 @@ - All Log4Shell vulnerability scanners were removed, as they were all unmaintained upstream and are no longer relevant given that the vulnerability has been fixed upstream for several years. +- Plugins for the JetBrains IDEs have been removed from Nixpkgs. + +- `jetbrains.plugins.addPlugins` no longer supports plugin names or ID strings. + You can still use `addPlugins` with plugin derivations, such as plugins packaged outside of Nixpkgs. + - `asio` (standalone version of `boost::asio`) has been updated from 1.24.0 to 1.36.0. Some breaking changes were introduced between these two versions, and the one affected most was the removal of `asio::io_service` in favor of `asio::io_context` in 1.33.0. `asio_1_32_0` is retained for packages that have not completed migration. `asio_1_10` has been removed as no packages depend on it anymore. diff --git a/pkgs/applications/editors/jetbrains/bin/update_bin.py b/pkgs/applications/editors/jetbrains/bin/update_bin.py index 9bea317315896..2308c6cc5ccfe 100755 --- a/pkgs/applications/editors/jetbrains/bin/update_bin.py +++ b/pkgs/applications/editors/jetbrains/bin/update_bin.py @@ -145,7 +145,3 @@ def update_products(products): # Commit the result logging.info("#### Committing changes... ####") subprocess.run(['git', 'commit', f'-m{commitMessage}', '--', f'{versions_file_path}'], check=True) - -logging.info("#### Updating plugins ####") -plugin_script = current_path.joinpath("../plugins/update_plugins.py").resolve() -subprocess.call(plugin_script) diff --git a/pkgs/applications/editors/jetbrains/plugins/default.nix b/pkgs/applications/editors/jetbrains/plugins/default.nix index ad52ccb06a8b1..58cbde88a8143 100644 --- a/pkgs/applications/editors/jetbrains/plugins/default.nix +++ b/pkgs/applications/editors/jetbrains/plugins/default.nix @@ -8,77 +8,7 @@ glib, darwin, }: - -let - pluginsJson = builtins.fromJSON (builtins.readFile ./plugins.json); - specialPluginsInfo = callPackage ./specialPlugins.nix { }; - fetchPluginSrc = - url: hash: - let - isJar = lib.hasSuffix ".jar" url; - fetcher = if isJar then fetchurl else fetchzip; - in - fetcher { - executable = isJar; - inherit url hash; - }; - files = builtins.mapAttrs (key: value: fetchPluginSrc key value) pluginsJson.files; - ids = builtins.attrNames pluginsJson.plugins; - - mkPlugin = - id: file: - if !specialPluginsInfo ? "${id}" then - files."${file}" - else - stdenv.mkDerivation ( - { - name = "jetbrains-plugin-${id}"; - installPhase = '' - runHook preInstall - mkdir -p $out && cp -r . $out - runHook postInstall - ''; - src = files."${file}"; - } - // specialPluginsInfo."${id}" - ); - - selectFile = - id: ide: build: - let - # Allow all PyCharm/IDEA plugins for PyCharm/IDEA Community - # - TODO: Remove this special case once PyCharm/IDEA Community is removed - communityCheck = - (id != "pycharm-community" || builtins.elem ide pluginsJson.plugins.pycharm.compatible) - || (id != "idea-community" || builtins.elem ide pluginsJson.plugins.idea.compatible); - in - if !communityCheck && !builtins.elem ide pluginsJson.plugins."${id}".compatible then - throw "Plugin with id ${id} does not support IDE ${ide}" - else if !pluginsJson.plugins."${id}".builds ? "${build}" then - throw "Jetbrains IDEs with build ${build} are not in nixpkgs. Try update_plugins.py with --with-build?" - else if pluginsJson.plugins."${id}".builds."${build}" == null then - throw "Plugin with id ${id} does not support build ${build}" - else - pluginsJson.plugins."${id}".builds."${build}"; - - byId = builtins.listToAttrs ( - map (id: { - name = id; - value = ide: build: mkPlugin id (selectFile id ide build); - }) ids - ); - - byName = builtins.listToAttrs ( - map (id: { - name = pluginsJson.plugins."${id}".name; - value = byId."${id}"; - }) ids - ); -in { - # Only use if you know what youre doing - raw = { inherit files byId byName; }; - tests = callPackage ./tests.nix { }; addPlugins = @@ -86,14 +16,10 @@ in let processPlugin = plugin: - if lib.isDerivation plugin then - plugin - else if byId ? "${plugin}" then - byId."${plugin}" ide.pname ide.buildNumber - else if byName ? "${plugin}" then - byName."${plugin}" ide.pname ide.buildNumber - else - throw "Could not resolve plugin ${plugin}"; + # We can remove this check and just asume plugins to be derivations starting with 26.11. + lib.throwIfNot (lib.isDerivation plugin) + "addPlugins no longer supports resolving plugins by name or id strings. Please supply a derivation instead" + plugin; plugins = map processPlugin unprocessedPlugins; in diff --git a/pkgs/applications/editors/jetbrains/plugins/plugins.json b/pkgs/applications/editors/jetbrains/plugins/plugins.json deleted file mode 100644 index 613e3fd2e6993..0000000000000 --- a/pkgs/applications/editors/jetbrains/plugins/plugins.json +++ /dev/null @@ -1,2098 +0,0 @@ -{ - "plugins": { - "164": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip" - }, - "name": "ideavim" - }, - "631": { - "compatible": [ - "idea-ultimate" - ], - "builds": { - "252.28238.7": "https://plugins.jetbrains.com/files/631/896618/python-252.28238.7.zip" - }, - "name": "python" - }, - "1347": { - "compatible": [ - "idea-ultimate" - ], - "builds": { - "252.28238.7": "https://plugins.jetbrains.com/files/1347/882283/scala-intellij-bin-2025.2.48.zip" - }, - "name": "scala" - }, - "2162": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip" - }, - "name": "stringmanipulation" - }, - "6884": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/6884/899695/handlebars-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/6884/899695/handlebars-253.28294.218.zip" - }, - "name": "handlebars-mustache" - }, - "6954": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": "https://plugins.jetbrains.com/files/6954/861041/Kotlin-252.26199.169-IJ.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/6954/896608/Kotlin-252.28238.7-IJ.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/6954/896608/Kotlin-252.28238.7-IJ.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/6954/896608/Kotlin-252.28238.7-IJ.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/6954/896608/Kotlin-252.28238.7-IJ.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/6954/896608/Kotlin-252.28238.7-IJ.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/6954/896608/Kotlin-252.28238.7-IJ.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/6954/896608/Kotlin-252.28238.7-IJ.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/6954/896608/Kotlin-252.28238.7-IJ.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/6954/902627/Kotlin-253.28294.251-IJ.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/6954/902627/Kotlin-253.28294.251-IJ.zip" - }, - "name": "kotlin" - }, - "6981": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": null, - "252.28238.10": "https://plugins.jetbrains.com/files/6981/897159/ini-252.28238.10.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/6981/897159/ini-252.28238.10.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/6981/897159/ini-252.28238.10.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/6981/897159/ini-252.28238.10.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/6981/897159/ini-252.28238.10.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/6981/897159/ini-252.28238.10.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/6981/897159/ini-252.28238.10.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/6981/897159/ini-252.28238.10.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/6981/905873/ini-253.28294.259.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/6981/905873/ini-253.28294.259.zip" - }, - "name": "ini" - }, - "7086": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip" - }, - "name": "acejump" - }, - "7125": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip" - }, - "name": "grep-console" - }, - "7177": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/7177/899679/fileWatcher-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/7177/899679/fileWatcher-253.28294.218.zip" - }, - "name": "file-watchers" - }, - "7179": { - "compatible": [ - "idea-community", - "idea-ultimate" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/7179/767851/MavenHelper-4.30.0-IJ2022.2.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/7179/767851/MavenHelper-4.30.0-IJ2022.2.zip" - }, - "name": "maven-helper" - }, - "7212": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": "https://plugins.jetbrains.com/files/7212/809131/cucumber-java-252.23892.360.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/7212/896606/cucumber-java-252.28238.7.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/7212/896606/cucumber-java-252.28238.7.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/7212/896606/cucumber-java-252.28238.7.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/7212/896606/cucumber-java-252.28238.7.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/7212/896606/cucumber-java-252.28238.7.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/7212/896606/cucumber-java-252.28238.7.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/7212/896606/cucumber-java-252.28238.7.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/7212/896606/cucumber-java-252.28238.7.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/7212/902600/cucumber-java-253.28294.251.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/7212/902600/cucumber-java-253.28294.251.zip" - }, - "name": "cucumber-for-java" - }, - "7219": { - "compatible": [ - "idea-ultimate", - "phpstorm" - ], - "builds": { - "252.28238.7": "https://plugins.jetbrains.com/files/7219/770179/Symfony_Plugin-2025.1.280.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/7219/770179/Symfony_Plugin-2025.1.280.zip" - }, - "name": "symfony-plugin" - }, - "7320": { - "compatible": [ - "idea-ultimate", - "phpstorm" - ], - "builds": { - "252.28238.7": "https://plugins.jetbrains.com/files/7320/855846/PHP_Annotations-12.0.1.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/7320/855846/PHP_Annotations-12.0.1.zip" - }, - "name": "php-annotations" - }, - "7322": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "pycharm-professional", - "rider", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.28238.10": "https://plugins.jetbrains.com/files/7322/896612/python-ce-252.28238.7.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/7322/896612/python-ce-252.28238.7.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/7322/896612/python-ce-252.28238.7.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/7322/896612/python-ce-252.28238.7.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/7322/896612/python-ce-252.28238.7.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/7322/896612/python-ce-252.28238.7.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/7322/902662/python-ce-253.28294.251.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/7322/902662/python-ce-253.28294.251.zip" - }, - "name": "python-community-edition" - }, - "7391": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/7391/880451/asciidoctor-intellij-plugin-0.45.1.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/7391/880451/asciidoctor-intellij-plugin-0.45.1.zip" - }, - "name": "asciidoc" - }, - "7425": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "252.26199.587": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "252.28238.10": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "252.28238.22": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "252.28238.28": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "252.28238.29": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "252.28238.3": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "252.28238.32": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "252.28238.7": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "252.28238.9": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "253.28294.237": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar", - "253.28294.259": "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar" - }, - "name": "wakatime" - }, - "7499": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/7499/877840/gittoolbox-600.2.0_253-signed.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/7499/877840/gittoolbox-600.2.0_253-signed.zip" - }, - "name": "gittoolbox" - }, - "7724": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": null, - "252.28238.10": "https://plugins.jetbrains.com/files/7724/903124/clouds-docker-impl-252.28238.33.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/7724/903124/clouds-docker-impl-252.28238.33.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/7724/903124/clouds-docker-impl-252.28238.33.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/7724/903124/clouds-docker-impl-252.28238.33.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/7724/903124/clouds-docker-impl-252.28238.33.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/7724/903124/clouds-docker-impl-252.28238.33.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/7724/903124/clouds-docker-impl-252.28238.33.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/7724/903124/clouds-docker-impl-252.28238.33.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/7724/905864/clouds-docker-impl-253.28294.259.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/7724/905864/clouds-docker-impl-253.28294.259.zip" - }, - "name": "docker" - }, - "8097": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/8097/899668/graphql-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/8097/899668/graphql-253.28294.218.zip" - }, - "name": "graphql" - }, - "8182": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": null, - "252.28238.10": null, - "252.28238.22": null, - "252.28238.29": null, - "252.28238.3": null, - "252.28238.32": null, - "252.28238.7": null, - "252.28238.9": null, - "253.28294.237": null, - "253.28294.259": null - }, - "name": "-deprecated-rust" - }, - "8182-beta": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": null, - "252.28238.10": null, - "252.28238.22": null, - "252.28238.29": null, - "252.28238.3": null, - "252.28238.32": null, - "252.28238.7": null, - "252.28238.9": null, - "253.28294.237": null, - "253.28294.259": null - }, - "name": "-deprecated-rust-beta" - }, - "8195": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": null, - "252.28238.10": "https://plugins.jetbrains.com/files/8195/896664/toml-252.28238.9.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/8195/896664/toml-252.28238.9.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/8195/896664/toml-252.28238.9.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/8195/896664/toml-252.28238.9.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/8195/896664/toml-252.28238.9.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/8195/896664/toml-252.28238.9.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/8195/896664/toml-252.28238.9.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/8195/896664/toml-252.28238.9.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/8195/902852/toml-253.28294.252.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/8195/902852/toml-253.28294.252.zip" - }, - "name": "toml" - }, - "8327": { - "compatible": [ - "idea-community", - "idea-ultimate" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/8327/900914/Minecraft_Development-2025.1-1.8.10.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/8327/900915/Minecraft_Development-2025.2-1.8.10.zip" - }, - "name": "minecraft-development" - }, - "8554": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": "https://plugins.jetbrains.com/files/8554/854483/featuresTrainer-252.26199.84.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/8554/903134/featuresTrainer-252.28238.33.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/8554/903134/featuresTrainer-252.28238.33.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/8554/903134/featuresTrainer-252.28238.33.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/8554/903134/featuresTrainer-252.28238.33.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/8554/903134/featuresTrainer-252.28238.33.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/8554/903134/featuresTrainer-252.28238.33.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/8554/903134/featuresTrainer-252.28238.33.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/8554/903134/featuresTrainer-252.28238.33.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/8554/891759/featuresTrainer-253.28294.90.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/8554/891759/featuresTrainer-253.28294.90.zip" - }, - "name": "ide-features-trainer" - }, - "8607": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip" - }, - "name": "nixidea" - }, - "9164": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/9164/899634/gherkin-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/9164/899634/gherkin-253.28294.218.zip" - }, - "name": "gherkin" - }, - "9525": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/9525/899604/dotenv-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/9525/899604/dotenv-253.28294.218.zip" - }, - "name": "-env-files" - }, - "9568": { - "compatible": [ - "goland", - "idea-ultimate" - ], - "builds": { - "252.28238.32": "https://plugins.jetbrains.com/files/9568/882349/go-plugin-252.27397.103.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/9568/882349/go-plugin-252.27397.103.zip" - }, - "name": "go" - }, - "9707": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar", - "252.26199.587": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "252.28238.10": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "252.28238.22": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "252.28238.28": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "252.28238.29": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "252.28238.3": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "252.28238.32": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "252.28238.7": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "252.28238.9": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "253.28294.237": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar", - "253.28294.259": "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar" - }, - "name": "ansi-highlighter-premium" - }, - "9792": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip" - }, - "name": "key-promoter-x" - }, - "9836": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip" - }, - "name": "randomness" - }, - "10037": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip" - }, - "name": "csv-editor" - }, - "10080": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip" - }, - "name": "rainbow-brackets" - }, - "10312": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip" - }, - "name": "dot-language" - }, - "10481": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip" - }, - "name": "hocon" - }, - "10581": { - "compatible": [ - "clion", - "datagrip", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/10581/796391/go-template-252.23892.201.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/10581/796391/go-template-252.23892.201.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/10581/796391/go-template-252.23892.201.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/10581/796391/go-template-252.23892.201.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/10581/796391/go-template-252.23892.201.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/10581/796391/go-template-252.23892.201.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/10581/796391/go-template-252.23892.201.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/10581/796391/go-template-252.23892.201.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/10581/899596/go-template-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/10581/899596/go-template-253.28294.218.zip" - }, - "name": "go-template" - }, - "11058": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip" - }, - "name": "extra-icons" - }, - "11349": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/11349/897577/aws-toolkit-jetbrains-standalone-3.99.251.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/11349/897575/aws-toolkit-jetbrains-standalone-3.99.253.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/11349/897575/aws-toolkit-jetbrains-standalone-3.99.253.zip" - }, - "name": "aws-toolkit" - }, - "12024": { - "compatible": [ - "rider" - ], - "builds": { - "253.28294.237": "https://plugins.jetbrains.com/files/12024/899101/ReSharperPlugin.CognitiveComplexity-2025.3.0.zip" - }, - "name": "cognitivecomplexity" - }, - "12062": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/12062/899661/keymap-vscode-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/12062/899661/keymap-vscode-253.28294.218.zip" - }, - "name": "vscode-keymap" - }, - "12559": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/12559/899597/keymap-eclipse-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/12559/899597/keymap-eclipse-253.28294.218.zip" - }, - "name": "eclipse-keymap" - }, - "12896": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip" - }, - "name": "rainbow-csv" - }, - "13017": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/13017/899665/keymap-visualStudio-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/13017/899665/keymap-visualStudio-253.28294.218.zip" - }, - "name": "visual-studio-keymap" - }, - "13308": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip" - }, - "name": "indent-rainbow" - }, - "14004": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/14004/899609/protoeditor-253.28294.218.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/14004/899609/protoeditor-253.28294.218.zip" - }, - "name": "protocol-buffers" - }, - "14059": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "252.26199.587": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "252.28238.10": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "252.28238.22": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "252.28238.28": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "252.28238.29": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "252.28238.3": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "252.28238.32": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "252.28238.7": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "252.28238.9": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "253.28294.237": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar", - "253.28294.259": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar" - }, - "name": "darcula-pitch-black" - }, - "14708": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "252.26199.587": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "252.28238.10": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "252.28238.22": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "252.28238.28": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "252.28238.29": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "252.28238.3": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "252.28238.32": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "252.28238.7": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "252.28238.9": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "253.28294.237": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar", - "253.28294.259": "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar" - }, - "name": "mario-progress-bar" - }, - "15976": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "252.26199.587": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "252.28238.10": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "252.28238.22": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "252.28238.28": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "252.28238.29": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "252.28238.3": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "252.28238.32": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "252.28238.7": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "252.28238.9": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "253.28294.237": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar", - "253.28294.259": "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar" - }, - "name": "which-key" - }, - "16604": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip" - }, - "name": "extra-toolwindow-colorful-icons" - }, - "17718": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip" - }, - "name": "github-copilot--your-ai-pair-programmer" - }, - "18444": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip" - }, - "name": "netbeans-6-5-keymap" - }, - "18682": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip" - }, - "name": "catppuccin-theme" - }, - "18824": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip" - }, - "name": "codeglance-pro" - }, - "18922": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "252.26199.587": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "252.28238.10": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "252.28238.22": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "252.28238.28": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "252.28238.29": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "252.28238.3": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "252.28238.32": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "252.28238.7": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "252.28238.9": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "253.28294.237": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar", - "253.28294.259": "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar" - }, - "name": "gerry-themes" - }, - "19275": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip" - }, - "name": "better-direnv" - }, - "20146": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip" - }, - "name": "mermaid" - }, - "21551": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip" - }, - "name": "ferris" - }, - "21667": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip", - "253.28294.237": null, - "253.28294.259": null - }, - "name": "code-complexity" - }, - "21904": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip" - }, - "name": "developer-tools" - }, - "21962": { - "compatible": [ - "clion", - "goland", - "idea-ultimate", - "phpstorm", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "252.28238.10": "https://plugins.jetbrains.com/files/21962/828479/clouds-docker-gateway-252.25557.34.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/21962/828479/clouds-docker-gateway-252.25557.34.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/21962/828479/clouds-docker-gateway-252.25557.34.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/21962/828479/clouds-docker-gateway-252.25557.34.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/21962/828479/clouds-docker-gateway-252.25557.34.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/21962/828479/clouds-docker-gateway-252.25557.34.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/21962/828479/clouds-docker-gateway-252.25557.34.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/21962/899641/clouds-docker-gateway-253.28294.218.zip" - }, - "name": "dev-containers" - }, - "22407": { - "compatible": [ - "clion", - "idea-ultimate", - "rust-rover" - ], - "builds": { - "252.28238.22": "https://plugins.jetbrains.com/files/22407/901523/intellij-rust-252.28238.28.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/22407/901523/intellij-rust-252.28238.28.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/22407/901523/intellij-rust-252.28238.28.zip" - }, - "name": "rust" - }, - "22707": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip" - }, - "name": "continue" - }, - "22857": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": null, - "252.26199.587": null, - "252.28238.10": "https://plugins.jetbrains.com/files/22857/903121/vcs-gitlab-IU-252.28238.33-IU.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/22857/903121/vcs-gitlab-IU-252.28238.33-IU.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/22857/903121/vcs-gitlab-IU-252.28238.33-IU.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/22857/903121/vcs-gitlab-IU-252.28238.33-IU.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/22857/903121/vcs-gitlab-IU-252.28238.33-IU.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/22857/903121/vcs-gitlab-IU-252.28238.33-IU.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/22857/903121/vcs-gitlab-IU-252.28238.33-IU.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/22857/903121/vcs-gitlab-IU-252.28238.33-IU.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/22857/905872/vcs-gitlab-253.28294.259.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/22857/905872/vcs-gitlab-253.28294.259.zip" - }, - "name": "gitlab" - }, - "23029": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip" - }, - "name": "catppuccin-icons" - }, - "23043": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip" - }, - "name": "mermaid-chart" - }, - "23806": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip" - }, - "name": "oxocarbon" - }, - "23927": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip" - }, - "name": "extra-ide-tweaks" - }, - "24559": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "mps", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "252.26199.587": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "252.28238.10": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "252.28238.22": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "252.28238.28": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "252.28238.29": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "252.28238.3": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "252.28238.32": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "252.28238.7": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "252.28238.9": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "253.28294.237": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip", - "253.28294.259": "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip" - }, - "name": "extra-tools-pack" - }, - "25594": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-ultimate", - "phpstorm", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "252.28238.10": null, - "252.28238.22": null, - "252.28238.28": null, - "252.28238.3": null, - "252.28238.32": null, - "252.28238.7": null, - "252.28238.9": null, - "253.28294.237": null, - "253.28294.259": null - }, - "name": "nix-lsp" - }, - "26084": { - "compatible": [ - "clion", - "datagrip", - "goland", - "idea-community", - "idea-ultimate", - "phpstorm", - "pycharm-professional", - "rider", - "ruby-mine", - "rust-rover", - "webstorm" - ], - "builds": { - "251.25410.129": "https://plugins.jetbrains.com/files/26084/804883/markdtask-2025.2.zip", - "252.28238.10": null, - "252.28238.22": null, - "252.28238.28": null, - "252.28238.29": null, - "252.28238.3": null, - "252.28238.32": null, - "252.28238.7": null, - "252.28238.9": null, - "253.28294.237": null, - "253.28294.259": null - }, - "name": "markdtask" - } - }, - "files": { - "https://plugins.jetbrains.com/files/10037/851933/intellij-csv-validator-4.1.0.zip": "sha256-jk5JisClylJCL6PdQIUC5pyKb9ccEYJl7T7AyAkAkEE=", - "https://plugins.jetbrains.com/files/10080/887330/intellij-rainbow-brackets-2025.3.6.zip": "sha256-MOW8OwMdeBKr9jsc2lWnuiRRkmbg7rSUsKbZMftKzHU=", - "https://plugins.jetbrains.com/files/10312/581013/dotplugin-1.5.4.zip": "sha256-25vtwXuBNiYL9E0pKG4dqJDkwX1FckAErdqRPKXybQA=", - "https://plugins.jetbrains.com/files/10481/671222/intellij-hocon-2025.1.0.zip": "sha256-GO0bXJsHx9O1A6M9NUCv9m4JwKHs5plwSssgx+InNqE=", - "https://plugins.jetbrains.com/files/10581/711019/go-template-251.23774.318.zip": "sha256-zX1nEdq84wwQvGhV664V5bNBPVTI4zWo306JtjXcGkE=", - "https://plugins.jetbrains.com/files/10581/796391/go-template-252.23892.201.zip": "sha256-XKv4jEKOk2O++VdHycGoLgICsusULbWRlQ0J5p+KgAE=", - "https://plugins.jetbrains.com/files/10581/899596/go-template-253.28294.218.zip": "sha256-L5Minmw5GvCvf2axo6+jLoQj8i8pOlW+wEz79MvrQ9g=", - "https://plugins.jetbrains.com/files/11058/897579/Extra_Icons-2025.1.18.zip": "sha256-/PC7wIs/zmiBGnqOtvWchFH2+QvmPNizOzNQU22vEZg=", - "https://plugins.jetbrains.com/files/11349/897573/aws-toolkit-jetbrains-standalone-3.99.252.zip": "sha256-Zp7ycJCXGhyIZT4XMLArFC7RFzzIJxc2NUzhvFZ076Y=", - "https://plugins.jetbrains.com/files/11349/897575/aws-toolkit-jetbrains-standalone-3.99.253.zip": "sha256-TGmvhR9V0qfjtUaD5COB6nHUVHTh8qPLC1MoC4AS0mY=", - "https://plugins.jetbrains.com/files/11349/897577/aws-toolkit-jetbrains-standalone-3.99.251.zip": "sha256-slzIkrea3pk4EEO2kFjZE8beCVGShMyquJzMvLbDCr4=", - "https://plugins.jetbrains.com/files/12024/899101/ReSharperPlugin.CognitiveComplexity-2025.3.0.zip": "sha256-KNhVP1oRU8qj96EK8UxafLtPWcnRdJwQXmsgmQ82Pbc=", - "https://plugins.jetbrains.com/files/12062/711097/keymap-vscode-251.23774.318.zip": "sha256-obbLL8n6gK8oFw8NnJbdAylPHfTv4GheBDnVFOUpwL0=", - "https://plugins.jetbrains.com/files/12062/796429/keymap-vscode-252.23892.201.zip": "sha256-V3Vk6UYLUSiSmypD+g0DCX1sPw3/wZqvLxFhbkTqY34=", - "https://plugins.jetbrains.com/files/12062/899661/keymap-vscode-253.28294.218.zip": "sha256-rJI9k6Cqj89aWmTrZ6Eozf8Qv2cMdYuC3/yXBdRPwHY=", - "https://plugins.jetbrains.com/files/12559/711714/keymap-eclipse-251.23774.329.zip": "sha256-HC1s5FqSLVgPNKc5Wiw0RFC6KpozxmjKzbh9rS9nFwc=", - "https://plugins.jetbrains.com/files/12559/796343/keymap-eclipse-252.23892.201.zip": "sha256-VotPAC/wcz5QveJMlgzGZktKHRpqW/KalckEMRU66cU=", - "https://plugins.jetbrains.com/files/12559/899597/keymap-eclipse-253.28294.218.zip": "sha256-NpIXoB6PZe8L9uJDmA53btQ8AHQMyaDbtR40j5czb5s=", - "https://plugins.jetbrains.com/files/12896/173977/RainbowCSV.zip": "sha256-Q+gqKG/2bHD49Xtn9MNlYJQGtNF/7tIay9F7ndi8uwA=", - "https://plugins.jetbrains.com/files/13017/711726/keymap-visualStudio-251.23774.329.zip": "sha256-DKkgt0z/ui0bOLSbnKy51RL7+9HIqeriroi2otZ64mQ=", - "https://plugins.jetbrains.com/files/13017/796396/keymap-visualStudio-252.23892.201.zip": "sha256-5qDjLRMNwn+1QVN8cKUYlakQ8aBRiTyGuA7se3l9BI0=", - "https://plugins.jetbrains.com/files/13017/899665/keymap-visualStudio-253.28294.218.zip": "sha256-PFlgX7R2/mN62tQZWPaGORRHwdpGyiRAhw95ybReZCc=", - "https://plugins.jetbrains.com/files/13308/370912/Indent_Rainbow-2.2.0-signed.zip": "sha256-eKwDE+PMtYhrGbDDZPS5cimssH+1xV4GF6RXXg/3urU=", - "https://plugins.jetbrains.com/files/1347/882283/scala-intellij-bin-2025.2.48.zip": "sha256-FUirdeHtISeqLDzBKNEViFg9EMqMGlh2xD9PhIMD9ZA=", - "https://plugins.jetbrains.com/files/14004/796340/protoeditor-252.23892.201.zip": "sha256-WK9ukN6g2tCmeljFXwv3F+xFI/VZKlIeFs8DXqPcIKA=", - "https://plugins.jetbrains.com/files/14004/899609/protoeditor-253.28294.218.zip": "sha256-XFngadW3SnrxxO4BYogZZfsMjjEu4MBLSmF5Wm9ETrk=", - "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=", - "https://plugins.jetbrains.com/files/14708/475401/MarioProgressBar-1.9.jar": "sha256-mB09zvUg1hLXl9lgW1NEU+DyVel1utZv6s+mFykckYY=", - "https://plugins.jetbrains.com/files/15976/851109/IDEA_Which-Key-0.11.2.jar": "sha256-Qujmu2j8nrgkbsRc+ei/musrNAI1UPC3vhwIjv53zxY=", - "https://plugins.jetbrains.com/files/164/835262/IdeaVIM-2.27.2.zip": "sha256-upipz12aBnfW5I+IpO7FFmrSyQNTqNWxYn4Bghu4LV4=", - "https://plugins.jetbrains.com/files/16604/897519/Extra_ToolWindow_Colorful_Icons_Subscription-2025.1.16.zip": "sha256-UvUbaEH7qa7mCvSbj69np3WMu0J+tjiHSrv1hn81lPo=", - "https://plugins.jetbrains.com/files/17718/893781/github-copilot-intellij-1.5.61-243.zip": "sha256-VITMmt2NSeGDzVQiu6idk7DcdbmNimhzPs59q3sSWfA=", - "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=", - "https://plugins.jetbrains.com/files/18682/864736/Catppuccin_Theme-3.5.2.zip": "sha256-F37RoWSV96ofEw7ckvhSS4nHaXUJOBuWecEhzaH2Zk4=", - "https://plugins.jetbrains.com/files/18824/887070/CodeGlancePro-2.0.1-signed.zip": "sha256-V92Co+yG64FfOoCZ8EG7MmBbMP80x2EfdJrNcN5VEJM=", - "https://plugins.jetbrains.com/files/18922/904852/GerryThemes.jar": "sha256-5t1unLE4pdG5dW46HWNwp8dxtNVjAYE8EHUKrBs5JO0=", - "https://plugins.jetbrains.com/files/19275/355572/better_direnv-1.2.2-signed.zip": "sha256-hoFfIid7lClHDiT+ZH3H+tFSvWYb1tSRZH1iif+kWrM=", - "https://plugins.jetbrains.com/files/20146/811306/Mermaid-0.0.26_IJ.252.zip": "sha256-QTh77pyi4lh7V0DGPFx9kERjFCop219d76wTDwD0SYY=", - "https://plugins.jetbrains.com/files/21551/323564/ferris-2021.1.zip": "sha256-N66Bh0AwHmg5N9PNguRAGtpJ/dLMWMp3rxjTgz9poFo=", - "https://plugins.jetbrains.com/files/2162/820000/StringManipulation-9.16.0.zip": "sha256-hevU8OwVr5HjMLpROZm3NiZI+PW2f7eNTxD+1aZsC8Q=", - "https://plugins.jetbrains.com/files/21667/818221/code-complexity-plugin-1.6.3.zip": "sha256-8agNBVenqaV9DlvRmFP7ul3IZfj9Dij8v/h8QMUb72E=", - "https://plugins.jetbrains.com/files/21904/744652/intellij-developer-tools-plugin-7.1.0-signed.zip": "sha256-lOPUSxlbgagD0SuXTw+fEdwTxxfUHP1Kl6L+u/oa4fs=", - "https://plugins.jetbrains.com/files/21962/828479/clouds-docker-gateway-252.25557.34.zip": "sha256-uwonawWIgXi9OXZlQaZl/GDt/iHqsyAKV7ifCgcMqWU=", - "https://plugins.jetbrains.com/files/21962/899641/clouds-docker-gateway-253.28294.218.zip": "sha256-qrcvzWEQ9GgnePriIFwdcEDJcCQhz2bjJz1OjomGfkc=", - "https://plugins.jetbrains.com/files/22407/901523/intellij-rust-252.28238.28.zip": "sha256-q0RDjC9eIsfusK5Q0Waeu+69ADjU5z8RGDPXhn30diI=", - "https://plugins.jetbrains.com/files/22707/896158/continue-intellij-extension-1.0.55.zip": "sha256-4nfUc4ftZB5aQO3gHB+D6HYIyDetqOs9S/W4cdai9ZU=", - "https://plugins.jetbrains.com/files/22857/903121/vcs-gitlab-IU-252.28238.33-IU.zip": "sha256-OFwBVKhRgxBlNpvDJU/L5rGzuDClFKEkrhpH7g6mY+4=", - "https://plugins.jetbrains.com/files/22857/905872/vcs-gitlab-253.28294.259.zip": "sha256-bHXebtphez+tUlyfYGfDdbGfZiOeTfE+AcRxriJh16o=", - "https://plugins.jetbrains.com/files/23029/876768/Catppuccin_Icons-1.13.0.zip": "sha256-fE0M8jYTYVIC0bbBDY9fWB+mgGcVIFkeee0VTAMXt2E=", - "https://plugins.jetbrains.com/files/23043/635877/MermaidChart-1.1.8.zip": "sha256-ssaSY1I6FopLBgVKHUyjBrqzxHLSuI/swtDfQWJ7gxU=", - "https://plugins.jetbrains.com/files/23806/904375/Oxocarbon-1.4.8.zip": "sha256-9Wg9In1YeoeIg//jJy1GXEeziFPusKPLMZlIHbFioL0=", - "https://plugins.jetbrains.com/files/23927/897514/Extra_IDE_Tweaks_Subscription-2025.1.15.zip": "sha256-xH4x7QdOfEJEDDTfioz8oKCRJ1KFk0X2jRhlEiFV5+Y=", - "https://plugins.jetbrains.com/files/24559/897580/Extra_Tools_Pack-2025.1.20.zip": "sha256-/7NpzC+WSlbWNvenqp761LFJVMAcxMw3esVct0s2Y+8=", - "https://plugins.jetbrains.com/files/26084/804883/markdtask-2025.2.zip": "sha256-2Vrm9k4ZqqpWl/EgDrAFNTpUeBhDSYt48JhAWlSWY1A=", - "https://plugins.jetbrains.com/files/631/896618/python-252.28238.7.zip": "sha256-eCx+P1CiUpSulSQTx9jhGLgOX+6w5AEsE3ZuRNZJrHM=", - "https://plugins.jetbrains.com/files/6884/711128/handlebars-251.23774.318.zip": "sha256-34s7pOsqMaGoVYhCuAZtylNwplQOtNQJUppepsl4F4Q=", - "https://plugins.jetbrains.com/files/6884/796395/handlebars-252.23892.201.zip": "sha256-iWKLgk+eWhUmv/lH9+B2HI97d++EYvLwGgtRsJf4aSE=", - "https://plugins.jetbrains.com/files/6884/899695/handlebars-253.28294.218.zip": "sha256-cBlLj/EjQlntN/tlY+yw+Yp0rxNrQSm8D9+N/gE6+II=", - "https://plugins.jetbrains.com/files/6954/861041/Kotlin-252.26199.169-IJ.zip": "sha256-Fk/Df5MthwTWnhxv/u8/n2ITMLzZXKogj0tRRyPi5Zw=", - "https://plugins.jetbrains.com/files/6954/896608/Kotlin-252.28238.7-IJ.zip": "sha256-ou7v0fFwJiRMCNyQkxcRC3M7bDR0EsXQVXB7vwebtIM=", - "https://plugins.jetbrains.com/files/6954/902627/Kotlin-253.28294.251-IJ.zip": "sha256-GykUGhGms6mBpjdQ9Ln3eAaX2AyWBIeA0PI3gBPbDG4=", - "https://plugins.jetbrains.com/files/6981/897159/ini-252.28238.10.zip": "sha256-29ARoz8vHdMjjbv+yxvbzY2/LLbJ6GWwwMjaNT2P2cI=", - "https://plugins.jetbrains.com/files/6981/905873/ini-253.28294.259.zip": "sha256-x8lC/XCddoW3W3etNACfAakEopCkku1Nj5u0G92XQ2Q=", - "https://plugins.jetbrains.com/files/7086/738977/AceJump.zip": "sha256-BW47ZEUINVnhV0RZ1np7Dkf3lfyrtKoZ9ej/SVct2Xs=", - "https://plugins.jetbrains.com/files/7125/819837/GrepConsole-13.3.0-IJ2023.3.zip": "sha256-KcRoHqvCcC6qRz58DHkQ6AFqnpyqPhETekuMWBQYYw8=", - "https://plugins.jetbrains.com/files/7177/711086/fileWatcher-251.23774.318.zip": "sha256-jNHP/vaCaolmvNUQRGmIgSR1ykjDtKqyJ69UIn5cz70=", - "https://plugins.jetbrains.com/files/7177/796349/fileWatcher-252.23892.201.zip": "sha256-ac4h2uwF6h2L5Cax40t36wTBNFzQn38EVGEL2gts8jQ=", - "https://plugins.jetbrains.com/files/7177/899679/fileWatcher-253.28294.218.zip": "sha256-YeY1oe/PKDIHoAnvwDC6rQbzpUk723TyPX11yWnXe90=", - "https://plugins.jetbrains.com/files/7179/767851/MavenHelper-4.30.0-IJ2022.2.zip": "sha256-Xsw4P/KddgOuwcNBzT3UWkaQBYXLqGop+fQhoL65Dfg=", - "https://plugins.jetbrains.com/files/7212/809131/cucumber-java-252.23892.360.zip": "sha256-ypJOPmcl4881TpMboomVvmspJ3I1sfm5a26l54cfFpo=", - "https://plugins.jetbrains.com/files/7212/896606/cucumber-java-252.28238.7.zip": "sha256-yudu3+5U30RpvSW3k/1hlosM+p9tpat/DTMz7ZP78/c=", - "https://plugins.jetbrains.com/files/7212/902600/cucumber-java-253.28294.251.zip": "sha256-2OA+5HIBQaWDrINu+GpEzZIUQmGO/ShMxQkdjLNWlBI=", - "https://plugins.jetbrains.com/files/7219/770179/Symfony_Plugin-2025.1.280.zip": "sha256-SgldikXjVx6hUw3LqcN8/NxLLBfnr/LUc/SrIIACl7k=", - "https://plugins.jetbrains.com/files/7320/855846/PHP_Annotations-12.0.1.zip": "sha256-FQmHb4oo9TgXiJ4b7EEEELagOx31C9iQtsTRoqxCnO4=", - "https://plugins.jetbrains.com/files/7322/896612/python-ce-252.28238.7.zip": "sha256-yiKr/0dJWFn4nZoaKEUUsGzFif63DX3j8mpAvujDbGQ=", - "https://plugins.jetbrains.com/files/7322/902662/python-ce-253.28294.251.zip": "sha256-Wub+zUyiu9GGjMMZp3J8TaXLvgG5i5UwkI4CNKWRSPc=", - "https://plugins.jetbrains.com/files/7391/880448/asciidoctor-intellij-plugin-0.44.10.zip": "sha256-k2nL2OupoiqQHkLAauo/bLJ2hQ5HVAXrGEQMkVel0eE=", - "https://plugins.jetbrains.com/files/7391/880451/asciidoctor-intellij-plugin-0.45.1.zip": "sha256-wXu+Sebzyjc3ZzTFi2yqAyRP5q9tR/f9m+IYVwp9grM=", - "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar": "sha256-DobKZKokueqq0z75d2Fo3BD8mWX9+LpGdT9C7Eu2fHc=", - "https://plugins.jetbrains.com/files/7499/877840/gittoolbox-600.2.0_253-signed.zip": "sha256-FoZIkhtYqEQWOTBKmp3oy2sOPLmPIHF8QjaYAWW8o38=", - "https://plugins.jetbrains.com/files/7499/883982/gittoolbox-600.1.13_243-signed.zip": "sha256-GJfaRzhKVqXK1boiqUi6TDfPIJ8YymG/vqbY3jau5sI=", - "https://plugins.jetbrains.com/files/7724/903124/clouds-docker-impl-252.28238.33.zip": "sha256-fhilgn6yBEgcUzTnXarAMTZ8n4WIKbtNZKVl/UP6rd4=", - "https://plugins.jetbrains.com/files/7724/905864/clouds-docker-impl-253.28294.259.zip": "sha256-if3/c8ouuohfFsl2h1pMaF8K2M32XqXsvfmMaiLw5gM=", - "https://plugins.jetbrains.com/files/8097/827445/graphql-252.25557.23.zip": "sha256-wN3+7++f6i0MvEmOTiWZgAW1QzM5HiD7jSAMS8jWC5s=", - "https://plugins.jetbrains.com/files/8097/899668/graphql-253.28294.218.zip": "sha256-DJmS4fPsP2bMtfcl8caAHW5btU8r+loLuVzkLXXyACs=", - "https://plugins.jetbrains.com/files/8195/896664/toml-252.28238.9.zip": "sha256-/27gkG8jrj1lIaOkNMopb8G/RB1ecvgU4WJJ1iZbXjU=", - "https://plugins.jetbrains.com/files/8195/902852/toml-253.28294.252.zip": "sha256-gRSyTugRf/zD09Kt8QqMrymFOlwEyrhqr5Cb7kEc1x8=", - "https://plugins.jetbrains.com/files/8327/900914/Minecraft_Development-2025.1-1.8.10.zip": "sha256-kyBZgi4YBDEDjdF73CEjN/vPMYYd60Ncz1q4HX4uZF8=", - "https://plugins.jetbrains.com/files/8327/900915/Minecraft_Development-2025.2-1.8.10.zip": "sha256-8/5P3DVPoj0Df1aIMcE2B7e8ZgV2W14yRvBEa0F8ohg=", - "https://plugins.jetbrains.com/files/8554/854483/featuresTrainer-252.26199.84.zip": "sha256-euvA9ZNcFcQ6iZ5AC6tpyeJKTkAGzIq4jJ2sdLF0Fno=", - "https://plugins.jetbrains.com/files/8554/891759/featuresTrainer-253.28294.90.zip": "sha256-3BbZcICo42Qti0t1bBsJOgA6PnXo81iG/u5rINMp3WQ=", - "https://plugins.jetbrains.com/files/8554/903134/featuresTrainer-252.28238.33.zip": "sha256-qi4Jszm01TJ/XsksIc9+PGtEwwylXEvsN/rRf5SJLO0=", - "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip": "sha256-JShheBoOBiWM9HubMUJvBn4H3DnWykvqPyrmetaCZiM=", - "https://plugins.jetbrains.com/files/9164/827451/gherkin-252.25557.23.zip": "sha256-y66kYTYD+R9Sert2JHWGwFFIgc5UJTssZrjgvzOjljk=", - "https://plugins.jetbrains.com/files/9164/899634/gherkin-253.28294.218.zip": "sha256-oaiOnF8IO/RrFG3d08kg3lsXp9V1M8c6eAir+XIcIS4=", - "https://plugins.jetbrains.com/files/9525/711041/dotenv-251.23774.318.zip": "sha256-0c/2qbuu+M6z0gvpme+Mkv23JlQKNTUU+9GL9mh2IFw=", - "https://plugins.jetbrains.com/files/9525/796325/dotenv-252.23892.201.zip": "sha256-N0DNEtF3FDcRirfjfSCCVUbDIA4SB35F/9XY1tPXXmg=", - "https://plugins.jetbrains.com/files/9525/899604/dotenv-253.28294.218.zip": "sha256-rtUeFFyNLu78v07bGvdysE70u0QQaPe75syBLid7Pvw=", - "https://plugins.jetbrains.com/files/9568/882349/go-plugin-252.27397.103.zip": "sha256-bEDB8GfqxmY1Pqco2mYW55QQvleidHYOdjyj6sWEpKE=", - "https://plugins.jetbrains.com/files/9707/702581/ANSI_Highlighter_Premium-25.1.5.jar": "sha256-XYCD4kOHDeIKhti0T175xhBHR8uscaFN4c9CNlUaCDs=", - "https://plugins.jetbrains.com/files/9707/896146/ANSI_Highlighter_Premium-25.3.0.jar": "sha256-X9aLM7fhdnsDV0A5v5sEHlKQxaCb6YnjvVDe64Lz60o=", - "https://plugins.jetbrains.com/files/9792/633158/Key_Promoter_X-2024.2.2.zip": "sha256-Mzmmq0RzMKZeKfBSo7FHvzeEtPGIrwqEDLAONQEsR1M=", - "https://plugins.jetbrains.com/files/9836/840770/intellij-randomness-3.4.2.zip": "sha256-qs+eQbjszqPuwHcsplyMz5JT46RqEAE4sw9qNuupxFU=" - } -} diff --git a/pkgs/applications/editors/jetbrains/plugins/specialPlugins.nix b/pkgs/applications/editors/jetbrains/plugins/specialPlugins.nix deleted file mode 100644 index dfbd81a540a07..0000000000000 --- a/pkgs/applications/editors/jetbrains/plugins/specialPlugins.nix +++ /dev/null @@ -1,119 +0,0 @@ -{ - delve, - autoPatchelfHook, - stdenv, - lib, - glibc, - gcc-unwrapped, -}: -# This is a list of plugins that need special treatment. For example, the go plugin (id is 9568) comes with delve, a -# debugger, but that needs various linking fixes. The changes here replace it with the system one. -{ - "631" = { - # Python - nativeBuildInputs = lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; - buildInputs = [ (lib.getLib stdenv.cc.cc) ]; - }; - "7322" = { - # Python community edition - nativeBuildInputs = lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; - buildInputs = [ (lib.getLib stdenv.cc.cc) ]; - }; - "8182" = { - # Rust (deprecated) - nativeBuildInputs = lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; - buildInputs = [ (lib.getLib stdenv.cc.cc) ]; - buildPhase = '' - runHook preBuild - chmod +x -R bin - runHook postBuild - ''; - }; - "9568" = { - # Go - buildInputs = [ delve ]; - buildPhase = - let - arch = - (if stdenv.hostPlatform.isLinux then "linux" else "mac") - + (if stdenv.hostPlatform.isAarch64 then "arm" else ""); - in - '' - runHook preBuild - ln -sf ${delve}/bin/dlv lib/dlv/${arch}/dlv - runHook postBuild - ''; - }; - "17718" = { - # Github Copilot - # Modified version of https://github.com/ktor/nixos/commit/35f4071faab696b2a4d86643726c9dd3e4293964 - buildPhase = '' - agent='copilot-agent/native/${lib.toLower stdenv.hostPlatform.uname.system}${ - { - x86_64 = "-x64"; - aarch64 = "-arm64"; - } - .${stdenv.hostPlatform.uname.processor} or "" - }/copilot-language-server' - orig_size=$(stat --printf=%s $agent) - - find_payload_offset() { - grep -aobUam1 -f <(printf '\x1f\x8b\x08\x00') "$agent" | cut -d: -f1 - } - - # Helper: find the offset of the prelude by searching for function string start - find_prelude_offset() { - local prelude_string='(function(process, require, console, EXECPATH_FD, PAYLOAD_POSITION, PAYLOAD_SIZE) {' - grep -obUa -- "$prelude_string" "$agent" | cut -d: -f1 - } - - before_payload_position="$(find_payload_offset)" - before_prelude_position="$(find_prelude_offset)" - - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $agent - patchelf --set-rpath ${ - lib.makeLibraryPath [ - glibc - gcc-unwrapped - ] - } $agent - chmod +x $agent - new_size=$(stat --printf=%s $agent) - var_skip=20 - var_select=22 - shift_by=$(($new_size-$orig_size)) - function fix_offset { - # $1 = name of variable to adjust - location=$(grep -obUam1 "$1" $agent | cut -d: -f1) - location=$(expr $location + $var_skip) - value=$(dd if=$agent iflag=count_bytes,skip_bytes skip=$location \ - bs=1 count=$var_select status=none) - value=$(expr $shift_by + $value) - echo -n $value | dd of=$agent bs=1 seek=$location conv=notrunc - } - - after_payload_position="$(find_payload_offset)" - after_prelude_position="$(find_prelude_offset)" - - if [ "${stdenv.hostPlatform.system}" == "aarch64-linux" ] - then - fix_offset PAYLOAD_POSITION - fix_offset PRELUDE_POSITION - else - # There are hardcoded positions in the binary, then it replaces the placeholders by himself - sed -i -e "s/$before_payload_position/$after_payload_position/g" "$agent" - sed -i -e "s/$before_prelude_position/$after_prelude_position/g" "$agent" - fi - ''; - }; - "22407" = { - # Rust - nativeBuildInputs = lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook; - buildInputs = [ (lib.getLib stdenv.cc.cc) ]; - buildPhase = '' - runHook preBuild - chmod +x -R bin - runHook postBuild - ''; - }; -} diff --git a/pkgs/applications/editors/jetbrains/plugins/tests.nix b/pkgs/applications/editors/jetbrains/plugins/tests.nix index 53cec1c28147e..b87744dc63e4a 100644 --- a/pkgs/applications/editors/jetbrains/plugins/tests.nix +++ b/pkgs/applications/editors/jetbrains/plugins/tests.nix @@ -3,16 +3,13 @@ symlinkJoin, lib, runCommand, + fetchzip, + fetchurl, # If not set, all IDEs are tested. ideName ? null, }: let - - # Known broken plugins, PLEASE remove entries here whenever possible. - broken-plugins = [ - ]; - ides = if ideName == null then with jetbrains; @@ -53,65 +50,34 @@ in paths = (map modify-ide ides); }; - # Test all plugins. This will only build plugins compatible with the IDE and version. It will fail if the plugin is marked - # as compatible, but the build version is somehow not in the "builds" map (as that would indicate that something with update_plugins.py went wrong). - all = - let - plugins-json = builtins.fromJSON (builtins.readFile ./plugins.json); - plugins-for = - with lib.asserts; - ide: - map (plugin: plugin.name) ( - builtins.filter ( - plugin: - let - # Allow all PyCharm/IDEA plugins for PyCharm/IDEA Community - TODO: Remove this special case once PyCharm/IDEA Community is removed - communityCheck = - (ide.pname == "pycharm-community" && builtins.elem "pycharm" plugin.compatible) - || (ide.pname == "idea-community" && builtins.elem "idea" plugin.compatible); - in - ( - # Plugin has to not be broken - (!builtins.elem plugin.name broken-plugins) - # IDE has to be compatible - && (communityCheck || builtins.elem ide.pname plugin.compatible) - # Assert: The build number needs to be included (if marked compatible) - && (assertMsg (builtins.elem ide.buildNumber (builtins.attrNames plugin.builds)) "For plugin ${plugin.name} no entry for IDE build ${ide.buildNumber} is defined, even though ${ide.pname} is on that build.") - # The plugin has to exist for the build - && (plugin.builds.${ide.buildNumber} != null) - ) - ) (builtins.attrValues plugins-json.plugins) - ); - modify-ide = ide: jetbrains.plugins.addPlugins ide (plugins-for ide); - in - symlinkJoin { - name = "jetbrains-test-plugins-all"; - paths = (map modify-ide ides); - }; - # This test builds the IDEs with some plugins and checks that they can be discovered by the IDE. - # Test always succeeds on IDEs that the tested plugins don't support. + # We ignore IDE compatibility here so we don't have to maintain the plugin versions used below, + # the only thing we care about is that they are properly placed. stored-correctly = let - plugins-json = builtins.fromJSON (builtins.readFile ./plugins.json); - plugin-ids = [ - # This is a "normal plugin", it's output must be linked into /${pname}/plugins. - "8607" # nixidea - # This is a plugin where the output contains a single JAR file. This JAR file needs to be linked directly in /${pname}/plugins. - "7425" # wakatime - ]; - check-if-supported = + # This is a "normal plugin", it's output must be linked into /${pname}/plugins. + nixidea = fetchzip { + url = "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip"; + hash = "sha256-JShheBoOBiWM9HubMUJvBn4H3DnWykvqPyrmetaCZiM="; + }; + + # This is a plugin where the output contains a single JAR file. This JAR file needs to be linked directly in /${pname}/plugins. + wakatime = fetchurl { + executable = true; + url = "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar"; + hash = "sha256-DobKZKokueqq0z75d2Fo3BD8mWX9+LpGdT9C7Eu2fHc="; + }; + + modify-ide = ide: - builtins.all ( - plugin: - (builtins.elem ide.pname plugins-json.plugins.${plugin}.compatible) - && (plugins-json.plugins.${plugin}.builds.${ide.buildNumber} != null) - ) plugin-ids; - modify-ide = ide: jetbrains.plugins.addPlugins ide plugin-ids; + jetbrains.plugins.addPlugins ide [ + nixidea + wakatime + ]; in runCommand "test-jetbrains-plugins-stored-correctly" { - idePaths = (map modify-ide (builtins.filter check-if-supported ides)); + idePaths = (map modify-ide ides); } # TODO: instead of globbing using $ide/*/plugins we could probably somehow get the package name here properly. '' diff --git a/pkgs/applications/editors/jetbrains/plugins/update_plugins.py b/pkgs/applications/editors/jetbrains/plugins/update_plugins.py deleted file mode 100755 index ff31cec97e1b4..0000000000000 --- a/pkgs/applications/editors/jetbrains/plugins/update_plugins.py +++ /dev/null @@ -1,411 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i python3 -p python3 python3.pkgs.requests nix.out - -from json import load, dumps -from pathlib import Path -from requests import get -from subprocess import run -from argparse import ArgumentParser - -# Token priorities for version checking -# From https://github.com/JetBrains/intellij-community/blob/94f40c5d77f60af16550f6f78d481aaff8deaca4/platform/util-rt/src/com/intellij/util/text/VersionComparatorUtil.java#L50 -TOKENS = { - "snap": 10, "snapshot": 10, - "m": 20, - "eap": 25, "pre": 25, "preview": 25, - "alpha": 30, "a": 30, - "beta": 40, "betta": 40, "b": 40, - "rc": 50, - "sp": 70, - "rel": 80, "release": 80, "r": 80, "final": 80 -} -SNAPSHOT_VALUE = 99999 -PLUGINS_FILE = Path(__file__).parent.joinpath("plugins.json").resolve() -IDES_BIN_FILE = Path(__file__).parent.joinpath("../bin/versions.json").resolve() -IDES_SOURCE_FILE = Path(__file__).parent.joinpath("../source/sources.json").resolve() -# The plugin compatibility system uses a different naming scheme to the ide update system. -# These dicts convert between them -FRIENDLY_TO_PLUGIN = { - "clion": "CLION", - "datagrip": "DBE", - "goland": "GOLAND", - "idea-oss": "IDEA", # This was "IDEA_COMMUNITY" before, but this product doesn't exist anymore. - "idea": "IDEA", - "mps": "MPS", - "phpstorm": "PHPSTORM", - "pycharm-oss": "PYCHARM", # This was "PYCHARM_COMMUNITY" before, but this product doesn't exist anymore. - "pycharm": "PYCHARM", - "rider": "RIDER", - "ruby-mine": "RUBYMINE", - "rust-rover": "RUST", - "webstorm": "WEBSTORM" -} -PLUGIN_TO_FRIENDLY = {j: i for i, j in FRIENDLY_TO_PLUGIN.items()} - - -def tokenize_stream(stream): - for item in stream: - if item in TOKENS: - yield TOKENS[item], 0 - elif item.isalpha(): - for char in item: - yield 90, ord(char) - 96 - elif item.isdigit(): - yield 100, int(item) - - -def split(version_string: str): - prev_type = None - block = "" - for char in version_string: - - if char.isdigit(): - cur_type = "number" - elif char.isalpha(): - cur_type = "letter" - else: - cur_type = "other" - - if cur_type != prev_type and block: - yield block.lower() - block = "" - - if cur_type in ("letter", "number"): - block += char - - prev_type = cur_type - - if block: - yield block - - -def tokenize_string(version_string: str): - return list(tokenize_stream(split(version_string))) - - -def pick_newest(ver1: str, ver2: str) -> str: - if ver1 is None or ver1 == ver2: - return ver2 - - if ver2 is None: - return ver1 - - presort = [tokenize_string(ver1), tokenize_string(ver2)] - postsort = sorted(presort) - if presort == postsort: - return ver2 - else: - return ver1 - - -def is_build_older(ver1: str, ver2: str) -> int: - ver1 = [int(i) for i in ver1.replace("*", str(SNAPSHOT_VALUE)).split(".")] - ver2 = [int(i) for i in ver2.replace("*", str(SNAPSHOT_VALUE)).split(".")] - - for i in range(min(len(ver1), len(ver2))): - if ver1[i] == ver2[i] and ver1[i] == SNAPSHOT_VALUE: - return 0 - if ver1[i] == SNAPSHOT_VALUE: - return 1 - if ver2[i] == SNAPSHOT_VALUE: - return -1 - result = ver1[i] - ver2[i] - if result != 0: - return result - - return len(ver1) - len(ver2) - - -def is_compatible(build, since, until) -> bool: - return (not since or is_build_older(since, build) < 0) and (not until or 0 < is_build_older(until, build)) - - -def get_newest_compatible(pid: str, build: str, plugin_infos: dict, quiet: bool) -> [None, str]: - newest_ver = None - newest_index = None - for index, info in enumerate(plugin_infos): - if pick_newest(newest_ver, info["version"]) != newest_ver and \ - is_compatible(build, info["since"], info["until"]): - newest_ver = info["version"] - newest_index = index - - if newest_ver is not None: - return "https://plugins.jetbrains.com/files/" + plugin_infos[newest_index]["file"] - else: - if not quiet: - print(f"WARNING: Could not find version of plugin {pid} compatible with build {build}") - return None - - -def flatten(main_list: list[list]) -> list: - return [item for sublist in main_list for item in sublist] - - -def get_compatible_ides(pid: str) -> list[str]: - int_id = pid.split("-", 1)[0] - url = f"https://plugins.jetbrains.com/api/plugins/{int_id}/compatible-products" - result = get(url).json() - return sorted([PLUGIN_TO_FRIENDLY[i] for i in result if i in PLUGIN_TO_FRIENDLY]) - - -def id_to_name(pid: str, channel="") -> str: - channel_ext = "-" + channel if channel else "" - - resp = get("https://plugins.jetbrains.com/api/plugins/" + pid).json() - return resp["link"].split("-", 1)[1] + channel_ext - - -def sort_dict(to_sort: dict) -> dict: - return {i: to_sort[i] for i in sorted(to_sort.keys())} - - -def make_name_mapping(infos: dict) -> dict[str, str]: - return sort_dict({i: id_to_name(*i.split("-", 1)) for i in infos.keys()}) - - -def make_plugin_files(plugin_infos: dict, ide_versions: dict, quiet: bool, extra_builds: list[str]) -> dict: - result = {} - names = make_name_mapping(plugin_infos) - for pid in plugin_infos: - plugin_versions = { - "compatible": get_compatible_ides(pid), - "builds": {}, - "name": names[pid] - } - relevant_builds = [ - builds for ide, builds - in ide_versions.items() - if ( - ide in plugin_versions["compatible"] - # TODO: Remove this once we removed pycharm-community - or (ide == "pycharm-community" and "pycharm" in plugin_versions["compatible"]) - # TODO: Remove this once we removed idea-community - or (ide == "idea-community" and "idea" in plugin_versions["compatible"]) - ) - ] + [extra_builds] - relevant_builds = sorted(list(set(flatten(relevant_builds)))) # Flatten, remove duplicates and sort - for build in relevant_builds: - plugin_versions["builds"][build] = get_newest_compatible(pid, build, plugin_infos[pid], quiet) - result[pid] = plugin_versions - - return result - - -def get_old_file_hashes() -> dict[str, str]: - return load(open(PLUGINS_FILE))["files"] - - -def get_hash(url): - print(f"Downloading {url}") - args = ["nix-prefetch-url", url, "--print-path"] - if url.endswith(".zip"): - args.append("--unpack") - else: - args.append("--executable") - path_process = run(args, capture_output=True) - path = path_process.stdout.decode().split("\n")[1] - result = run(["nix", "--extra-experimental-features", "nix-command", "hash", "path", path], capture_output=True) - result_contents = result.stdout.decode()[:-1] - if not result_contents: - raise RuntimeError(result.stderr.decode()) - return result_contents - - -def print_file_diff(old, new): - added = new.copy() - removed = old.copy() - to_delete = [] - - for file in added: - if file in removed: - to_delete.append(file) - - for file in to_delete: - added.remove(file) - removed.remove(file) - - if removed: - print("\nRemoved:") - for file in removed: - print(" - " + file) - print() - - if added: - print("\nAdded:") - for file in added: - print(" + " + file) - print() - - -def get_file_hashes(file_list: list[str], refetch_all: bool) -> dict[str, str]: - old = {} if refetch_all else get_old_file_hashes() - print_file_diff(list(old.keys()), file_list) - - file_hashes = {} - for file in sorted(file_list): - if file in old: - file_hashes[file] = old[file] - else: - file_hashes[file] = get_hash(file) - return file_hashes - - -def get_args() -> tuple[list[str], list[str], bool, bool, bool, list[str]]: - parser = ArgumentParser( - description="Add/remove/update entries in plugins.json", - epilog="To update all plugins, run with no args.\n" - "To add a version of a plugin from a different channel, append -[channel] to the id.\n" - "The id of a plugin is the number before the name in the address of its page on https://plugins.jetbrains.com/" - ) - parser.add_argument("-r", "--refetch-all", action="store_true", - help="don't use previously collected hashes, redownload all") - parser.add_argument("-l", "--list", action="store_true", - help="list plugin ids") - parser.add_argument("-q", "--quiet", action="store_true", - help="suppress warnings about not being able to find compatible plugin versions") - parser.add_argument("-w", "--with-build", action="append", default=[], - help="append [builds] to the list of builds to fetch plugin versions for") - sub = parser.add_subparsers(dest="action") - sub.add_parser("add").add_argument("ids", type=str, nargs="+", help="plugin(s) to add") - sub.add_parser("remove").add_argument("ids", type=str, nargs="+", help="plugin(s) to remove") - - args = parser.parse_args() - add = [] - remove = [] - - if args.action == "add": - add = args.ids - elif args.action == "remove": - remove = args.ids - - return add, remove, args.refetch_all, args.list, args.quiet, args.with_build - - -def sort_ids(ids: list[str]) -> list[str]: - sortable_ids = [] - for pid in ids: - if "-" in pid: - split_pid = pid.split("-", 1) - sortable_ids.append((int(split_pid[0]), split_pid[1])) - else: - sortable_ids.append((int(pid), "")) - sorted_ids = sorted(sortable_ids) - return [(f"{i}-{j}" if j else str(i)) for i, j in sorted_ids] - - -def get_plugin_ids(add: list[str], remove: list[str]) -> list[str]: - ids = list(load(open(PLUGINS_FILE))["plugins"].keys()) - - for pid in add: - if pid in ids: - raise ValueError(f"ID {pid} already in JSON file") - ids.append(pid) - - for pid in remove: - try: - ids.remove(pid) - except ValueError: - raise ValueError(f"ID {pid} not in JSON file") - return sort_ids(ids) - - -def get_plugin_info(pid: str, channel: str) -> dict: - url = f"https://plugins.jetbrains.com/api/plugins/{pid}/updates?channel={channel}" - resp = get(url) - decoded = resp.json() - - if resp.status_code != 200: - print(f"Server gave non-200 code {resp.status_code} with message " + decoded["message"]) - exit(1) - - return decoded - - -def ids_to_infos(ids: list[str]) -> dict: - result = {} - for pid in ids: - if "-" in pid: - int_id, channel = pid.split("-", 1) - else: - channel = "" - int_id = pid - - result[pid] = get_plugin_info(int_id, channel) - return result - - -def get_ide_versions() -> dict: - result = {} - - # Bin IDEs - ide_data = load(open(IDES_BIN_FILE)) - for platform in ide_data: - for product in ide_data[platform]: - version = ide_data[platform][product]["build_number"] - if product not in result: - result[product] = [version] - elif version not in result[product]: - result[product].append(version) - - # Source IDEs - ide_source_data = load(open(IDES_SOURCE_FILE)) - for product, ide_info in ide_source_data.items(): - version = ide_info["buildNumber"] - if product not in result: - result[product] = [version] - elif version not in result[product]: - result[product].append(version) - - # Gateway isn't a normal IDE, so it doesn't use the same plugins system - del result["gateway"] - - return result - - -def get_file_names(plugins: dict[str, dict]) -> list[str]: - result = [] - for plugin_info in plugins.values(): - for url in plugin_info["builds"].values(): - if url is not None: - result.append(url) - - return list(set(result)) - - -def dump(obj, file): - file.write(dumps(obj, indent=2)) - file.write("\n") - - -def write_result(to_write): - dump(to_write, open(PLUGINS_FILE, "w")) - - -def main(): - add, remove, refetch_all, list_ids, quiet, extra_builds = get_args() - result = {} - - print("Fetching plugin info") - ids = get_plugin_ids(add, remove) - if list_ids: - print(*ids) - plugin_infos = ids_to_infos(ids) - - print("Working out which plugins need which files") - ide_versions = get_ide_versions() - result["plugins"] = make_plugin_files(plugin_infos, ide_versions, quiet, extra_builds) - - print("Getting file hashes") - file_list = get_file_names(result["plugins"]) - result["files"] = get_file_hashes(file_list, refetch_all) - - write_result(result) - - # Commit the result - commitMessage = "jetbrains.plugins: update" - print("#### Committing changes... ####") - run(['git', 'commit', f'-m{commitMessage}', '--', f'{PLUGINS_FILE}'], check=True) - - -if __name__ == '__main__': - main() diff --git a/pkgs/applications/editors/jetbrains/readme.md b/pkgs/applications/editors/jetbrains/readme.md index 3d322bdec91fe..08814498e6321 100644 --- a/pkgs/applications/editors/jetbrains/readme.md +++ b/pkgs/applications/editors/jetbrains/readme.md @@ -3,26 +3,40 @@ The jdk is in `pkgs/development/compilers/jetbrains-jdk`. ## Tests: - To test the build process of every IDE (as well as the process for adding plugins), build `jetbrains.plugins.tests.empty`. -- To test the build process with all plugins\* supported by all IDEs, build `jetbrains.plugins.tests.all`. -- To test only plugins for a specific IDE\*, build `jetbrains.ide-name.tests.plugins.all`. - To test that plugins are correctly stored in the plugins directory, build `jetbrains.plugins.tests.stored-correctly`. -\*: Plugins marked as broken in nixpkgs are skipped: When updating/fixing plugins, please check the `broken-plugins` in `plugins/tests.nix` and update it if needed. - ## How to use plugins: - - Get the ide you want and call `jetbrains.plugins.addPlugins` with a list of plugins you want to add. - - The list of plugins can be a list of ids or names (as in `plugins/plugins.json`) - - Example: `jetbrains.plugins.addPlugins jetbrains.pycharm-professional [ "nixidea" ]` - - The list can also contain drvs giving the directory contents of the plugin (this is how you use a plugin not added to nixpkgs) or a single `.jar` (executable). For an example, look at the implementation of `fetchPluginSrc` in `plugins/default.nix`. + - Pass your IDE package and a list of plugin packages to `jetbrains.plugins.addPlugins`. + E.g. `pkgs.jetbrains.plugins.addPlugins pkgs.jetbrains.idea [ ideavim ]` + - The list has to contain contain drvs giving the directory contents of the plugin or a single `.jar` (executable). + +Nixpkgs does not package Jetbrains plugins, however you can use third-party sources, such as +[nix-jetbrains-plugins](https://github.com/nix-community/nix-jetbrains-plugins). +Note that some plugins may not work without modification, if they are packaged in a way that is incompatible with NixOS. +You can try installing such plugins from within the IDE instead. + +### Example derivations: + +#### "Normal" plugin + +```nix +fetchzip { + url = "https://plugins.jetbrains.com/files/8607/786671/NixIDEA-0.4.0.18.zip"; + hash = "sha256-JShheBoOBiWM9HubMUJvBn4H3DnWykvqPyrmetaCZiM="; +} +``` +#### "Single JAR file" plugin -### How to add a new plugin to nixpkgs - - Find the page for the plugin on https://plugins.jetbrains.com - - Find the id (it's the number after https://plugins.jetbrains.com/plugin/) - - Run `plugins/update_plugins.py` add (plugin id) - - If binaries need patch or some other special treatment, add an entry to `plugins/specialPlugins.nix` +```nix +fetchurl { + executable = true; + url = "https://plugins.jetbrains.com/files/7425/760442/WakaTime.jar"; + hash = "sha256-DobKZKokueqq0z75d2Fo3BD8mWX9+LpGdT9C7Eu2fHc="; +} +``` ## How to update stuff: - - Run ./bin/update_bin.py, this will update binary IDEs and plugins, and automatically commit them + - Run ./bin/update_bin.py, this will update binary IDEs, and automatically commit them - Source builds need a bit more effort, as they **aren't automated at the moment**: - Run ./source/update.py ./source/sources.json ./bin/versions.json. This will update the source version to the version of their corresponding binary packages. - Run these commands respectively: @@ -33,7 +47,6 @@ The jdk is in `pkgs/development/compilers/jetbrains-jdk`. - Notice that sometimes a newer Kotlin version is required to build from source, if build fails, first check the recommended Kotlin version in `.idea/kotlinc.xml` in the IDEA source root - Feel free to update the Kotlin version to a compatible one - If it succeeds, make a commit - - Run ./plugins/update_plugins.py, this will update plugins and automatically commit them - make a PR/merge - If it fails, ping/message GenericNerdyUsername or the nixpkgs Jetbrains maintainer team @@ -44,7 +57,6 @@ The jdk is in `pkgs/development/compilers/jetbrains-jdk`. - Add an entry in `default.nix` ### TODO: - - move/copy plugin docs to nixpkgs manual - replace `libxcrypt-legacy` with `libxcrypt` when supported - make `jetbrains-remote-dev.patch` cleaner - is extraLdPath needed for IDEA? @@ -63,12 +75,9 @@ The jdk is in `pkgs/development/compilers/jetbrains-jdk`. - make `buildPhase` respect `$NIX_BUILD_CORES` - automated update script? - on `aarch64-linux`: - - test plugins - from source build - see if build (binary or source) works without expat - on `x86_64-darwin`: - - test plugins - from source build - on `aarch64-darwin`: - - test plugins - from source build