diff --git a/lib/types.nix b/lib/types.nix index 38a06727..de89141c 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -32,7 +32,22 @@ rec { check = v: (isRawType v) || (v ? __empty); }; - maybeRaw = type: types.either type rawLua; + maybeRaw = + elemType: + let + luaFirst = types.either rawLua elemType; + elemFirst = types.either elemType rawLua; + in + luaFirst + // { + name = "maybeRaw"; + inherit (elemFirst) description; + nestedTypes = { + left = lib.warn "maybeRaw.nestedTypes: `left` is a deprecated alias for `elemType`." elemType; + right = lib.warn "maybeRaw.nestedTypes: `right` is a deprecated alias for `rawLua`." rawLua; + inherit rawLua elemType; + }; + }; # Describes an boolean-like integer flag that is either 0 or 1 # Has legacy support for boolean definitions, added 2024-09-08 diff --git a/tests/test-sources/plugins/lsp/efmls-configs.nix b/tests/test-sources/plugins/lsp/efmls-configs.nix index 688037fc..c5eebb19 100644 --- a/tests/test-sources/plugins/lsp/efmls-configs.nix +++ b/tests/test-sources/plugins/lsp/efmls-configs.nix @@ -92,7 +92,7 @@ toolType = opt.type.nestedTypes.left; # toolType is a `either (enum possible) rawLua # Look into `nestedTypes.left` for the enum - possible = toolType.nestedTypes.left; + possible = toolType.nestedTypes.elemType; # possible is an enum, look into functor.payload for the variants toolList = possible.functor.payload; in