Skip to content

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

Open
@az0uz

Description

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

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions