yaml-language-server icon indicating copy to clipboard operation
yaml-language-server copied to clipboard

Hover: Show root property title and description when using anyOf untitled un-described types

Open az0uz opened this issue 2 years ago • 3 comments

Is your enhancement related to a problem? Please describe.

When using the language server feature and hovering over a property to get the documentation, I don't get the description of a property if using anyOf:

{
  "properties": {
    "optionalZipFile": {
      "anyOf": [{ "type": "string", "pattern": "\\.zip$" }, { "type": "null" }],
      "description": "Optional ZIP File Path.",
      "title": "Zip file",
      "default": null
    }
  },
  "required": ["optionalZipFile"],
  "title": "My Config File",
  "type": "object"
}
Screenshot 2024-02-29 at 15 46 33

The language server seems to infer the title for both possible types from the property title and show both possibilities.

Describe the solution you would like

Have the same behavior as if we use "type": ["string", "null"] instead of "anyOf"

Screenshot 2024-02-29 at 15 56 34

Describe alternatives you have considered

Alternative is to generate nullable values using "type": ["string", "null"] but it won't work for more complex type like the one with a pattern field.

Additional context

This happens frequently when using pydantic generated schemas and Optional values. pydantic is using anyOf when generating the schema for python optional (nullable) values https://github.com/pydantic/pydantic/blob/bbf0724722b44113bf8c8e3bd0cf41403a5913e9/pydantic/json_schema.py#L1030

az0uz avatar Feb 29 '24 15:02 az0uz

I have the same problem, but since I often don’t specify title in schemas (only markdownDescription), VS Codium shows me just || on hover. However, when I trigger auto-completion on the (YAML) key, it correctly renders the markdownDescription for the key.

Example schema: https://jirutka.github.io/nginx-json-schema/nginx-full.json; can be tested e.g. on proxy_set_header.

jirutka avatar Jun 20 '24 14:06 jirutka

Experiencing the same issue.

SILJAEUROPA avatar Oct 04 '24 19:10 SILJAEUROPA

Also experiencing this issue in combination with pydantic.

AndreasStautner avatar Oct 10 '24 10:10 AndreasStautner