.luacheckrc 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597
  1. local empty = {}
  2. local read_write = { read_only = false }
  3. local read_only = { read_only = true }
  4. local function def_fields(field_list)
  5. local fields = {}
  6. for _, field in ipairs(field_list) do
  7. fields[field] = empty
  8. end
  9. return { fields = fields }
  10. end
  11. stds.roblox = {
  12. globals = {
  13. script = {
  14. readonly = true,
  15. fields = {
  16. Source = read_write;
  17. GetHash = read_write;
  18. Disabled = read_write;
  19. LinkedSource = read_write;
  20. CurrentEditor = read_write;
  21. Archivable = read_write;
  22. ClassName = read_write;
  23. DataCost = read_write;
  24. Name = read_write;
  25. Parent = read_write;
  26. RobloxLocked = read_write;
  27. ClearAllChildren = read_write;
  28. Clone = read_write;
  29. Destroy = read_write;
  30. FindFirstAncestor = read_write;
  31. FindFirstAncestorOfClass = read_write;
  32. FindFirstAncestorWhichIsA = read_write;
  33. FindFirstChild = read_write;
  34. FindFirstChildOfClass = read_write;
  35. FindFirstChildWhichIsA = read_write;
  36. GetChildren = read_write;
  37. GetDebugId = read_write;
  38. GetDescendants = read_write;
  39. GetFullName = read_write;
  40. GetPropertyChangedSignal = read_write;
  41. IsA = read_write;
  42. IsAncestorOf = read_write;
  43. IsDescendantOf = read_write;
  44. WaitForChild = read_write;
  45. AncestryChanged = read_write;
  46. Changed = read_write;
  47. ChildAdded = read_write;
  48. ChildRemoved = read_write;
  49. DescendantAdded = read_write;
  50. DescendantRemoving = read_write;
  51. }
  52. },
  53. game = {
  54. readonly = true,
  55. fields = {
  56. CreatorId = read_write;
  57. CreatorType = read_write;
  58. GameId = read_write;
  59. GearGenreSetting = read_write;
  60. Genre = read_write;
  61. IsSFFlagsLoaded = read_write;
  62. JobId = read_write;
  63. PlaceId = read_write;
  64. PlaceVersion = read_write;
  65. PrivateServerId = read_write;
  66. PrivateServerOwnerId = read_write;
  67. Workspace = read_write;
  68. BindToClose = read_write;
  69. GetJobIntervalPeakFraction = read_write;
  70. GetJobTimePeakFraction = read_write;
  71. GetJobsExtendedStats = read_write;
  72. GetJobsInfo = read_write;
  73. GetObjects = read_write;
  74. IsGearTypeAllowed = read_write;
  75. IsLoaded = read_write;
  76. Load = read_write;
  77. OpenScreenshotsFolder = read_write;
  78. OpenVideosFolder = read_write;
  79. ReportInGoogleAnalytics = read_write;
  80. SetPlaceId = read_write;
  81. SetUniverseId = read_write;
  82. Shutdown = read_write;
  83. HttpGetAsync = read_write;
  84. HttpPostAsync = read_write;
  85. GraphicsQualityChangeRequest = read_write;
  86. Loaded = read_write;
  87. ScreenshotReady = read_write;
  88. FindService = read_write;
  89. GetService = read_write;
  90. Close = read_write;
  91. CloseLate = read_write;
  92. ServiceAdded = read_write;
  93. ServiceRemoving = read_write;
  94. Archivable = read_write;
  95. ClassName = read_write;
  96. DataCost = read_write;
  97. Name = read_write;
  98. Parent = read_write;
  99. RobloxLocked = read_write;
  100. ClearAllChildren = read_write;
  101. Clone = read_write;
  102. Destroy = read_write;
  103. FindFirstAncestor = read_write;
  104. FindFirstAncestorOfClass = read_write;
  105. FindFirstAncestorWhichIsA = read_write;
  106. FindFirstChild = read_write;
  107. FindFirstChildOfClass = read_write;
  108. FindFirstChildWhichIsA = read_write;
  109. GetChildren = read_write;
  110. GetDebugId = read_write;
  111. GetDescendants = read_write;
  112. GetFullName = read_write;
  113. GetPropertyChangedSignal = read_write;
  114. IsA = read_write;
  115. IsAncestorOf = read_write;
  116. IsDescendantOf = read_write;
  117. WaitForChild = read_write;
  118. AncestryChanged = read_write;
  119. Changed = read_write;
  120. ChildAdded = read_write;
  121. ChildRemoved = read_write;
  122. DescendantAdded = read_write;
  123. DescendantRemoving = read_write;
  124. }
  125. },
  126. },
  127. read_globals = {
  128. -- Methods
  129. delay = empty;
  130. settings = empty;
  131. spawn = empty;
  132. tick = empty;
  133. time = empty;
  134. typeof = empty;
  135. version = empty;
  136. wait = empty;
  137. warn = empty;
  138. -- Libraries
  139. math = def_fields({"abs", "acos", "asin", "atan", "atan2", "ceil", "clamp", "cos", "cosh",
  140. "deg", "exp", "floor", "fmod", "frexp", "ldexp", "log", "log10", "max", "min", "modf",
  141. "noise", "pow", "rad", "random", "randomseed", "sign", "sin", "sinh", "sqrt", "tan",
  142. "tanh", "huge", "pi"}),
  143. debug = def_fields({"traceback", "profilebegin", "profileend"}),
  144. -- Types
  145. Axes = def_fields({"new"}),
  146. BrickColor = def_fields({"new", "palette", "random", "White", "Gray", "DarkGray", "Black",
  147. "Red", "Yellow", "Green", "Blue"}),
  148. CFrame = def_fields({"new", "fromEulerAnglesXYZ", "Angles", "fromOrientation",
  149. "fromAxisAngle", "fromMatrix"}),
  150. Color3 = def_fields({"new", "fromRGB", "fromHSV"}),
  151. ColorSequence = def_fields({"new"}),
  152. ColorSequenceKeypoint = def_fields({"new"}),
  153. DockWidgetPluginGuiInfo = def_fields({"new"}),
  154. Enums = def_fields({"GetEnums"}),
  155. Faces = def_fields({"new"}),
  156. Instance = def_fields({"new"}),
  157. NumberRange = def_fields({"new"}),
  158. NumberSequence = def_fields({"new"}),
  159. NumberSequenceKeypoint = def_fields({"new"}),
  160. PhysicalProperties = def_fields({"new"}),
  161. Random = def_fields({"new"}),
  162. Ray = def_fields({"new"}),
  163. Rect = def_fields({"new"}),
  164. Region3 = def_fields({"new"}),
  165. Region3int16 = def_fields({"new"}),
  166. TweenInfo = def_fields({"new"}),
  167. UDim = def_fields({"new"}),
  168. UDim2 = def_fields({"new"}),
  169. Vector2 = def_fields({"new"}),
  170. Vector2int16 = def_fields({"new"}),
  171. Vector3 = def_fields({"new", "FromNormalId", "FromAxis"}),
  172. Vector3int16 = def_fields({"new"}),
  173. -- Enums
  174. Enum = {
  175. readonly = true,
  176. fields = {
  177. ActionType = def_fields({"Nothing", "Pause", "Lose", "Draw", "Win"}),
  178. ActuatorRelativeTo = def_fields({"Attachment0", "Attachment1", "World"}),
  179. ActuatorType = def_fields({"None", "Motor", "Servo"}),
  180. AnimationPriority = def_fields({"Idle", "Movement", "Action", "Core"}),
  181. AppShellActionType = def_fields({"None", "OpenApp", "TapChatTab",
  182. "TapConversationEntry", "TapAvatarTab", "ReadConversation", "TapGamePageTab",
  183. "TapHomePageTab", "GamePageLoaded", "HomePageLoaded", "AvatarEditorPageLoaded"}),
  184. AspectType = def_fields({"FitWithinMaxSize", "ScaleWithParentSize"}),
  185. AssetType = def_fields({"Image", "TeeShirt", "Audio", "Mesh", "Lua", "Hat",
  186. "Place", "Model", "Shirt", "Pants", "Decal", "Head", "Face", "Gear", "Badge",
  187. "Animation", "Torso", "RightArm", "LeftArm", "LeftLeg", "RightLeg", "Package",
  188. "GamePass", "Plugin", "MeshPart", "HairAccessory", "FaceAccessory",
  189. "NeckAccessory", "ShoulderAccessory", "FrontAccessory", "BackAccessory",
  190. "WaistAccessory", "ClimbAnimation", "DeathAnimation", "FallAnimation",
  191. "IdleAnimation", "JumpAnimation", "RunAnimation", "SwimAnimation",
  192. "WalkAnimation", "PoseAnimation", "EarAccessory", "EyeAccessory"}),
  193. AutoJointsMode = def_fields({"Default", "Explicit", "LegacyImplicit"}),
  194. AvatarContextMenuOption = def_fields({"Friend", "Chat", "Emote"}),
  195. AvatarJointPositionType = def_fields({"Fixed", "ArtistIntent"}),
  196. Axis = def_fields({"X", "Y", "Z"}),
  197. BinType = def_fields({"Script", "GameTool", "Grab", "Clone", "Hammer"}),
  198. BodyPart = def_fields({"Head", "Torso", "LeftArm", "RightArm", "LeftLeg",
  199. "RightLeg"}),
  200. BodyPartR15 = def_fields({"Head", "UpperTorso", "LowerTorso", "LeftFoot",
  201. "LeftLowerLeg", "LeftUpperLeg", "RightFoot", "RightLowerLeg", "RightUpperLeg",
  202. "LeftHand", "LeftLowerArm", "LeftUpperArm", "RightHand", "RightLowerArm",
  203. "RightUpperArm", "RootPart", "Unknown"}),
  204. Button = def_fields({"Jump", "Dismount"}),
  205. ButtonStyle = def_fields({"Custom", "RobloxButtonDefault", "RobloxButton",
  206. "RobloxRoundButton", "RobloxRoundDefaultButton", "RobloxRoundDropdownButton"}),
  207. CameraMode = def_fields({"Classic", "LockFirstPerson"}),
  208. CameraPanMode = def_fields({"Classic", "EdgeBump"}),
  209. CameraType = def_fields({"Fixed", "Watch", "Attach", "Track", "Follow", "Custom",
  210. "Scriptable", "Orbital"}),
  211. CellBlock = def_fields({"Solid", "VerticalWedge", "CornerWedge",
  212. "InverseCornerWedge", "HorizontalWedge"}),
  213. CellMaterial = def_fields({"Empty", "Grass", "Sand", "Brick", "Granite", "Asphalt",
  214. "Iron", "Aluminum", "Gold", "WoodPlank", "WoodLog", "Gravel", "CinderBlock",
  215. "MossyStone", "Cement", "RedPlastic", "BluePlastic", "Water"}),
  216. CellOrientation = def_fields({"NegZ", "X", "Z", "NegX"}),
  217. CenterDialogType = def_fields({"UnsolicitedDialog", "PlayerInitiatedDialog",
  218. "ModalDialog", "QuitDialog"}),
  219. ChatCallbackType = def_fields({"OnCreatingChatWindow", "OnClientSendingMessage",
  220. "OnClientFormattingMessage", "OnServerReceivingMessage"}),
  221. ChatColor = def_fields({"Blue", "Green", "Red", "White"}),
  222. ChatMode = def_fields({"Menu", "TextAndMenu"}),
  223. ChatPrivacyMode = def_fields({"AllUsers", "NoOne", "Friends"}),
  224. ChatStyle = def_fields({"Classic", "Bubble", "ClassicAndBubble"}),
  225. CollisionFidelity = def_fields({"Default", "Hull", "Box"}),
  226. ComputerCameraMovementMode = def_fields({"Default", "Follow", "Classic", "Orbital"}),
  227. ComputerMovementMode = def_fields({"Default", "KeyboardMouse", "ClickToMove"}),
  228. ConnectionError = def_fields({"OK", "DisconnectErrors", "DisconnectBadhash",
  229. "DisconnectSecurityKeyMismatch", "DisconnectNewSecurityKeyMismatch",
  230. "DisconnectProtocolMismatch", "DisconnectReceivePacketError",
  231. "DisconnectReceivePacketStreamError", "DisconnectSendPacketError",
  232. "DisconnectIllegalTeleport", "DisconnectDuplicatePlayer",
  233. "DisconnectDuplicateTicket", "DisconnectTimeout", "DisconnectLuaKick",
  234. "DisconnectOnRemoteSysStats", "DisconnectHashTimeout",
  235. "DisconnectCloudEditKick", "DisconnectPlayerless", "DisconnectEvicted",
  236. "DisconnectDevMaintenance", "DisconnectRobloxMaintenance", "DisconnectRejoin",
  237. "DisconnectConnectionLost", "DisconnectIdle", "DisconnectRaknetErrors",
  238. "DisconnectWrongVersion", "PlacelaunchErrors", "PlacelaunchDisabled",
  239. "PlacelaunchError", "PlacelaunchGameEnded", "PlacelaunchGameFull",
  240. "PlacelaunchUserLeft", "PlacelaunchRestricted", "PlacelaunchUnauthorized",
  241. "PlacelaunchFlooded", "PlacelaunchHashExpired", "PlacelaunchHashException",
  242. "PlacelaunchPartyCannotFit", "PlacelaunchHttpError",
  243. "PlacelaunchCustomMessage", "PlacelaunchOtherError", "TeleportErrors",
  244. "TeleportFailure", "TeleportGameNotFound", "TeleportGameEnded",
  245. "TeleportGameFull", "TeleportUnauthorized", "TeleportFlooded",
  246. "TeleportIsTeleporting"}),
  247. ConnectionState = def_fields({"Connected", "Disconnected"}),
  248. ContextActionPriority = def_fields({"Low", "Medium", "Default", "High"}),
  249. ContextActionResult = def_fields({"Pass", "Sink"}),
  250. ControlMode = def_fields({"MouseLockSwitch", "Classic"}),
  251. CoreGuiType = def_fields({"PlayerList", "Health", "Backpack", "Chat", "All"}),
  252. CreatorType = def_fields({"User", "Group"}),
  253. CurrencyType = def_fields({"Default", "Robux", "Tix"}),
  254. CustomCameraMode = def_fields({"Default", "Follow", "Classic"}),
  255. DataStoreRequestType = def_fields({"GetAsync", "SetIncrementAsync", "UpdateAsync",
  256. "GetSortedAsync", "SetIncrementSortedAsync", "OnUpdate"}),
  257. DevCameraOcclusionMode = def_fields({"Zoom", "Invisicam"}),
  258. DevComputerCameraMovementMode = def_fields({"UserChoice", "Classic", "Follow",
  259. "Orbital"}),
  260. DevComputerMovementMode = def_fields({"UserChoice", "KeyboardMouse", "ClickToMove",
  261. "Scriptable"}),
  262. DevTouchCameraMovementMode = def_fields({"UserChoice", "Classic", "Follow",
  263. "Orbital"}),
  264. DevTouchMovementMode = def_fields({"UserChoice", "Thumbstick", "DPad", "Thumbpad",
  265. "ClickToMove", "Scriptable", "DynamicThumbstick"}),
  266. DeveloperMemoryTag = def_fields({"Internal", "HttpCache", "Instances", "Signals",
  267. "LuaHeap", "Script", "PhysicsCollision", "PhysicsParts", "GraphicsSolidModels",
  268. "GraphicsMeshParts", "GraphicsParticles", "GraphicsParts",
  269. "GraphicsSpatialHash", "GraphicsTerrain", "GraphicsTexture",
  270. "GraphicsTextureCharacter", "Sounds", "StreamingSounds", "TerrainVoxels",
  271. "Gui", "Animation", "Navigation"}),
  272. DialogBehaviorType = def_fields({"SinglePlayer", "MultiplePlayers"}),
  273. DialogPurpose = def_fields({"Quest", "Help", "Shop"}),
  274. DialogTone = def_fields({"Neutral", "Friendly", "Enemy"}),
  275. DominantAxis = def_fields({"Width", "Height"}),
  276. EasingDirection = def_fields({"In", "Out", "InOut"}),
  277. EasingStyle = def_fields({"Linear", "Sine", "Back", "Quad", "Quart", "Quint",
  278. "Bounce", "Elastic"}),
  279. ElasticBehavior = def_fields({"WhenScrollable", "Always", "Never"}),
  280. EnviromentalPhysicsThrottle = def_fields({"DefaultAuto", "Disabled", "Always",
  281. "Skip2", "Skip4", "Skip8", "Skip16"}),
  282. ErrorReporting = def_fields({"DontReport", "Prompt", "Report"}),
  283. ExplosionType = def_fields({"NoCraters", "Craters", "CratersAndDebris"}),
  284. FillDirection = def_fields({"Horizontal", "Vertical"}),
  285. FilterResult = def_fields({"Rejected", "Accepted"}),
  286. Font = def_fields({"Legacy", "Arial", "ArialBold", "SourceSans", "SourceSansBold",
  287. "SourceSansSemibold", "SourceSansLight", "SourceSansItalic", "Bodoni",
  288. "Garamond", "Cartoon", "Code", "Highway", "SciFi", "Arcade", "Fantasy",
  289. "Antique"}),
  290. FontSize = def_fields({"Size8", "Size9", "Size10", "Size11", "Size12", "Size14",
  291. "Size18", "Size24", "Size36", "Size48", "Size28", "Size32", "Size42", "Size60",
  292. "Size96"}),
  293. FormFactor = def_fields({"Symmetric", "Brick", "Plate", "Custom"}),
  294. FrameStyle = def_fields({"Custom", "ChatBlue", "RobloxSquare", "RobloxRound",
  295. "ChatGreen", "ChatRed", "DropShadow"}),
  296. FramerateManagerMode = def_fields({"Automatic", "On", "Off"}),
  297. FriendRequestEvent = def_fields({"Issue", "Revoke", "Accept", "Deny"}),
  298. FriendStatus = def_fields({"Unknown", "NotFriend", "Friend", "FriendRequestSent",
  299. "FriendRequestReceived"}),
  300. FunctionalTestResult = def_fields({"Passed", "Warning", "Error"}),
  301. GameAvatarType = def_fields({"R6", "R15", "PlayerChoice"}),
  302. GearGenreSetting = def_fields({"AllGenres", "MatchingGenreOnly"}),
  303. GearType = def_fields({"MeleeWeapons", "RangedWeapons", "Explosives", "PowerUps",
  304. "NavigationEnhancers", "MusicalInstruments", "SocialItems", "BuildingTools",
  305. "Transport"}),
  306. Genre = def_fields({"All", "TownAndCity", "Fantasy", "SciFi", "Ninja", "Scary",
  307. "Pirate", "Adventure", "Sports", "Funny", "WildWest", "War", "SkatePark",
  308. "Tutorial"}),
  309. GraphicsMode = def_fields({"Automatic", "Direct3D9", "Direct3D11", "OpenGL",
  310. "Metal", "Vulkan", "NoGraphics"}),
  311. HandlesStyle = def_fields({"Resize", "Movement"}),
  312. HorizontalAlignment = def_fields({"Center", "Left", "Right"}),
  313. HoverAnimateSpeed = def_fields({"VerySlow", "Slow", "Medium", "Fast", "VeryFast"}),
  314. HttpCachePolicy = def_fields({"None", "Full", "DataOnly", "Default",
  315. "InternalRedirectRefresh"}),
  316. HttpContentType = def_fields({"ApplicationJson", "ApplicationXml",
  317. "ApplicationUrlEncoded", "TextPlain", "TextXml"}),
  318. HttpError = def_fields({"OK", "InvalidUrl", "DnsResolve", "ConnectFail",
  319. "OutOfMemory", "TimedOut", "TooManyRedirects", "InvalidRedirect", "NetFail",
  320. "Aborted", "SslConnectFail", "Unknown"}),
  321. HttpRequestType = def_fields({"Default", "MarketplaceService", "Players", "Chat",
  322. "Avatar", "Analytics"}),
  323. HumanoidDisplayDistanceType = def_fields({"Viewer", "Subject", "None"}),
  324. HumanoidHealthDisplayType = def_fields({"DisplayWhenDamaged", "AlwaysOn",
  325. "AlwaysOff"}),
  326. HumanoidRigType = def_fields({"R6", "R15"}),
  327. HumanoidStateType = def_fields({"FallingDown", "Running", "RunningNoPhysics",
  328. "Climbing", "StrafingNoPhysics", "Ragdoll", "GettingUp", "Jumping", "Landed",
  329. "Flying", "Freefall", "Seated", "PlatformStanding", "Dead", "Swimming",
  330. "Physics", "None"}),
  331. InOut = def_fields({"Edge", "Inset", "Center"}),
  332. InfoType = def_fields({"Asset", "Product", "GamePass"}),
  333. InitialDockState = def_fields({"Top", "Bottom", "Left", "Right", "Float"}),
  334. InputType = def_fields({"NoInput", "Constant", "Sin"}),
  335. JointCreationMode = def_fields({"All", "Surface", "None"}),
  336. JointType = def_fields({"None", "Rotate", "RotateP", "RotateV", "Glue", "Weld",
  337. "Snap"}),
  338. KeyCode = def_fields({"Unknown", "Backspace", "Tab", "Clear", "Return", "Pause",
  339. "Escape", "Space", "QuotedDouble", "Hash", "Dollar", "Percent", "Ampersand",
  340. "Quote", "LeftParenthesis", "RightParenthesis", "Asterisk", "Plus", "Comma",
  341. "Minus", "Period", "Slash", "Zero", "One", "Two", "Three", "Four", "Five",
  342. "Six", "Seven", "Eight", "Nine", "Colon", "Semicolon", "LessThan", "Equals",
  343. "GreaterThan", "Question", "At", "LeftBracket", "BackSlash", "RightBracket",
  344. "Caret", "Underscore", "Backquote", "A", "B", "C", "D", "E", "F", "G", "H",
  345. "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X",
  346. "Y", "Z", "LeftCurly", "Pipe", "RightCurly", "Tilde", "Delete", "KeypadZero",
  347. "KeypadOne", "KeypadTwo", "KeypadThree", "KeypadFour", "KeypadFive",
  348. "KeypadSix", "KeypadSeven", "KeypadEight", "KeypadNine", "KeypadPeriod",
  349. "KeypadDivide", "KeypadMultiply", "KeypadMinus", "KeypadPlus", "KeypadEnter",
  350. "KeypadEquals", "Up", "Down", "Right", "Left", "Insert", "Home", "End",
  351. "PageUp", "PageDown", "LeftShift", "RightShift", "LeftMeta", "RightMeta",
  352. "LeftAlt", "RightAlt", "LeftControl", "RightControl", "CapsLock", "NumLock",
  353. "ScrollLock", "LeftSuper", "RightSuper", "Mode", "Compose", "Help", "Print",
  354. "SysReq", "Break", "Menu", "Power", "Euro", "Undo", "F1", "F2", "F3", "F4",
  355. "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15",
  356. "World0", "World1", "World2", "World3", "World4", "World5", "World6", "World7",
  357. "World8", "World9", "World10", "World11", "World12", "World13", "World14",
  358. "World15", "World16", "World17", "World18", "World19", "World20", "World21",
  359. "World22", "World23", "World24", "World25", "World26", "World27", "World28",
  360. "World29", "World30", "World31", "World32", "World33", "World34", "World35",
  361. "World36", "World37", "World38", "World39", "World40", "World41", "World42",
  362. "World43", "World44", "World45", "World46", "World47", "World48", "World49",
  363. "World50", "World51", "World52", "World53", "World54", "World55", "World56",
  364. "World57", "World58", "World59", "World60", "World61", "World62", "World63",
  365. "World64", "World65", "World66", "World67", "World68", "World69", "World70",
  366. "World71", "World72", "World73", "World74", "World75", "World76", "World77",
  367. "World78", "World79", "World80", "World81", "World82", "World83", "World84",
  368. "World85", "World86", "World87", "World88", "World89", "World90", "World91",
  369. "World92", "World93", "World94", "World95", "ButtonX", "ButtonY", "ButtonA",
  370. "ButtonB", "ButtonR1", "ButtonL1", "ButtonR2", "ButtonL2", "ButtonR3",
  371. "ButtonL3", "ButtonStart", "ButtonSelect", "DPadLeft", "DPadRight", "DPadUp",
  372. "DPadDown", "Thumbstick1", "Thumbstick2"}),
  373. KeywordFilterType = def_fields({"Include", "Exclude"}),
  374. Language = def_fields({"Default"}),
  375. LeftRight = def_fields({"Left", "Center", "Right"}),
  376. LevelOfDetailSetting = def_fields({"High", "Medium", "Low"}),
  377. Limb = def_fields({"Head", "Torso", "LeftArm", "RightArm", "LeftLeg", "RightLeg",
  378. "Unknown"}),
  379. ListDisplayMode = def_fields({"Horizontal", "Vertical"}),
  380. ListenerType = def_fields({"Camera", "CFrame", "ObjectPosition", "ObjectCFrame"}),
  381. Material = def_fields({"Plastic", "Wood", "Slate", "Concrete", "CorrodedMetal",
  382. "DiamondPlate", "Foil", "Grass", "Ice", "Marble", "Granite", "Brick", "Pebble",
  383. "Sand", "Fabric", "SmoothPlastic", "Metal", "WoodPlanks", "Cobblestone", "Air",
  384. "Water", "Rock", "Glacier", "Snow", "Sandstone", "Mud", "Basalt", "Ground",
  385. "CrackedLava", "Neon", "Glass", "Asphalt", "LeafyGrass", "Salt", "Limestone",
  386. "Pavement"}),
  387. MembershipType = def_fields({"None", "BuildersClub", "TurboBuildersClub",
  388. "OutrageousBuildersClub"}),
  389. MeshType = def_fields({"Head", "Torso", "Wedge", "Prism", "Pyramid",
  390. "ParallelRamp", "RightAngleRamp", "CornerWedge", "Brick", "Sphere", "Cylinder",
  391. "FileMesh"}),
  392. MessageType = def_fields({"MessageOutput", "MessageInfo", "MessageWarning",
  393. "MessageError"}),
  394. MouseBehavior = def_fields({"Default", "LockCenter", "LockCurrentPosition"}),
  395. MoveState = def_fields({"Stopped", "Coasting", "Pushing", "Stopping", "AirFree"}),
  396. NameOcclusion = def_fields({"OccludeAll", "EnemyOcclusion", "NoOcclusion"}),
  397. NetworkOwnership = def_fields({"Automatic", "Manual", "OnContact"}),
  398. NormalId = def_fields({"Top", "Bottom", "Back", "Front", "Right", "Left"}),
  399. OutputLayoutMode = def_fields({"Horizontal", "Vertical"}),
  400. OverrideMouseIconBehavior = def_fields({"None", "ForceShow", "ForceHide"}),
  401. PacketPriority = def_fields({"IMMEDIATE_PRIORITY", "HIGH_PRIORITY",
  402. "MEDIUM_PRIORITY", "LOW_PRIORITY"}),
  403. PartType = def_fields({"Ball", "Block", "Cylinder"}),
  404. PathStatus = def_fields({"Success", "ClosestNoPath", "ClosestOutOfRange",
  405. "FailStartNotEmpty", "FailFinishNotEmpty", "NoPath"}),
  406. PathWaypointAction = def_fields({"Walk", "Jump"}),
  407. PermissionLevelShown = def_fields({"Game", "RobloxGame", "RobloxScript", "Studio",
  408. "Roblox"}),
  409. Platform = def_fields({"Windows", "OSX", "IOS", "Android", "XBoxOne", "PS4", "PS3",
  410. "XBox360", "WiiU", "NX", "Ouya", "AndroidTV", "Chromecast", "Linux", "SteamOS",
  411. "WebOS", "DOS", "BeOS", "UWP", "None"}),
  412. PlaybackState = def_fields({"Begin", "Delayed", "Playing", "Paused", "Completed",
  413. "Cancelled"}),
  414. PlayerActions = def_fields({"CharacterForward", "CharacterBackward",
  415. "CharacterLeft", "CharacterRight", "CharacterJump"}),
  416. PlayerChatType = def_fields({"All", "Team", "Whisper"}),
  417. PoseEasingDirection = def_fields({"Out", "InOut", "In"}),
  418. PoseEasingStyle = def_fields({"Linear", "Constant", "Elastic", "Cubic", "Bounce"}),
  419. PrivilegeType = def_fields({"Owner", "Admin", "Member", "Visitor", "Banned"}),
  420. ProductPurchaseDecision = def_fields({"NotProcessedYet", "PurchaseGranted"}),
  421. QualityLevel = def_fields({"Automatic", "Level01", "Level02", "Level03", "Level04",
  422. "Level05", "Level06", "Level07", "Level08", "Level09", "Level10", "Level11",
  423. "Level12", "Level13", "Level14", "Level15", "Level16", "Level17", "Level18",
  424. "Level19", "Level20", "Level21"}),
  425. R15CollisionType = def_fields({"OuterBox", "InnerBox"}),
  426. RenderFidelity = def_fields({"Automatic", "Precise"}),
  427. RenderPriority = def_fields({"First", "Input", "Camera", "Character", "Last"}),
  428. RenderingTestComparisonMethod = def_fields({"psnr", "diff"}),
  429. ReverbType = def_fields({"NoReverb", "GenericReverb", "PaddedCell", "Room",
  430. "Bathroom", "LivingRoom", "StoneRoom", "Auditorium", "ConcertHall", "Cave",
  431. "Arena", "Hangar", "CarpettedHallway", "Hallway", "StoneCorridor", "Alley",
  432. "Forest", "City", "Mountains", "Quarry", "Plain", "ParkingLot", "SewerPipe",
  433. "UnderWater"}),
  434. RibbonTool = def_fields({"Select", "Scale", "Rotate", "Move", "Transform",
  435. "ColorPicker", "MaterialPicker", "Group", "Ungroup", "None"}),
  436. RollOffMode = def_fields({"Inverse", "Linear", "InverseTapered", "LinearSquare"}),
  437. RotationType = def_fields({"MovementRelative", "CameraRelative"}),
  438. RuntimeUndoBehavior = def_fields({"Aggregate", "Snapshot", "Hybrid"}),
  439. SaveFilter = def_fields({"SaveAll", "SaveWorld", "SaveGame"}),
  440. SavedQualitySetting = def_fields({"Automatic", "QualityLevel1", "QualityLevel2",
  441. "QualityLevel3", "QualityLevel4", "QualityLevel5", "QualityLevel6",
  442. "QualityLevel7", "QualityLevel8", "QualityLevel9", "QualityLevel10"}),
  443. ScaleType = def_fields({"Stretch", "Slice", "Tile", "Fit", "Crop"}),
  444. ScreenOrientation = def_fields({"LandscapeLeft", "LandscapeRight",
  445. "LandscapeSensor", "Portrait", "Sensor"}),
  446. ScrollBarInset = def_fields({"None", "ScrollBar", "Always"}),
  447. ScrollingDirection = def_fields({"X", "Y", "XY"}),
  448. ServerAudioBehavior = def_fields({"Enabled", "Muted", "OnlineGame"}),
  449. SizeConstraint = def_fields({"RelativeXY", "RelativeXX", "RelativeYY"}),
  450. SortOrder = def_fields({"LayoutOrder", "Name", "Custom"}),
  451. SoundType = def_fields({"NoSound", "Boing", "Bomb", "Break", "Click", "Clock",
  452. "Slingshot", "Page", "Ping", "Snap", "Splat", "Step", "StepOn", "Swoosh",
  453. "Victory"}),
  454. SpecialKey = def_fields({"Insert", "Home", "End", "PageUp", "PageDown",
  455. "ChatHotkey"}),
  456. StartCorner = def_fields({"TopLeft", "TopRight", "BottomLeft", "BottomRight"}),
  457. Status = def_fields({"Poison", "Confusion"}),
  458. StudioStyleGuideColor = def_fields({"MainBackground", "Titlebar", "Dropdown",
  459. "Tooltip", "Notification", "ScrollBar", "ScrollBarBackground", "TabBar", "Tab",
  460. "RibbonTab", "RibbonTabTopBar", "Button", "MainButton", "RibbonButton",
  461. "ViewPortBackground", "InputFieldBackground", "Item", "TableItem",
  462. "CategoryItem", "GameSettingsTableItem", "GameSettingsTooltip", "EmulatorBar",
  463. "EmulatorDropDown", "ColorPickerFrame", "CurrentMarker", "Border", "Shadow",
  464. "Light", "Dark", "Mid", "MainText", "SubText", "TitlebarText", "BrightText",
  465. "DimmedText", "LinkText", "WarningText", "ErrorText", "InfoText",
  466. "SensitiveText", "ScriptSideWidget", "ScriptBackground", "ScriptText",
  467. "ScriptSelectionText", "ScriptSelectionBackground",
  468. "ScriptFindSelectionBackground", "ScriptMatchingWordSelectionBackground",
  469. "ScriptOperator", "ScriptNumber", "ScriptString", "ScriptComment",
  470. "ScriptPreprocessor", "ScriptKeyword", "ScriptBuiltInFunction",
  471. "ScriptWarning", "ScriptError", "DebuggerCurrentLine", "DebuggerErrorLine",
  472. "DiffFilePathText", "DiffTextHunkInfo", "DiffTextNoChange", "DiffTextAddition",
  473. "DiffTextDeletion", "DiffTextSeparatorBackground",
  474. "DiffTextNoChangeBackground", "DiffTextAdditionBackground",
  475. "DiffTextDeletionBackground", "DiffLineNum", "DiffLineNumSeparatorBackground",
  476. "DiffLineNumNoChangeBackground", "DiffLineNumAdditionBackground",
  477. "DiffLineNumDeletionBackground", "DiffFilePathBackground",
  478. "DiffFilePathBorder", "Separator", "ButtonBorder", "ButtonText",
  479. "InputFieldBorder", "CheckedFieldBackground", "CheckedFieldBorder",
  480. "CheckedFieldIndicator", "HeaderSection", "Midlight", "StatusBar"}),
  481. StudioStyleGuideModifier = def_fields({"Default", "Selected", "Pressed",
  482. "Disabled", "Hover"}),
  483. Style = def_fields({"AlternatingSupports", "BridgeStyleSupports", "NoSupports"}),
  484. SurfaceConstraint = def_fields({"None", "Hinge", "SteppingMotor", "Motor"}),
  485. SurfaceType = def_fields({"Smooth", "Glue", "Weld", "Studs", "Inlet", "Universal",
  486. "Hinge", "Motor", "SteppingMotor", "SmoothNoOutlines"}),
  487. SwipeDirection = def_fields({"Right", "Left", "Up", "Down", "None"}),
  488. TableMajorAxis = def_fields({"RowMajor", "ColumnMajor"}),
  489. Technology = def_fields({"Legacy", "Voxel"}),
  490. TeleportResult = def_fields({"Success", "Failure", "GameNotFound", "GameEnded",
  491. "GameFull", "Unauthorized", "Flooded", "IsTeleporting"}),
  492. TeleportState = def_fields({"RequestedFromServer", "Started", "WaitingForServer",
  493. "Failed", "InProgress"}),
  494. TeleportType = def_fields({"ToPlace", "ToInstance", "ToReservedServer"}),
  495. TextFilterContext = def_fields({"PublicChat", "PrivateChat"}),
  496. TextTruncate = def_fields({"None", "AtEnd"}),
  497. TextXAlignment = def_fields({"Left", "Center", "Right"}),
  498. TextYAlignment = def_fields({"Top", "Center", "Bottom"}),
  499. TextureMode = def_fields({"Stretch", "Wrap", "Static"}),
  500. TextureQueryType = def_fields({"NonHumanoid", "NonHumanoidOrphaned", "Humanoid",
  501. "HumanoidOrphaned"}),
  502. ThreadPoolConfig = def_fields({"Auto", "PerCore1", "PerCore2", "PerCore3",
  503. "PerCore4", "Threads1", "Threads2", "Threads3", "Threads4", "Threads8",
  504. "Threads16"}),
  505. ThrottlingPriority = def_fields({"Extreme", "ElevatedOnServer", "Default"}),
  506. ThumbnailSize = def_fields({"Size48x48", "Size180x180", "Size420x420", "Size60x60",
  507. "Size100x100", "Size150x150", "Size352x352"}),
  508. ThumbnailType = def_fields({"HeadShot", "AvatarBust", "AvatarThumbnail"}),
  509. TickCountSampleMethod = def_fields({"Fast", "Benchmark", "Precise"}),
  510. TopBottom = def_fields({"Top", "Center", "Bottom"}),
  511. TouchCameraMovementMode = def_fields({"Default", "Follow", "Classic", "Orbital"}),
  512. TouchMovementMode = def_fields({"Default", "Thumbstick", "DPad", "Thumbpad",
  513. "ClickToMove", "DynamicThumbstick"}),
  514. TweenStatus = def_fields({"Canceled", "Completed"}),
  515. UITheme = def_fields({"Light", "Dark"}),
  516. UiMessageType = def_fields({"UiMessageError", "UiMessageInfo"}),
  517. UploadSetting = def_fields({"Never", "Ask", "Always"}),
  518. UserCFrame = def_fields({"Head", "LeftHand", "RightHand"}),
  519. UserInputState = def_fields({"Begin", "Change", "End", "Cancel", "None"}),
  520. UserInputType = def_fields({"MouseButton1", "MouseButton2", "MouseButton3",
  521. "MouseWheel", "MouseMovement", "Touch", "Keyboard", "Focus", "Accelerometer",
  522. "Gyro", "Gamepad1", "Gamepad2", "Gamepad3", "Gamepad4", "Gamepad5", "Gamepad6",
  523. "Gamepad7", "Gamepad8", "TextInput", "None"}),
  524. VRTouchpad = def_fields({"Left", "Right"}),
  525. VRTouchpadMode = def_fields({"Touch", "VirtualThumbstick", "ABXY"}),
  526. VerticalAlignment = def_fields({"Center", "Top", "Bottom"}),
  527. VerticalScrollBarPosition = def_fields({"Left", "Right"}),
  528. VibrationMotor = def_fields({"Large", "Small", "LeftTrigger", "RightTrigger",
  529. "LeftHand", "RightHand"}),
  530. VideoQualitySettings = def_fields({"LowResolution", "MediumResolution",
  531. "HighResolution"}),
  532. VirtualInputMode = def_fields({"Recording", "Playing", "None"}),
  533. WaterDirection = def_fields({"NegX", "X", "NegY", "Y", "NegZ", "Z"}),
  534. WaterForce = def_fields({"None", "Small", "Medium", "Strong", "Max"}),
  535. ZIndexBehavior = def_fields({"Global", "Sibling"}),
  536. }
  537. }
  538. },
  539. }
  540. stds.testez = {
  541. read_globals = {
  542. "describe",
  543. "it", "itFOCUS", "itSKIP",
  544. "FOCUS", "SKIP", "HACK_NO_XPCALL",
  545. "expect",
  546. }
  547. }
  548. stds.plugin = {
  549. read_globals = {
  550. "plugin",
  551. }
  552. }
  553. ignore = {
  554. "212", -- unused arguments
  555. }
  556. std = "lua51+roblox"
  557. files["**/*.spec.lua"] = {
  558. std = "+testez",
  559. }