asciidoctor / asciidoctor-intellij-plugin

AsciiDoc plugin for products on the IntelliJ platform (IDEA, RubyMine, etc)
https://intellij-asciidoc-plugin.ahus1.de/
Apache License 2.0
355 stars 145 forks source link

PyCharm highlighting of Antora playbook shows runtime.log.destination field as prohibited #1385

Closed sturtison closed 1 year ago

sturtison commented 1 year ago

This is not a critical nor urgent problem for me.

It affects the highighting and error reporting giving a false negative about the runtime.log.destination field yaml correctness in the PyCharm editor.

Observed vs. expected behavior

Observed

The screen captures show the observed behaviour.

The runtime.log.destination are underlined bad.

image

Suggested action considers “destination” as a prohibited property.

image

Expected

Expected no errors. Fields are valid according to: https://docs.antora.org/antora/latest/playbook/runtime-log-destination/#buffer-size-key

Steps to reproduce

Add the following snippet to an antora-playbook.yml file and open in PyCharm.

runtime:
  log:
    level: all
    format: pretty
    destination:
      file: ./antora.log
      buffer_size: 4096
      sync: false

Environment

Plugin Version: 0.38.17

PyCharm > Help

PyCharm 2022.2.3 (Community Edition) Build #PC-222.4345.23, built on October 10, 2022 Runtime version: 17.0.4.1+7-b469.62 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 10 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 2048M Cores: 12 Non-Bundled Plugins: com.samdark.intellij-visual-studio-code-dark-plus (2.7) com.markskelton.one-dark-theme (5.8.0) com.jetbrains.darkPurpleTheme (1.3) com.github.dinbtechit.vscodetheme (1.8.0) com.fernandojimenez.mattecarbon.theme (3.0.0) org.asciidoctor.intellij.asciidoc (0.38.17)

ahus1 commented 1 year ago

Hi @sturtison - thanks for reaching out. This indeed seems to be a bug, and it should be fixed.

For the validation, this plugin bundles an JSON schema to validate the Antora files. As of today, Antora doesn't provide a schema out of the box, so this plugin re-models it. And you found a missing element as it seems.

If you happen to have some time at your hands and feel familiar enough with JSON schema, please provide a pull request for the following file: https://github.com/asciidoctor/asciidoctor-intellij-plugin/blob/main/src/main/resources/jsonSchemas/antoraPlaybookSchema.json You'll find more details instructions on how to setup a development environment in the docs Contribute as a coder.

If not, I'll have a look in the upcoming days/weeks for fix this.

sturtison commented 1 year ago

Hi @ahus1 I'm happy to look at this and put forward a PR.

ahus1 commented 1 year ago

I haven't seen a PR yet, and as I was going though the open issues I decided to add the missing properties. Thank you for providing the example, this helped a lot when testing this.

The next version of the plugin will contain the fix. Once there is a pre-release, I'll update this issue.

ahus1 commented 1 year ago

The change is included in pre-release 0.39.1. Please let me know if this works for you.

The pre-release of the plugin is available from GitHub releases and the IntelliJ AsciiDoc EAP repository.