Hover: Show root property title and description when using anyOf untitled un-described types #952
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"
}
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"
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