vscode-yaml icon indicating copy to clipboard operation
vscode-yaml copied to clipboard

IntelliSence shows just enum subschema value when there is the same named property as the single enum value

Open EmilyGraceSeville7cf opened this issue 1 year ago • 0 comments

Describe the bug

IntelliSence shows just one of two oneOf branches when both should be shown. oneOf branches:

  • a branch with a single-valued enum with some value (referred later as {{value}})
  • a branch with an object with a property named as {{value}}

image

Note: the same applies for anyOf too.

Expected Behavior

Both branches suggested in IntelliSence.

Current Behavior

A branch with a single-valued enum suggested.

Steps to Reproduce

  1. Create schema schema.json with this content:
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "array",
    "items": {
        "oneOf": [
            {
                "$comment": "A branch with a single-valued enum which is shown in IntelliSense suggestions",
                "type": "string",
                "enum": [
                    "something"
                ]
            },
            {
                "$comment": "A branch with a single-valued enum which is hidden from IntelliSense suggestions",
                "type": "object",
                "properties": {
                    "something": {
                        "$comment": "Note that enum value 'something' named the same as this property, which is the source of an issue",
                        "title": "something",
                        "default": "default"
                    }
                },
                "additionalProperties": false
            }
        ]
    }
}
  1. Create test.yaml file and refer inside it to schema.json:
# yaml-language-server: $schema=schema.json

- # cursor is right before the hash sign
  1. Press Ctrl+Space and get just one oneOf branch suggested.

Environment

  • [ ] Windows
  • [ ] Mac
  • [x] Linux
  • [ ] other (please specify)

EmilyGraceSeville7cf avatar May 26 '24 01:05 EmilyGraceSeville7cf