local z=require(script.Parent.Parent.Shared.Util)local s=Enum.UserInputType:GetEnumItems()for z,B in pairs(Enum.KeyCode:GetEnumItems())do s[#s+1]=B end local B={Transform=function(B)local o=z.MakeFuzzyFinder(s)return o(B)end,Validate=function(z)return#z>0 end,Autocomplete=function(s)return z.GetNames(s)end,Parse=function(z)return z[1]end}return function(s)s:RegisterType("\117\115\101\114\073\110\112\117\116",B)s:RegisterType("\117\115\101\114\073\110\112\117\116\115",z.MakeListableType(B))end
local Util = require(script.Parent.Parent.Shared.Util)

local combinedInputEnums = Enum.UserInputType:GetEnumItems()

for _, e in pairs(Enum.KeyCode:GetEnumItems()) do
	combinedInputEnums[#combinedInputEnums + 1] = e
end

local userInputType = {
	Transform = function(text)
		local findEnum = Util.MakeFuzzyFinder(combinedInputEnums)

		return findEnum(text)
	end,

	Validate = function(enums)
		return #enums > 0
	end,

	Autocomplete = function(enums)
		return Util.GetNames(enums)
	end,

	Parse = function(enums)
		return enums[1]
	end,
}

return function(cmdr)
	cmdr:RegisterType("userInput", userInputType)
	cmdr:RegisterType("userInputs", Util.MakeListableType(userInputType))
end
