This is an automated email from the ASF dual-hosted git repository.

opwvhk pushed a commit to branch branch-1.12
in repository https://gitbox.apache.org/repos/asf/avro.git

commit daaa0ea33cfa0bc70c8719d062bc80e9ca67bce6
Author: Oscar Westra van Holthe - Kind <opw...@users.noreply.github.com>
AuthorDate: Thu May 1 21:34:45 2025 +0200

    AVRO-3951: Document IDE support (#3366)
    
    * AVRO-3951: Document IDE support
    
    Move the IDL plugins to a separate page, and also document IDE/editor
    extensions that work with other Avro related files.
    
    * Update doc/content/en/docs/++version++/Editor Support/_index.md
    
    Co-authored-by: Martin Grigorov <marti...@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Martin Grigorov <marti...@users.noreply.github.com>
    (cherry picked from commit 2b968e6e38744771b555c7124b4744e32ba7dbbb)
---
 .../en/docs/++version++/Editor Support/_index.md   | 175 +++++++++++++++++++++
 .../Editor Support/eclipseAvroclipse.png           | Bin 0 -> 6419 bytes
 .../jetbrainsAvroAndParquetViewer.svg              |   6 +
 .../jetbrainsAvroIdlSchemaSupport.svg              |  21 +++
 .../Editor Support/jetbrainsBigDataFileViewer.svg  |  13 ++
 .../Editor Support/visualStudioAvroIdl.png         | Bin 0 -> 29293 bytes
 .../Editor Support/visualStudioAvroTools.png       | Bin 0 -> 7092 bytes
 .../Editor Support/visualStudioAvroViewer.png      | Bin 0 -> 113909 bytes
 .../en/docs/++version++/IDL Language/_index.md     |  57 -------
 share/editors/README.txt                           |   5 +
 10 files changed, 220 insertions(+), 57 deletions(-)

diff --git a/doc/content/en/docs/++version++/Editor Support/_index.md 
b/doc/content/en/docs/++version++/Editor Support/_index.md
new file mode 100644
index 0000000000..7296027923
--- /dev/null
+++ b/doc/content/en/docs/++version++/Editor Support/_index.md  
@@ -0,0 +1,175 @@
+---
+title: "Editor Support"
+linkTitle: "Editor Support"
+weight: 209
+---
+
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   https://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+## Overview
+
+When editing an Avro schema, everyone has a preferred editor. Some use an IDE, 
like IntelliJ, PyCharm, RustRover or
+Visual Studio, while others prefer a more humble text editor like Atom/Pulsar, 
Emacs or Vim.
+
+Most provide help when working with Avro via JSON support (for JSON schemata) 
by offering syntax highlighting and
+formatting. Some provide more help, for example syntax highlighting for IDL 
schemata, code completion, error
+highlighting and more.
+
+The IDEs and editors that we know to support Avro better than just editing 
schemata as JSON files are listed below in
+alphabetical order.
+
+## Eclipse
+
+Eclipse is a free IDE that provides extensions via the [Eclipse 
Marketplace](https://marketplace.eclipse.org/).
+
+### Avroclipse
+
+<img style="float: right; object-fit: contain; width: 160px; height: 160px;" 
src="eclipseAvroclipse.png"/>[Extension](https://marketplace.eclipse.org/content/avroclipse)
 ([source](https://github.com/dvdkruk/avroclipse))
+
+Released in 2015, this plugin received its last update in December 2019.
+
+Features for IDL files:
+
+* Syntax Highlighting
+* Code Completion
+* Error Highlighting
+
+## Emacs
+
+Sometimes ridiculed as an operating system, Emacs is a rich text editor. Many 
packages are available
+via one of the three main package archives: [GNU ELPA](https://elpa.gnu.org/), 
[non-GNU ELPA](https://elpa.nongnu.org/)
+or [MELPA](https://melpa.org/).
+
+### emacs-avro
+
+[Package source](https://github.com/logc/emacs-avro)
+
+Originally released elsewhere in 2013, the last update was in March 2021.
+
+This package is not available via the main package archives.
+
+Provides syntax highlighting for IDL schemata.
+
+## JetBrains IDE family
+
+JetBrains features an entire line of IDEs. They include IntelliJ IDEA, 
PyCharm, PhpStorm, GoLand, Rider, CLion,
+RustRover, WebStorm, RubyMine,
+DataGrip, DataSpell, ReSharper, Fleet, and Aqua.
+
+All of them use the [Plugin Marketplace](https://plugins.jetbrains.com/) to 
load extensions from.
+
+### Apache Avro IDL Schema Support
+
+<img style="float: right; object-fit: contain; width: 160px; height: 160px;" 
src="jetbrainsAvroIdlSchemaSupport.svg"/>[Plugin](https://plugins.jetbrains.com/plugin/15728-apache-avro-idl-schema-support)
 
([source](https://github.com/opwvhk/avro-schema-support?tab=readme-ov-file#intellij-plugin-for-apache-avro-idl))
+
+Released in 2021, this plugin received its last update in November 2023.
+
+Features for Avro schema & protocol definitions:
+
+* Syntax Highlighting
+* Code Completion
+* Code Formatting
+* Error Highlighting
+* Inspections & quick fixes (IDL only)
+* New file templates
+
+The plugin supports all JetBrains products.
+
+### Avro and Parquet Viewer
+
+<img style="float: right; object-fit: contain; width: 160px; height: 160px;" 
src="jetbrainsAvroAndParquetViewer.svg"/>[Plugin](https://plugins.jetbrains.com/plugin/12281-avro-and-parquet-viewer)
 ([source](https://github.com/benwatson528/intellij-avro-parquet-plugin))]
+
+Released in 2021, this plugin received its last update in November 2022.
+
+Allows previewing `.avro` files, and shows its schema in an editor tab.
+
+### Big Data File Viewer
+
+<img style="float: right; object-fit: contain; width: 160px; height: 160px;" 
src="jetbrainsBigDataFileViewer.svg"/>[Plugin](https://plugins.jetbrains.com/plugin/21701-big-data-file-viewer)
 (
+part of the [Big Data 
Tools](https://plugins.jetbrains.com/bundles/8-big-data-tools))
+
+Released in 2023, this plugin is actively developed by JetBrains.
+
+Allows previewing `.avro` files, and shows its schema in the structure tool 
window.
+
+## Pulsar/Atom
+
+Though the Atom.io editor has been sunset late 2022, the public fork 
[Pulsar](https://pulsar-edit.dev/) has taken its
+place. Extensions can be found in its [Package 
Repository](https://web.pulsar-edit.dev/).
+
+### atom-language-avro
+
+[Package](https://web.pulsar-edit.dev/packages/atom-language-avro) 
([source](https://github.com/jonesetc/atom-language-avro))
+
+Released in 2015, this package provides syntax highlighting for IDL schemata.
+
+## Vim
+
+### vim-avro
+
+[Plugin 
source](https://github.com/gurpreetatwal/vim-avro?tab=readme-ov-file#vim-avro)
+
+Released in December 2016, this plugin has received no updates since.
+
+Features syntax highlighting for IDL schemata,
+
+### avro-idl.vim
+
+[Plugin 
source](https://github.com/apache/avro/blob/main/share/editors/avro-idl.vim)
+
+Featured in the Avro repository `share/editors` directory. Introduced in 2010, 
this plugin received its last update in
+June 2019.
+
+Features syntax highlighting for IDL schemata,
+
+## Visual Studio Code:
+
+Being a Microsoft product, Visual Studio Code provides extensions via
+a [Plugin Marketplace](https://marketplace.visualstudio.com/).
+
+### avro-idl
+
+<img style="float: right; object-fit: contain; width: 160px; height: 160px;" 
src="visualStudioAvroIdl.png"/>[Plugin](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.avro)
 
([source](https://github.com/streetsidesoftware/vscode-avro-ext?tab=readme-ov-file#avro-syntax-highlighter))
+
+Released in 2017, this plugin received its last update in June 2021,
+
+It provides syntax highlighting for IDL and JSON schemata.
+
+### avro-tools
+
+<img style="float: right; object-fit: contain; width: 160px; height: 160px;" 
src="visualStudioAvroTools.png"/>[Plugin](https://marketplace.visualstudio.com/items?itemName=tomaszbartoszewski.avro-tools)
 
([source](https://github.com/tomaszbartoszewski/vscode-avro-tools?tab=readme-ov-file#avro-tools))
+
+Released in 2020, this plugin has not received updates after its release day.
+
+It does provide more features than most plugins:
+
+* syntax highlighting for `.avsc` files
+* formatting
+* snippets for fields with types.
+
+### avro-viewer
+
+<img style="float: right; object-fit: contain; width: 160px; height: 160px;" 
src="visualStudioAvroViewer.png"/>[Plugin](https://marketplace.visualstudio.com/items?itemName=yasunari89.avro-viewer)
 
([source](https://github.com/yasunari89/avro-viewer?tab=readme-ov-file#avro-viewer-readme))
+
+Released in 2023, this plugin received its last update in June 2023.
+
+It allows you to preview `.avro` files (uncompressed only), with its schema.
diff --git a/doc/content/en/docs/++version++/Editor 
Support/eclipseAvroclipse.png b/doc/content/en/docs/++version++/Editor 
Support/eclipseAvroclipse.png
new file mode 100644
index 0000000000..1c52d56d22
Binary files /dev/null and b/doc/content/en/docs/++version++/Editor 
Support/eclipseAvroclipse.png differ
diff --git a/doc/content/en/docs/++version++/Editor 
Support/jetbrainsAvroAndParquetViewer.svg 
b/doc/content/en/docs/++version++/Editor 
Support/jetbrainsAvroAndParquetViewer.svg
new file mode 100644
index 0000000000..8683ac6a64
--- /dev/null
+++ b/doc/content/en/docs/++version++/Editor 
Support/jetbrainsAvroAndParquetViewer.svg  
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="40px" height="40px" viewBox="0 0 24 24" fill="none" 
xmlns="http://www.w3.org/2000/svg";>
+  <path d="M15.75 13C15.75 12.5858 15.4142 12.25 15 12.25H9C8.58579 12.25 8.25 
12.5858 8.25 13C8.25 13.4142 8.58579 13.75 9 13.75H15C15.4142 13.75 15.75 
13.4142 15.75 13Z" style="fill: rgb(110, 110, 110);"/>
+  <path d="M15.75 17C15.75 16.5858 15.4142 16.25 15 16.25H9C8.58579 16.25 8.25 
16.5858 8.25 17C8.25 17.4142 8.58579 17.75 9 17.75H15C15.4142 17.75 15.75 
17.4142 15.75 17Z" style="fill: rgb(110, 110, 110);"/>
+  <path fill-rule="evenodd" clip-rule="evenodd" d="M7 2.25C5.48122 2.25 4.25 
3.48122 4.25 5V19C4.25 20.5188 5.48122 21.75 7 21.75H17C18.5188 21.75 19.75 
20.5188 19.75 19V7.96766C19.75 7.58689 19.6258 7.21651 19.3963 6.9127L16.3985 
2.94504C16.0677 2.5073 15.5509 2.25 15.0022 2.25H7ZM5.75 5C5.75 4.30964 6.30964 
3.75 7 3.75H14.25V8.14705C14.25 8.56126 14.5858 8.89705 15 
8.89705H18.25V19C18.25 19.6904 17.6904 20.25 17 20.25H7C6.30964 20.25 5.75 
19.6904 5.75 19V5Z" style="fill: rgb(110, 110,  [...]
+</svg>
diff --git a/doc/content/en/docs/++version++/Editor 
Support/jetbrainsAvroIdlSchemaSupport.svg 
b/doc/content/en/docs/++version++/Editor 
Support/jetbrainsAvroIdlSchemaSupport.svg
new file mode 100644
index 0000000000..9aff5371a6
--- /dev/null
+++ b/doc/content/en/docs/++version++/Editor 
Support/jetbrainsAvroIdlSchemaSupport.svg  
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg"; version="1.1" width="40" height="40" 
viewBox="0 0 64 64">
+       <!--<rect fill="#f7f8fa" x="0" y="0" width="64" height="64"/>-->
+       <!-- Pigeon v3.1, 64x64, 4px border -->
+       <path id="body"         fill="#999999" d="M 31.840348,14.449415 
25.321254,56.989232 50.422312,37.398761 Z m 0,0" style="stroke-width:1.27326" />
+       <path id="body-outline" fill="none" stroke="#3b3b3b" d="M 
31.835904,14.449415 25.316288,56.989232 50.41797,37.398761 Z m 0,0" 
stroke-width="1.77778" stroke-linecap="square" stroke-linejoin="round" />
+       <path id="tail"         fill="#666666" d="m 27.279529,44.222194 
-16.55748,-0.497847 14.597932,13.061162 z m 0,0" style="stroke-width:1.27326" />
+       <path id="tail-outline" fill="none" stroke="#3b3b3b" d="M 
27.270173,44.232672 10.72253,43.729145 25.312626,56.939324 Z m 0,0" 
stroke-width="1.78737" stroke-linecap="square" stroke-linejoin="round" />
+       <path id="wing-light"   fill="#cccccc" d="M 31,15 L 6,8 L 28,34 Z" 
style="stroke-width:1.27326"/>
+       <path id="wing-dark-3"  fill="none" stroke="#666666" d="M 
22.242179,12.34598 20.263138,24.710666" stroke-width="1.77778" 
stroke-linecap="square" stroke-linejoin="round" />
+       <path id="wing-dark-2"  fill="none" stroke="#666666" d="m 
18.57664,11.166935 -1.491904,9.429808" stroke-width="1.77778" 
stroke-linecap="square" stroke-linejoin="round" />
+       <path id="wing-dark-1a" fill="#666666" d="M 8.9764091,10.555768 C 
8.1411502,9.5358815 7.3402693,8.4561519 7.3606415,8.4357797 7.4001126,8.3963084 
11.05055,9.3958222 11.130766,9.476038 c 0.04966,0.044564 -0.422723,3.018914 
-0.408717,3.113135 0.03947,0.224095 -0.9103811,-1.014793 -1.7456399,-2.033405 z 
m 0,0" style="stroke-width:1.27326" />
+       <path id="wing-dark-1b" fill="none" stroke="#666666" d="m 
12.026492,9.4111014 -0.59269,3.9343916" stroke-width="1.77778" 
stroke-linecap="square" stroke-linejoin="round" />
+       <path id="wing-outline" fill="none" stroke="#3b3b3b" d="M 
28.563383,35.697678 31.825731,14.430316 4.8887463,6.809819 Z m 0,0" 
stroke-width="1.77778" stroke-linecap="square" stroke-linejoin="round" />
+       <path id="neck-purple"  fill="#8b72b9" d="m 39.430254,22.203605 
1.860233,-1.776206 8.683637,10.216686 0.159157,4.630869" 
style="stroke-width:1.27326" />
+       <path id="neck-green"   fill="#1cac81" d="m 41.64318,20.831024 c 
-0.0051,-0.02547 2.86993,-2.840656 4.506069,-4.307459 l 3.169146,-2.849569 
0.07894,0.770326 c 0.203722,2.024493 0.516944,16.737082 0.516944,16.737082 C 
49.63671,30.952216 41.64318,20.831024 41.64318,20.831024 Z m 0,0" 
style="stroke-width:1.27326" />
+       <path id="neck-outline" fill="none" stroke="#3b3b3b" d="m 
38.754891,22.362763 11.264981,-10.489165 0.358665,18.068918 0.138632,7.281808 z 
m 0,0" stroke-width="1.77778" stroke-linecap="square" stroke-linejoin="round" />
+       <path id="head-green"   fill="#1cac81" d="m 50.74572,18.647373 c 
0,-1.129387 -0.06494,-2.894134 -0.03056,-3.540953 l 0.08531,-1.666705 
2.084327,1.103922 2.173456,1.473168 -0.369245,1.774933 -0.227914,1.920085 
-1.432418,0.516946 -2.277863,0.890013 z m 0,0" style="stroke-width:1.27326" />
+       <path id="beak"         fill="none" stroke="#ffd944" d="m 
56.395775,19.080283 -1.278239,-3.024006 0.075,3.511667 2.014642,-1.398046" 
stroke-width="1.92921" stroke-linecap="square" stroke-linejoin="round" />
+       <path id="head-outline" fill="none" stroke="#3b3b3b" d="m 
50.019872,11.868505 0.198412,10.095726 8.892935,-3.759955 z m 0,0" 
stroke-width="1.77778" stroke-linecap="square" stroke-linejoin="round" />
+</svg>
diff --git a/doc/content/en/docs/++version++/Editor 
Support/jetbrainsBigDataFileViewer.svg b/doc/content/en/docs/++version++/Editor 
Support/jetbrainsBigDataFileViewer.svg
new file mode 100644
index 0000000000..675b3e7be8
--- /dev/null
+++ b/doc/content/en/docs/++version++/Editor 
Support/jetbrainsBigDataFileViewer.svg     
@@ -0,0 +1,13 @@
+<svg width="40" height="40" viewBox="0 0 40 40" fill="none" 
xmlns="http://www.w3.org/2000/svg";>
+  <path fill-rule="evenodd" clip-rule="evenodd" d="M7 26H0V40H6.99934H7C10.85 
40 14 36.85 14 33C14 29.15 10.85 26 7 26"
+        fill="url(#paint0_linear_3419_204)"/>
+  <path fill-rule="evenodd" clip-rule="evenodd"
+        d="M7 5C4.79086 5 3 6.79086 3 9V24H6V15H13V26.3029C14.8393 27.9531 16 
30.3461 16 33C16 33.6869 15.9222 34.3564 15.7751 35H33C35.2091 35 37 33.2091 37 
31V9C37 6.79086 35.2091 5 33 5H7ZM24 8H16V12H24V8ZM13 8V12H6V9C6 8.44772 
6.44772 8 7 8H13ZM24 15H16V32H24V15ZM27 32V15H34V31C34 31.5523 33.5523 32 33 
32H27ZM34 9V12H27V8H33C33.5523 8 34 8.44772 34 9Z"
+        fill="#6C707E"/>
+  <defs>
+    <linearGradient id="paint0_linear_3419_204" x1="-6.79883" y1="27.9631" 
x2="1.0516" y2="39.8599" gradientUnits="userSpaceOnUse">
+      <stop stop-color="#FF45ED"/>
+      <stop offset="1" stop-color="#6B57FF"/>
+    </linearGradient>
+  </defs>
+</svg>
diff --git a/doc/content/en/docs/++version++/Editor 
Support/visualStudioAvroIdl.png b/doc/content/en/docs/++version++/Editor 
Support/visualStudioAvroIdl.png
new file mode 100644
index 0000000000..3525834e21
Binary files /dev/null and b/doc/content/en/docs/++version++/Editor 
Support/visualStudioAvroIdl.png differ
diff --git a/doc/content/en/docs/++version++/Editor 
Support/visualStudioAvroTools.png b/doc/content/en/docs/++version++/Editor 
Support/visualStudioAvroTools.png
new file mode 100644
index 0000000000..ebe675d7ec
Binary files /dev/null and b/doc/content/en/docs/++version++/Editor 
Support/visualStudioAvroTools.png differ
diff --git a/doc/content/en/docs/++version++/Editor 
Support/visualStudioAvroViewer.png b/doc/content/en/docs/++version++/Editor 
Support/visualStudioAvroViewer.png
new file mode 100644
index 0000000000..0c06035f11
Binary files /dev/null and b/doc/content/en/docs/++version++/Editor 
Support/visualStudioAvroViewer.png differ
diff --git a/doc/content/en/docs/++version++/IDL Language/_index.md 
b/doc/content/en/docs/++version++/IDL Language/_index.md
index 7d0121274a..762403e2e5 100644
--- a/doc/content/en/docs/++version++/IDL Language/_index.md    
+++ b/doc/content/en/docs/++version++/IDL Language/_index.md    
@@ -452,60 +452,3 @@ protocol Simple {
 ```
 
 Additional examples may be found in the Avro source tree under the 
`src/test/idl/input` directory.
-
-## IDE support
-
-There are several editors and IDEs that support Avro IDL files, usually via 
plugins.
-
-### JetBrains
-
-Apache Avro IDL Schema Support 203.1.2 was released in 9 December 2021.
-
-Features:
-* Syntax Highlighting
-* Code Completion
-* Code Formatting
-* Error Highlighting
-* Inspections & quick fixes
-* JSON schemas for .avpr and .avsc files
-
-It's available via the [JetBrains 
Marketplace](https://plugins.jetbrains.com/plugin/15728-apache-avro-idl-schema-support)
-and on [GitHub](https://github.com/opwvhk/avro-schema-support).
-
-The plugin supports almost the all JetBrains products: IntelliJ IDEA, PyCharm, 
WebStorm, Android Studio, AppCode, GoLand, Rider, CLion, RubyMine, PhpStorm, 
DataGrip, DataSpell, MPS, Code With Me Guest and JetBrains Client.
-
-Only JetBrains Gateway does not support this plugin directly. But the backend 
(JetBrains) IDE that it connects to does.
-
-### Eclipse
-
-Avroclipse 0.0.11 was released on 4 December 2019.
-
-Features:
-* Syntax Highlighting
-* Error Highlighting
-* Code Completion
-
-It is available on the [Eclipse 
Marketplace](https://marketplace.eclipse.org/content/avroclipse)
-and [GitHub](https://github.com/dvdkruk/avroclipse).
-
-### Visual Studio Code
-
-avro-idl 0.5.0 was released on 16 June 2021. It provides syntax highlighting.
-
-It is available on the [VisualStudio 
Marketplace](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.avro)
-and [GitHub](https://github.com/Jason3S/vscode-avro-ext)
-
-### Atom.io
-
-atom-language-avro 0.0.13 was released on 14 August 2015. It provides syntax 
highlighting.
-
-It is available as [Atom.io 
package](https://atom.io/packages/atom-language-avro)
-and [GitHub](https://github.com/jonesetc/atom-language-avro)
-
-### Vim
-
-A `.avdl` detecting plugin by Gurpreet Atwal on 
[GitHub](https://github.com/gurpreetatwal/vim-avro) (Last change in December 
2016)
-
-[avro-idl.vim](https://github.com/apache/avro/blob/main/share/editors/avro-idl.vim)
 in the Avro repository `share/editors` directory (last change in September 
2010)
-
-Both provide syntax highlighting.
diff --git a/share/editors/README.txt b/share/editors/README.txt
index 70dd312569..e3da24377f 100644
--- a/share/editors/README.txt
+++ b/share/editors/README.txt
@@ -1 +1,6 @@
 Syntax highlighting and config files for working with Avro files in various 
text editors.
+
+Some, like Microsoft Visual Studio and the various JetBrains IDEs, have their 
own plugin
+marketplace to offer/provide plugins to handle Avro files.
+
+Full information is available in the documentation: 
https://avro.apache.org/docs/current/editor-support/

Reply via email to