@defold-typescript/types 0.52.0 → 0.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/api-signatures.json +2074 -1964
  2. package/dist/cli-runtime.js +8966 -0
  3. package/dist/identity-vocabulary.json +660 -0
  4. package/dist/src/index.d.ts +18 -0
  5. package/examples/translations.json +15 -15
  6. package/fixtures/defold-1.12.4/b2d_body_doc.json +1327 -0
  7. package/fixtures/defold-1.12.4/b2d_doc.json +107 -0
  8. package/fixtures/defold-1.12.4/base_doc.json +758 -0
  9. package/fixtures/defold-1.12.4/bit_doc.json +404 -0
  10. package/fixtures/defold-1.12.4/buffer_doc.json +422 -0
  11. package/fixtures/defold-1.12.4/camera_doc.json +664 -0
  12. package/fixtures/defold-1.12.4/collectionfactory_doc.json +219 -0
  13. package/fixtures/defold-1.12.4/collectionproxy_doc.json +289 -0
  14. package/fixtures/defold-1.12.4/coroutine_doc.json +151 -0
  15. package/fixtures/defold-1.12.4/crash_doc.json +497 -0
  16. package/fixtures/defold-1.12.4/debug_doc.json +410 -0
  17. package/fixtures/defold-1.12.4/factory_doc.json +219 -0
  18. package/fixtures/defold-1.12.4/font_doc.json +141 -0
  19. package/fixtures/defold-1.12.4/globals_doc.json +42 -0
  20. package/fixtures/defold-1.12.4/go-instance-functions.json +111 -0
  21. package/fixtures/defold-1.12.4/go_doc.json +1901 -0
  22. package/fixtures/defold-1.12.4/graphics_doc.json +1634 -0
  23. package/fixtures/defold-1.12.4/gui_doc.json +5249 -0
  24. package/fixtures/defold-1.12.4/html5_doc.json +64 -0
  25. package/fixtures/defold-1.12.4/http_doc.json +66 -0
  26. package/fixtures/defold-1.12.4/image_doc.json +170 -0
  27. package/fixtures/defold-1.12.4/io_doc.json +399 -0
  28. package/fixtures/defold-1.12.4/json_doc.json +97 -0
  29. package/fixtures/defold-1.12.4/label_doc.json +220 -0
  30. package/fixtures/defold-1.12.4/liveupdate_doc.json +308 -0
  31. package/fixtures/defold-1.12.4/math_doc.json +702 -0
  32. package/fixtures/defold-1.12.4/messages_doc.json +579 -0
  33. package/fixtures/defold-1.12.4/model_doc.json +315 -0
  34. package/fixtures/defold-1.12.4/msg_doc.json +137 -0
  35. package/fixtures/defold-1.12.4/os_doc.json +266 -0
  36. package/fixtures/defold-1.12.4/package_doc.json +139 -0
  37. package/fixtures/defold-1.12.4/particlefx_doc.json +249 -0
  38. package/fixtures/defold-1.12.4/physics_doc.json +1120 -0
  39. package/fixtures/defold-1.12.4/profiler_doc.json +375 -0
  40. package/fixtures/defold-1.12.4/render_doc.json +1167 -0
  41. package/fixtures/defold-1.12.4/resource_doc.json +762 -0
  42. package/fixtures/defold-1.12.4/socket_doc.json +2194 -0
  43. package/fixtures/defold-1.12.4/sound_doc.json +582 -0
  44. package/fixtures/defold-1.12.4/sprite_doc.json +245 -0
  45. package/fixtures/defold-1.12.4/string_doc.json +412 -0
  46. package/fixtures/defold-1.12.4/sys_doc.json +853 -0
  47. package/fixtures/defold-1.12.4/table_doc.json +166 -0
  48. package/fixtures/defold-1.12.4/tilemap_doc.json +374 -0
  49. package/fixtures/defold-1.12.4/timer_doc.json +153 -0
  50. package/fixtures/defold-1.12.4/types_doc.json +212 -0
  51. package/fixtures/defold-1.12.4/vmath_doc.json +1814 -0
  52. package/fixtures/defold-1.12.4/window_doc.json +388 -0
  53. package/fixtures/defold-1.12.4/zlib_doc.json +70 -0
  54. package/fixtures/defold-1.13.0/b2d_body_doc.json +2428 -0
  55. package/fixtures/defold-1.13.0/b2d_chain_doc.json +394 -0
  56. package/fixtures/defold-1.13.0/b2d_doc.json +128 -0
  57. package/fixtures/defold-1.13.0/b2d_fixture_doc.json +594 -0
  58. package/fixtures/defold-1.13.0/b2d_joint_doc.json +3315 -0
  59. package/fixtures/defold-1.13.0/b2d_shape_doc.json +802 -0
  60. package/fixtures/defold-1.13.0/b2d_world_doc.json +1314 -0
  61. package/fixtures/defold-1.13.0/base_doc.json +758 -0
  62. package/fixtures/defold-1.13.0/bit_doc.json +404 -0
  63. package/fixtures/defold-1.13.0/buffer_doc.json +422 -0
  64. package/fixtures/defold-1.13.0/camera_doc.json +900 -0
  65. package/fixtures/defold-1.13.0/collectionfactory_doc.json +219 -0
  66. package/fixtures/defold-1.13.0/collectionproxy_doc.json +289 -0
  67. package/fixtures/defold-1.13.0/compute_doc.json +182 -0
  68. package/fixtures/defold-1.13.0/coroutine_doc.json +151 -0
  69. package/fixtures/defold-1.13.0/crash_doc.json +497 -0
  70. package/fixtures/defold-1.13.0/debug_doc.json +410 -0
  71. package/fixtures/defold-1.13.0/editor_doc.json +3665 -0
  72. package/fixtures/defold-1.13.0/editor_http_doc.json +273 -0
  73. package/fixtures/defold-1.13.0/editor_json_doc.json +59 -0
  74. package/fixtures/defold-1.13.0/editor_localization_doc.json +138 -0
  75. package/fixtures/defold-1.13.0/editor_pprint_doc.json +36 -0
  76. package/fixtures/defold-1.13.0/editor_tilemap_tiles_doc.json +235 -0
  77. package/fixtures/defold-1.13.0/editor_zip_doc.json +163 -0
  78. package/fixtures/defold-1.13.0/editor_zlib_doc.json +48 -0
  79. package/fixtures/defold-1.13.0/factory_doc.json +219 -0
  80. package/fixtures/defold-1.13.0/font_doc.json +141 -0
  81. package/fixtures/defold-1.13.0/globals_doc.json +42 -0
  82. package/fixtures/defold-1.13.0/go-instance-functions.json +101 -0
  83. package/fixtures/defold-1.13.0/go_doc.json +1989 -0
  84. package/fixtures/defold-1.13.0/graphics_doc.json +1886 -0
  85. package/fixtures/defold-1.13.0/gui_doc.json +5277 -0
  86. package/fixtures/defold-1.13.0/html5_doc.json +64 -0
  87. package/fixtures/defold-1.13.0/http_doc.json +66 -0
  88. package/fixtures/defold-1.13.0/image_doc.json +170 -0
  89. package/fixtures/defold-1.13.0/import-manifest.json +10558 -0
  90. package/fixtures/defold-1.13.0/io_doc.json +399 -0
  91. package/fixtures/defold-1.13.0/json_doc.json +97 -0
  92. package/fixtures/defold-1.13.0/label_doc.json +220 -0
  93. package/fixtures/defold-1.13.0/liveupdate_doc.json +330 -0
  94. package/fixtures/defold-1.13.0/material_doc.json +238 -0
  95. package/fixtures/defold-1.13.0/math_doc.json +702 -0
  96. package/fixtures/defold-1.13.0/model_doc.json +412 -0
  97. package/fixtures/defold-1.13.0/msg_doc.json +137 -0
  98. package/fixtures/defold-1.13.0/os_doc.json +266 -0
  99. package/fixtures/defold-1.13.0/package_doc.json +139 -0
  100. package/fixtures/defold-1.13.0/particlefx_doc.json +249 -0
  101. package/fixtures/defold-1.13.0/physics_doc.json +1492 -0
  102. package/fixtures/defold-1.13.0/profiler_doc.json +375 -0
  103. package/fixtures/defold-1.13.0/render_doc.json +1381 -0
  104. package/fixtures/defold-1.13.0/resource_doc.json +762 -0
  105. package/fixtures/defold-1.13.0/socket_doc.json +2194 -0
  106. package/fixtures/defold-1.13.0/sound_doc.json +582 -0
  107. package/fixtures/defold-1.13.0/sprite_doc.json +335 -0
  108. package/fixtures/defold-1.13.0/string_doc.json +412 -0
  109. package/fixtures/defold-1.13.0/sys_doc.json +1142 -0
  110. package/fixtures/defold-1.13.0/table_doc.json +166 -0
  111. package/fixtures/defold-1.13.0/tilemap_doc.json +402 -0
  112. package/fixtures/defold-1.13.0/timer_doc.json +153 -0
  113. package/fixtures/defold-1.13.0/types_doc.json +212 -0
  114. package/fixtures/defold-1.13.0/vmath_doc.json +1814 -0
  115. package/fixtures/defold-1.13.0/window_doc.json +388 -0
  116. package/fixtures/defold-1.13.0/zlib_doc.json +70 -0
  117. package/fixtures/defold-1.13.1/b2d_body_doc.json +2428 -0
  118. package/fixtures/defold-1.13.1/b2d_chain_doc.json +394 -0
  119. package/fixtures/defold-1.13.1/b2d_doc.json +128 -0
  120. package/fixtures/defold-1.13.1/b2d_fixture_doc.json +594 -0
  121. package/fixtures/defold-1.13.1/b2d_joint_doc.json +3315 -0
  122. package/fixtures/defold-1.13.1/b2d_shape_doc.json +802 -0
  123. package/fixtures/defold-1.13.1/b2d_world_doc.json +1314 -0
  124. package/fixtures/defold-1.13.1/base_doc.json +758 -0
  125. package/fixtures/defold-1.13.1/bit_doc.json +404 -0
  126. package/fixtures/defold-1.13.1/buffer_doc.json +422 -0
  127. package/fixtures/defold-1.13.1/camera_doc.json +900 -0
  128. package/fixtures/defold-1.13.1/collectionfactory_doc.json +219 -0
  129. package/fixtures/defold-1.13.1/collectionproxy_doc.json +323 -0
  130. package/fixtures/defold-1.13.1/compute_doc.json +182 -0
  131. package/fixtures/defold-1.13.1/coroutine_doc.json +151 -0
  132. package/fixtures/defold-1.13.1/crash_doc.json +497 -0
  133. package/fixtures/defold-1.13.1/debug_doc.json +410 -0
  134. package/fixtures/defold-1.13.1/editor_doc.json +3880 -0
  135. package/fixtures/defold-1.13.1/editor_http_doc.json +273 -0
  136. package/fixtures/defold-1.13.1/editor_image_doc.json +128 -0
  137. package/fixtures/defold-1.13.1/editor_json_doc.json +59 -0
  138. package/fixtures/defold-1.13.1/editor_localization_doc.json +138 -0
  139. package/fixtures/defold-1.13.1/editor_pprint_doc.json +36 -0
  140. package/fixtures/defold-1.13.1/editor_tilemap_tiles_doc.json +235 -0
  141. package/fixtures/defold-1.13.1/editor_zip_doc.json +163 -0
  142. package/fixtures/defold-1.13.1/editor_zlib_doc.json +48 -0
  143. package/fixtures/defold-1.13.1/factory_doc.json +219 -0
  144. package/fixtures/defold-1.13.1/font_doc.json +141 -0
  145. package/fixtures/defold-1.13.1/globals_doc.json +42 -0
  146. package/fixtures/defold-1.13.1/go-instance-functions.json +102 -0
  147. package/fixtures/defold-1.13.1/go_doc.json +1989 -0
  148. package/fixtures/defold-1.13.1/graphics_doc.json +1886 -0
  149. package/fixtures/defold-1.13.1/gui_doc.json +5277 -0
  150. package/fixtures/defold-1.13.1/html5_doc.json +64 -0
  151. package/fixtures/defold-1.13.1/http_doc.json +66 -0
  152. package/fixtures/defold-1.13.1/image_doc.json +170 -0
  153. package/fixtures/defold-1.13.1/import-manifest.json +10091 -0
  154. package/fixtures/defold-1.13.1/io_doc.json +399 -0
  155. package/fixtures/defold-1.13.1/json_doc.json +97 -0
  156. package/fixtures/defold-1.13.1/label_doc.json +220 -0
  157. package/fixtures/defold-1.13.1/liveupdate_doc.json +330 -0
  158. package/fixtures/defold-1.13.1/material_doc.json +238 -0
  159. package/fixtures/defold-1.13.1/math_doc.json +702 -0
  160. package/fixtures/defold-1.13.1/model_doc.json +412 -0
  161. package/fixtures/defold-1.13.1/msg_doc.json +137 -0
  162. package/fixtures/defold-1.13.1/os_doc.json +266 -0
  163. package/fixtures/defold-1.13.1/package_doc.json +139 -0
  164. package/fixtures/defold-1.13.1/particlefx_doc.json +249 -0
  165. package/fixtures/defold-1.13.1/physics_doc.json +1492 -0
  166. package/fixtures/defold-1.13.1/profiler_doc.json +375 -0
  167. package/fixtures/defold-1.13.1/render_doc.json +1381 -0
  168. package/fixtures/defold-1.13.1/resource_doc.json +762 -0
  169. package/fixtures/defold-1.13.1/socket_doc.json +2194 -0
  170. package/fixtures/defold-1.13.1/sound_doc.json +582 -0
  171. package/fixtures/defold-1.13.1/sprite_doc.json +335 -0
  172. package/fixtures/defold-1.13.1/string_doc.json +412 -0
  173. package/fixtures/defold-1.13.1/sys_doc.json +1142 -0
  174. package/fixtures/defold-1.13.1/table_doc.json +166 -0
  175. package/fixtures/defold-1.13.1/tilemap_doc.json +402 -0
  176. package/fixtures/defold-1.13.1/timer_doc.json +153 -0
  177. package/fixtures/defold-1.13.1/types_doc.json +212 -0
  178. package/fixtures/defold-1.13.1/vmath_doc.json +1814 -0
  179. package/fixtures/defold-1.13.1/window_doc.json +388 -0
  180. package/fixtures/defold-1.13.1/zlib_doc.json +70 -0
  181. package/fixtures/defold-1.13.2/b2d_body_doc.json +2359 -0
  182. package/fixtures/defold-1.13.2/b2d_chain_doc.json +395 -0
  183. package/fixtures/defold-1.13.2/b2d_doc.json +1945 -0
  184. package/fixtures/defold-1.13.2/b2d_fixture_doc.json +595 -0
  185. package/fixtures/defold-1.13.2/b2d_joint_doc.json +3178 -0
  186. package/fixtures/defold-1.13.2/b2d_shape_doc.json +767 -0
  187. package/fixtures/defold-1.13.2/b2d_world_doc.json +1315 -0
  188. package/fixtures/defold-1.13.2/base_doc.json +759 -0
  189. package/fixtures/defold-1.13.2/bit_doc.json +405 -0
  190. package/fixtures/defold-1.13.2/buffer_doc.json +393 -0
  191. package/fixtures/defold-1.13.2/bullet3d_collision_object_doc.json +1206 -0
  192. package/fixtures/defold-1.13.2/bullet3d_constraint_doc.json +2455 -0
  193. package/fixtures/defold-1.13.2/bullet3d_doc.json +215 -0
  194. package/fixtures/defold-1.13.2/bullet3d_rigid_body_doc.json +1376 -0
  195. package/fixtures/defold-1.13.2/bullet3d_shape_doc.json +430 -0
  196. package/fixtures/defold-1.13.2/bullet3d_world_doc.json +855 -0
  197. package/fixtures/defold-1.13.2/camera_doc.json +887 -0
  198. package/fixtures/defold-1.13.2/collectionfactory_doc.json +206 -0
  199. package/fixtures/defold-1.13.2/collectionproxy_doc.json +397 -0
  200. package/fixtures/defold-1.13.2/compute_doc.json +183 -0
  201. package/fixtures/defold-1.13.2/coroutine_doc.json +152 -0
  202. package/fixtures/defold-1.13.2/crash_doc.json +483 -0
  203. package/fixtures/defold-1.13.2/debug_doc.json +411 -0
  204. package/fixtures/defold-1.13.2/editor_doc.json +6320 -0
  205. package/fixtures/defold-1.13.2/editor_http_doc.json +476 -0
  206. package/fixtures/defold-1.13.2/editor_image_doc.json +129 -0
  207. package/fixtures/defold-1.13.2/editor_json_doc.json +81 -0
  208. package/fixtures/defold-1.13.2/editor_localization_doc.json +139 -0
  209. package/fixtures/defold-1.13.2/editor_pprint_doc.json +37 -0
  210. package/fixtures/defold-1.13.2/editor_tilemap_tiles_doc.json +292 -0
  211. package/fixtures/defold-1.13.2/editor_zip_doc.json +237 -0
  212. package/fixtures/defold-1.13.2/editor_zlib_doc.json +49 -0
  213. package/fixtures/defold-1.13.2/factory_doc.json +206 -0
  214. package/fixtures/defold-1.13.2/font_doc.json +230 -0
  215. package/fixtures/defold-1.13.2/globals_doc.json +64 -0
  216. package/fixtures/defold-1.13.2/go-instance-functions.json +106 -0
  217. package/fixtures/defold-1.13.2/go_doc.json +1789 -0
  218. package/fixtures/defold-1.13.2/graphics_doc.json +1211 -0
  219. package/fixtures/defold-1.13.2/gui_doc.json +4735 -0
  220. package/fixtures/defold-1.13.2/html5_doc.json +65 -0
  221. package/fixtures/defold-1.13.2/http_doc.json +174 -0
  222. package/fixtures/defold-1.13.2/image_doc.json +298 -0
  223. package/fixtures/defold-1.13.2/import-manifest.json +10902 -0
  224. package/fixtures/defold-1.13.2/io_doc.json +400 -0
  225. package/fixtures/defold-1.13.2/json_doc.json +140 -0
  226. package/fixtures/defold-1.13.2/label_doc.json +427 -0
  227. package/fixtures/defold-1.13.2/liveupdate_doc.json +221 -0
  228. package/fixtures/defold-1.13.2/material_doc.json +773 -0
  229. package/fixtures/defold-1.13.2/math_doc.json +703 -0
  230. package/fixtures/defold-1.13.2/model_doc.json +472 -0
  231. package/fixtures/defold-1.13.2/msg_doc.json +169 -0
  232. package/fixtures/defold-1.13.2/os_doc.json +269 -0
  233. package/fixtures/defold-1.13.2/package_doc.json +140 -0
  234. package/fixtures/defold-1.13.2/particlefx_doc.json +249 -0
  235. package/fixtures/defold-1.13.2/physics_doc.json +1624 -0
  236. package/fixtures/defold-1.13.2/profiler_doc.json +348 -0
  237. package/fixtures/defold-1.13.2/render_doc.json +1623 -0
  238. package/fixtures/defold-1.13.2/resource_doc.json +1539 -0
  239. package/fixtures/defold-1.13.2/socket_doc.json +2335 -0
  240. package/fixtures/defold-1.13.2/sound_doc.json +673 -0
  241. package/fixtures/defold-1.13.2/sprite_doc.json +364 -0
  242. package/fixtures/defold-1.13.2/string_doc.json +413 -0
  243. package/fixtures/defold-1.13.2/sys_doc.json +1347 -0
  244. package/fixtures/defold-1.13.2/table_doc.json +167 -0
  245. package/fixtures/defold-1.13.2/tilemap_doc.json +369 -0
  246. package/fixtures/defold-1.13.2/timer_doc.json +214 -0
  247. package/fixtures/defold-1.13.2/types_doc.json +213 -0
  248. package/fixtures/defold-1.13.2/vmath_doc.json +2056 -0
  249. package/fixtures/defold-1.13.2/window_doc.json +426 -0
  250. package/fixtures/defold-1.13.2/zlib_doc.json +71 -0
  251. package/fixtures/defold-1.14.0/b2d_body_doc.json +2359 -0
  252. package/fixtures/defold-1.14.0/b2d_chain_doc.json +395 -0
  253. package/fixtures/defold-1.14.0/b2d_doc.json +1973 -0
  254. package/fixtures/defold-1.14.0/b2d_fixture_doc.json +595 -0
  255. package/fixtures/defold-1.14.0/b2d_joint_doc.json +3178 -0
  256. package/fixtures/defold-1.14.0/b2d_shape_doc.json +767 -0
  257. package/fixtures/defold-1.14.0/b2d_world_doc.json +1315 -0
  258. package/fixtures/defold-1.14.0/base_doc.json +759 -0
  259. package/fixtures/defold-1.14.0/bit_doc.json +405 -0
  260. package/fixtures/defold-1.14.0/buffer_doc.json +393 -0
  261. package/fixtures/defold-1.14.0/bullet3d_collision_object_doc.json +1206 -0
  262. package/fixtures/defold-1.14.0/bullet3d_constraint_doc.json +2455 -0
  263. package/fixtures/defold-1.14.0/bullet3d_doc.json +243 -0
  264. package/fixtures/defold-1.14.0/bullet3d_rigid_body_doc.json +1376 -0
  265. package/fixtures/defold-1.14.0/bullet3d_shape_doc.json +430 -0
  266. package/fixtures/defold-1.14.0/bullet3d_world_doc.json +855 -0
  267. package/fixtures/defold-1.14.0/camera_doc.json +887 -0
  268. package/fixtures/defold-1.14.0/collectionfactory_doc.json +206 -0
  269. package/fixtures/defold-1.14.0/collectionproxy_doc.json +397 -0
  270. package/fixtures/defold-1.14.0/compute_doc.json +183 -0
  271. package/fixtures/defold-1.14.0/coroutine_doc.json +152 -0
  272. package/fixtures/defold-1.14.0/crash_doc.json +483 -0
  273. package/fixtures/defold-1.14.0/debug_doc.json +411 -0
  274. package/fixtures/defold-1.14.0/editor_doc.json +6320 -0
  275. package/fixtures/defold-1.14.0/editor_http_doc.json +476 -0
  276. package/fixtures/defold-1.14.0/editor_image_doc.json +129 -0
  277. package/fixtures/defold-1.14.0/editor_json_doc.json +81 -0
  278. package/fixtures/defold-1.14.0/editor_localization_doc.json +139 -0
  279. package/fixtures/defold-1.14.0/editor_pprint_doc.json +37 -0
  280. package/fixtures/defold-1.14.0/editor_tilemap_tiles_doc.json +292 -0
  281. package/fixtures/defold-1.14.0/editor_zip_doc.json +237 -0
  282. package/fixtures/defold-1.14.0/editor_zlib_doc.json +49 -0
  283. package/fixtures/defold-1.14.0/factory_doc.json +206 -0
  284. package/fixtures/defold-1.14.0/font_doc.json +230 -0
  285. package/fixtures/defold-1.14.0/globals_doc.json +64 -0
  286. package/fixtures/defold-1.14.0/go-instance-functions.json +106 -0
  287. package/fixtures/defold-1.14.0/go_doc.json +1789 -0
  288. package/fixtures/defold-1.14.0/graphics_doc.json +1257 -0
  289. package/fixtures/defold-1.14.0/gui_doc.json +4735 -0
  290. package/fixtures/defold-1.14.0/html5_doc.json +65 -0
  291. package/fixtures/defold-1.14.0/http_doc.json +174 -0
  292. package/fixtures/defold-1.14.0/image_doc.json +298 -0
  293. package/fixtures/defold-1.14.0/import-manifest.json +10260 -0
  294. package/fixtures/defold-1.14.0/io_doc.json +400 -0
  295. package/fixtures/defold-1.14.0/json_doc.json +140 -0
  296. package/fixtures/defold-1.14.0/label_doc.json +427 -0
  297. package/fixtures/defold-1.14.0/liveupdate_doc.json +221 -0
  298. package/fixtures/defold-1.14.0/material_doc.json +773 -0
  299. package/fixtures/defold-1.14.0/math_doc.json +703 -0
  300. package/fixtures/defold-1.14.0/model_doc.json +472 -0
  301. package/fixtures/defold-1.14.0/msg_doc.json +169 -0
  302. package/fixtures/defold-1.14.0/os_doc.json +269 -0
  303. package/fixtures/defold-1.14.0/package_doc.json +140 -0
  304. package/fixtures/defold-1.14.0/particlefx_doc.json +249 -0
  305. package/fixtures/defold-1.14.0/physics_doc.json +1624 -0
  306. package/fixtures/defold-1.14.0/profiler_doc.json +348 -0
  307. package/fixtures/defold-1.14.0/render_doc.json +1628 -0
  308. package/fixtures/defold-1.14.0/resource_doc.json +1539 -0
  309. package/fixtures/defold-1.14.0/socket_doc.json +2335 -0
  310. package/fixtures/defold-1.14.0/sound_doc.json +673 -0
  311. package/fixtures/defold-1.14.0/sprite_doc.json +364 -0
  312. package/fixtures/defold-1.14.0/string_doc.json +413 -0
  313. package/fixtures/defold-1.14.0/sys_doc.json +1347 -0
  314. package/fixtures/defold-1.14.0/table_doc.json +167 -0
  315. package/fixtures/defold-1.14.0/tilemap_doc.json +369 -0
  316. package/fixtures/defold-1.14.0/timer_doc.json +214 -0
  317. package/fixtures/defold-1.14.0/types_doc.json +213 -0
  318. package/fixtures/defold-1.14.0/vmath_doc.json +2056 -0
  319. package/fixtures/defold-1.14.0/window_doc.json +426 -0
  320. package/fixtures/defold-1.14.0/zlib_doc.json +71 -0
  321. package/generated/b2d.d.ts +39 -39
  322. package/generated/b2d_body.d.ts +11 -11
  323. package/generated/b2d_chain.d.ts +3 -3
  324. package/generated/b2d_fixture.d.ts +5 -5
  325. package/generated/b2d_joint.d.ts +29 -29
  326. package/generated/b2d_shape.d.ts +13 -13
  327. package/generated/b2d_world.d.ts +15 -15
  328. package/generated/buffer.d.ts +5 -6
  329. package/generated/bullet3d.d.ts +6 -6
  330. package/generated/bullet3d_collision_object.d.ts +9 -9
  331. package/generated/bullet3d_constraint.d.ts +78 -78
  332. package/generated/bullet3d_rigid_body.d.ts +3 -3
  333. package/generated/bullet3d_shape.d.ts +11 -11
  334. package/generated/bullet3d_world.d.ts +20 -20
  335. package/generated/camera.d.ts +4 -4
  336. package/generated/collectionfactory.d.ts +2 -3
  337. package/generated/collectionproxy.d.ts +5 -5
  338. package/generated/compute.d.ts +5 -5
  339. package/generated/crash.d.ts +7 -7
  340. package/generated/editor-vm/http.d.ts +13 -13
  341. package/generated/editor-vm/image.d.ts +4 -4
  342. package/generated/editor-vm/json.d.ts +1 -1
  343. package/generated/editor-vm/tilemap_tiles.d.ts +9 -9
  344. package/generated/editor-vm/zip.d.ts +4 -4
  345. package/generated/editor.d.ts +183 -183
  346. package/generated/factory.d.ts +2 -3
  347. package/generated/font.d.ts +4 -4
  348. package/generated/go.d.ts +10 -12
  349. package/generated/graphics.d.ts +23 -26
  350. package/generated/gui.d.ts +44 -58
  351. package/generated/http.d.ts +2 -2
  352. package/generated/image.d.ts +12 -12
  353. package/generated/json.d.ts +4 -4
  354. package/generated/label.d.ts +5 -5
  355. package/generated/liveupdate.d.ts +3 -3
  356. package/generated/material.d.ts +48 -48
  357. package/generated/model.d.ts +46 -14
  358. package/generated/particlefx.d.ts +5 -5
  359. package/generated/physics.d.ts +19 -19
  360. package/generated/profiler.d.ts +3 -5
  361. package/generated/render-script-modules/b2d.d.ts +39 -39
  362. package/generated/render-script-modules/bullet3d.d.ts +5 -5
  363. package/generated/render-script-modules/collectionfactory.d.ts +1 -2
  364. package/generated/render-script-modules/collectionproxy.d.ts +3 -3
  365. package/generated/render-script-modules/factory.d.ts +1 -2
  366. package/generated/render-script-modules/go.d.ts +8 -10
  367. package/generated/render-script-modules/label.d.ts +2 -2
  368. package/generated/render-script-modules/model.d.ts +43 -11
  369. package/generated/render-script-modules/particlefx.d.ts +3 -3
  370. package/generated/render-script-modules/physics.d.ts +12 -12
  371. package/generated/render-script-modules/resource.d.ts +52 -53
  372. package/generated/render-script-modules/sound.d.ts +4 -4
  373. package/generated/render-script-modules/sprite.d.ts +2 -2
  374. package/generated/render-script-modules/tilemap.d.ts +2 -2
  375. package/generated/render.d.ts +44 -45
  376. package/generated/resource.d.ts +58 -59
  377. package/generated/socket.d.ts +18 -23
  378. package/generated/sound.d.ts +6 -6
  379. package/generated/sprite.d.ts +3 -3
  380. package/generated/sys.d.ts +20 -21
  381. package/generated/tilemap.d.ts +3 -3
  382. package/generated/timer.d.ts +3 -3
  383. package/generated/versions/defold-1.12.4/b2d.d.ts +2 -2
  384. package/generated/versions/defold-1.12.4/b2d_body.d.ts +2 -2
  385. package/generated/versions/defold-1.12.4/go.d.ts +2 -2
  386. package/generated/versions/defold-1.12.4/graphics.d.ts +1 -1
  387. package/generated/versions/defold-1.12.4/gui.d.ts +18 -19
  388. package/generated/versions/defold-1.12.4/label.d.ts +1 -1
  389. package/generated/versions/defold-1.12.4/model.d.ts +42 -10
  390. package/generated/versions/defold-1.12.4/particlefx.d.ts +1 -1
  391. package/generated/versions/defold-1.12.4/physics.d.ts +1 -1
  392. package/generated/versions/defold-1.12.4/render.d.ts +5 -5
  393. package/generated/versions/defold-1.12.4/resource.d.ts +8 -8
  394. package/generated/versions/defold-1.12.4/socket.d.ts +12 -12
  395. package/generated/versions/defold-1.12.4/sound.d.ts +1 -1
  396. package/generated/versions/defold-1.12.4/sprite.d.ts +1 -1
  397. package/generated/versions/defold-1.12.4/sys.d.ts +2 -2
  398. package/generated/versions/defold-1.12.4/tilemap.d.ts +1 -1
  399. package/generated/versions/defold-1.12.4/window.d.ts +3 -4
  400. package/generated/versions/defold-1.13.0/b2d.d.ts +2 -2
  401. package/generated/versions/defold-1.13.0/b2d_body.d.ts +2 -2
  402. package/generated/versions/defold-1.13.0/b2d_chain.d.ts +1 -1
  403. package/generated/versions/defold-1.13.0/b2d_joint.d.ts +1 -1
  404. package/generated/versions/defold-1.13.0/b2d_shape.d.ts +1 -1
  405. package/generated/versions/defold-1.13.0/camera.d.ts +1 -1
  406. package/generated/versions/defold-1.13.0/go.d.ts +2 -2
  407. package/generated/versions/defold-1.13.0/graphics.d.ts +1 -1
  408. package/generated/versions/defold-1.13.0/gui.d.ts +18 -19
  409. package/generated/versions/defold-1.13.0/label.d.ts +1 -1
  410. package/generated/versions/defold-1.13.0/model.d.ts +42 -10
  411. package/generated/versions/defold-1.13.0/particlefx.d.ts +1 -1
  412. package/generated/versions/defold-1.13.0/physics.d.ts +1 -1
  413. package/generated/versions/defold-1.13.0/render.d.ts +5 -5
  414. package/generated/versions/defold-1.13.0/resource.d.ts +8 -8
  415. package/generated/versions/defold-1.13.0/socket.d.ts +12 -12
  416. package/generated/versions/defold-1.13.0/sound.d.ts +1 -1
  417. package/generated/versions/defold-1.13.0/sprite.d.ts +1 -1
  418. package/generated/versions/defold-1.13.0/sys.d.ts +2 -2
  419. package/generated/versions/defold-1.13.0/tilemap.d.ts +1 -1
  420. package/generated/versions/defold-1.13.0/window.d.ts +3 -4
  421. package/generated/versions/defold-1.13.1/b2d.d.ts +2 -2
  422. package/generated/versions/defold-1.13.1/b2d_body.d.ts +2 -2
  423. package/generated/versions/defold-1.13.1/b2d_chain.d.ts +1 -1
  424. package/generated/versions/defold-1.13.1/b2d_joint.d.ts +1 -1
  425. package/generated/versions/defold-1.13.1/b2d_shape.d.ts +1 -1
  426. package/generated/versions/defold-1.13.1/camera.d.ts +1 -1
  427. package/generated/versions/defold-1.13.1/go.d.ts +2 -2
  428. package/generated/versions/defold-1.13.1/graphics.d.ts +1 -1
  429. package/generated/versions/defold-1.13.1/gui.d.ts +18 -19
  430. package/generated/versions/defold-1.13.1/label.d.ts +1 -1
  431. package/generated/versions/defold-1.13.1/model.d.ts +42 -10
  432. package/generated/versions/defold-1.13.1/particlefx.d.ts +1 -1
  433. package/generated/versions/defold-1.13.1/physics.d.ts +1 -1
  434. package/generated/versions/defold-1.13.1/render.d.ts +5 -5
  435. package/generated/versions/defold-1.13.1/resource.d.ts +8 -8
  436. package/generated/versions/defold-1.13.1/socket.d.ts +12 -12
  437. package/generated/versions/defold-1.13.1/sound.d.ts +1 -1
  438. package/generated/versions/defold-1.13.1/sprite.d.ts +1 -1
  439. package/generated/versions/defold-1.13.1/sys.d.ts +2 -2
  440. package/generated/versions/defold-1.13.1/tilemap.d.ts +1 -1
  441. package/generated/versions/defold-1.13.1/window.d.ts +3 -4
  442. package/generated/versions/defold-1.13.2/b2d.d.ts +39 -39
  443. package/generated/versions/defold-1.13.2/b2d_body.d.ts +11 -11
  444. package/generated/versions/defold-1.13.2/b2d_chain.d.ts +3 -3
  445. package/generated/versions/defold-1.13.2/b2d_fixture.d.ts +5 -5
  446. package/generated/versions/defold-1.13.2/b2d_joint.d.ts +29 -29
  447. package/generated/versions/defold-1.13.2/b2d_shape.d.ts +13 -13
  448. package/generated/versions/defold-1.13.2/b2d_world.d.ts +15 -15
  449. package/generated/versions/defold-1.13.2/buffer.d.ts +5 -6
  450. package/generated/versions/defold-1.13.2/bullet3d.d.ts +6 -6
  451. package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +9 -9
  452. package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +78 -78
  453. package/generated/versions/defold-1.13.2/bullet3d_rigid_body.d.ts +3 -3
  454. package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +11 -11
  455. package/generated/versions/defold-1.13.2/bullet3d_world.d.ts +20 -20
  456. package/generated/versions/defold-1.13.2/camera.d.ts +4 -4
  457. package/generated/versions/defold-1.13.2/collectionfactory.d.ts +2 -3
  458. package/generated/versions/defold-1.13.2/collectionproxy.d.ts +5 -5
  459. package/generated/versions/defold-1.13.2/compute.d.ts +5 -5
  460. package/generated/versions/defold-1.13.2/crash.d.ts +7 -7
  461. package/generated/versions/defold-1.13.2/editor-vm/http.d.ts +13 -13
  462. package/generated/versions/defold-1.13.2/editor-vm/image.d.ts +4 -4
  463. package/generated/versions/defold-1.13.2/editor-vm/json.d.ts +1 -1
  464. package/generated/versions/defold-1.13.2/editor-vm/tilemap_tiles.d.ts +9 -9
  465. package/generated/versions/defold-1.13.2/editor-vm/zip.d.ts +4 -4
  466. package/generated/versions/defold-1.13.2/editor.d.ts +183 -183
  467. package/generated/versions/defold-1.13.2/factory.d.ts +2 -3
  468. package/generated/versions/defold-1.13.2/font.d.ts +4 -4
  469. package/generated/versions/defold-1.13.2/go.d.ts +10 -12
  470. package/generated/versions/defold-1.13.2/graphics.d.ts +22 -25
  471. package/generated/versions/defold-1.13.2/gui.d.ts +44 -58
  472. package/generated/versions/defold-1.13.2/http.d.ts +2 -2
  473. package/generated/versions/defold-1.13.2/image.d.ts +12 -12
  474. package/generated/versions/defold-1.13.2/json.d.ts +4 -4
  475. package/generated/versions/defold-1.13.2/label.d.ts +5 -5
  476. package/generated/versions/defold-1.13.2/liveupdate.d.ts +3 -3
  477. package/generated/versions/defold-1.13.2/material.d.ts +48 -48
  478. package/generated/versions/defold-1.13.2/model.d.ts +46 -14
  479. package/generated/versions/defold-1.13.2/particlefx.d.ts +5 -5
  480. package/generated/versions/defold-1.13.2/physics.d.ts +19 -19
  481. package/generated/versions/defold-1.13.2/profiler.d.ts +3 -5
  482. package/generated/versions/defold-1.13.2/render.d.ts +43 -44
  483. package/generated/versions/defold-1.13.2/resource.d.ts +58 -59
  484. package/generated/versions/defold-1.13.2/socket.d.ts +18 -23
  485. package/generated/versions/defold-1.13.2/sound.d.ts +6 -6
  486. package/generated/versions/defold-1.13.2/sprite.d.ts +3 -3
  487. package/generated/versions/defold-1.13.2/sys.d.ts +20 -21
  488. package/generated/versions/defold-1.13.2/tilemap.d.ts +3 -3
  489. package/generated/versions/defold-1.13.2/timer.d.ts +3 -3
  490. package/generated/versions/defold-1.13.2/vmath.d.ts +0 -1
  491. package/generated/versions/defold-1.13.2/window.d.ts +8 -10
  492. package/generated/vmath.d.ts +0 -1
  493. package/generated/window.d.ts +8 -10
  494. package/identity-vocabulary.json +41 -34
  495. package/package.json +13 -5
  496. package/scripts/cli-runtime.ts +18 -0
  497. package/scripts/example-store-io.ts +2 -2
  498. package/scripts/extension-goldens.ts +9 -5
  499. package/scripts/generate-api-availability.ts +10 -4
  500. package/scripts/generate-api-signatures.ts +1 -1
  501. package/scripts/import-defold-release.ts +1 -1
  502. package/scripts/regen.ts +35 -9
  503. package/scripts/shared-handle-methods.ts +3 -2
  504. package/scripts/signature-store-fs.ts +37 -17
  505. package/scripts/sync-api-docs.ts +127 -20
  506. package/src/api-doc.ts +19 -4
  507. package/src/api-identity.ts +32 -1
  508. package/src/component-properties.d.ts +8 -8
  509. package/src/core-types.ts +29 -13
  510. package/src/doc-corrections.ts +9 -0
  511. package/src/emit-dts.ts +770 -214
  512. package/src/engine-type-name.ts +33 -0
  513. package/src/go-overloads.d.ts +10 -10
  514. package/src/gui-overloads.d.ts +11 -11
  515. package/src/index-slot-classifications.ts +75 -9
  516. package/src/index.ts +4 -1
  517. package/src/lifecycle.ts +2 -2
  518. package/src/publish-dts.ts +16 -0
  519. package/src/script-api.ts +36 -38
  520. package/src/socket-types.d.ts +3 -3
  521. package/src/library-index-slot-classifications.ts +0 -332
@@ -0,0 +1,3880 @@
1
+ {
2
+ "elements": [
3
+ {
4
+ "type": "VARIABLE",
5
+ "name": "editor.platform",
6
+ "brief": "editor platform id.",
7
+ "description": "Editor platform id.\nA <code>string</code>, either:\n- <code>\"x86_64-win32\"</code>\n- <code>\"x86_64-macos\"</code>\n- <code>\"arm64-macos\"</code>\n- <code>\"x86_64-linux\"</code>",
8
+ "returnvalues": [],
9
+ "parameters": [],
10
+ "examples": "",
11
+ "replaces": "",
12
+ "error": "",
13
+ "tparams": [],
14
+ "members": [],
15
+ "notes": [],
16
+ "language": ""
17
+ },
18
+ {
19
+ "type": "VARIABLE",
20
+ "name": "editor.version",
21
+ "brief": "a string, version name of Defold",
22
+ "description": "A string, version name of Defold",
23
+ "returnvalues": [],
24
+ "parameters": [],
25
+ "examples": "",
26
+ "replaces": "",
27
+ "error": "",
28
+ "tparams": [],
29
+ "members": [],
30
+ "notes": [],
31
+ "language": ""
32
+ },
33
+ {
34
+ "type": "VARIABLE",
35
+ "name": "editor.engine_sha1",
36
+ "brief": "a string, SHA1 of Defold engine",
37
+ "description": "A string, SHA1 of Defold engine",
38
+ "returnvalues": [],
39
+ "parameters": [],
40
+ "examples": "",
41
+ "replaces": "",
42
+ "error": "",
43
+ "tparams": [],
44
+ "members": [],
45
+ "notes": [],
46
+ "language": ""
47
+ },
48
+ {
49
+ "type": "VARIABLE",
50
+ "name": "editor.editor_sha1",
51
+ "brief": "a string, SHA1 of Defold editor",
52
+ "description": "A string, SHA1 of Defold editor",
53
+ "returnvalues": [],
54
+ "parameters": [],
55
+ "examples": "",
56
+ "replaces": "",
57
+ "error": "",
58
+ "tparams": [],
59
+ "members": [],
60
+ "notes": [],
61
+ "language": ""
62
+ },
63
+ {
64
+ "type": "VARIABLE",
65
+ "name": "editor.ui.TEXT_ALIGNMENT.LEFT",
66
+ "brief": "<code>\"left\"</code>",
67
+ "description": "<code>\"left\"</code>",
68
+ "returnvalues": [],
69
+ "parameters": [],
70
+ "examples": "",
71
+ "replaces": "",
72
+ "error": "",
73
+ "tparams": [],
74
+ "members": [],
75
+ "notes": [],
76
+ "language": ""
77
+ },
78
+ {
79
+ "type": "VARIABLE",
80
+ "name": "editor.ui.TEXT_ALIGNMENT.CENTER",
81
+ "brief": "<code>\"center\"</code>",
82
+ "description": "<code>\"center\"</code>",
83
+ "returnvalues": [],
84
+ "parameters": [],
85
+ "examples": "",
86
+ "replaces": "",
87
+ "error": "",
88
+ "tparams": [],
89
+ "members": [],
90
+ "notes": [],
91
+ "language": ""
92
+ },
93
+ {
94
+ "type": "VARIABLE",
95
+ "name": "editor.ui.TEXT_ALIGNMENT.RIGHT",
96
+ "brief": "<code>\"right\"</code>",
97
+ "description": "<code>\"right\"</code>",
98
+ "returnvalues": [],
99
+ "parameters": [],
100
+ "examples": "",
101
+ "replaces": "",
102
+ "error": "",
103
+ "tparams": [],
104
+ "members": [],
105
+ "notes": [],
106
+ "language": ""
107
+ },
108
+ {
109
+ "type": "VARIABLE",
110
+ "name": "editor.ui.TEXT_ALIGNMENT.JUSTIFY",
111
+ "brief": "<code>\"justify\"</code>",
112
+ "description": "<code>\"justify\"</code>",
113
+ "returnvalues": [],
114
+ "parameters": [],
115
+ "examples": "",
116
+ "replaces": "",
117
+ "error": "",
118
+ "tparams": [],
119
+ "members": [],
120
+ "notes": [],
121
+ "language": ""
122
+ },
123
+ {
124
+ "type": "VARIABLE",
125
+ "name": "editor.ui.COLOR.TEXT",
126
+ "brief": "<code>\"text\"</code>",
127
+ "description": "<code>\"text\"</code>",
128
+ "returnvalues": [],
129
+ "parameters": [],
130
+ "examples": "",
131
+ "replaces": "",
132
+ "error": "",
133
+ "tparams": [],
134
+ "members": [],
135
+ "notes": [],
136
+ "language": ""
137
+ },
138
+ {
139
+ "type": "VARIABLE",
140
+ "name": "editor.ui.COLOR.HINT",
141
+ "brief": "<code>\"hint\"</code>",
142
+ "description": "<code>\"hint\"</code>",
143
+ "returnvalues": [],
144
+ "parameters": [],
145
+ "examples": "",
146
+ "replaces": "",
147
+ "error": "",
148
+ "tparams": [],
149
+ "members": [],
150
+ "notes": [],
151
+ "language": ""
152
+ },
153
+ {
154
+ "type": "VARIABLE",
155
+ "name": "editor.ui.COLOR.OVERRIDE",
156
+ "brief": "<code>\"override\"</code>",
157
+ "description": "<code>\"override\"</code>",
158
+ "returnvalues": [],
159
+ "parameters": [],
160
+ "examples": "",
161
+ "replaces": "",
162
+ "error": "",
163
+ "tparams": [],
164
+ "members": [],
165
+ "notes": [],
166
+ "language": ""
167
+ },
168
+ {
169
+ "type": "VARIABLE",
170
+ "name": "editor.ui.COLOR.WARNING",
171
+ "brief": "<code>\"warning\"</code>",
172
+ "description": "<code>\"warning\"</code>",
173
+ "returnvalues": [],
174
+ "parameters": [],
175
+ "examples": "",
176
+ "replaces": "",
177
+ "error": "",
178
+ "tparams": [],
179
+ "members": [],
180
+ "notes": [],
181
+ "language": ""
182
+ },
183
+ {
184
+ "type": "VARIABLE",
185
+ "name": "editor.ui.COLOR.ERROR",
186
+ "brief": "<code>\"error\"</code>",
187
+ "description": "<code>\"error\"</code>",
188
+ "returnvalues": [],
189
+ "parameters": [],
190
+ "examples": "",
191
+ "replaces": "",
192
+ "error": "",
193
+ "tparams": [],
194
+ "members": [],
195
+ "notes": [],
196
+ "language": ""
197
+ },
198
+ {
199
+ "type": "VARIABLE",
200
+ "name": "editor.ui.ALIGNMENT.TOP_LEFT",
201
+ "brief": "<code>\"top-left\"</code>",
202
+ "description": "<code>\"top-left\"</code>",
203
+ "returnvalues": [],
204
+ "parameters": [],
205
+ "examples": "",
206
+ "replaces": "",
207
+ "error": "",
208
+ "tparams": [],
209
+ "members": [],
210
+ "notes": [],
211
+ "language": ""
212
+ },
213
+ {
214
+ "type": "VARIABLE",
215
+ "name": "editor.ui.ALIGNMENT.TOP",
216
+ "brief": "<code>\"top\"</code>",
217
+ "description": "<code>\"top\"</code>",
218
+ "returnvalues": [],
219
+ "parameters": [],
220
+ "examples": "",
221
+ "replaces": "",
222
+ "error": "",
223
+ "tparams": [],
224
+ "members": [],
225
+ "notes": [],
226
+ "language": ""
227
+ },
228
+ {
229
+ "type": "VARIABLE",
230
+ "name": "editor.ui.ALIGNMENT.TOP_RIGHT",
231
+ "brief": "<code>\"top-right\"</code>",
232
+ "description": "<code>\"top-right\"</code>",
233
+ "returnvalues": [],
234
+ "parameters": [],
235
+ "examples": "",
236
+ "replaces": "",
237
+ "error": "",
238
+ "tparams": [],
239
+ "members": [],
240
+ "notes": [],
241
+ "language": ""
242
+ },
243
+ {
244
+ "type": "VARIABLE",
245
+ "name": "editor.ui.ALIGNMENT.LEFT",
246
+ "brief": "<code>\"left\"</code>",
247
+ "description": "<code>\"left\"</code>",
248
+ "returnvalues": [],
249
+ "parameters": [],
250
+ "examples": "",
251
+ "replaces": "",
252
+ "error": "",
253
+ "tparams": [],
254
+ "members": [],
255
+ "notes": [],
256
+ "language": ""
257
+ },
258
+ {
259
+ "type": "VARIABLE",
260
+ "name": "editor.ui.ALIGNMENT.CENTER",
261
+ "brief": "<code>\"center\"</code>",
262
+ "description": "<code>\"center\"</code>",
263
+ "returnvalues": [],
264
+ "parameters": [],
265
+ "examples": "",
266
+ "replaces": "",
267
+ "error": "",
268
+ "tparams": [],
269
+ "members": [],
270
+ "notes": [],
271
+ "language": ""
272
+ },
273
+ {
274
+ "type": "VARIABLE",
275
+ "name": "editor.ui.ALIGNMENT.RIGHT",
276
+ "brief": "<code>\"right\"</code>",
277
+ "description": "<code>\"right\"</code>",
278
+ "returnvalues": [],
279
+ "parameters": [],
280
+ "examples": "",
281
+ "replaces": "",
282
+ "error": "",
283
+ "tparams": [],
284
+ "members": [],
285
+ "notes": [],
286
+ "language": ""
287
+ },
288
+ {
289
+ "type": "VARIABLE",
290
+ "name": "editor.ui.ALIGNMENT.BOTTOM_LEFT",
291
+ "brief": "<code>\"bottom-left\"</code>",
292
+ "description": "<code>\"bottom-left\"</code>",
293
+ "returnvalues": [],
294
+ "parameters": [],
295
+ "examples": "",
296
+ "replaces": "",
297
+ "error": "",
298
+ "tparams": [],
299
+ "members": [],
300
+ "notes": [],
301
+ "language": ""
302
+ },
303
+ {
304
+ "type": "VARIABLE",
305
+ "name": "editor.ui.ALIGNMENT.BOTTOM",
306
+ "brief": "<code>\"bottom\"</code>",
307
+ "description": "<code>\"bottom\"</code>",
308
+ "returnvalues": [],
309
+ "parameters": [],
310
+ "examples": "",
311
+ "replaces": "",
312
+ "error": "",
313
+ "tparams": [],
314
+ "members": [],
315
+ "notes": [],
316
+ "language": ""
317
+ },
318
+ {
319
+ "type": "VARIABLE",
320
+ "name": "editor.ui.ALIGNMENT.BOTTOM_RIGHT",
321
+ "brief": "<code>\"bottom-right\"</code>",
322
+ "description": "<code>\"bottom-right\"</code>",
323
+ "returnvalues": [],
324
+ "parameters": [],
325
+ "examples": "",
326
+ "replaces": "",
327
+ "error": "",
328
+ "tparams": [],
329
+ "members": [],
330
+ "notes": [],
331
+ "language": ""
332
+ },
333
+ {
334
+ "type": "VARIABLE",
335
+ "name": "editor.ui.ORIENTATION.VERTICAL",
336
+ "brief": "<code>\"vertical\"</code>",
337
+ "description": "<code>\"vertical\"</code>",
338
+ "returnvalues": [],
339
+ "parameters": [],
340
+ "examples": "",
341
+ "replaces": "",
342
+ "error": "",
343
+ "tparams": [],
344
+ "members": [],
345
+ "notes": [],
346
+ "language": ""
347
+ },
348
+ {
349
+ "type": "VARIABLE",
350
+ "name": "editor.ui.ORIENTATION.HORIZONTAL",
351
+ "brief": "<code>\"horizontal\"</code>",
352
+ "description": "<code>\"horizontal\"</code>",
353
+ "returnvalues": [],
354
+ "parameters": [],
355
+ "examples": "",
356
+ "replaces": "",
357
+ "error": "",
358
+ "tparams": [],
359
+ "members": [],
360
+ "notes": [],
361
+ "language": ""
362
+ },
363
+ {
364
+ "type": "VARIABLE",
365
+ "name": "editor.ui.ICON.OPEN_RESOURCE",
366
+ "brief": "<code>\"open-resource\"</code>",
367
+ "description": "<code>\"open-resource\"</code>",
368
+ "returnvalues": [],
369
+ "parameters": [],
370
+ "examples": "",
371
+ "replaces": "",
372
+ "error": "",
373
+ "tparams": [],
374
+ "members": [],
375
+ "notes": [],
376
+ "language": ""
377
+ },
378
+ {
379
+ "type": "VARIABLE",
380
+ "name": "editor.ui.ICON.PLUS",
381
+ "brief": "<code>\"plus\"</code>",
382
+ "description": "<code>\"plus\"</code>",
383
+ "returnvalues": [],
384
+ "parameters": [],
385
+ "examples": "",
386
+ "replaces": "",
387
+ "error": "",
388
+ "tparams": [],
389
+ "members": [],
390
+ "notes": [],
391
+ "language": ""
392
+ },
393
+ {
394
+ "type": "VARIABLE",
395
+ "name": "editor.ui.ICON.MINUS",
396
+ "brief": "<code>\"minus\"</code>",
397
+ "description": "<code>\"minus\"</code>",
398
+ "returnvalues": [],
399
+ "parameters": [],
400
+ "examples": "",
401
+ "replaces": "",
402
+ "error": "",
403
+ "tparams": [],
404
+ "members": [],
405
+ "notes": [],
406
+ "language": ""
407
+ },
408
+ {
409
+ "type": "VARIABLE",
410
+ "name": "editor.ui.ICON.CLEAR",
411
+ "brief": "<code>\"clear\"</code>",
412
+ "description": "<code>\"clear\"</code>",
413
+ "returnvalues": [],
414
+ "parameters": [],
415
+ "examples": "",
416
+ "replaces": "",
417
+ "error": "",
418
+ "tparams": [],
419
+ "members": [],
420
+ "notes": [],
421
+ "language": ""
422
+ },
423
+ {
424
+ "type": "VARIABLE",
425
+ "name": "editor.ui.HEADING_STYLE.H1",
426
+ "brief": "<code>\"h1\"</code>",
427
+ "description": "<code>\"h1\"</code>",
428
+ "returnvalues": [],
429
+ "parameters": [],
430
+ "examples": "",
431
+ "replaces": "",
432
+ "error": "",
433
+ "tparams": [],
434
+ "members": [],
435
+ "notes": [],
436
+ "language": ""
437
+ },
438
+ {
439
+ "type": "VARIABLE",
440
+ "name": "editor.ui.HEADING_STYLE.H2",
441
+ "brief": "<code>\"h2\"</code>",
442
+ "description": "<code>\"h2\"</code>",
443
+ "returnvalues": [],
444
+ "parameters": [],
445
+ "examples": "",
446
+ "replaces": "",
447
+ "error": "",
448
+ "tparams": [],
449
+ "members": [],
450
+ "notes": [],
451
+ "language": ""
452
+ },
453
+ {
454
+ "type": "VARIABLE",
455
+ "name": "editor.ui.HEADING_STYLE.H3",
456
+ "brief": "<code>\"h3\"</code>",
457
+ "description": "<code>\"h3\"</code>",
458
+ "returnvalues": [],
459
+ "parameters": [],
460
+ "examples": "",
461
+ "replaces": "",
462
+ "error": "",
463
+ "tparams": [],
464
+ "members": [],
465
+ "notes": [],
466
+ "language": ""
467
+ },
468
+ {
469
+ "type": "VARIABLE",
470
+ "name": "editor.ui.HEADING_STYLE.H4",
471
+ "brief": "<code>\"h4\"</code>",
472
+ "description": "<code>\"h4\"</code>",
473
+ "returnvalues": [],
474
+ "parameters": [],
475
+ "examples": "",
476
+ "replaces": "",
477
+ "error": "",
478
+ "tparams": [],
479
+ "members": [],
480
+ "notes": [],
481
+ "language": ""
482
+ },
483
+ {
484
+ "type": "VARIABLE",
485
+ "name": "editor.ui.HEADING_STYLE.H5",
486
+ "brief": "<code>\"h5\"</code>",
487
+ "description": "<code>\"h5\"</code>",
488
+ "returnvalues": [],
489
+ "parameters": [],
490
+ "examples": "",
491
+ "replaces": "",
492
+ "error": "",
493
+ "tparams": [],
494
+ "members": [],
495
+ "notes": [],
496
+ "language": ""
497
+ },
498
+ {
499
+ "type": "VARIABLE",
500
+ "name": "editor.ui.HEADING_STYLE.H6",
501
+ "brief": "<code>\"h6\"</code>",
502
+ "description": "<code>\"h6\"</code>",
503
+ "returnvalues": [],
504
+ "parameters": [],
505
+ "examples": "",
506
+ "replaces": "",
507
+ "error": "",
508
+ "tparams": [],
509
+ "members": [],
510
+ "notes": [],
511
+ "language": ""
512
+ },
513
+ {
514
+ "type": "VARIABLE",
515
+ "name": "editor.ui.HEADING_STYLE.DIALOG",
516
+ "brief": "<code>\"dialog\"</code>",
517
+ "description": "<code>\"dialog\"</code>",
518
+ "returnvalues": [],
519
+ "parameters": [],
520
+ "examples": "",
521
+ "replaces": "",
522
+ "error": "",
523
+ "tparams": [],
524
+ "members": [],
525
+ "notes": [],
526
+ "language": ""
527
+ },
528
+ {
529
+ "type": "VARIABLE",
530
+ "name": "editor.ui.HEADING_STYLE.FORM",
531
+ "brief": "<code>\"form\"</code>",
532
+ "description": "<code>\"form\"</code>",
533
+ "returnvalues": [],
534
+ "parameters": [],
535
+ "examples": "",
536
+ "replaces": "",
537
+ "error": "",
538
+ "tparams": [],
539
+ "members": [],
540
+ "notes": [],
541
+ "language": ""
542
+ },
543
+ {
544
+ "type": "VARIABLE",
545
+ "name": "editor.ui.ISSUE_SEVERITY.WARNING",
546
+ "brief": "<code>\"warning\"</code>",
547
+ "description": "<code>\"warning\"</code>",
548
+ "returnvalues": [],
549
+ "parameters": [],
550
+ "examples": "",
551
+ "replaces": "",
552
+ "error": "",
553
+ "tparams": [],
554
+ "members": [],
555
+ "notes": [],
556
+ "language": ""
557
+ },
558
+ {
559
+ "type": "VARIABLE",
560
+ "name": "editor.ui.ISSUE_SEVERITY.ERROR",
561
+ "brief": "<code>\"error\"</code>",
562
+ "description": "<code>\"error\"</code>",
563
+ "returnvalues": [],
564
+ "parameters": [],
565
+ "examples": "",
566
+ "replaces": "",
567
+ "error": "",
568
+ "tparams": [],
569
+ "members": [],
570
+ "notes": [],
571
+ "language": ""
572
+ },
573
+ {
574
+ "type": "VARIABLE",
575
+ "name": "editor.ui.PADDING.NONE",
576
+ "brief": "<code>\"none\"</code>",
577
+ "description": "<code>\"none\"</code>",
578
+ "returnvalues": [],
579
+ "parameters": [],
580
+ "examples": "",
581
+ "replaces": "",
582
+ "error": "",
583
+ "tparams": [],
584
+ "members": [],
585
+ "notes": [],
586
+ "language": ""
587
+ },
588
+ {
589
+ "type": "VARIABLE",
590
+ "name": "editor.ui.PADDING.SMALL",
591
+ "brief": "<code>\"small\"</code>",
592
+ "description": "<code>\"small\"</code>",
593
+ "returnvalues": [],
594
+ "parameters": [],
595
+ "examples": "",
596
+ "replaces": "",
597
+ "error": "",
598
+ "tparams": [],
599
+ "members": [],
600
+ "notes": [],
601
+ "language": ""
602
+ },
603
+ {
604
+ "type": "VARIABLE",
605
+ "name": "editor.ui.PADDING.MEDIUM",
606
+ "brief": "<code>\"medium\"</code>",
607
+ "description": "<code>\"medium\"</code>",
608
+ "returnvalues": [],
609
+ "parameters": [],
610
+ "examples": "",
611
+ "replaces": "",
612
+ "error": "",
613
+ "tparams": [],
614
+ "members": [],
615
+ "notes": [],
616
+ "language": ""
617
+ },
618
+ {
619
+ "type": "VARIABLE",
620
+ "name": "editor.ui.PADDING.LARGE",
621
+ "brief": "<code>\"large\"</code>",
622
+ "description": "<code>\"large\"</code>",
623
+ "returnvalues": [],
624
+ "parameters": [],
625
+ "examples": "",
626
+ "replaces": "",
627
+ "error": "",
628
+ "tparams": [],
629
+ "members": [],
630
+ "notes": [],
631
+ "language": ""
632
+ },
633
+ {
634
+ "type": "VARIABLE",
635
+ "name": "editor.ui.SPACING.NONE",
636
+ "brief": "<code>\"none\"</code>",
637
+ "description": "<code>\"none\"</code>",
638
+ "returnvalues": [],
639
+ "parameters": [],
640
+ "examples": "",
641
+ "replaces": "",
642
+ "error": "",
643
+ "tparams": [],
644
+ "members": [],
645
+ "notes": [],
646
+ "language": ""
647
+ },
648
+ {
649
+ "type": "VARIABLE",
650
+ "name": "editor.ui.SPACING.SMALL",
651
+ "brief": "<code>\"small\"</code>",
652
+ "description": "<code>\"small\"</code>",
653
+ "returnvalues": [],
654
+ "parameters": [],
655
+ "examples": "",
656
+ "replaces": "",
657
+ "error": "",
658
+ "tparams": [],
659
+ "members": [],
660
+ "notes": [],
661
+ "language": ""
662
+ },
663
+ {
664
+ "type": "VARIABLE",
665
+ "name": "editor.ui.SPACING.MEDIUM",
666
+ "brief": "<code>\"medium\"</code>",
667
+ "description": "<code>\"medium\"</code>",
668
+ "returnvalues": [],
669
+ "parameters": [],
670
+ "examples": "",
671
+ "replaces": "",
672
+ "error": "",
673
+ "tparams": [],
674
+ "members": [],
675
+ "notes": [],
676
+ "language": ""
677
+ },
678
+ {
679
+ "type": "VARIABLE",
680
+ "name": "editor.ui.SPACING.LARGE",
681
+ "brief": "<code>\"large\"</code>",
682
+ "description": "<code>\"large\"</code>",
683
+ "returnvalues": [],
684
+ "parameters": [],
685
+ "examples": "",
686
+ "replaces": "",
687
+ "error": "",
688
+ "tparams": [],
689
+ "members": [],
690
+ "notes": [],
691
+ "language": ""
692
+ },
693
+ {
694
+ "type": "VARIABLE",
695
+ "name": "editor.prefs.SCOPE.GLOBAL",
696
+ "brief": "<code>\"global\"</code>",
697
+ "description": "<code>\"global\"</code>",
698
+ "returnvalues": [],
699
+ "parameters": [],
700
+ "examples": "",
701
+ "replaces": "",
702
+ "error": "",
703
+ "tparams": [],
704
+ "members": [],
705
+ "notes": [],
706
+ "language": ""
707
+ },
708
+ {
709
+ "type": "VARIABLE",
710
+ "name": "editor.prefs.SCOPE.PROJECT",
711
+ "brief": "<code>\"project\"</code>",
712
+ "description": "<code>\"project\"</code>",
713
+ "returnvalues": [],
714
+ "parameters": [],
715
+ "examples": "",
716
+ "replaces": "",
717
+ "error": "",
718
+ "tparams": [],
719
+ "members": [],
720
+ "notes": [],
721
+ "language": ""
722
+ },
723
+ {
724
+ "type": "VARIABLE",
725
+ "name": "http.server.local_url",
726
+ "brief": "editor's HTTP server local url",
727
+ "description": "Editor's HTTP server local url",
728
+ "returnvalues": [],
729
+ "parameters": [],
730
+ "examples": "",
731
+ "replaces": "",
732
+ "error": "",
733
+ "tparams": [],
734
+ "members": [],
735
+ "notes": [],
736
+ "language": ""
737
+ },
738
+ {
739
+ "type": "VARIABLE",
740
+ "name": "http.server.port",
741
+ "brief": "editor's HTTP server port",
742
+ "description": "Editor's HTTP server port",
743
+ "returnvalues": [],
744
+ "parameters": [],
745
+ "examples": "",
746
+ "replaces": "",
747
+ "error": "",
748
+ "tparams": [],
749
+ "members": [],
750
+ "notes": [],
751
+ "language": ""
752
+ },
753
+ {
754
+ "type": "VARIABLE",
755
+ "name": "http.server.url",
756
+ "brief": "editor's HTTP server url",
757
+ "description": "Editor's HTTP server url",
758
+ "returnvalues": [],
759
+ "parameters": [],
760
+ "examples": "",
761
+ "replaces": "",
762
+ "error": "",
763
+ "tparams": [],
764
+ "members": [],
765
+ "notes": [],
766
+ "language": ""
767
+ },
768
+ {
769
+ "type": "VARIABLE",
770
+ "name": "zip.METHOD.DEFLATED",
771
+ "brief": "<code>\"deflated\"</code> compression method",
772
+ "description": "<code>\"deflated\"</code> compression method",
773
+ "returnvalues": [],
774
+ "parameters": [],
775
+ "examples": "",
776
+ "replaces": "",
777
+ "error": "",
778
+ "tparams": [],
779
+ "members": [],
780
+ "notes": [],
781
+ "language": ""
782
+ },
783
+ {
784
+ "type": "VARIABLE",
785
+ "name": "zip.METHOD.STORED",
786
+ "brief": "<code>\"stored\"</code> compression method, i.e. no compression",
787
+ "description": "<code>\"stored\"</code> compression method, i.e. no compression",
788
+ "returnvalues": [],
789
+ "parameters": [],
790
+ "examples": "",
791
+ "replaces": "",
792
+ "error": "",
793
+ "tparams": [],
794
+ "members": [],
795
+ "notes": [],
796
+ "language": ""
797
+ },
798
+ {
799
+ "type": "VARIABLE",
800
+ "name": "zip.ON_CONFLICT.ERROR",
801
+ "brief": "<code>\"error\"</code>, any conflict aborts extraction",
802
+ "description": "<code>\"error\"</code>, any conflict aborts extraction",
803
+ "returnvalues": [],
804
+ "parameters": [],
805
+ "examples": "",
806
+ "replaces": "",
807
+ "error": "",
808
+ "tparams": [],
809
+ "members": [],
810
+ "notes": [],
811
+ "language": ""
812
+ },
813
+ {
814
+ "type": "VARIABLE",
815
+ "name": "zip.ON_CONFLICT.SKIP",
816
+ "brief": "<code>\"skip\"</code>, existing file is preserved",
817
+ "description": "<code>\"skip\"</code>, existing file is preserved",
818
+ "returnvalues": [],
819
+ "parameters": [],
820
+ "examples": "",
821
+ "replaces": "",
822
+ "error": "",
823
+ "tparams": [],
824
+ "members": [],
825
+ "notes": [],
826
+ "language": ""
827
+ },
828
+ {
829
+ "type": "VARIABLE",
830
+ "name": "zip.ON_CONFLICT.OVERWRITE",
831
+ "brief": "<code>\"skip\"</code>, existing file is overwritten",
832
+ "description": "<code>\"skip\"</code>, existing file is overwritten",
833
+ "returnvalues": [],
834
+ "parameters": [],
835
+ "examples": "",
836
+ "replaces": "",
837
+ "error": "",
838
+ "tparams": [],
839
+ "members": [],
840
+ "notes": [],
841
+ "language": ""
842
+ },
843
+ {
844
+ "type": "FUNCTION",
845
+ "name": "editor.get",
846
+ "brief": "get a value of a node property inside the editor.",
847
+ "description": "Get a value of a node property inside the editor.\nSome properties might be read-only, and some might be unavailable in different contexts, so you should use <code>editor.can_get()</code> before reading them and <code>editor.can_set()</code> before making the editor set them.",
848
+ "returnvalues": [
849
+ {
850
+ "name": "value",
851
+ "doc": "property value",
852
+ "types": ["any"]
853
+ }
854
+ ],
855
+ "parameters": [
856
+ {
857
+ "name": "node",
858
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
859
+ "types": ["string", "userdata"],
860
+ "is_optional": "False"
861
+ },
862
+ {
863
+ "name": "property",
864
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
865
+ "types": ["string"],
866
+ "is_optional": "False"
867
+ }
868
+ ],
869
+ "examples": "",
870
+ "replaces": "",
871
+ "error": "",
872
+ "tparams": [],
873
+ "members": [],
874
+ "notes": [],
875
+ "language": ""
876
+ },
877
+ {
878
+ "type": "FUNCTION",
879
+ "name": "editor.can_get",
880
+ "brief": "check whether this property is exposed for reading on the supplied node or resource.",
881
+ "description": "Check whether this property is exposed for reading on the supplied node or resource.",
882
+ "returnvalues": [
883
+ {
884
+ "name": "value",
885
+ "doc": "",
886
+ "types": ["boolean"]
887
+ }
888
+ ],
889
+ "parameters": [
890
+ {
891
+ "name": "node",
892
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
893
+ "types": ["string", "userdata"],
894
+ "is_optional": "False"
895
+ },
896
+ {
897
+ "name": "property",
898
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
899
+ "types": ["string"],
900
+ "is_optional": "False"
901
+ }
902
+ ],
903
+ "examples": "",
904
+ "replaces": "",
905
+ "error": "",
906
+ "tparams": [],
907
+ "members": [],
908
+ "notes": [],
909
+ "language": ""
910
+ },
911
+ {
912
+ "type": "FUNCTION",
913
+ "name": "editor.properties",
914
+ "brief": "list property names for a node.",
915
+ "description": "List property names for a node.\nThe result is context-sensitive and can vary by node/resource type and editor state. Returned names are readable with <code>editor.get(node, property)</code>. Mutating capabilities are per-property; use <code>editor.can_set()</code>, <code>editor.can_reset()</code>, <code>editor.can_add()</code>, and <code>editor.can_reorder()</code> to check which operations are supported.",
916
+ "returnvalues": [
917
+ {
918
+ "name": "properties",
919
+ "doc": "] sorted unique editor property names available in the current context",
920
+ "types": ["string["]
921
+ }
922
+ ],
923
+ "parameters": [
924
+ {
925
+ "name": "node",
926
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
927
+ "types": ["string", "userdata"],
928
+ "is_optional": "False"
929
+ }
930
+ ],
931
+ "examples": "",
932
+ "replaces": "",
933
+ "error": "",
934
+ "tparams": [],
935
+ "members": [],
936
+ "notes": [],
937
+ "language": ""
938
+ },
939
+ {
940
+ "type": "FUNCTION",
941
+ "name": "editor.can_add",
942
+ "brief": "check whether this list property supports add, clear, and remove operations on the supplied node.",
943
+ "description": "Check whether this list property supports add, clear, and remove operations on the supplied node.",
944
+ "returnvalues": [
945
+ {
946
+ "name": "value",
947
+ "doc": "",
948
+ "types": ["boolean"]
949
+ }
950
+ ],
951
+ "parameters": [
952
+ {
953
+ "name": "node",
954
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
955
+ "types": ["string", "userdata"],
956
+ "is_optional": "False"
957
+ },
958
+ {
959
+ "name": "property",
960
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
961
+ "types": ["string"],
962
+ "is_optional": "False"
963
+ }
964
+ ],
965
+ "examples": "",
966
+ "replaces": "",
967
+ "error": "",
968
+ "tparams": [],
969
+ "members": [],
970
+ "notes": [],
971
+ "language": ""
972
+ },
973
+ {
974
+ "type": "FUNCTION",
975
+ "name": "editor.can_set",
976
+ "brief": "check whether this property is exposed for setting on the supplied node.",
977
+ "description": "Check whether this property is exposed for setting on the supplied node.",
978
+ "returnvalues": [
979
+ {
980
+ "name": "value",
981
+ "doc": "",
982
+ "types": ["boolean"]
983
+ }
984
+ ],
985
+ "parameters": [
986
+ {
987
+ "name": "node",
988
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
989
+ "types": ["string", "userdata"],
990
+ "is_optional": "False"
991
+ },
992
+ {
993
+ "name": "property",
994
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
995
+ "types": ["string"],
996
+ "is_optional": "False"
997
+ }
998
+ ],
999
+ "examples": "",
1000
+ "replaces": "",
1001
+ "error": "",
1002
+ "tparams": [],
1003
+ "members": [],
1004
+ "notes": [],
1005
+ "language": ""
1006
+ },
1007
+ {
1008
+ "type": "FUNCTION",
1009
+ "name": "editor.can_reorder",
1010
+ "brief": "check whether this list property supports reordering on the supplied node.",
1011
+ "description": "Check whether this list property supports reordering on the supplied node.",
1012
+ "returnvalues": [
1013
+ {
1014
+ "name": "value",
1015
+ "doc": "",
1016
+ "types": ["boolean"]
1017
+ }
1018
+ ],
1019
+ "parameters": [
1020
+ {
1021
+ "name": "node",
1022
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
1023
+ "types": ["string", "userdata"],
1024
+ "is_optional": "False"
1025
+ },
1026
+ {
1027
+ "name": "property",
1028
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
1029
+ "types": ["string"],
1030
+ "is_optional": "False"
1031
+ }
1032
+ ],
1033
+ "examples": "",
1034
+ "replaces": "",
1035
+ "error": "",
1036
+ "tparams": [],
1037
+ "members": [],
1038
+ "notes": [],
1039
+ "language": ""
1040
+ },
1041
+ {
1042
+ "type": "FUNCTION",
1043
+ "name": "editor.can_reset",
1044
+ "brief": "check whether this property supports reset on the supplied node.",
1045
+ "description": "Check whether this property supports reset on the supplied node.",
1046
+ "returnvalues": [
1047
+ {
1048
+ "name": "value",
1049
+ "doc": "",
1050
+ "types": ["boolean"]
1051
+ }
1052
+ ],
1053
+ "parameters": [
1054
+ {
1055
+ "name": "node",
1056
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
1057
+ "types": ["string", "userdata"],
1058
+ "is_optional": "False"
1059
+ },
1060
+ {
1061
+ "name": "property",
1062
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
1063
+ "types": ["string"],
1064
+ "is_optional": "False"
1065
+ }
1066
+ ],
1067
+ "examples": "",
1068
+ "replaces": "",
1069
+ "error": "",
1070
+ "tparams": [],
1071
+ "members": [],
1072
+ "notes": [],
1073
+ "language": ""
1074
+ },
1075
+ {
1076
+ "type": "FUNCTION",
1077
+ "name": "editor.command",
1078
+ "brief": "create an editor command",
1079
+ "description": "Create an editor command",
1080
+ "returnvalues": [
1081
+ {
1082
+ "name": "command",
1083
+ "doc": "",
1084
+ "types": ["command"]
1085
+ }
1086
+ ],
1087
+ "parameters": [
1088
+ {
1089
+ "name": "opts",
1090
+ "doc": "A table with the following keys:<dl><dt><code>label <small>string, message</small></code></dt><dd>required, user-visible command name, either a string or a localization message</dd><dt><code>locations <small>string[]</small></code></dt><dd>required, a non-empty list of locations where the command is displayed in the editor, values are either <code>\"Edit\"</code>, <code>\"View\"</code>, <code>\"Project\"</code>, <code>\"Debug\"</code> (the editor menubar), <code>\"Assets\"</code> (the assets pane), <code>\"Outline\"</code> (the outline pane), <code>\"Scene\"</code> (the scene view), or <code>\"Code\"</code> (the code editor)</dd><dt><code>query <small>table</small></code></dt><dd>optional, a query that both controls the command availability and provides additional information to the command handler functions; a table with the following keys:<dl><dt><code>selection <small>table</small></code></dt><dd>current selection, a table with the following keys:<dl><dt><code>type <small>string</small></code></dt><dd>either <code>\"resource\"</code> (selected resource), <code>\"outline\"</code> (selected outline node), or <code>\"scene\"</code> (selected scene node)</dd><dt><code>cardinality <small>string</small></code></dt><dd>either <code>\"one\"</code> (will use first selected item) or <code>\"many\"</code> (will use all selected items)</dd></dl></dd><dt><code>active_view <small>table</small></code></dt><dd>current active editor view, a table with the following keys:<dl><dt><code>type <small>string</small></code></dt><dd>either <code>\"code\"</code>, <code>\"scene\"</code>, <code>\"html\"</code>, or <code>\"form\"</code></dd></dl></dd><dt><code>argument <small>table</small></code></dt><dd>the command argument</dd></dl></dd><dt><code>id <small>string</small></code></dt><dd>optional, keyword identifier that may be used for assigning a shortcut to a command; should be a dot-separated identifier string, e.g. <code>\"my-extension.do-stuff\"</code></dd><dt><code>active <small>function</small></code></dt><dd>optional function that additionally checks if a command is active in the current context; will receive opts table with values populated by the query; should be fast to execute since the editor might invoke it in response to UI interactions (on key typed, mouse clicked)</dd><dt><code>run <small>function</small></code></dt><dd>optional function that is invoked when the user decides to execute the command; will receive opts table with values populated by the query</dd></dl>",
1091
+ "types": ["table"],
1092
+ "is_optional": "False"
1093
+ }
1094
+ ],
1095
+ "examples": "Print Git history for a file:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">editor</span><span class=\"o\">.</span><span class=\"n\">command</span><span class=\"p\">({</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">label</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"s2\">&quot;Git History&quot;</span><span class=\"p\">,</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">query</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">selection</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">type</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"s2\">&quot;resource&quot;</span><span class=\"p\">,</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">cardinality</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"s2\">&quot;one&quot;</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"p\">}</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"p\">},</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">run</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">function</span><span class=\"p\">(</span><span class=\"n\">opts</span><span class=\"p\">)</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">editor</span><span class=\"o\">.</span><span class=\"n\">execute</span><span class=\"p\">(</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"s2\">&quot;git&quot;</span><span class=\"p\">,</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"s2\">&quot;log&quot;</span><span class=\"p\">,</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"s2\">&quot;--follow&quot;</span><span class=\"p\">,</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"s2\">&quot;.&quot;</span><span class=\"w\"> </span><span class=\"o\">..</span><span class=\"w\"> </span><span class=\"n\">editor</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">opts</span><span class=\"o\">.</span><span class=\"n\">selection</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">&quot;path&quot;</span><span class=\"p\">),</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"p\">{</span><span class=\"n\">reload_resources</span><span class=\"o\">=</span><span class=\"bp\">false</span><span class=\"p\">})</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">end</span><span class=\"w\"></span>\n<span class=\"p\">})</span><span class=\"w\"></span>\n</code></pre></div>",
1096
+ "replaces": "",
1097
+ "error": "",
1098
+ "tparams": [],
1099
+ "members": [],
1100
+ "notes": [],
1101
+ "language": ""
1102
+ },
1103
+ {
1104
+ "type": "FUNCTION",
1105
+ "name": "editor.resource_attributes",
1106
+ "brief": "query information about a project resource",
1107
+ "description": "Query information about a project resource",
1108
+ "returnvalues": [
1109
+ {
1110
+ "name": "value",
1111
+ "doc": "A table with the following keys:<dl><dt><code>exists <small>boolean</small></code></dt><dd>whether a resource identified by the path exists in the project</dd><dt><code>is_file <small>boolean</small></code></dt><dd>whether the resource represents a file with some content</dd><dt><code>is_directory <small>boolean</small></code></dt><dd>whether the resource represents a directory</dd></dl>",
1112
+ "types": ["table"]
1113
+ }
1114
+ ],
1115
+ "parameters": [
1116
+ {
1117
+ "name": "resource_path",
1118
+ "doc": "Resource path (starting with <code>/</code>)",
1119
+ "types": ["string"],
1120
+ "is_optional": "False"
1121
+ }
1122
+ ],
1123
+ "examples": "",
1124
+ "replaces": "",
1125
+ "error": "",
1126
+ "tparams": [],
1127
+ "members": [],
1128
+ "notes": [],
1129
+ "language": ""
1130
+ },
1131
+ {
1132
+ "type": "FUNCTION",
1133
+ "name": "editor.create_directory",
1134
+ "brief": "create a directory if it does not exist, and all non-existent parent directories.",
1135
+ "description": "Create a directory if it does not exist, and all non-existent parent directories.\nThrows an error if the directory can't be created.",
1136
+ "returnvalues": [],
1137
+ "parameters": [
1138
+ {
1139
+ "name": "resource_path",
1140
+ "doc": "Resource path (starting with <code>/</code>)",
1141
+ "types": ["string"],
1142
+ "is_optional": "False"
1143
+ }
1144
+ ],
1145
+ "examples": "<div class=\"codehilite\"><pre><span></span><code>editor.create_directory(&quot;/assets/gen&quot;)\n</code></pre></div>",
1146
+ "replaces": "",
1147
+ "error": "",
1148
+ "tparams": [],
1149
+ "members": [],
1150
+ "notes": [],
1151
+ "language": ""
1152
+ },
1153
+ {
1154
+ "type": "FUNCTION",
1155
+ "name": "editor.create_resources",
1156
+ "brief": "create resources (including non-existent parent directories).",
1157
+ "description": "Create resources (including non-existent parent directories).\nThrows an error if any of the provided resource paths already exist",
1158
+ "returnvalues": [],
1159
+ "parameters": [
1160
+ {
1161
+ "name": "resources",
1162
+ "doc": "] Array of resource paths (strings starting with <code>/</code>) or resource definitions, lua tables with the following keys:<dl><dt><code>1 <small>string</small></code></dt><dd>required, resource path (starting with <code>/</code>)</dd><dt><code>2 <small>string</small></code></dt><dd>optional, created resource content</dd></dl>",
1163
+ "types": ["string["],
1164
+ "is_optional": "False"
1165
+ }
1166
+ ],
1167
+ "examples": "Create a single resource from template:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">editor</span><span class=\"p\">.</span><span class=\"n\">create_resources</span><span class=\"p\">(</span><span class=\"err\">{</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"ss\">&quot;/npc.go&quot;</span><span class=\"w\"></span>\n<span class=\"err\">}</span><span class=\"p\">)</span><span class=\"w\"></span>\n</code></pre></div>\n\nCreate multiple resources:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">editor</span><span class=\"p\">.</span><span class=\"n\">create_resources</span><span class=\"p\">(</span><span class=\"err\">{</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"ss\">&quot;/npc.go&quot;</span><span class=\"p\">,</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"ss\">&quot;/levels/1.collection&quot;</span><span class=\"p\">,</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"ss\">&quot;/levels/2.collection&quot;</span><span class=\"p\">,</span><span class=\"w\"></span>\n<span class=\"err\">}</span><span class=\"p\">)</span><span class=\"w\"></span>\n</code></pre></div>\n\nCreate a resource with custom content:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">editor</span><span class=\"p\">.</span><span class=\"n\">create_resources</span><span class=\"p\">(</span><span class=\"err\">{</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"err\">{</span><span class=\"ss\">&quot;/npc.script&quot;</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"ss\">&quot;go.property(&#39;hp&#39;, 100)&quot;</span><span class=\"err\">}</span><span class=\"w\"></span>\n<span class=\"err\">}</span><span class=\"p\">)</span><span class=\"w\"></span>\n</code></pre></div>",
1168
+ "replaces": "",
1169
+ "error": "",
1170
+ "tparams": [],
1171
+ "members": [],
1172
+ "notes": [],
1173
+ "language": ""
1174
+ },
1175
+ {
1176
+ "type": "FUNCTION",
1177
+ "name": "editor.delete_directory",
1178
+ "brief": "delete a directory if it exists, and all existent child directories and files.",
1179
+ "description": "Delete a directory if it exists, and all existent child directories and files.\nThrows an error if the directory can't be deleted.",
1180
+ "returnvalues": [],
1181
+ "parameters": [
1182
+ {
1183
+ "name": "resource_path",
1184
+ "doc": "Resource path (starting with <code>/</code>)",
1185
+ "types": ["string"],
1186
+ "is_optional": "False"
1187
+ }
1188
+ ],
1189
+ "examples": "<div class=\"codehilite\"><pre><span></span><code>editor.delete_directory(&quot;/assets/gen&quot;)\n</code></pre></div>",
1190
+ "replaces": "",
1191
+ "error": "",
1192
+ "tparams": [],
1193
+ "members": [],
1194
+ "notes": [],
1195
+ "language": ""
1196
+ },
1197
+ {
1198
+ "type": "FUNCTION",
1199
+ "name": "editor.external_file_attributes",
1200
+ "brief": "query information about file system path",
1201
+ "description": "Query information about file system path",
1202
+ "returnvalues": [
1203
+ {
1204
+ "name": "attributes",
1205
+ "doc": "A table with the following keys:<dl> <dt><code>path <small>string</small></code></dt> <dd>resolved file path</dd> <dt><code>exists <small>boolean</small></code></dt> <dd>whether there is a file system entry at the path</dd> <dt><code>is_file <small>boolean</small></code></dt> <dd>whether the path corresponds to a file</dd> <dt><code>is_directory <small>boolean</small></code></dt> <dd>whether the path corresponds to a directory</dd> </dl>",
1206
+ "types": ["table"]
1207
+ }
1208
+ ],
1209
+ "parameters": [
1210
+ {
1211
+ "name": "path",
1212
+ "doc": "External file path, resolved against project root if relative",
1213
+ "types": ["string"],
1214
+ "is_optional": "False"
1215
+ }
1216
+ ],
1217
+ "examples": "",
1218
+ "replaces": "",
1219
+ "error": "",
1220
+ "tparams": [],
1221
+ "members": [],
1222
+ "notes": [],
1223
+ "language": ""
1224
+ },
1225
+ {
1226
+ "type": "FUNCTION",
1227
+ "name": "editor.execute",
1228
+ "brief": "execute a shell command.",
1229
+ "description": "Execute a shell command.\nAny shell command arguments should be provided as separate argument strings to this function. If the exit code of the process is not zero, this function throws error. By default, the function returns <code>nil</code>, but it can be configured to capture the output of the shell command as string and return it \u2014 set <code>out</code> option to <code>\"capture\"</code> to do it.<br>By default, after this shell command is executed, the editor will reload resources from disk.",
1230
+ "returnvalues": [
1231
+ {
1232
+ "name": "result",
1233
+ "doc": "If <code>out</code> option is set to <code>\"capture\"</code>, returns the output as string with trimmed trailing newlines. Otherwise, returns <code>nil</code>.",
1234
+ "types": ["nil", "string"]
1235
+ }
1236
+ ],
1237
+ "parameters": [
1238
+ {
1239
+ "name": "command",
1240
+ "doc": "Shell command name to execute",
1241
+ "types": ["string"],
1242
+ "is_optional": "False"
1243
+ },
1244
+ {
1245
+ "name": "...",
1246
+ "doc": "Optional shell command arguments",
1247
+ "types": ["string"],
1248
+ "is_optional": "True"
1249
+ },
1250
+ {
1251
+ "name": "options",
1252
+ "doc": "Optional options table. Supported entries: <ul> <li> <span class=\"type\">boolean</span> <code>reload_resources</code>: make the editor reload the resources from disk after the command is executed, default <code>true</code> </li> <li> <span class=\"type\">string</span> <code>out</code>: standard output mode, either: <ul> <li> <code>\"pipe\"</code>: the output is piped to the editor console (this is the default behavior). </li> <li> <code>\"capture\"</code>: capture and return the output to the editor script with trailing newlines trimmed. </li> <li> <code>\"discard\"</code>: the output is discarded completely. </li> </ul> </li> <li> <span class=\"type\">string</span> <code>err</code>: standard error output mode, either: <ul> <li> <code>\"pipe\"</code>: the error output is piped to the editor console (this is the default behavior). </li> <li> <code>\"stdout\"</code>: the error output is redirected to the standard output of the process. </li> <li> <code>\"discard\"</code>: the error output is discarded completely. </li> </ul> </li> </ul>",
1253
+ "types": ["table"],
1254
+ "is_optional": "True"
1255
+ }
1256
+ ],
1257
+ "examples": "Make a directory with spaces in it:\n<div class=\"codehilite\"><pre><span></span><code>editor.execute(&quot;mkdir&quot;, &quot;new dir&quot;)\n</code></pre></div>\n\nRead the git status:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">local</span><span class=\"w\"> </span><span class=\"n\">status</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">editor</span><span class=\"o\">.</span><span class=\"n\">execute</span><span class=\"p\">(</span><span class=\"s2\">&quot;git&quot;</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">&quot;status&quot;</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"s2\">&quot;--porcelain&quot;</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">reload_resources</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"bp\">false</span><span class=\"p\">,</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"n\">out</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"s2\">&quot;capture&quot;</span><span class=\"w\"></span>\n<span class=\"p\">})</span><span class=\"w\"></span>\n</code></pre></div>",
1258
+ "replaces": "",
1259
+ "error": "",
1260
+ "tparams": [],
1261
+ "members": [],
1262
+ "notes": [],
1263
+ "language": ""
1264
+ },
1265
+ {
1266
+ "type": "FUNCTION",
1267
+ "name": "editor.bob",
1268
+ "brief": "run bob the builder program",
1269
+ "description": "Run bob the builder program\nFor the full documentation of the available commands and options, see <a href=\"https://defold.com/manuals/bob/\">the bob manual</a>.",
1270
+ "returnvalues": [],
1271
+ "parameters": [
1272
+ {
1273
+ "name": "options",
1274
+ "doc": "table of command line options for bob, without the leading dashes (<code>--</code>). You can use snake_case instead of kebab-case for option keys. Only long option names are supported (i.e. <code>output</code>, not <code>o</code>). Supported value types are strings, integers and booleans. If an option takes no arguments, use a boolean (i.e. <code>true</code>). If an option may be repeated, you can use an array of values.",
1275
+ "types": ["table"],
1276
+ "is_optional": "True"
1277
+ },
1278
+ {
1279
+ "name": "...commands",
1280
+ "doc": "bob commands, e.g. <code>\"resolve\"</code> or <code>\"build\"</code>",
1281
+ "types": ["string"],
1282
+ "is_optional": "True"
1283
+ }
1284
+ ],
1285
+ "examples": "Print help in the console:\n<div class=\"codehilite\"><pre><span></span><code>editor.bob({help = true})\n</code></pre></div>\n\nBundle the game for the host platform:\n<div class=\"codehilite\"><pre><span></span><code>local opts = {\n archive = true,\n platform = editor.platform\n}\neditor.bob(opts, &quot;distclean&quot;, &quot;resolve&quot;, &quot;build&quot;, &quot;bundle&quot;)\n</code></pre></div>\n\nUsing snake_cased and repeated options:\n<div class=\"codehilite\"><pre><span></span><code>local opts = {\n archive = true,\n platform = editor.platform,\n build_server = &quot;https://build.my-company.com&quot;,\n settings = {&quot;test.ini&quot;, &quot;headless.ini&quot;}\n}\neditor.bob(opts, &quot;distclean&quot;, &quot;resolve&quot;, &quot;build&quot;)\n</code></pre></div>",
1286
+ "replaces": "",
1287
+ "error": "",
1288
+ "tparams": [],
1289
+ "members": [],
1290
+ "notes": [],
1291
+ "language": ""
1292
+ },
1293
+ {
1294
+ "type": "FUNCTION",
1295
+ "name": "editor.browse",
1296
+ "brief": "open a URL in the default browser or a registered application",
1297
+ "description": "Open a URL in the default browser or a registered application",
1298
+ "returnvalues": [],
1299
+ "parameters": [
1300
+ {
1301
+ "name": "url",
1302
+ "doc": "http(s) or file URL",
1303
+ "types": ["string"],
1304
+ "is_optional": "False"
1305
+ }
1306
+ ],
1307
+ "examples": "",
1308
+ "replaces": "",
1309
+ "error": "",
1310
+ "tparams": [],
1311
+ "members": [],
1312
+ "notes": [],
1313
+ "language": ""
1314
+ },
1315
+ {
1316
+ "type": "FUNCTION",
1317
+ "name": "editor.open_external_file",
1318
+ "brief": "open a file in a registered application",
1319
+ "description": "Open a file in a registered application",
1320
+ "returnvalues": [],
1321
+ "parameters": [
1322
+ {
1323
+ "name": "path",
1324
+ "doc": "file path",
1325
+ "types": ["string"],
1326
+ "is_optional": "False"
1327
+ }
1328
+ ],
1329
+ "examples": "",
1330
+ "replaces": "",
1331
+ "error": "",
1332
+ "tparams": [],
1333
+ "members": [],
1334
+ "notes": [],
1335
+ "language": ""
1336
+ },
1337
+ {
1338
+ "type": "FUNCTION",
1339
+ "name": "editor.save",
1340
+ "brief": "persist any unsaved changes to disk",
1341
+ "description": "Persist any unsaved changes to disk",
1342
+ "returnvalues": [],
1343
+ "parameters": [],
1344
+ "examples": "",
1345
+ "replaces": "",
1346
+ "error": "",
1347
+ "tparams": [],
1348
+ "members": [],
1349
+ "notes": [],
1350
+ "language": ""
1351
+ },
1352
+ {
1353
+ "type": "FUNCTION",
1354
+ "name": "editor.fetch_libraries",
1355
+ "brief": "download the latest version of the project library dependencies and reload library-provided editor scripts.",
1356
+ "description": "Download the latest version of the project library dependencies and reload library-provided editor scripts.\nThis function may replace library-provided editor commands, hooks, routes, and UI contributed by editor scripts, so it should typically be the last operation performed by a command.",
1357
+ "returnvalues": [],
1358
+ "parameters": [],
1359
+ "examples": "",
1360
+ "replaces": "",
1361
+ "error": "",
1362
+ "tparams": [],
1363
+ "members": [],
1364
+ "notes": [],
1365
+ "language": ""
1366
+ },
1367
+ {
1368
+ "type": "FUNCTION",
1369
+ "name": "editor.transact",
1370
+ "brief": "change the editor state in a single, undoable transaction",
1371
+ "description": "Change the editor state in a single, undoable transaction",
1372
+ "returnvalues": [],
1373
+ "parameters": [
1374
+ {
1375
+ "name": "txs",
1376
+ "doc": "] An array of transaction steps created using <code>editor.tx.*</code> functions",
1377
+ "types": ["transaction_step["],
1378
+ "is_optional": "False"
1379
+ }
1380
+ ],
1381
+ "examples": "",
1382
+ "replaces": "",
1383
+ "error": "",
1384
+ "tparams": [],
1385
+ "members": [],
1386
+ "notes": [],
1387
+ "language": ""
1388
+ },
1389
+ {
1390
+ "type": "FUNCTION",
1391
+ "name": "editor.tx.set",
1392
+ "brief": "create transaction step that will set the node's property to a supplied value when transacted with <code>editor.transact()</code>.",
1393
+ "description": "Create transaction step that will set the node's property to a supplied value when transacted with <code>editor.transact()</code>.",
1394
+ "returnvalues": [
1395
+ {
1396
+ "name": "tx",
1397
+ "doc": "A transaction step",
1398
+ "types": ["transaction_step"]
1399
+ }
1400
+ ],
1401
+ "parameters": [
1402
+ {
1403
+ "name": "node",
1404
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
1405
+ "types": ["string", "userdata"],
1406
+ "is_optional": "False"
1407
+ },
1408
+ {
1409
+ "name": "property",
1410
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
1411
+ "types": ["string"],
1412
+ "is_optional": "False"
1413
+ },
1414
+ {
1415
+ "name": "value",
1416
+ "doc": "A new value for the property",
1417
+ "types": ["any"],
1418
+ "is_optional": "False"
1419
+ }
1420
+ ],
1421
+ "examples": "",
1422
+ "replaces": "",
1423
+ "error": "",
1424
+ "tparams": [],
1425
+ "members": [],
1426
+ "notes": [],
1427
+ "language": ""
1428
+ },
1429
+ {
1430
+ "type": "FUNCTION",
1431
+ "name": "editor.tx.add",
1432
+ "brief": "create a transaction step that will add a child item to a node's list property when transacted with <code>editor.transact()</code>.",
1433
+ "description": "Create a transaction step that will add a child item to a node's list property when transacted with <code>editor.transact()</code>.",
1434
+ "returnvalues": [],
1435
+ "parameters": [
1436
+ {
1437
+ "name": "node",
1438
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
1439
+ "types": ["string", "userdata"],
1440
+ "is_optional": "False"
1441
+ },
1442
+ {
1443
+ "name": "property",
1444
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
1445
+ "types": ["string"],
1446
+ "is_optional": "False"
1447
+ },
1448
+ {
1449
+ "name": "value",
1450
+ "doc": "Added item for the property, a table from property key to either a valid <code>editor.tx.set()</code>-able value, or an array of valid <code>editor.tx.add()</code>-able values",
1451
+ "types": ["any"],
1452
+ "is_optional": "False"
1453
+ }
1454
+ ],
1455
+ "examples": "",
1456
+ "replaces": "",
1457
+ "error": "",
1458
+ "tparams": [],
1459
+ "members": [],
1460
+ "notes": [],
1461
+ "language": ""
1462
+ },
1463
+ {
1464
+ "type": "FUNCTION",
1465
+ "name": "editor.tx.clear",
1466
+ "brief": "create a transaction step that will remove all items from node's list property when transacted with <code>editor.transact()</code>.",
1467
+ "description": "Create a transaction step that will remove all items from node's list property when transacted with <code>editor.transact()</code>.",
1468
+ "returnvalues": [
1469
+ {
1470
+ "name": "tx",
1471
+ "doc": "A transaction step",
1472
+ "types": ["transaction_step"]
1473
+ }
1474
+ ],
1475
+ "parameters": [
1476
+ {
1477
+ "name": "node",
1478
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
1479
+ "types": ["string", "userdata"],
1480
+ "is_optional": "False"
1481
+ },
1482
+ {
1483
+ "name": "property",
1484
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
1485
+ "types": ["string"],
1486
+ "is_optional": "False"
1487
+ }
1488
+ ],
1489
+ "examples": "",
1490
+ "replaces": "",
1491
+ "error": "",
1492
+ "tparams": [],
1493
+ "members": [],
1494
+ "notes": [],
1495
+ "language": ""
1496
+ },
1497
+ {
1498
+ "type": "FUNCTION",
1499
+ "name": "editor.tx.remove",
1500
+ "brief": "create a transaction step that will remove a child node from the node's list property when transacted with <code>editor.transact()</code>.",
1501
+ "description": "Create a transaction step that will remove a child node from the node's list property when transacted with <code>editor.transact()</code>.",
1502
+ "returnvalues": [
1503
+ {
1504
+ "name": "tx",
1505
+ "doc": "A transaction step",
1506
+ "types": ["transaction_step"]
1507
+ }
1508
+ ],
1509
+ "parameters": [
1510
+ {
1511
+ "name": "node",
1512
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
1513
+ "types": ["string", "userdata"],
1514
+ "is_optional": "False"
1515
+ },
1516
+ {
1517
+ "name": "property",
1518
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
1519
+ "types": ["string"],
1520
+ "is_optional": "False"
1521
+ },
1522
+ {
1523
+ "name": "child_node",
1524
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
1525
+ "types": ["string", "userdata"],
1526
+ "is_optional": "False"
1527
+ }
1528
+ ],
1529
+ "examples": "",
1530
+ "replaces": "",
1531
+ "error": "",
1532
+ "tparams": [],
1533
+ "members": [],
1534
+ "notes": [],
1535
+ "language": ""
1536
+ },
1537
+ {
1538
+ "type": "FUNCTION",
1539
+ "name": "editor.tx.reorder",
1540
+ "brief": "create a transaction step that reorders child nodes in a node list defined by the property if supported (see <code>editor.can_reorder()</code>)",
1541
+ "description": "Create a transaction step that reorders child nodes in a node list defined by the property if supported (see <code>editor.can_reorder()</code>)",
1542
+ "returnvalues": [
1543
+ {
1544
+ "name": "tx",
1545
+ "doc": "A transaction step",
1546
+ "types": ["transaction_step"]
1547
+ }
1548
+ ],
1549
+ "parameters": [
1550
+ {
1551
+ "name": "node",
1552
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
1553
+ "types": ["string", "userdata"],
1554
+ "is_optional": "False"
1555
+ },
1556
+ {
1557
+ "name": "property",
1558
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
1559
+ "types": ["string"],
1560
+ "is_optional": "False"
1561
+ },
1562
+ {
1563
+ "name": "child_nodes",
1564
+ "doc": "array of child nodes (the same as returned by <code>editor.get(node, property)</code>) in new order",
1565
+ "types": ["table"],
1566
+ "is_optional": "False"
1567
+ }
1568
+ ],
1569
+ "examples": "",
1570
+ "replaces": "",
1571
+ "error": "",
1572
+ "tparams": [],
1573
+ "members": [],
1574
+ "notes": [],
1575
+ "language": ""
1576
+ },
1577
+ {
1578
+ "type": "FUNCTION",
1579
+ "name": "editor.tx.reset",
1580
+ "brief": "create a transaction step that will reset an overridden property to its default value when transacted with <code>editor.transact()</code>.",
1581
+ "description": "Create a transaction step that will reset an overridden property to its default value when transacted with <code>editor.transact()</code>.",
1582
+ "returnvalues": [
1583
+ {
1584
+ "name": "tx",
1585
+ "doc": "A transaction step",
1586
+ "types": ["transaction_step"]
1587
+ }
1588
+ ],
1589
+ "parameters": [
1590
+ {
1591
+ "name": "node",
1592
+ "doc": "Either resource path (e.g. <code>\"/main/game.script\"</code>), or internal node id passed to the script by the editor",
1593
+ "types": ["string", "userdata"],
1594
+ "is_optional": "False"
1595
+ },
1596
+ {
1597
+ "name": "property",
1598
+ "doc": "Either <code>\"path\"</code>, <code>\"text\"</code>, or a property from the Outline view (hover the label to see its editor script name)",
1599
+ "types": ["string"],
1600
+ "is_optional": "False"
1601
+ }
1602
+ ],
1603
+ "examples": "",
1604
+ "replaces": "",
1605
+ "error": "",
1606
+ "tparams": [],
1607
+ "members": [],
1608
+ "notes": [],
1609
+ "language": ""
1610
+ },
1611
+ {
1612
+ "type": "FUNCTION",
1613
+ "name": "editor.ui.open_resource",
1614
+ "brief": "open a resource, either in the editor or in a third-party app",
1615
+ "description": "Open a resource, either in the editor or in a third-party app",
1616
+ "returnvalues": [],
1617
+ "parameters": [
1618
+ {
1619
+ "name": "resource_path",
1620
+ "doc": "Resource path (starting with <code>/</code>)",
1621
+ "types": ["string"],
1622
+ "is_optional": "False"
1623
+ }
1624
+ ],
1625
+ "examples": "",
1626
+ "replaces": "",
1627
+ "error": "",
1628
+ "tparams": [],
1629
+ "members": [],
1630
+ "notes": [],
1631
+ "language": ""
1632
+ },
1633
+ {
1634
+ "type": "FUNCTION",
1635
+ "name": "editor.ui.horizontal",
1636
+ "brief": "layout container that places its children in a horizontal row one after another",
1637
+ "description": "Layout container that places its children in a horizontal row one after another",
1638
+ "returnvalues": [
1639
+ {
1640
+ "name": "value",
1641
+ "doc": "UI component",
1642
+ "types": ["component"]
1643
+ }
1644
+ ],
1645
+ "parameters": [
1646
+ {
1647
+ "name": "props",
1648
+ "doc": "Optional props: <dl><dt><code>children <small>component[]</small></code></dt><dd>array of child components</dd><dt><code>padding <small>string, number</small></code></dt><dd>empty space from the edges of the container to its children; either: <ul><li><code>editor.ui.PADDING.NONE</code></li><li><code>editor.ui.PADDING.SMALL</code></li><li><code>editor.ui.PADDING.MEDIUM</code></li><li><code>editor.ui.PADDING.LARGE</code></li><li>non-negative number, pixels</li></ul></dd><dt><code>spacing <small>string, number</small></code></dt><dd>empty space between child components, defaults to <code>editor.ui.SPACING.MEDIUM</code>; either: <ul><li><code>editor.ui.SPACING.NONE</code></li><li><code>editor.ui.SPACING.SMALL</code></li><li><code>editor.ui.SPACING.MEDIUM</code></li><li><code>editor.ui.SPACING.LARGE</code></li><li>non-negative number, pixels</li></ul></dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1649
+ "types": ["table"],
1650
+ "is_optional": "False"
1651
+ }
1652
+ ],
1653
+ "examples": "",
1654
+ "replaces": "",
1655
+ "error": "",
1656
+ "tparams": [],
1657
+ "members": [],
1658
+ "notes": [],
1659
+ "language": ""
1660
+ },
1661
+ {
1662
+ "type": "FUNCTION",
1663
+ "name": "editor.ui.vertical",
1664
+ "brief": "layout container that places its children in a vertical column one after another",
1665
+ "description": "Layout container that places its children in a vertical column one after another",
1666
+ "returnvalues": [
1667
+ {
1668
+ "name": "value",
1669
+ "doc": "UI component",
1670
+ "types": ["component"]
1671
+ }
1672
+ ],
1673
+ "parameters": [
1674
+ {
1675
+ "name": "props",
1676
+ "doc": "Optional props: <dl><dt><code>children <small>component[]</small></code></dt><dd>array of child components</dd><dt><code>padding <small>string, number</small></code></dt><dd>empty space from the edges of the container to its children; either: <ul><li><code>editor.ui.PADDING.NONE</code></li><li><code>editor.ui.PADDING.SMALL</code></li><li><code>editor.ui.PADDING.MEDIUM</code></li><li><code>editor.ui.PADDING.LARGE</code></li><li>non-negative number, pixels</li></ul></dd><dt><code>spacing <small>string, number</small></code></dt><dd>empty space between child components, defaults to <code>editor.ui.SPACING.MEDIUM</code>; either: <ul><li><code>editor.ui.SPACING.NONE</code></li><li><code>editor.ui.SPACING.SMALL</code></li><li><code>editor.ui.SPACING.MEDIUM</code></li><li><code>editor.ui.SPACING.LARGE</code></li><li>non-negative number, pixels</li></ul></dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1677
+ "types": ["table"],
1678
+ "is_optional": "False"
1679
+ }
1680
+ ],
1681
+ "examples": "",
1682
+ "replaces": "",
1683
+ "error": "",
1684
+ "tparams": [],
1685
+ "members": [],
1686
+ "notes": [],
1687
+ "language": ""
1688
+ },
1689
+ {
1690
+ "type": "FUNCTION",
1691
+ "name": "editor.ui.grid",
1692
+ "brief": "layout container that places its children in a 2D grid",
1693
+ "description": "Layout container that places its children in a 2D grid",
1694
+ "returnvalues": [
1695
+ {
1696
+ "name": "value",
1697
+ "doc": "UI component",
1698
+ "types": ["component"]
1699
+ }
1700
+ ],
1701
+ "parameters": [
1702
+ {
1703
+ "name": "props",
1704
+ "doc": "Optional props: <dl><dt><code>children <small>component[][]</small></code></dt><dd>array of arrays of child components</dd><dt><code>rows <small>table[]</small></code></dt><dd>array of row option tables, separate configuration for each row:<dl><dt><code>grow <small>boolean</small></code></dt><dd>determines if the row should grow to fill available space</dd></dl></dd><dt><code>columns <small>table[]</small></code></dt><dd>array of column option tables, separate configuration for each column:<dl><dt><code>grow <small>boolean</small></code></dt><dd>determines if the column should grow to fill available space</dd></dl></dd><dt><code>padding <small>string, number</small></code></dt><dd>empty space from the edges of the container to its children; either: <ul><li><code>editor.ui.PADDING.NONE</code></li><li><code>editor.ui.PADDING.SMALL</code></li><li><code>editor.ui.PADDING.MEDIUM</code></li><li><code>editor.ui.PADDING.LARGE</code></li><li>non-negative number, pixels</li></ul></dd><dt><code>spacing <small>string, number</small></code></dt><dd>empty space between child components, defaults to <code>editor.ui.SPACING.MEDIUM</code>; either: <ul><li><code>editor.ui.SPACING.NONE</code></li><li><code>editor.ui.SPACING.SMALL</code></li><li><code>editor.ui.SPACING.MEDIUM</code></li><li><code>editor.ui.SPACING.LARGE</code></li><li>non-negative number, pixels</li></ul></dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1705
+ "types": ["table"],
1706
+ "is_optional": "False"
1707
+ }
1708
+ ],
1709
+ "examples": "",
1710
+ "replaces": "",
1711
+ "error": "",
1712
+ "tparams": [],
1713
+ "members": [],
1714
+ "notes": [],
1715
+ "language": ""
1716
+ },
1717
+ {
1718
+ "type": "FUNCTION",
1719
+ "name": "editor.ui.separator",
1720
+ "brief": "thin line for visual content separation, by default horizontal and aligned to center",
1721
+ "description": "Thin line for visual content separation, by default horizontal and aligned to center",
1722
+ "returnvalues": [
1723
+ {
1724
+ "name": "value",
1725
+ "doc": "UI component",
1726
+ "types": ["component"]
1727
+ }
1728
+ ],
1729
+ "parameters": [
1730
+ {
1731
+ "name": "props",
1732
+ "doc": "Optional props: <dl><dt><code>orientation <small>string</small></code></dt><dd>separator line orientation, <code>editor.ui.ORIENTATION.VERTICAL</code> or <code>editor.ui.ORIENTATION.HORIZONTAL</code>; either: <ul><li><code>editor.ui.ORIENTATION.VERTICAL</code></li><li><code>editor.ui.ORIENTATION.HORIZONTAL</code></li></ul></dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1733
+ "types": ["table"],
1734
+ "is_optional": "False"
1735
+ }
1736
+ ],
1737
+ "examples": "",
1738
+ "replaces": "",
1739
+ "error": "",
1740
+ "tparams": [],
1741
+ "members": [],
1742
+ "notes": [],
1743
+ "language": ""
1744
+ },
1745
+ {
1746
+ "type": "FUNCTION",
1747
+ "name": "editor.ui.scroll",
1748
+ "brief": "layout container that optionally shows scroll bars if child contents overflow the assigned bounds",
1749
+ "description": "Layout container that optionally shows scroll bars if child contents overflow the assigned bounds",
1750
+ "returnvalues": [
1751
+ {
1752
+ "name": "value",
1753
+ "doc": "UI component",
1754
+ "types": ["component"]
1755
+ }
1756
+ ],
1757
+ "parameters": [
1758
+ {
1759
+ "name": "props",
1760
+ "doc": "Required props: <dl><dt><code>content <small>component</small></code></dt><dd>content component</dd></dl> Optional props: <dl><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1761
+ "types": ["table"],
1762
+ "is_optional": "False"
1763
+ }
1764
+ ],
1765
+ "examples": "",
1766
+ "replaces": "",
1767
+ "error": "",
1768
+ "tparams": [],
1769
+ "members": [],
1770
+ "notes": [],
1771
+ "language": ""
1772
+ },
1773
+ {
1774
+ "type": "FUNCTION",
1775
+ "name": "editor.ui.tabs",
1776
+ "brief": "layout container that shows one selected tab content at a time",
1777
+ "description": "Layout container that shows one selected tab content at a time",
1778
+ "returnvalues": [
1779
+ {
1780
+ "name": "value",
1781
+ "doc": "UI component",
1782
+ "types": ["component"]
1783
+ }
1784
+ ],
1785
+ "parameters": [
1786
+ {
1787
+ "name": "props",
1788
+ "doc": "Optional props: <dl><dt><code>tabs <small>component[]</small></code></dt><dd>array of <code>editor.ui.tab(...)</code> components</dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1789
+ "types": ["table"],
1790
+ "is_optional": "False"
1791
+ }
1792
+ ],
1793
+ "examples": "",
1794
+ "replaces": "",
1795
+ "error": "",
1796
+ "tparams": [],
1797
+ "members": [],
1798
+ "notes": [],
1799
+ "language": ""
1800
+ },
1801
+ {
1802
+ "type": "FUNCTION",
1803
+ "name": "editor.ui.label",
1804
+ "brief": "label intended for use with input components",
1805
+ "description": "Label intended for use with input components",
1806
+ "returnvalues": [
1807
+ {
1808
+ "name": "value",
1809
+ "doc": "UI component",
1810
+ "types": ["component"]
1811
+ }
1812
+ ],
1813
+ "parameters": [
1814
+ {
1815
+ "name": "props",
1816
+ "doc": "Optional props: <dl><dt><code>text <small>string, message</small></code></dt><dd>the text, either a string or a localization message</dd><dt><code>text_alignment <small>string</small></code></dt><dd>text alignment within paragraph bounds; either: <ul><li><code>editor.ui.TEXT_ALIGNMENT.LEFT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.CENTER</code></li><li><code>editor.ui.TEXT_ALIGNMENT.RIGHT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.JUSTIFY</code></li></ul></dd><dt><code>color <small>string</small></code></dt><dd>semantic color, defaults to <code>editor.ui.COLOR.TEXT</code>; either: <ul><li><code>editor.ui.COLOR.TEXT</code></li><li><code>editor.ui.COLOR.HINT</code></li><li><code>editor.ui.COLOR.OVERRIDE</code></li><li><code>editor.ui.COLOR.WARNING</code></li><li><code>editor.ui.COLOR.ERROR</code></li></ul></dd><dt><code>tooltip <small>string, message</small></code></dt><dd>tooltip message shown on hover; either a string or a localization message</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1817
+ "types": ["table"],
1818
+ "is_optional": "False"
1819
+ }
1820
+ ],
1821
+ "examples": "",
1822
+ "replaces": "",
1823
+ "error": "",
1824
+ "tparams": [],
1825
+ "members": [],
1826
+ "notes": [],
1827
+ "language": ""
1828
+ },
1829
+ {
1830
+ "type": "FUNCTION",
1831
+ "name": "editor.ui.paragraph",
1832
+ "brief": "a paragraph of text",
1833
+ "description": "A paragraph of text",
1834
+ "returnvalues": [
1835
+ {
1836
+ "name": "value",
1837
+ "doc": "UI component",
1838
+ "types": ["component"]
1839
+ }
1840
+ ],
1841
+ "parameters": [
1842
+ {
1843
+ "name": "props",
1844
+ "doc": "Optional props: <dl><dt><code>text <small>string, message</small></code></dt><dd>the text, either a string or a localization message</dd><dt><code>text_alignment <small>string</small></code></dt><dd>text alignment within paragraph bounds; either: <ul><li><code>editor.ui.TEXT_ALIGNMENT.LEFT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.CENTER</code></li><li><code>editor.ui.TEXT_ALIGNMENT.RIGHT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.JUSTIFY</code></li></ul></dd><dt><code>color <small>string</small></code></dt><dd>semantic color, defaults to <code>editor.ui.COLOR.TEXT</code>; either: <ul><li><code>editor.ui.COLOR.TEXT</code></li><li><code>editor.ui.COLOR.HINT</code></li><li><code>editor.ui.COLOR.OVERRIDE</code></li><li><code>editor.ui.COLOR.WARNING</code></li><li><code>editor.ui.COLOR.ERROR</code></li></ul></dd><dt><code>word_wrap <small>boolean</small></code></dt><dd>determines if the lines of text are word-wrapped when they don't fit in the assigned bounds, defaults to true</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1845
+ "types": ["table"],
1846
+ "is_optional": "False"
1847
+ }
1848
+ ],
1849
+ "examples": "",
1850
+ "replaces": "",
1851
+ "error": "",
1852
+ "tparams": [],
1853
+ "members": [],
1854
+ "notes": [],
1855
+ "language": ""
1856
+ },
1857
+ {
1858
+ "type": "FUNCTION",
1859
+ "name": "editor.ui.heading",
1860
+ "brief": "a text heading",
1861
+ "description": "A text heading",
1862
+ "returnvalues": [
1863
+ {
1864
+ "name": "value",
1865
+ "doc": "UI component",
1866
+ "types": ["component"]
1867
+ }
1868
+ ],
1869
+ "parameters": [
1870
+ {
1871
+ "name": "props",
1872
+ "doc": "Optional props: <dl><dt><code>text <small>string, message</small></code></dt><dd>the text, either a string or a localization message</dd><dt><code>text_alignment <small>string</small></code></dt><dd>text alignment within paragraph bounds; either: <ul><li><code>editor.ui.TEXT_ALIGNMENT.LEFT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.CENTER</code></li><li><code>editor.ui.TEXT_ALIGNMENT.RIGHT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.JUSTIFY</code></li></ul></dd><dt><code>color <small>string</small></code></dt><dd>semantic color, defaults to <code>editor.ui.COLOR.TEXT</code>; either: <ul><li><code>editor.ui.COLOR.TEXT</code></li><li><code>editor.ui.COLOR.HINT</code></li><li><code>editor.ui.COLOR.OVERRIDE</code></li><li><code>editor.ui.COLOR.WARNING</code></li><li><code>editor.ui.COLOR.ERROR</code></li></ul></dd><dt><code>word_wrap <small>boolean</small></code></dt><dd>determines if the lines of text are word-wrapped when they don't fit in the assigned bounds, defaults to true</dd><dt><code>style <small>string</small></code></dt><dd>heading style, defaults to <code>editor.ui.HEADING_STYLE.H3</code>; either: <ul><li><code>editor.ui.HEADING_STYLE.H1</code></li><li><code>editor.ui.HEADING_STYLE.H2</code></li><li><code>editor.ui.HEADING_STYLE.H3</code></li><li><code>editor.ui.HEADING_STYLE.H4</code></li><li><code>editor.ui.HEADING_STYLE.H5</code></li><li><code>editor.ui.HEADING_STYLE.H6</code></li><li><code>editor.ui.HEADING_STYLE.DIALOG</code></li><li><code>editor.ui.HEADING_STYLE.FORM</code></li></ul></dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1873
+ "types": ["table"],
1874
+ "is_optional": "False"
1875
+ }
1876
+ ],
1877
+ "examples": "",
1878
+ "replaces": "",
1879
+ "error": "",
1880
+ "tparams": [],
1881
+ "members": [],
1882
+ "notes": [],
1883
+ "language": ""
1884
+ },
1885
+ {
1886
+ "type": "FUNCTION",
1887
+ "name": "editor.ui.icon",
1888
+ "brief": "an icon from a predefined set",
1889
+ "description": "An icon from a predefined set",
1890
+ "returnvalues": [
1891
+ {
1892
+ "name": "value",
1893
+ "doc": "UI component",
1894
+ "types": ["component"]
1895
+ }
1896
+ ],
1897
+ "parameters": [
1898
+ {
1899
+ "name": "props",
1900
+ "doc": "Required props: <dl><dt><code>icon <small>string</small></code></dt><dd>predefined icon name; either: <ul><li><code>editor.ui.ICON.OPEN_RESOURCE</code></li><li><code>editor.ui.ICON.PLUS</code></li><li><code>editor.ui.ICON.MINUS</code></li><li><code>editor.ui.ICON.CLEAR</code></li></ul></dd></dl> Optional props: <dl><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1901
+ "types": ["table"],
1902
+ "is_optional": "False"
1903
+ }
1904
+ ],
1905
+ "examples": "",
1906
+ "replaces": "",
1907
+ "error": "",
1908
+ "tparams": [],
1909
+ "members": [],
1910
+ "notes": [],
1911
+ "language": ""
1912
+ },
1913
+ {
1914
+ "type": "FUNCTION",
1915
+ "name": "editor.ui.image",
1916
+ "brief": "an image",
1917
+ "description": "An image",
1918
+ "returnvalues": [
1919
+ {
1920
+ "name": "value",
1921
+ "doc": "UI component",
1922
+ "types": ["component"]
1923
+ }
1924
+ ],
1925
+ "parameters": [
1926
+ {
1927
+ "name": "props",
1928
+ "doc": "Required props: <dl><dt><code>image <small>string</small></code></dt><dd>either a resource path (starts with <code>/</code>), or an URL</dd></dl> Optional props: <dl><dt><code>width <small>number</small></code></dt><dd>width of the image view, the image will be fit inside it while preserving its aspect ratio</dd><dt><code>height <small>number</small></code></dt><dd>height of the image view, the image will be fit inside it while preserving its aspect ratio</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1929
+ "types": ["table"],
1930
+ "is_optional": "False"
1931
+ }
1932
+ ],
1933
+ "examples": "",
1934
+ "replaces": "",
1935
+ "error": "",
1936
+ "tparams": [],
1937
+ "members": [],
1938
+ "notes": [],
1939
+ "language": ""
1940
+ },
1941
+ {
1942
+ "type": "FUNCTION",
1943
+ "name": "editor.ui.button",
1944
+ "brief": "button with a label and/or an icon",
1945
+ "description": "Button with a label and/or an icon",
1946
+ "returnvalues": [
1947
+ {
1948
+ "name": "value",
1949
+ "doc": "UI component",
1950
+ "types": ["component"]
1951
+ }
1952
+ ],
1953
+ "parameters": [
1954
+ {
1955
+ "name": "props",
1956
+ "doc": "Optional props: <dl><dt><code>on_pressed <small>function</small></code></dt><dd>button press callback, will be invoked without arguments when the user presses the button</dd><dt><code>text <small>string, message</small></code></dt><dd>the text, either a string or a localization message</dd><dt><code>text_alignment <small>string</small></code></dt><dd>text alignment within paragraph bounds; either: <ul><li><code>editor.ui.TEXT_ALIGNMENT.LEFT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.CENTER</code></li><li><code>editor.ui.TEXT_ALIGNMENT.RIGHT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.JUSTIFY</code></li></ul></dd><dt><code>icon <small>string</small></code></dt><dd>predefined icon name; either: <ul><li><code>editor.ui.ICON.OPEN_RESOURCE</code></li><li><code>editor.ui.ICON.PLUS</code></li><li><code>editor.ui.ICON.MINUS</code></li><li><code>editor.ui.ICON.CLEAR</code></li></ul></dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the input component can be interacted with</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1957
+ "types": ["table"],
1958
+ "is_optional": "False"
1959
+ }
1960
+ ],
1961
+ "examples": "",
1962
+ "replaces": "",
1963
+ "error": "",
1964
+ "tparams": [],
1965
+ "members": [],
1966
+ "notes": [],
1967
+ "language": ""
1968
+ },
1969
+ {
1970
+ "type": "FUNCTION",
1971
+ "name": "editor.ui.check_box",
1972
+ "brief": "check box with a label",
1973
+ "description": "Check box with a label",
1974
+ "returnvalues": [
1975
+ {
1976
+ "name": "value",
1977
+ "doc": "UI component",
1978
+ "types": ["component"]
1979
+ }
1980
+ ],
1981
+ "parameters": [
1982
+ {
1983
+ "name": "props",
1984
+ "doc": "Optional props: <dl><dt><code>value <small>boolean</small></code></dt><dd>determines if the checkbox should appear checked</dd><dt><code>on_value_changed <small>function</small></code></dt><dd>change callback, will receive the new value</dd><dt><code>indeterminate <small>boolean</small></code></dt><dd>determines if the checkbox should appear in the mixed state</dd><dt><code>text <small>string, message</small></code></dt><dd>the text, either a string or a localization message</dd><dt><code>text_alignment <small>string</small></code></dt><dd>text alignment within paragraph bounds; either: <ul><li><code>editor.ui.TEXT_ALIGNMENT.LEFT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.CENTER</code></li><li><code>editor.ui.TEXT_ALIGNMENT.RIGHT</code></li><li><code>editor.ui.TEXT_ALIGNMENT.JUSTIFY</code></li></ul></dd><dt><code>issue <small>table</small></code></dt><dd>issue related to the input; table with the following keys (all required):<dl><dt><code>severity <small>string</small></code></dt><dd>either <code>editor.ui.ISSUE_SEVERITY.WARNING</code> or <code>editor.ui.ISSUE_SEVERITY.ERROR</code></dd><dt><code>message <small>string, message</small></code></dt><dd>issue message that will be shown in a tooltip; either a string or a localization message</dd></dl></dd><dt><code>tooltip <small>string, message</small></code></dt><dd>tooltip message shown on hover; either a string or a localization message</dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the input component can be interacted with</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
1985
+ "types": ["table"],
1986
+ "is_optional": "False"
1987
+ }
1988
+ ],
1989
+ "examples": "",
1990
+ "replaces": "",
1991
+ "error": "",
1992
+ "tparams": [],
1993
+ "members": [],
1994
+ "notes": [],
1995
+ "language": ""
1996
+ },
1997
+ {
1998
+ "type": "FUNCTION",
1999
+ "name": "editor.ui.select_box",
2000
+ "brief": "dropdown select box with an array of options",
2001
+ "description": "Dropdown select box with an array of options",
2002
+ "returnvalues": [
2003
+ {
2004
+ "name": "value",
2005
+ "doc": "UI component",
2006
+ "types": ["component"]
2007
+ }
2008
+ ],
2009
+ "parameters": [
2010
+ {
2011
+ "name": "props",
2012
+ "doc": "Optional props: <dl><dt><code>value <small>any</small></code></dt><dd>selected value</dd><dt><code>on_value_changed <small>function</small></code></dt><dd>change callback, will receive the selected value</dd><dt><code>options <small>any[]</small></code></dt><dd>array of selectable options</dd><dt><code>to_string <small>function</small></code></dt><dd>function that converts an item to a string (or a localization message); defaults to <code>tostring</code></dd><dt><code>issue <small>table</small></code></dt><dd>issue related to the input; table with the following keys (all required):<dl><dt><code>severity <small>string</small></code></dt><dd>either <code>editor.ui.ISSUE_SEVERITY.WARNING</code> or <code>editor.ui.ISSUE_SEVERITY.ERROR</code></dd><dt><code>message <small>string, message</small></code></dt><dd>issue message that will be shown in a tooltip; either a string or a localization message</dd></dl></dd><dt><code>tooltip <small>string, message</small></code></dt><dd>tooltip message shown on hover; either a string or a localization message</dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the input component can be interacted with</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
2013
+ "types": ["table"],
2014
+ "is_optional": "False"
2015
+ }
2016
+ ],
2017
+ "examples": "",
2018
+ "replaces": "",
2019
+ "error": "",
2020
+ "tparams": [],
2021
+ "members": [],
2022
+ "notes": [],
2023
+ "language": ""
2024
+ },
2025
+ {
2026
+ "type": "FUNCTION",
2027
+ "name": "editor.ui.string_field",
2028
+ "brief": "string input component based on a text field, reports changes on commit (<code>Enter</code> or focus loss)",
2029
+ "description": "String input component based on a text field, reports changes on commit (<code>Enter</code> or focus loss)",
2030
+ "returnvalues": [
2031
+ {
2032
+ "name": "value",
2033
+ "doc": "UI component",
2034
+ "types": ["component"]
2035
+ }
2036
+ ],
2037
+ "parameters": [
2038
+ {
2039
+ "name": "props",
2040
+ "doc": "Optional props: <dl><dt><code>value <small>any</small></code></dt><dd>value</dd><dt><code>on_value_changed <small>function</small></code></dt><dd>value change callback, will receive the new value</dd><dt><code>issue <small>table</small></code></dt><dd>issue related to the input; table with the following keys (all required):<dl><dt><code>severity <small>string</small></code></dt><dd>either <code>editor.ui.ISSUE_SEVERITY.WARNING</code> or <code>editor.ui.ISSUE_SEVERITY.ERROR</code></dd><dt><code>message <small>string, message</small></code></dt><dd>issue message that will be shown in a tooltip; either a string or a localization message</dd></dl></dd><dt><code>tooltip <small>string, message</small></code></dt><dd>tooltip message shown on hover; either a string or a localization message</dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the input component can be interacted with</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
2041
+ "types": ["table"],
2042
+ "is_optional": "False"
2043
+ }
2044
+ ],
2045
+ "examples": "",
2046
+ "replaces": "",
2047
+ "error": "",
2048
+ "tparams": [],
2049
+ "members": [],
2050
+ "notes": [],
2051
+ "language": ""
2052
+ },
2053
+ {
2054
+ "type": "FUNCTION",
2055
+ "name": "editor.ui.integer_field",
2056
+ "brief": "integer input component based on a text field, reports changes on commit (<code>Enter</code> or focus loss)",
2057
+ "description": "Integer input component based on a text field, reports changes on commit (<code>Enter</code> or focus loss)",
2058
+ "returnvalues": [
2059
+ {
2060
+ "name": "value",
2061
+ "doc": "UI component",
2062
+ "types": ["component"]
2063
+ }
2064
+ ],
2065
+ "parameters": [
2066
+ {
2067
+ "name": "props",
2068
+ "doc": "Optional props: <dl><dt><code>value <small>any</small></code></dt><dd>value</dd><dt><code>on_value_changed <small>function</small></code></dt><dd>value change callback, will receive the new value</dd><dt><code>issue <small>table</small></code></dt><dd>issue related to the input; table with the following keys (all required):<dl><dt><code>severity <small>string</small></code></dt><dd>either <code>editor.ui.ISSUE_SEVERITY.WARNING</code> or <code>editor.ui.ISSUE_SEVERITY.ERROR</code></dd><dt><code>message <small>string, message</small></code></dt><dd>issue message that will be shown in a tooltip; either a string or a localization message</dd></dl></dd><dt><code>tooltip <small>string, message</small></code></dt><dd>tooltip message shown on hover; either a string or a localization message</dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the input component can be interacted with</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
2069
+ "types": ["table"],
2070
+ "is_optional": "False"
2071
+ }
2072
+ ],
2073
+ "examples": "",
2074
+ "replaces": "",
2075
+ "error": "",
2076
+ "tparams": [],
2077
+ "members": [],
2078
+ "notes": [],
2079
+ "language": ""
2080
+ },
2081
+ {
2082
+ "type": "FUNCTION",
2083
+ "name": "editor.ui.number_field",
2084
+ "brief": "number input component based on a text field, reports changes on commit (<code>Enter</code> or focus loss)",
2085
+ "description": "Number input component based on a text field, reports changes on commit (<code>Enter</code> or focus loss)",
2086
+ "returnvalues": [
2087
+ {
2088
+ "name": "value",
2089
+ "doc": "UI component",
2090
+ "types": ["component"]
2091
+ }
2092
+ ],
2093
+ "parameters": [
2094
+ {
2095
+ "name": "props",
2096
+ "doc": "Optional props: <dl><dt><code>value <small>any</small></code></dt><dd>value</dd><dt><code>on_value_changed <small>function</small></code></dt><dd>value change callback, will receive the new value</dd><dt><code>issue <small>table</small></code></dt><dd>issue related to the input; table with the following keys (all required):<dl><dt><code>severity <small>string</small></code></dt><dd>either <code>editor.ui.ISSUE_SEVERITY.WARNING</code> or <code>editor.ui.ISSUE_SEVERITY.ERROR</code></dd><dt><code>message <small>string, message</small></code></dt><dd>issue message that will be shown in a tooltip; either a string or a localization message</dd></dl></dd><dt><code>tooltip <small>string, message</small></code></dt><dd>tooltip message shown on hover; either a string or a localization message</dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the input component can be interacted with</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
2097
+ "types": ["table"],
2098
+ "is_optional": "False"
2099
+ }
2100
+ ],
2101
+ "examples": "",
2102
+ "replaces": "",
2103
+ "error": "",
2104
+ "tparams": [],
2105
+ "members": [],
2106
+ "notes": [],
2107
+ "language": ""
2108
+ },
2109
+ {
2110
+ "type": "FUNCTION",
2111
+ "name": "editor.ui.dialog_button",
2112
+ "brief": "dialog button shown in the footer of a dialog",
2113
+ "description": "Dialog button shown in the footer of a dialog",
2114
+ "returnvalues": [
2115
+ {
2116
+ "name": "value",
2117
+ "doc": "UI component",
2118
+ "types": ["component"]
2119
+ }
2120
+ ],
2121
+ "parameters": [
2122
+ {
2123
+ "name": "props",
2124
+ "doc": "Required props: <dl><dt><code>text <small>string, message</small></code></dt><dd>button text, either a string or a localization message</dd></dl> Optional props: <dl><dt><code>result <small>any</small></code></dt><dd>value returned by <code>editor.ui.show_dialog(...)</code> if this button is pressed</dd><dt><code>default <small>boolean</small></code></dt><dd>if set, pressing <code>Enter</code> in the dialog will trigger this button</dd><dt><code>cancel <small>boolean</small></code></dt><dd>if set, pressing <code>Escape</code> in the dialog will trigger this button</dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the button can be interacted with</dd></dl>",
2125
+ "types": ["table"],
2126
+ "is_optional": "False"
2127
+ }
2128
+ ],
2129
+ "examples": "",
2130
+ "replaces": "",
2131
+ "error": "",
2132
+ "tparams": [],
2133
+ "members": [],
2134
+ "notes": [],
2135
+ "language": ""
2136
+ },
2137
+ {
2138
+ "type": "FUNCTION",
2139
+ "name": "editor.ui.tab",
2140
+ "brief": "tab used in the <code>tabs</code> prop of <code>editor.ui.tabs(...)</code>",
2141
+ "description": "Tab used in the <code>tabs</code> prop of <code>editor.ui.tabs(...)</code>",
2142
+ "returnvalues": [
2143
+ {
2144
+ "name": "value",
2145
+ "doc": "UI component",
2146
+ "types": ["component"]
2147
+ }
2148
+ ],
2149
+ "parameters": [
2150
+ {
2151
+ "name": "props",
2152
+ "doc": "Required props: <dl><dt><code>text <small>string, message</small></code></dt><dd>tab header text, either a string or a localization message</dd></dl> Optional props: <dl><dt><code>content <small>component</small></code></dt><dd>tab content component</dd><dt><code>icon <small>component</small></code></dt><dd>tab header icon component</dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the tab can be selected</dd></dl>",
2153
+ "types": ["table"],
2154
+ "is_optional": "False"
2155
+ }
2156
+ ],
2157
+ "examples": "",
2158
+ "replaces": "",
2159
+ "error": "",
2160
+ "tparams": [],
2161
+ "members": [],
2162
+ "notes": [],
2163
+ "language": ""
2164
+ },
2165
+ {
2166
+ "type": "FUNCTION",
2167
+ "name": "editor.ui.dialog",
2168
+ "brief": "dialog component, a top-level window component that can't be used as a child of other components",
2169
+ "description": "Dialog component, a top-level window component that can't be used as a child of other components",
2170
+ "returnvalues": [
2171
+ {
2172
+ "name": "value",
2173
+ "doc": "UI component",
2174
+ "types": ["component"]
2175
+ }
2176
+ ],
2177
+ "parameters": [
2178
+ {
2179
+ "name": "props",
2180
+ "doc": "Required props: <dl><dt><code>title <small>string, message</small></code></dt><dd>OS dialog window title, either a string or a localization message</dd></dl> Optional props: <dl><dt><code>header <small>component</small></code></dt><dd>top part of the dialog, defaults to <code>editor.ui.heading({text = props.title})</code></dd><dt><code>content <small>component</small></code></dt><dd>content of the dialog</dd><dt><code>width <small>number</small></code></dt><dd>initial width of the dialog window in pixels</dd><dt><code>height <small>number</small></code></dt><dd>initial height of the dialog window in pixels</dd><dt><code>resizable <small>boolean</small></code></dt><dd>determines if the dialog window can be resized by the user</dd><dt><code>buttons <small>component[]</small></code></dt><dd>array of <code>editor.ui.dialog_button(...)</code> components, footer of the dialog. Defaults to a single Close button</dd><dt><code>modal <small>boolean</small></code></dt><dd>if set to <code>false</code>, the dialog window stays on top but does not block interaction with the editor</dd></dl>",
2181
+ "types": ["table"],
2182
+ "is_optional": "False"
2183
+ }
2184
+ ],
2185
+ "examples": "",
2186
+ "replaces": "",
2187
+ "error": "",
2188
+ "tparams": [],
2189
+ "members": [],
2190
+ "notes": [],
2191
+ "language": ""
2192
+ },
2193
+ {
2194
+ "type": "FUNCTION",
2195
+ "name": "editor.ui.show_dialog",
2196
+ "brief": "show a dialog and await a result",
2197
+ "description": "Show a dialog and await a result",
2198
+ "returnvalues": [
2199
+ {
2200
+ "name": "value",
2201
+ "doc": "dialog result, the value used as a <code>result</code> prop in a <code>editor.ui.dialog_button({...})</code> selected by the user, or <code>nil</code> if the dialog was closed and there was no <code>cancel = true</code> dialog button with <code>result</code> prop set",
2202
+ "types": ["any"]
2203
+ }
2204
+ ],
2205
+ "parameters": [
2206
+ {
2207
+ "name": "dialog",
2208
+ "doc": "a component that resolves to <code>editor.ui.dialog(...)</code>",
2209
+ "types": ["component"],
2210
+ "is_optional": "False"
2211
+ }
2212
+ ],
2213
+ "examples": "",
2214
+ "replaces": "",
2215
+ "error": "",
2216
+ "tparams": [],
2217
+ "members": [],
2218
+ "notes": [],
2219
+ "language": ""
2220
+ },
2221
+ {
2222
+ "type": "FUNCTION",
2223
+ "name": "editor.ui.component",
2224
+ "brief": "convert a function to a UI component.",
2225
+ "description": "Convert a function to a UI component.\nThe wrapped function may call any hooks functions (<code>editor.ui.use_*</code>), but on any function invocation, the hooks calls must be the same, and in the same order. This means that hooks should not be used inside loops and conditions or after a conditional return statement.\nThe following props are supported automatically:<dl><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
2226
+ "returnvalues": [
2227
+ {
2228
+ "name": "value",
2229
+ "doc": "decorated component function that may be invoked with a props table create component",
2230
+ "types": ["function"]
2231
+ }
2232
+ ],
2233
+ "parameters": [
2234
+ {
2235
+ "name": "fn",
2236
+ "doc": "function, will receive a single table of props when called",
2237
+ "types": ["function"],
2238
+ "is_optional": "False"
2239
+ }
2240
+ ],
2241
+ "examples": "",
2242
+ "replaces": "",
2243
+ "error": "",
2244
+ "tparams": [],
2245
+ "members": [],
2246
+ "notes": [],
2247
+ "language": ""
2248
+ },
2249
+ {
2250
+ "type": "FUNCTION",
2251
+ "name": "editor.ui.external_file_field",
2252
+ "brief": "input component for selecting files from the file system",
2253
+ "description": "Input component for selecting files from the file system",
2254
+ "returnvalues": [
2255
+ {
2256
+ "name": "value",
2257
+ "doc": "UI component",
2258
+ "types": ["component"]
2259
+ }
2260
+ ],
2261
+ "parameters": [
2262
+ {
2263
+ "name": "props",
2264
+ "doc": "Optional props: <dl><dt><code>value <small>string</small></code></dt><dd>file or directory path; resolved against project root if relative</dd><dt><code>on_value_changed <small>function</small></code></dt><dd>value change callback, will receive the absolute path of a selected file/folder or nil if the field was cleared; even though the selector dialog allows selecting only files, it's possible to receive directories and non-existent file system entries using text field input</dd><dt><code>title <small>string, message</small></code></dt><dd>OS window title, either a string or a localization message</dd><dt><code>filters <small>table[]</small></code></dt><dd>File filters, an array of filter tables, where each filter has following keys:<dl><dt><code>description <small>string, message</small></code></dt><dd>text explaining the filter, either a literal string like <code>\"Text files (<em>.txt)\"</code> or a localization message</dd><dt><code>extensions <small>string[]</small></code></dt><dd>array of file extension patterns, e.g. <code>\"</em>.txt\"</code>, <code>\"<em>.</em>\"</code> or <code>\"game.project\"</code></dd></dl></dd><dt><code>issue <small>table</small></code></dt><dd>issue related to the input; table with the following keys (all required):<dl><dt><code>severity <small>string</small></code></dt><dd>either <code>editor.ui.ISSUE_SEVERITY.WARNING</code> or <code>editor.ui.ISSUE_SEVERITY.ERROR</code></dd><dt><code>message <small>string, message</small></code></dt><dd>issue message that will be shown in a tooltip; either a string or a localization message</dd></dl></dd><dt><code>tooltip <small>string, message</small></code></dt><dd>tooltip message shown on hover; either a string or a localization message</dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the input component can be interacted with</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
2265
+ "types": ["table"],
2266
+ "is_optional": "False"
2267
+ }
2268
+ ],
2269
+ "examples": "",
2270
+ "replaces": "",
2271
+ "error": "",
2272
+ "tparams": [],
2273
+ "members": [],
2274
+ "notes": [],
2275
+ "language": ""
2276
+ },
2277
+ {
2278
+ "type": "FUNCTION",
2279
+ "name": "editor.ui.resource_field",
2280
+ "brief": "input component for selecting project resources",
2281
+ "description": "Input component for selecting project resources",
2282
+ "returnvalues": [
2283
+ {
2284
+ "name": "value",
2285
+ "doc": "UI component",
2286
+ "types": ["component"]
2287
+ }
2288
+ ],
2289
+ "parameters": [
2290
+ {
2291
+ "name": "props",
2292
+ "doc": "Optional props: <dl><dt><code>value <small>string</small></code></dt><dd>resource path (must start with <code>/</code>)</dd><dt><code>on_value_changed <small>function</small></code></dt><dd>value change callback, will receive either resource path of a selected resource or nil when the field is cleared; even though the resource selector dialog allows filtering on resource extensions, it's possible to receive resources with other extensions and non-existent resources using text field input</dd><dt><code>title <small>string, message</small></code></dt><dd>dialog title, either a string or a localization message, defaults to <code>localization.message(\"dialog.select-resource.title\")</code></dd><dt><code>extensions <small>string[]</small></code></dt><dd>if specified, restricts selectable resources in the dialog to specified file extensions; e.g. <code>{\"collection\", \"go\"}</code></dd><dt><code>issue <small>table</small></code></dt><dd>issue related to the input; table with the following keys (all required):<dl><dt><code>severity <small>string</small></code></dt><dd>either <code>editor.ui.ISSUE_SEVERITY.WARNING</code> or <code>editor.ui.ISSUE_SEVERITY.ERROR</code></dd><dt><code>message <small>string, message</small></code></dt><dd>issue message that will be shown in a tooltip; either a string or a localization message</dd></dl></dd><dt><code>tooltip <small>string, message</small></code></dt><dd>tooltip message shown on hover; either a string or a localization message</dd><dt><code>enabled <small>boolean</small></code></dt><dd>determines if the input component can be interacted with</dd><dt><code>alignment <small>string</small></code></dt><dd>alignment of the component content within its assigned bounds, defaults to <code>editor.ui.ALIGNMENT.TOP_LEFT</code>; either: <ul><li><code>editor.ui.ALIGNMENT.TOP_LEFT</code></li><li><code>editor.ui.ALIGNMENT.TOP</code></li><li><code>editor.ui.ALIGNMENT.TOP_RIGHT</code></li><li><code>editor.ui.ALIGNMENT.LEFT</code></li><li><code>editor.ui.ALIGNMENT.CENTER</code></li><li><code>editor.ui.ALIGNMENT.RIGHT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_LEFT</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM</code></li><li><code>editor.ui.ALIGNMENT.BOTTOM_RIGHT</code></li></ul></dd><dt><code>grow <small>boolean</small></code></dt><dd>determines if the component should grow to fill available space in a <code>horizontal</code> or <code>vertical</code> layout container</dd><dt><code>row_span <small>integer</small></code></dt><dd>how many rows the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd><dt><code>column_span <small>integer</small></code></dt><dd>how many columns the component spans inside a grid container, must be positive. This prop is only useful for components inside a <code>grid</code> container.</dd></dl>",
2293
+ "types": ["table"],
2294
+ "is_optional": "False"
2295
+ }
2296
+ ],
2297
+ "examples": "",
2298
+ "replaces": "",
2299
+ "error": "",
2300
+ "tparams": [],
2301
+ "members": [],
2302
+ "notes": [],
2303
+ "language": ""
2304
+ },
2305
+ {
2306
+ "type": "FUNCTION",
2307
+ "name": "editor.ui.show_external_file_dialog",
2308
+ "brief": "show a modal OS file selection dialog and await a result",
2309
+ "description": "Show a modal OS file selection dialog and await a result",
2310
+ "returnvalues": [
2311
+ {
2312
+ "name": "value",
2313
+ "doc": "either absolute file path or nil if user canceled file selection",
2314
+ "types": ["string", "nil"]
2315
+ }
2316
+ ],
2317
+ "parameters": [
2318
+ {
2319
+ "name": "opts",
2320
+ "doc": "<dl><dt><code>path <small>string</small></code></dt><dd>initial file or directory path used by the dialog; resolved against project root if relative</dd><dt><code>title <small>string, message</small></code></dt><dd>OS window title, either a string or a localization message</dd><dt><code>filters <small>table[]</small></code></dt><dd>File filters, an array of filter tables, where each filter has following keys:<dl><dt><code>description <small>string, message</small></code></dt><dd>text explaining the filter, either a literal string like <code>\"Text files (*.txt)\"</code> or a localization message</dd><dt><code>extensions <small>string[]</small></code></dt><dd>array of file extension patterns, e.g. <code>\"*.txt\"</code>, <code>\"*.*\"</code> or <code>\"game.project\"</code></dd></dl></dd></dl>",
2321
+ "types": ["table"],
2322
+ "is_optional": "True"
2323
+ }
2324
+ ],
2325
+ "examples": "",
2326
+ "replaces": "",
2327
+ "error": "",
2328
+ "tparams": [],
2329
+ "members": [],
2330
+ "notes": [],
2331
+ "language": ""
2332
+ },
2333
+ {
2334
+ "type": "FUNCTION",
2335
+ "name": "editor.ui.show_external_directory_dialog",
2336
+ "brief": "show a modal OS directory selection dialog and await a result",
2337
+ "description": "Show a modal OS directory selection dialog and await a result",
2338
+ "returnvalues": [
2339
+ {
2340
+ "name": "value",
2341
+ "doc": "either absolute directory path or nil if user canceled directory selection",
2342
+ "types": ["string", "nil"]
2343
+ }
2344
+ ],
2345
+ "parameters": [
2346
+ {
2347
+ "name": "opts",
2348
+ "doc": "<dl><dt><code>path <small>string</small></code></dt><dd>initial file or directory path used by the dialog; resolved against project root if relative</dd><dt><code>title <small>string, message</small></code></dt><dd>OS window title, either a string or a localization message</dd></dl>",
2349
+ "types": ["table"],
2350
+ "is_optional": "True"
2351
+ }
2352
+ ],
2353
+ "examples": "",
2354
+ "replaces": "",
2355
+ "error": "",
2356
+ "tparams": [],
2357
+ "members": [],
2358
+ "notes": [],
2359
+ "language": ""
2360
+ },
2361
+ {
2362
+ "type": "FUNCTION",
2363
+ "name": "editor.ui.show_resource_dialog",
2364
+ "brief": "show a modal resource selection dialog and await a result",
2365
+ "description": "Show a modal resource selection dialog and await a result",
2366
+ "returnvalues": [
2367
+ {
2368
+ "name": "value",
2369
+ "doc": "|nil] if user made no selection, returns <code>nil</code>. Otherwise, if selection mode is <code>\"single\"</code>, returns selected resource path; otherwise returns a non-empty array of selected resource paths.",
2370
+ "types": ["string", "string["]
2371
+ }
2372
+ ],
2373
+ "parameters": [
2374
+ {
2375
+ "name": "opts",
2376
+ "doc": "<dl><dt><code>extensions <small>string[]</small></code></dt><dd>if specified, restricts selectable resources in the dialog to specified file extensions; e.g. <code>{\"collection\", \"go\"}</code></dd><dt><code>selection <small>string</small></code></dt><dd>either <code>\"single\"</code> or <code>\"multiple\"</code>, defaults to <code>\"single\"</code></dd><dt><code>title <small>string, message</small></code></dt><dd>dialog title, either a string or a localization message, defaults to <code>localization.message(\"dialog.select-resource.title\")</code></dd></dl>",
2377
+ "types": ["table"],
2378
+ "is_optional": "True"
2379
+ }
2380
+ ],
2381
+ "examples": "",
2382
+ "replaces": "",
2383
+ "error": "",
2384
+ "tparams": [],
2385
+ "members": [],
2386
+ "notes": [],
2387
+ "language": ""
2388
+ },
2389
+ {
2390
+ "type": "FUNCTION",
2391
+ "name": "editor.ui.use_state",
2392
+ "brief": "a hook that adds local state to the component.",
2393
+ "description": "A hook that adds local state to the component.\nSee <code>editor.ui.component</code> for hooks caveats and rules. If any of the arguments to <code>use_state</code> change during a component refresh (checked with <code>==</code>), the current state will be reset to the initial one.",
2394
+ "returnvalues": [
2395
+ {
2396
+ "name": "state",
2397
+ "doc": "current local state, starts with initial state, then may be changed using the returned <code>set_state</code> function",
2398
+ "types": ["any"]
2399
+ },
2400
+ {
2401
+ "name": "set_state",
2402
+ "doc": "function that changes the local state and causes the component to refresh. The function may be used in 2 ways: <ul> <li>to set the state to some other data structure: pass the data structure as a value</li> <li>to replace the state using updater function: pass a function to <code>set_state</code> \u2014 it will be invoked with the current state, as well as with the rest of the arguments passed to <code>set_state</code> after the updater function. The state will be set to the value returned from the updater function</lia> </ul>",
2403
+ "types": ["function"]
2404
+ }
2405
+ ],
2406
+ "parameters": [
2407
+ {
2408
+ "name": "init",
2409
+ "doc": "local state initializer, either initial data structure or function that produces the data structure",
2410
+ "types": ["any", "function"],
2411
+ "is_optional": "False"
2412
+ },
2413
+ {
2414
+ "name": "...",
2415
+ "doc": "used when <code>init</code> is a function, the args are passed to the initializer function",
2416
+ "types": ["...any"],
2417
+ "is_optional": "True"
2418
+ }
2419
+ ],
2420
+ "examples": "<pre><code>local function increment(n)\n return n + 1\nend\n\nlocal counter_button = editor.ui.component(function(props)\n local count, set_count = editor.ui.use_state(props.count)\n return editor.ui.text_button {\n text = tostring(count),\n on_pressed = function()\n set_count(increment)\n end\n }\nend)</code></pre>",
2421
+ "replaces": "",
2422
+ "error": "",
2423
+ "tparams": [],
2424
+ "members": [],
2425
+ "notes": [],
2426
+ "language": ""
2427
+ },
2428
+ {
2429
+ "type": "FUNCTION",
2430
+ "name": "editor.ui.use_memo",
2431
+ "brief": "a hook that caches the result of a computation between re-renders.",
2432
+ "description": "A hook that caches the result of a computation between re-renders.\nSee <code>editor.ui.component</code> for hooks caveats and rules. If any of the arguments to <code>use_memo</code> change during a component refresh (checked with <code>==</code>), the value will be recomputed.",
2433
+ "returnvalues": [
2434
+ {
2435
+ "name": "values",
2436
+ "doc": "all returned values of the compute function",
2437
+ "types": ["...any"]
2438
+ }
2439
+ ],
2440
+ "parameters": [
2441
+ {
2442
+ "name": "compute",
2443
+ "doc": "function that will be used to compute the cached value",
2444
+ "types": ["function"],
2445
+ "is_optional": "False"
2446
+ },
2447
+ {
2448
+ "name": "...",
2449
+ "doc": "args to the computation function",
2450
+ "types": ["...any"],
2451
+ "is_optional": "True"
2452
+ }
2453
+ ],
2454
+ "examples": "<pre><code>local function increment(n)\n return n + 1\nend\n\nlocal function make_listener(set_count)\n return function()\n set_count(increment)\n end\nend\n\nlocal counter_button = editor.ui.component(function(props)\n local count, set_count = editor.ui.use_state(props.count)\n local on_pressed = editor.ui.use_memo(make_listener, set_count)\n return editor.ui.text_button {\n text = tostring(count),\n on_pressed = on_pressed\n }\nend)</code></pre>",
2455
+ "replaces": "",
2456
+ "error": "",
2457
+ "tparams": [],
2458
+ "members": [],
2459
+ "notes": [],
2460
+ "language": ""
2461
+ },
2462
+ {
2463
+ "type": "FUNCTION",
2464
+ "name": "editor.prefs.get",
2465
+ "brief": "get preference value",
2466
+ "description": "Get preference value\nThe schema for the preference value should be defined beforehand.",
2467
+ "returnvalues": [
2468
+ {
2469
+ "name": "value",
2470
+ "doc": "current pref value or default if a schema for the key path exists, nil otherwise",
2471
+ "types": ["any"]
2472
+ }
2473
+ ],
2474
+ "parameters": [
2475
+ {
2476
+ "name": "key",
2477
+ "doc": "dot-separated preference key path",
2478
+ "types": ["string"],
2479
+ "is_optional": "False"
2480
+ }
2481
+ ],
2482
+ "examples": "",
2483
+ "replaces": "",
2484
+ "error": "",
2485
+ "tparams": [],
2486
+ "members": [],
2487
+ "notes": [],
2488
+ "language": ""
2489
+ },
2490
+ {
2491
+ "type": "FUNCTION",
2492
+ "name": "editor.prefs.is_set",
2493
+ "brief": "check if preference value is explicitly set",
2494
+ "description": "Check if preference value is explicitly set\nThe schema for the preference value should be defined beforehand.",
2495
+ "returnvalues": [
2496
+ {
2497
+ "name": "value",
2498
+ "doc": "flag indicating if the value is explicitly set",
2499
+ "types": ["boolean"]
2500
+ }
2501
+ ],
2502
+ "parameters": [
2503
+ {
2504
+ "name": "key",
2505
+ "doc": "dot-separated preference key path",
2506
+ "types": ["string"],
2507
+ "is_optional": "False"
2508
+ }
2509
+ ],
2510
+ "examples": "",
2511
+ "replaces": "",
2512
+ "error": "",
2513
+ "tparams": [],
2514
+ "members": [],
2515
+ "notes": [],
2516
+ "language": ""
2517
+ },
2518
+ {
2519
+ "type": "FUNCTION",
2520
+ "name": "editor.prefs.set",
2521
+ "brief": "set preference value",
2522
+ "description": "Set preference value\nThe schema for the preference value should be defined beforehand.",
2523
+ "returnvalues": [],
2524
+ "parameters": [
2525
+ {
2526
+ "name": "key",
2527
+ "doc": "dot-separated preference key path",
2528
+ "types": ["string"],
2529
+ "is_optional": "False"
2530
+ },
2531
+ {
2532
+ "name": "value",
2533
+ "doc": "new pref value to set",
2534
+ "types": ["any"],
2535
+ "is_optional": "False"
2536
+ }
2537
+ ],
2538
+ "examples": "",
2539
+ "replaces": "",
2540
+ "error": "",
2541
+ "tparams": [],
2542
+ "members": [],
2543
+ "notes": [],
2544
+ "language": ""
2545
+ },
2546
+ {
2547
+ "type": "FUNCTION",
2548
+ "name": "editor.prefs.schema.boolean",
2549
+ "brief": "boolean schema",
2550
+ "description": "boolean schema",
2551
+ "returnvalues": [
2552
+ {
2553
+ "name": "value",
2554
+ "doc": "Prefs schema",
2555
+ "types": ["schema"]
2556
+ }
2557
+ ],
2558
+ "parameters": [
2559
+ {
2560
+ "name": "opts",
2561
+ "doc": "Optional opts: <dl><dt><code>default <small>boolean</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2562
+ "types": ["table"],
2563
+ "is_optional": "True"
2564
+ }
2565
+ ],
2566
+ "examples": "",
2567
+ "replaces": "",
2568
+ "error": "",
2569
+ "tparams": [],
2570
+ "members": [],
2571
+ "notes": [],
2572
+ "language": ""
2573
+ },
2574
+ {
2575
+ "type": "FUNCTION",
2576
+ "name": "editor.prefs.schema.string",
2577
+ "brief": "string schema",
2578
+ "description": "string schema",
2579
+ "returnvalues": [
2580
+ {
2581
+ "name": "value",
2582
+ "doc": "Prefs schema",
2583
+ "types": ["schema"]
2584
+ }
2585
+ ],
2586
+ "parameters": [
2587
+ {
2588
+ "name": "opts",
2589
+ "doc": "Optional opts: <dl><dt><code>default <small>string</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2590
+ "types": ["table"],
2591
+ "is_optional": "True"
2592
+ }
2593
+ ],
2594
+ "examples": "",
2595
+ "replaces": "",
2596
+ "error": "",
2597
+ "tparams": [],
2598
+ "members": [],
2599
+ "notes": [],
2600
+ "language": ""
2601
+ },
2602
+ {
2603
+ "type": "FUNCTION",
2604
+ "name": "editor.prefs.schema.password",
2605
+ "brief": "password schema",
2606
+ "description": "password schema\nA password is a string that is encrypted when stored in a preference file",
2607
+ "returnvalues": [
2608
+ {
2609
+ "name": "value",
2610
+ "doc": "Prefs schema",
2611
+ "types": ["schema"]
2612
+ }
2613
+ ],
2614
+ "parameters": [
2615
+ {
2616
+ "name": "opts",
2617
+ "doc": "Optional opts: <dl><dt><code>default <small>string</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2618
+ "types": ["table"],
2619
+ "is_optional": "True"
2620
+ }
2621
+ ],
2622
+ "examples": "",
2623
+ "replaces": "",
2624
+ "error": "",
2625
+ "tparams": [],
2626
+ "members": [],
2627
+ "notes": [],
2628
+ "language": ""
2629
+ },
2630
+ {
2631
+ "type": "FUNCTION",
2632
+ "name": "editor.prefs.schema.keyword",
2633
+ "brief": "keyword schema",
2634
+ "description": "keyword schema\nA keyword is a short string that is interned within the editor runtime, useful e.g. for identifiers",
2635
+ "returnvalues": [
2636
+ {
2637
+ "name": "value",
2638
+ "doc": "Prefs schema",
2639
+ "types": ["schema"]
2640
+ }
2641
+ ],
2642
+ "parameters": [
2643
+ {
2644
+ "name": "opts",
2645
+ "doc": "Optional opts: <dl><dt><code>default <small>string</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2646
+ "types": ["table"],
2647
+ "is_optional": "True"
2648
+ }
2649
+ ],
2650
+ "examples": "",
2651
+ "replaces": "",
2652
+ "error": "",
2653
+ "tparams": [],
2654
+ "members": [],
2655
+ "notes": [],
2656
+ "language": ""
2657
+ },
2658
+ {
2659
+ "type": "FUNCTION",
2660
+ "name": "editor.prefs.schema.integer",
2661
+ "brief": "integer schema",
2662
+ "description": "integer schema",
2663
+ "returnvalues": [
2664
+ {
2665
+ "name": "value",
2666
+ "doc": "Prefs schema",
2667
+ "types": ["schema"]
2668
+ }
2669
+ ],
2670
+ "parameters": [
2671
+ {
2672
+ "name": "opts",
2673
+ "doc": "Optional opts: <dl><dt><code>default <small>integer</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2674
+ "types": ["table"],
2675
+ "is_optional": "True"
2676
+ }
2677
+ ],
2678
+ "examples": "",
2679
+ "replaces": "",
2680
+ "error": "",
2681
+ "tparams": [],
2682
+ "members": [],
2683
+ "notes": [],
2684
+ "language": ""
2685
+ },
2686
+ {
2687
+ "type": "FUNCTION",
2688
+ "name": "editor.prefs.schema.number",
2689
+ "brief": "floating-point number schema",
2690
+ "description": "floating-point number schema",
2691
+ "returnvalues": [
2692
+ {
2693
+ "name": "value",
2694
+ "doc": "Prefs schema",
2695
+ "types": ["schema"]
2696
+ }
2697
+ ],
2698
+ "parameters": [
2699
+ {
2700
+ "name": "opts",
2701
+ "doc": "Optional opts: <dl><dt><code>default <small>number</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2702
+ "types": ["table"],
2703
+ "is_optional": "True"
2704
+ }
2705
+ ],
2706
+ "examples": "",
2707
+ "replaces": "",
2708
+ "error": "",
2709
+ "tparams": [],
2710
+ "members": [],
2711
+ "notes": [],
2712
+ "language": ""
2713
+ },
2714
+ {
2715
+ "type": "FUNCTION",
2716
+ "name": "editor.prefs.schema.array",
2717
+ "brief": "array schema",
2718
+ "description": "array schema",
2719
+ "returnvalues": [
2720
+ {
2721
+ "name": "value",
2722
+ "doc": "Prefs schema",
2723
+ "types": ["schema"]
2724
+ }
2725
+ ],
2726
+ "parameters": [
2727
+ {
2728
+ "name": "opts",
2729
+ "doc": "Required opts: <dl><dt><code>item <small>schema</small></code></dt><dd>array item schema</dd></dl> Optional opts: <dl><dt><code>default <small>item[]</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2730
+ "types": ["table"],
2731
+ "is_optional": "False"
2732
+ }
2733
+ ],
2734
+ "examples": "",
2735
+ "replaces": "",
2736
+ "error": "",
2737
+ "tparams": [],
2738
+ "members": [],
2739
+ "notes": [],
2740
+ "language": ""
2741
+ },
2742
+ {
2743
+ "type": "FUNCTION",
2744
+ "name": "editor.prefs.schema.set",
2745
+ "brief": "set schema",
2746
+ "description": "set schema\nSet is represented as a lua table with <code>true</code> values",
2747
+ "returnvalues": [
2748
+ {
2749
+ "name": "value",
2750
+ "doc": "Prefs schema",
2751
+ "types": ["schema"]
2752
+ }
2753
+ ],
2754
+ "parameters": [
2755
+ {
2756
+ "name": "opts",
2757
+ "doc": "Required opts: <dl><dt><code>item <small>schema</small></code></dt><dd>set item schema</dd></dl> Optional opts: <dl><dt><code>default <small>table&lt;item, true&gt;</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2758
+ "types": ["table"],
2759
+ "is_optional": "False"
2760
+ }
2761
+ ],
2762
+ "examples": "",
2763
+ "replaces": "",
2764
+ "error": "",
2765
+ "tparams": [],
2766
+ "members": [],
2767
+ "notes": [],
2768
+ "language": ""
2769
+ },
2770
+ {
2771
+ "type": "FUNCTION",
2772
+ "name": "editor.prefs.schema.object",
2773
+ "brief": "heterogeneous object schema",
2774
+ "description": "heterogeneous object schema",
2775
+ "returnvalues": [
2776
+ {
2777
+ "name": "value",
2778
+ "doc": "Prefs schema",
2779
+ "types": ["schema"]
2780
+ }
2781
+ ],
2782
+ "parameters": [
2783
+ {
2784
+ "name": "opts",
2785
+ "doc": "Required opts: <dl><dt><code>properties <small>table&lt;string, schema&gt;</small></code></dt><dd>a table from property key (string) to value schema</dd></dl> Optional opts: <dl><dt><code>default <small>table</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2786
+ "types": ["table"],
2787
+ "is_optional": "False"
2788
+ }
2789
+ ],
2790
+ "examples": "",
2791
+ "replaces": "",
2792
+ "error": "",
2793
+ "tparams": [],
2794
+ "members": [],
2795
+ "notes": [],
2796
+ "language": ""
2797
+ },
2798
+ {
2799
+ "type": "FUNCTION",
2800
+ "name": "editor.prefs.schema.object_of",
2801
+ "brief": "homogeneous object schema",
2802
+ "description": "homogeneous object schema",
2803
+ "returnvalues": [
2804
+ {
2805
+ "name": "value",
2806
+ "doc": "Prefs schema",
2807
+ "types": ["schema"]
2808
+ }
2809
+ ],
2810
+ "parameters": [
2811
+ {
2812
+ "name": "opts",
2813
+ "doc": "Required opts: <dl><dt><code>key <small>schema</small></code></dt><dd>table key schema</dd><dt><code>val <small>schema</small></code></dt><dd>table value schema</dd></dl> Optional opts: <dl><dt><code>default <small>table</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2814
+ "types": ["table"],
2815
+ "is_optional": "False"
2816
+ }
2817
+ ],
2818
+ "examples": "",
2819
+ "replaces": "",
2820
+ "error": "",
2821
+ "tparams": [],
2822
+ "members": [],
2823
+ "notes": [],
2824
+ "language": ""
2825
+ },
2826
+ {
2827
+ "type": "FUNCTION",
2828
+ "name": "editor.prefs.schema.enum",
2829
+ "brief": "enum value schema",
2830
+ "description": "enum value schema",
2831
+ "returnvalues": [
2832
+ {
2833
+ "name": "value",
2834
+ "doc": "Prefs schema",
2835
+ "types": ["schema"]
2836
+ }
2837
+ ],
2838
+ "parameters": [
2839
+ {
2840
+ "name": "opts",
2841
+ "doc": "Required opts: <dl><dt><code>values <small>any[]</small></code></dt><dd>allowed values, must be scalar (nil, boolean, number or string)</dd></dl> Optional opts: <dl><dt><code>default <small>any</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2842
+ "types": ["table"],
2843
+ "is_optional": "False"
2844
+ }
2845
+ ],
2846
+ "examples": "",
2847
+ "replaces": "",
2848
+ "error": "",
2849
+ "tparams": [],
2850
+ "members": [],
2851
+ "notes": [],
2852
+ "language": ""
2853
+ },
2854
+ {
2855
+ "type": "FUNCTION",
2856
+ "name": "editor.prefs.schema.one_of",
2857
+ "brief": "one of schema",
2858
+ "description": "one of schema",
2859
+ "returnvalues": [
2860
+ {
2861
+ "name": "value",
2862
+ "doc": "Prefs schema",
2863
+ "types": ["schema"]
2864
+ }
2865
+ ],
2866
+ "parameters": [
2867
+ {
2868
+ "name": "opts",
2869
+ "doc": "Required opts: <dl><dt><code>schemas <small>schema[]</small></code></dt><dd>alternative schemas</dd></dl> Optional opts: <dl><dt><code>default <small>any</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2870
+ "types": ["table"],
2871
+ "is_optional": "False"
2872
+ }
2873
+ ],
2874
+ "examples": "",
2875
+ "replaces": "",
2876
+ "error": "",
2877
+ "tparams": [],
2878
+ "members": [],
2879
+ "notes": [],
2880
+ "language": ""
2881
+ },
2882
+ {
2883
+ "type": "FUNCTION",
2884
+ "name": "editor.prefs.schema.tuple",
2885
+ "brief": "tuple schema",
2886
+ "description": "tuple schema\nA tuple is a fixed-length array where each item has its own defined type",
2887
+ "returnvalues": [
2888
+ {
2889
+ "name": "value",
2890
+ "doc": "Prefs schema",
2891
+ "types": ["schema"]
2892
+ }
2893
+ ],
2894
+ "parameters": [
2895
+ {
2896
+ "name": "opts",
2897
+ "doc": "Required opts: <dl><dt><code>items <small>schema[]</small></code></dt><dd>schemas for the items</dd></dl> Optional opts: <dl><dt><code>default <small>any[]</small></code></dt><dd>default value</dd><dt><code>scope <small>string</small></code></dt><dd>preference scope; either: <ul><li><code>editor.prefs.SCOPE.GLOBAL</code>: same preference value is used in every project on this computer</li><li><code>editor.prefs.SCOPE.PROJECT</code>: a separate preference value per project</li></ul></dd></dl>",
2898
+ "types": ["table"],
2899
+ "is_optional": "False"
2900
+ }
2901
+ ],
2902
+ "examples": "",
2903
+ "replaces": "",
2904
+ "error": "",
2905
+ "tparams": [],
2906
+ "members": [],
2907
+ "notes": [],
2908
+ "language": ""
2909
+ },
2910
+ {
2911
+ "type": "FUNCTION",
2912
+ "name": "http.request",
2913
+ "brief": "perform an HTTP request",
2914
+ "description": "Perform an HTTP request",
2915
+ "returnvalues": [
2916
+ {
2917
+ "name": "response",
2918
+ "doc": "HTTP response, a table with the following keys:<dl><dt><code>status <small>integer</small></code></dt><dd>response code</dd><dt><code>headers <small>table</small></code></dt><dd>response headers, a table where each key is a lower-cased string, and each value is either a string or an array of strings if the header was repeated</dd><dt><code>body <small>string, any, nil</small></code></dt><dd>response body, present only when <code>as</code> option was provided, either a string or a parsed json value</dd><dt><code>path <small>string, nil</small></code></dt><dd>resolved absolute destination path, present only after a successful response was written when the <code>path</code> option was provided</dd></dl>",
2919
+ "types": ["table"]
2920
+ }
2921
+ ],
2922
+ "parameters": [
2923
+ {
2924
+ "name": "url",
2925
+ "doc": "request URL",
2926
+ "types": ["string"],
2927
+ "is_optional": "False"
2928
+ },
2929
+ {
2930
+ "name": "opts",
2931
+ "doc": "Additional request options, a table with the following keys:<dl><dt><code>method <small>string</small></code></dt><dd>request method, defaults to <code>\"GET\"</code></dd><dt><code>headers <small>table</small></code></dt><dd>request headers, a table with string keys and values</dd><dt><code>body <small>string</small></code></dt><dd>request body</dd><dt><code>as <small>string</small></code></dt><dd>response body converter, either <code>\"string\"</code> or <code>\"json\"</code>; mutually exclusive with <code>path</code></dd><dt><code>path <small>string</small></code></dt><dd>destination file path, resolved against project root if relative; mutually exclusive with <code>as</code></dd></dl>",
2932
+ "types": ["table"],
2933
+ "is_optional": "True"
2934
+ }
2935
+ ],
2936
+ "examples": "",
2937
+ "replaces": "",
2938
+ "error": "",
2939
+ "tparams": [],
2940
+ "members": [],
2941
+ "notes": [],
2942
+ "language": ""
2943
+ },
2944
+ {
2945
+ "type": "FUNCTION",
2946
+ "name": "http.server.external_file_response",
2947
+ "brief": "create HTTP response that will stream the content of a file defined by the path",
2948
+ "description": "Create HTTP response that will stream the content of a file defined by the path",
2949
+ "returnvalues": [
2950
+ {
2951
+ "name": "response",
2952
+ "doc": "HTTP response value, userdata",
2953
+ "types": ["response"]
2954
+ }
2955
+ ],
2956
+ "parameters": [
2957
+ {
2958
+ "name": "path",
2959
+ "doc": "External file path, resolved against project root if relative",
2960
+ "types": ["string"],
2961
+ "is_optional": "False"
2962
+ },
2963
+ {
2964
+ "name": "status",
2965
+ "doc": "HTTP status code, an integer, default 200",
2966
+ "types": ["integer"],
2967
+ "is_optional": "True"
2968
+ },
2969
+ {
2970
+ "name": "headers",
2971
+ "doc": "HTTP response headers, a table from lower-case header names to header values",
2972
+ "types": ["table&lt;string,string&gt;"],
2973
+ "is_optional": "True"
2974
+ }
2975
+ ],
2976
+ "examples": "",
2977
+ "replaces": "",
2978
+ "error": "",
2979
+ "tparams": [],
2980
+ "members": [],
2981
+ "notes": [],
2982
+ "language": ""
2983
+ },
2984
+ {
2985
+ "type": "FUNCTION",
2986
+ "name": "http.server.json_response",
2987
+ "brief": "create HTTP response with a JSON value",
2988
+ "description": "Create HTTP response with a JSON value",
2989
+ "returnvalues": [
2990
+ {
2991
+ "name": "response",
2992
+ "doc": "HTTP response value, userdata",
2993
+ "types": ["response"]
2994
+ }
2995
+ ],
2996
+ "parameters": [
2997
+ {
2998
+ "name": "value",
2999
+ "doc": "Any Lua value that may be represented as JSON",
3000
+ "types": ["any"],
3001
+ "is_optional": "False"
3002
+ },
3003
+ {
3004
+ "name": "status",
3005
+ "doc": "HTTP status code, an integer, default 200",
3006
+ "types": ["integer"],
3007
+ "is_optional": "True"
3008
+ },
3009
+ {
3010
+ "name": "headers",
3011
+ "doc": "HTTP response headers, a table from lower-case header names to header values",
3012
+ "types": ["table&lt;string,string&gt;"],
3013
+ "is_optional": "True"
3014
+ }
3015
+ ],
3016
+ "examples": "",
3017
+ "replaces": "",
3018
+ "error": "",
3019
+ "tparams": [],
3020
+ "members": [],
3021
+ "notes": [],
3022
+ "language": ""
3023
+ },
3024
+ {
3025
+ "type": "FUNCTION",
3026
+ "name": "http.server.resource_response",
3027
+ "brief": "create HTTP response that will stream the content of a resource defined by the resource path",
3028
+ "description": "Create HTTP response that will stream the content of a resource defined by the resource path",
3029
+ "returnvalues": [
3030
+ {
3031
+ "name": "response",
3032
+ "doc": "HTTP response value, userdata",
3033
+ "types": ["response"]
3034
+ }
3035
+ ],
3036
+ "parameters": [
3037
+ {
3038
+ "name": "resource_path",
3039
+ "doc": "Resource path (starting with <code>/</code>)",
3040
+ "types": ["string"],
3041
+ "is_optional": "False"
3042
+ },
3043
+ {
3044
+ "name": "status",
3045
+ "doc": "HTTP status code, an integer, default 200",
3046
+ "types": ["integer"],
3047
+ "is_optional": "True"
3048
+ },
3049
+ {
3050
+ "name": "headers",
3051
+ "doc": "HTTP response headers, a table from lower-case header names to header values",
3052
+ "types": ["table&lt;string,string&gt;"],
3053
+ "is_optional": "True"
3054
+ }
3055
+ ],
3056
+ "examples": "",
3057
+ "replaces": "",
3058
+ "error": "",
3059
+ "tparams": [],
3060
+ "members": [],
3061
+ "notes": [],
3062
+ "language": ""
3063
+ },
3064
+ {
3065
+ "type": "FUNCTION",
3066
+ "name": "http.server.response",
3067
+ "brief": "create HTTP response",
3068
+ "description": "Create HTTP response",
3069
+ "returnvalues": [
3070
+ {
3071
+ "name": "response",
3072
+ "doc": "HTTP response value, userdata",
3073
+ "types": ["response"]
3074
+ }
3075
+ ],
3076
+ "parameters": [
3077
+ {
3078
+ "name": "status",
3079
+ "doc": "HTTP status code, an integer, default 200",
3080
+ "types": ["integer"],
3081
+ "is_optional": "True"
3082
+ },
3083
+ {
3084
+ "name": "headers",
3085
+ "doc": "HTTP response headers, a table from lower-case header names to header values",
3086
+ "types": ["table&lt;string,string&gt;"],
3087
+ "is_optional": "True"
3088
+ },
3089
+ {
3090
+ "name": "body",
3091
+ "doc": "HTTP response body",
3092
+ "types": ["string"],
3093
+ "is_optional": "True"
3094
+ }
3095
+ ],
3096
+ "examples": "",
3097
+ "replaces": "",
3098
+ "error": "",
3099
+ "tparams": [],
3100
+ "members": [],
3101
+ "notes": [],
3102
+ "language": ""
3103
+ },
3104
+ {
3105
+ "type": "FUNCTION",
3106
+ "name": "http.server.route",
3107
+ "brief": "create route definition for the editor's HTTP server",
3108
+ "description": "Create route definition for the editor's HTTP server",
3109
+ "returnvalues": [
3110
+ {
3111
+ "name": "route",
3112
+ "doc": "HTTP server route",
3113
+ "types": ["route"]
3114
+ }
3115
+ ],
3116
+ "parameters": [
3117
+ {
3118
+ "name": "path",
3119
+ "doc": "HTTP URI path, starts with <code>/</code>; may include path patterns (<code>{name}</code> for a single segment and <code>{*name}</code> for the rest of the request path) that will be extracted from the path and provided to the handler as a part of the request",
3120
+ "types": ["string"],
3121
+ "is_optional": "False"
3122
+ },
3123
+ {
3124
+ "name": "method",
3125
+ "doc": "HTTP request method, default <code>\"GET\"</code>",
3126
+ "types": ["string"],
3127
+ "is_optional": "True"
3128
+ },
3129
+ {
3130
+ "name": "as",
3131
+ "doc": "Request body converter, either <code>\"string\"</code> or <code>\"json\"</code>; the body will be discarded if not specified",
3132
+ "types": ["string"],
3133
+ "is_optional": "True"
3134
+ },
3135
+ {
3136
+ "name": "openapi",
3137
+ "doc": "Optional OpenAPI Operation Object for this route method, exposed from <code>/openapi.json</code>. Must follow <code>https://spec.openapis.org/oas/v3.0.3.html#operation-object</code>.",
3138
+ "types": ["table"],
3139
+ "is_optional": "True"
3140
+ },
3141
+ {
3142
+ "name": "handler",
3143
+ "doc": "Request handler function, will receive request argument, a table with the following keys:<dl><dt><code>path <small>string</small></code></dt><dd>full matched path, a string starting with <code>/</code></dd><dt><code>method <small>string</small></code></dt><dd>HTTP request method, e.g. <code>\"POST\"</code></dd><dt><code>headers <small>table&lt;string,(string|string[])&gt;</small></code></dt><dd>HTTP request headers, a table from lower-case header names to header values</dd><dt><code>query <small>string</small></code></dt><dd>optional query string</dd><dt><code>body <small>string, any</small></code></dt><dd>optional request body, depends on the <code>as</code> argument</dd></dl> Handler function should return either a single response value, or 0 or more arguments to the <code>http.server.response()</code> function",
3144
+ "types": ["function"],
3145
+ "is_optional": "False"
3146
+ }
3147
+ ],
3148
+ "examples": "Receive JSON and respond with JSON:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"nv\">http</span>.<span class=\"nv\">server</span>.<span class=\"nv\">route</span><span class=\"ss\">(</span>\n <span class=\"s2\">&quot;</span><span class=\"s\">/json</span><span class=\"s2\">&quot;</span>, <span class=\"s2\">&quot;</span><span class=\"s\">POST</span><span class=\"s2\">&quot;</span>, <span class=\"s2\">&quot;</span><span class=\"s\">json</span><span class=\"s2\">&quot;</span>,\n <span class=\"nv\">function</span><span class=\"ss\">(</span><span class=\"nv\">request</span><span class=\"ss\">)</span>\n <span class=\"nv\">pprint</span><span class=\"ss\">(</span><span class=\"nv\">request</span>.<span class=\"nv\">body</span><span class=\"ss\">)</span>\n <span class=\"k\">return</span> <span class=\"mi\">200</span>\n <span class=\"k\">end</span>\n<span class=\"ss\">)</span>\n</code></pre></div>\n\nExtract parts of the path:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"nv\">http</span>.<span class=\"nv\">server</span>.<span class=\"nv\">route</span><span class=\"ss\">(</span>\n <span class=\"s2\">&quot;</span><span class=\"s\">/users/{user}/orders</span><span class=\"s2\">&quot;</span>,\n <span class=\"nv\">function</span><span class=\"ss\">(</span><span class=\"nv\">request</span><span class=\"ss\">)</span>\n <span class=\"nv\">print</span><span class=\"ss\">(</span><span class=\"nv\">request</span>.<span class=\"nv\">user</span><span class=\"ss\">)</span>\n <span class=\"k\">end</span>\n<span class=\"ss\">)</span>\n</code></pre></div>\n\nSimple file server:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"nv\">http</span>.<span class=\"nv\">server</span>.<span class=\"nv\">route</span><span class=\"ss\">(</span>\n <span class=\"s2\">&quot;</span><span class=\"s\">/files/{*file}</span><span class=\"s2\">&quot;</span>,\n <span class=\"nv\">function</span><span class=\"ss\">(</span><span class=\"nv\">request</span><span class=\"ss\">)</span>\n <span class=\"nv\">local</span> <span class=\"nv\">attrs</span> <span class=\"o\">=</span> <span class=\"nv\">editor</span>.<span class=\"nv\">external_file_attributes</span><span class=\"ss\">(</span><span class=\"nv\">request</span>.<span class=\"nv\">file</span><span class=\"ss\">)</span>\n <span class=\"k\">if</span> <span class=\"nv\">attrs</span>.<span class=\"nv\">is_file</span> <span class=\"k\">then</span>\n <span class=\"k\">return</span> <span class=\"nv\">http</span>.<span class=\"nv\">server</span>.<span class=\"nv\">external_file_response</span><span class=\"ss\">(</span><span class=\"nv\">request</span>.<span class=\"nv\">file</span><span class=\"ss\">)</span>\n <span class=\"k\">elseif</span> <span class=\"nv\">attrs</span>.<span class=\"nv\">is_directory</span> <span class=\"k\">then</span>\n <span class=\"k\">return</span> <span class=\"mi\">400</span>\n <span class=\"k\">else</span>\n <span class=\"k\">return</span> <span class=\"mi\">404</span>\n <span class=\"k\">end</span>\n <span class=\"k\">end</span>\n<span class=\"ss\">)</span>\n</code></pre></div>",
3149
+ "replaces": "",
3150
+ "error": "",
3151
+ "tparams": [],
3152
+ "members": [],
3153
+ "notes": [],
3154
+ "language": ""
3155
+ },
3156
+ {
3157
+ "type": "FUNCTION",
3158
+ "name": "image.load_file",
3159
+ "brief": "load an image file for reading",
3160
+ "description": "Load an image file for reading",
3161
+ "returnvalues": [
3162
+ {
3163
+ "name": "image",
3164
+ "doc": "image userdata",
3165
+ "types": ["image"]
3166
+ }
3167
+ ],
3168
+ "parameters": [
3169
+ {
3170
+ "name": "path",
3171
+ "doc": "External file path, resolved against project root if relative",
3172
+ "types": ["string"],
3173
+ "is_optional": "False"
3174
+ }
3175
+ ],
3176
+ "examples": "",
3177
+ "replaces": "",
3178
+ "error": "",
3179
+ "tparams": [],
3180
+ "members": [],
3181
+ "notes": [],
3182
+ "language": ""
3183
+ },
3184
+ {
3185
+ "type": "FUNCTION",
3186
+ "name": "image.size",
3187
+ "brief": "return the width and height of a loaded image.",
3188
+ "description": "Return the width and height of a loaded image.",
3189
+ "returnvalues": [
3190
+ {
3191
+ "name": "width",
3192
+ "doc": "image width in pixels",
3193
+ "types": ["integer"]
3194
+ },
3195
+ {
3196
+ "name": "height",
3197
+ "doc": "image height in pixels",
3198
+ "types": ["integer"]
3199
+ }
3200
+ ],
3201
+ "parameters": [
3202
+ {
3203
+ "name": "image",
3204
+ "doc": "image userdata returned by <code>image.load_file()</code>",
3205
+ "types": ["image"],
3206
+ "is_optional": "False"
3207
+ }
3208
+ ],
3209
+ "examples": "",
3210
+ "replaces": "",
3211
+ "error": "",
3212
+ "tparams": [],
3213
+ "members": [],
3214
+ "notes": [],
3215
+ "language": ""
3216
+ },
3217
+ {
3218
+ "type": "FUNCTION",
3219
+ "name": "image.pixel",
3220
+ "brief": "return the color of a pixel from a loaded image.",
3221
+ "description": "Return the color of a pixel from a loaded image.\nCoordinates are 1-based, with <code>1, 1</code> at the top-left corner.",
3222
+ "returnvalues": [
3223
+ {
3224
+ "name": "r",
3225
+ "doc": "red channel, 0-255",
3226
+ "types": ["integer"]
3227
+ },
3228
+ {
3229
+ "name": "g",
3230
+ "doc": "green channel, 0-255",
3231
+ "types": ["integer"]
3232
+ },
3233
+ {
3234
+ "name": "b",
3235
+ "doc": "blue channel, 0-255",
3236
+ "types": ["integer"]
3237
+ },
3238
+ {
3239
+ "name": "a",
3240
+ "doc": "alpha channel, 0-255",
3241
+ "types": ["integer"]
3242
+ }
3243
+ ],
3244
+ "parameters": [
3245
+ {
3246
+ "name": "image",
3247
+ "doc": "image userdata returned by <code>image.load_file()</code>",
3248
+ "types": ["image"],
3249
+ "is_optional": "False"
3250
+ },
3251
+ {
3252
+ "name": "x",
3253
+ "doc": "1-based horizontal pixel coordinate",
3254
+ "types": ["integer"],
3255
+ "is_optional": "False"
3256
+ },
3257
+ {
3258
+ "name": "y",
3259
+ "doc": "1-based vertical pixel coordinate",
3260
+ "types": ["integer"],
3261
+ "is_optional": "False"
3262
+ }
3263
+ ],
3264
+ "examples": "",
3265
+ "replaces": "",
3266
+ "error": "",
3267
+ "tparams": [],
3268
+ "members": [],
3269
+ "notes": [],
3270
+ "language": ""
3271
+ },
3272
+ {
3273
+ "type": "FUNCTION",
3274
+ "name": "image.pixels",
3275
+ "brief": "iterate over pixels in a loaded image.",
3276
+ "description": "Iterate over pixels in a loaded image.\nThe iterator returns pixels row by row from top-left to bottom-right. Coordinates are 1-based.",
3277
+ "returnvalues": [
3278
+ {
3279
+ "name": "iterator",
3280
+ "doc": "iterator function returning <code>x, y, r, g, b, a</code> for each pixel",
3281
+ "types": ["function"]
3282
+ }
3283
+ ],
3284
+ "parameters": [
3285
+ {
3286
+ "name": "image",
3287
+ "doc": "image userdata returned by <code>image.load_file()</code>",
3288
+ "types": ["image"],
3289
+ "is_optional": "False"
3290
+ }
3291
+ ],
3292
+ "examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">local</span><span class=\"w\"> </span><span class=\"n\">img</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">image</span><span class=\"o\">.</span><span class=\"n\">load_file</span><span class=\"p\">(</span><span class=\"s2\">&quot;assets/source.png&quot;</span><span class=\"p\">)</span><span class=\"w\"></span>\n<span class=\"n\">local</span><span class=\"w\"> </span><span class=\"n\">width</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">height</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">image</span><span class=\"o\">.</span><span class=\"n\">size</span><span class=\"p\">(</span><span class=\"n\">img</span><span class=\"p\">)</span><span class=\"w\"></span>\n<span class=\"k\">for</span><span class=\"w\"> </span><span class=\"n\">x</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">y</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">r</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">g</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">b</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">a</span><span class=\"w\"> </span><span class=\"ow\">in</span><span class=\"w\"> </span><span class=\"n\">image</span><span class=\"o\">.</span><span class=\"n\">pixels</span><span class=\"p\">(</span><span class=\"n\">img</span><span class=\"p\">)</span><span class=\"w\"> </span><span class=\"n\">do</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">x</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">y</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">r</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">g</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">b</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">a</span><span class=\"p\">)</span><span class=\"w\"></span>\n<span class=\"n\">end</span><span class=\"w\"></span>\n</code></pre></div>",
3293
+ "replaces": "",
3294
+ "error": "",
3295
+ "tparams": [],
3296
+ "members": [],
3297
+ "notes": [],
3298
+ "language": ""
3299
+ },
3300
+ {
3301
+ "type": "FUNCTION",
3302
+ "name": "json.decode",
3303
+ "brief": "decode JSON string to Lua value",
3304
+ "description": "Decode JSON string to Lua value",
3305
+ "returnvalues": [],
3306
+ "parameters": [
3307
+ {
3308
+ "name": "json",
3309
+ "doc": "json data",
3310
+ "types": ["string"],
3311
+ "is_optional": "False"
3312
+ },
3313
+ {
3314
+ "name": "options",
3315
+ "doc": "A table with the following keys:<dl><dt><code>all <small>boolean</small></code></dt><dd>if <code>true</code>, decodes all json values in a string and returns an array</dd></dl>",
3316
+ "types": ["table"],
3317
+ "is_optional": "True"
3318
+ }
3319
+ ],
3320
+ "examples": "",
3321
+ "replaces": "",
3322
+ "error": "",
3323
+ "tparams": [],
3324
+ "members": [],
3325
+ "notes": [],
3326
+ "language": ""
3327
+ },
3328
+ {
3329
+ "type": "FUNCTION",
3330
+ "name": "json.encode",
3331
+ "brief": "encode Lua value to JSON string",
3332
+ "description": "Encode Lua value to JSON string",
3333
+ "returnvalues": [],
3334
+ "parameters": [
3335
+ {
3336
+ "name": "value",
3337
+ "doc": "any Lua value that may be represented as JSON",
3338
+ "types": ["any"],
3339
+ "is_optional": "False"
3340
+ }
3341
+ ],
3342
+ "examples": "",
3343
+ "replaces": "",
3344
+ "error": "",
3345
+ "tparams": [],
3346
+ "members": [],
3347
+ "notes": [],
3348
+ "language": ""
3349
+ },
3350
+ {
3351
+ "type": "FUNCTION",
3352
+ "name": "pprint",
3353
+ "brief": "pretty-print a Lua value",
3354
+ "description": "Pretty-print a Lua value",
3355
+ "returnvalues": [],
3356
+ "parameters": [
3357
+ {
3358
+ "name": "value",
3359
+ "doc": "any Lua value to pretty-print",
3360
+ "types": ["any"],
3361
+ "is_optional": "False"
3362
+ }
3363
+ ],
3364
+ "examples": "",
3365
+ "replaces": "",
3366
+ "error": "",
3367
+ "tparams": [],
3368
+ "members": [],
3369
+ "notes": [],
3370
+ "language": ""
3371
+ },
3372
+ {
3373
+ "type": "FUNCTION",
3374
+ "name": "localization.message",
3375
+ "brief": "create a message pattern for a localization key defined in an <code>.editor_localization</code> file; the actual localization happens when the returned value is stringified",
3376
+ "description": "Create a message pattern for a localization key defined in an <code>.editor_localization</code> file; the actual localization happens when the returned value is stringified",
3377
+ "returnvalues": [
3378
+ {
3379
+ "name": "message",
3380
+ "doc": "a userdata value that, when stringified with <code>tostring()</code>, will produce a localized text according to the currently selected language in the editor",
3381
+ "types": ["message"]
3382
+ }
3383
+ ],
3384
+ "parameters": [
3385
+ {
3386
+ "name": "key",
3387
+ "doc": "localization key defined in an <code>.editor_localization</code> file",
3388
+ "types": ["string"],
3389
+ "is_optional": "False"
3390
+ },
3391
+ {
3392
+ "name": "vars",
3393
+ "doc": "optional table with variables to be substituted in the localized string that uses <a href=\"https://unicode-org.github.io/icu/userguide/format_parse/messages/\">ICU Message Format</a> syntax; keys must be strings; values must be either <code>nil</code>, <code>boolean</code>, <code>number</code>, <code>string</code>, or another <code>message</code> instance",
3394
+ "types": ["table"],
3395
+ "is_optional": "True"
3396
+ }
3397
+ ],
3398
+ "examples": "",
3399
+ "replaces": "",
3400
+ "error": "",
3401
+ "tparams": [],
3402
+ "members": [],
3403
+ "notes": [],
3404
+ "language": ""
3405
+ },
3406
+ {
3407
+ "type": "FUNCTION",
3408
+ "name": "localization.and_list",
3409
+ "brief": "create a message pattern that renders a list with the \"and\" conjunction (for example: a, b, and c) once it is stringified",
3410
+ "description": "Create a message pattern that renders a list with the \"and\" conjunction (for example: a, b, and c) once it is stringified",
3411
+ "returnvalues": [
3412
+ {
3413
+ "name": "message",
3414
+ "doc": "a userdata value that, when stringified with <code>tostring()</code>, will produce a localized text according to the currently selected language in the editor",
3415
+ "types": ["message"]
3416
+ }
3417
+ ],
3418
+ "parameters": [
3419
+ {
3420
+ "name": "items",
3421
+ "doc": "] array of values; each value may be <code>nil</code>, <code>boolean</code>, <code>number</code>, <code>string</code>, or another <code>message</code> instance",
3422
+ "types": ["any["],
3423
+ "is_optional": "False"
3424
+ }
3425
+ ],
3426
+ "examples": "",
3427
+ "replaces": "",
3428
+ "error": "",
3429
+ "tparams": [],
3430
+ "members": [],
3431
+ "notes": [],
3432
+ "language": ""
3433
+ },
3434
+ {
3435
+ "type": "FUNCTION",
3436
+ "name": "localization.or_list",
3437
+ "brief": "create a message pattern that renders a list with the \"or\" conjunction (for example: a, b, or c) once it is stringified",
3438
+ "description": "Create a message pattern that renders a list with the \"or\" conjunction (for example: a, b, or c) once it is stringified",
3439
+ "returnvalues": [
3440
+ {
3441
+ "name": "message",
3442
+ "doc": "a userdata value that, when stringified with <code>tostring()</code>, will produce a localized text according to the currently selected language in the editor",
3443
+ "types": ["message"]
3444
+ }
3445
+ ],
3446
+ "parameters": [
3447
+ {
3448
+ "name": "items",
3449
+ "doc": "] array of values; each value may be <code>nil</code>, <code>boolean</code>, <code>number</code>, <code>string</code>, or another <code>message</code> instance",
3450
+ "types": ["any["],
3451
+ "is_optional": "False"
3452
+ }
3453
+ ],
3454
+ "examples": "",
3455
+ "replaces": "",
3456
+ "error": "",
3457
+ "tparams": [],
3458
+ "members": [],
3459
+ "notes": [],
3460
+ "language": ""
3461
+ },
3462
+ {
3463
+ "type": "FUNCTION",
3464
+ "name": "localization.concat",
3465
+ "brief": "create a message pattern that concatenates values (similar to <code>table.concat</code>) and performs the actual concatenation when stringified",
3466
+ "description": "Create a message pattern that concatenates values (similar to <code>table.concat</code>) and performs the actual concatenation when stringified",
3467
+ "returnvalues": [
3468
+ {
3469
+ "name": "message",
3470
+ "doc": "a userdata value that, when stringified with <code>tostring()</code>, will produce a localized text according to the currently selected language in the editor",
3471
+ "types": ["message"]
3472
+ }
3473
+ ],
3474
+ "parameters": [
3475
+ {
3476
+ "name": "items",
3477
+ "doc": "] array of values; each value may be <code>nil</code>, <code>boolean</code>, <code>number</code>, <code>string</code>, or another <code>message</code> instance",
3478
+ "types": ["any["],
3479
+ "is_optional": "False"
3480
+ },
3481
+ {
3482
+ "name": "separator",
3483
+ "doc": "optional separator inserted between values; defaults to an empty string",
3484
+ "types": ["nil", "boolean", "number", "string", "message"],
3485
+ "is_optional": "True"
3486
+ }
3487
+ ],
3488
+ "examples": "",
3489
+ "replaces": "",
3490
+ "error": "",
3491
+ "tparams": [],
3492
+ "members": [],
3493
+ "notes": [],
3494
+ "language": ""
3495
+ },
3496
+ {
3497
+ "type": "FUNCTION",
3498
+ "name": "tilemap.tiles.new",
3499
+ "brief": "create a new unbounded 2d grid data structure for storing tilemap layer tiles",
3500
+ "description": "Create a new unbounded 2d grid data structure for storing tilemap layer tiles",
3501
+ "returnvalues": [
3502
+ {
3503
+ "name": "tiles",
3504
+ "doc": "unbounded 2d grid of tiles",
3505
+ "types": ["tiles"]
3506
+ }
3507
+ ],
3508
+ "parameters": [],
3509
+ "examples": "",
3510
+ "replaces": "",
3511
+ "error": "",
3512
+ "tparams": [],
3513
+ "members": [],
3514
+ "notes": [],
3515
+ "language": ""
3516
+ },
3517
+ {
3518
+ "type": "FUNCTION",
3519
+ "name": "tilemap.tiles.get_tile",
3520
+ "brief": "get a tile index at a particular coordinate",
3521
+ "description": "Get a tile index at a particular coordinate",
3522
+ "returnvalues": [
3523
+ {
3524
+ "name": "tile_index",
3525
+ "doc": "1-indexed tile index of a tilemap's tilesource",
3526
+ "types": ["integer"]
3527
+ }
3528
+ ],
3529
+ "parameters": [
3530
+ {
3531
+ "name": "tiles",
3532
+ "doc": "unbounded 2d grid of tiles",
3533
+ "types": ["tiles"],
3534
+ "is_optional": "False"
3535
+ },
3536
+ {
3537
+ "name": "x",
3538
+ "doc": "x coordinate of a tile",
3539
+ "types": ["integer"],
3540
+ "is_optional": "False"
3541
+ },
3542
+ {
3543
+ "name": "y",
3544
+ "doc": "y coordinate of a tile",
3545
+ "types": ["integer"],
3546
+ "is_optional": "False"
3547
+ }
3548
+ ],
3549
+ "examples": "",
3550
+ "replaces": "",
3551
+ "error": "",
3552
+ "tparams": [],
3553
+ "members": [],
3554
+ "notes": [],
3555
+ "language": ""
3556
+ },
3557
+ {
3558
+ "type": "FUNCTION",
3559
+ "name": "tilemap.tiles.get_info",
3560
+ "brief": "get full information from a tile at a particular coordinate",
3561
+ "description": "Get full information from a tile at a particular coordinate",
3562
+ "returnvalues": [
3563
+ {
3564
+ "name": "info",
3565
+ "doc": "full tile information table with the following keys:<dl><dt><code>index <small>integer</small></code></dt><dd>1-indexed tile index of a tilemap's tilesource</dd><dt><code>h_flip <small>boolean</small></code></dt><dd>horizontal flip</dd><dt><code>v_flip <small>boolean</small></code></dt><dd>vertical flip</dd><dt><code>rotate_90 <small>boolean</small></code></dt><dd>whether the tile is rotated 90 degrees clockwise</dd></dl>",
3566
+ "types": ["table"]
3567
+ }
3568
+ ],
3569
+ "parameters": [
3570
+ {
3571
+ "name": "tiles",
3572
+ "doc": "unbounded 2d grid of tiles",
3573
+ "types": ["tiles"],
3574
+ "is_optional": "False"
3575
+ },
3576
+ {
3577
+ "name": "x",
3578
+ "doc": "x coordinate of a tile",
3579
+ "types": ["integer"],
3580
+ "is_optional": "False"
3581
+ },
3582
+ {
3583
+ "name": "y",
3584
+ "doc": "y coordinate of a tile",
3585
+ "types": ["integer"],
3586
+ "is_optional": "False"
3587
+ }
3588
+ ],
3589
+ "examples": "",
3590
+ "replaces": "",
3591
+ "error": "",
3592
+ "tparams": [],
3593
+ "members": [],
3594
+ "notes": [],
3595
+ "language": ""
3596
+ },
3597
+ {
3598
+ "type": "FUNCTION",
3599
+ "name": "tilemap.tiles.iterator",
3600
+ "brief": "create an iterator over all tiles in a tiles data structure",
3601
+ "description": "Create an iterator over all tiles in a tiles data structure\nWhen iterating using for loop, each iteration returns x, y and tile index of a tile in a tile map",
3602
+ "returnvalues": [
3603
+ {
3604
+ "name": "iter",
3605
+ "doc": "iterator",
3606
+ "types": ["function"]
3607
+ }
3608
+ ],
3609
+ "parameters": [
3610
+ {
3611
+ "name": "tiles",
3612
+ "doc": "unbounded 2d grid of tiles",
3613
+ "types": ["tiles"],
3614
+ "is_optional": "False"
3615
+ }
3616
+ ],
3617
+ "examples": "Iterate over all tiles in a tile map:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"k\">local</span><span class=\"w\"> </span><span class=\"n\">layers</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">editor</span><span class=\"p\">.</span><span class=\"k\">get</span><span class=\"p\">(</span><span class=\"ss\">&quot;/level.tilemap&quot;</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"ss\">&quot;layers&quot;</span><span class=\"p\">)</span><span class=\"w\"></span>\n<span class=\"k\">for</span><span class=\"w\"> </span><span class=\"n\">i</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">#layers</span><span class=\"w\"> </span><span class=\"n\">do</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"k\">local</span><span class=\"w\"> </span><span class=\"n\">tiles</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"n\">editor</span><span class=\"p\">.</span><span class=\"k\">get</span><span class=\"p\">(</span><span class=\"n\">layers</span><span class=\"o\">[</span><span class=\"n\">i</span><span class=\"o\">]</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"ss\">&quot;tiles&quot;</span><span class=\"p\">)</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"k\">for</span><span class=\"w\"> </span><span class=\"n\">x</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">y</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">i</span><span class=\"w\"> </span><span class=\"ow\">in</span><span class=\"w\"> </span><span class=\"n\">tilemap</span><span class=\"p\">.</span><span class=\"n\">tiles</span><span class=\"p\">.</span><span class=\"n\">iterator</span><span class=\"p\">(</span><span class=\"n\">tiles</span><span class=\"p\">)</span><span class=\"w\"> </span><span class=\"n\">do</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"k\">print</span><span class=\"p\">(</span><span class=\"n\">x</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">y</span><span class=\"p\">,</span><span class=\"w\"> </span><span class=\"n\">i</span><span class=\"p\">)</span><span class=\"w\"></span>\n<span class=\"w\"> </span><span class=\"k\">end</span><span class=\"w\"></span>\n<span class=\"k\">end</span><span class=\"w\"></span>\n</code></pre></div>",
3618
+ "replaces": "",
3619
+ "error": "",
3620
+ "tparams": [],
3621
+ "members": [],
3622
+ "notes": [],
3623
+ "language": ""
3624
+ },
3625
+ {
3626
+ "type": "FUNCTION",
3627
+ "name": "tilemap.tiles.clear",
3628
+ "brief": "remove all tiles",
3629
+ "description": "Remove all tiles",
3630
+ "returnvalues": [
3631
+ {
3632
+ "name": "tiles",
3633
+ "doc": "unbounded 2d grid of tiles",
3634
+ "types": ["tiles"]
3635
+ }
3636
+ ],
3637
+ "parameters": [
3638
+ {
3639
+ "name": "tiles",
3640
+ "doc": "unbounded 2d grid of tiles",
3641
+ "types": ["tiles"],
3642
+ "is_optional": "False"
3643
+ }
3644
+ ],
3645
+ "examples": "",
3646
+ "replaces": "",
3647
+ "error": "",
3648
+ "tparams": [],
3649
+ "members": [],
3650
+ "notes": [],
3651
+ "language": ""
3652
+ },
3653
+ {
3654
+ "type": "FUNCTION",
3655
+ "name": "tilemap.tiles.set",
3656
+ "brief": "set a tile at a particular coordinate",
3657
+ "description": "Set a tile at a particular coordinate",
3658
+ "returnvalues": [
3659
+ {
3660
+ "name": "tiles",
3661
+ "doc": "unbounded 2d grid of tiles",
3662
+ "types": ["tiles"]
3663
+ }
3664
+ ],
3665
+ "parameters": [
3666
+ {
3667
+ "name": "tiles",
3668
+ "doc": "unbounded 2d grid of tiles",
3669
+ "types": ["tiles"],
3670
+ "is_optional": "False"
3671
+ },
3672
+ {
3673
+ "name": "x",
3674
+ "doc": "x coordinate of a tile",
3675
+ "types": ["integer"],
3676
+ "is_optional": "False"
3677
+ },
3678
+ {
3679
+ "name": "y",
3680
+ "doc": "y coordinate of a tile",
3681
+ "types": ["integer"],
3682
+ "is_optional": "False"
3683
+ },
3684
+ {
3685
+ "name": "tile_or_info",
3686
+ "doc": "Either 1-indexed tile index of a tilemap's tilesource or full tile information table with the following keys:<dl><dt><code>index <small>integer</small></code></dt><dd>1-indexed tile index of a tilemap's tilesource</dd><dt><code>h_flip <small>boolean</small></code></dt><dd>horizontal flip</dd><dt><code>v_flip <small>boolean</small></code></dt><dd>vertical flip</dd><dt><code>rotate_90 <small>boolean</small></code></dt><dd>whether the tile is rotated 90 degrees clockwise</dd></dl>",
3687
+ "types": ["integer", "table"],
3688
+ "is_optional": "False"
3689
+ }
3690
+ ],
3691
+ "examples": "",
3692
+ "replaces": "",
3693
+ "error": "",
3694
+ "tparams": [],
3695
+ "members": [],
3696
+ "notes": [],
3697
+ "language": ""
3698
+ },
3699
+ {
3700
+ "type": "FUNCTION",
3701
+ "name": "tilemap.tiles.remove",
3702
+ "brief": "remove a tile at a particular coordinate",
3703
+ "description": "Remove a tile at a particular coordinate",
3704
+ "returnvalues": [
3705
+ {
3706
+ "name": "tiles",
3707
+ "doc": "unbounded 2d grid of tiles",
3708
+ "types": ["tiles"]
3709
+ }
3710
+ ],
3711
+ "parameters": [
3712
+ {
3713
+ "name": "tiles",
3714
+ "doc": "unbounded 2d grid of tiles",
3715
+ "types": ["tiles"],
3716
+ "is_optional": "False"
3717
+ },
3718
+ {
3719
+ "name": "x",
3720
+ "doc": "x coordinate of a tile",
3721
+ "types": ["integer"],
3722
+ "is_optional": "False"
3723
+ },
3724
+ {
3725
+ "name": "y",
3726
+ "doc": "y coordinate of a tile",
3727
+ "types": ["integer"],
3728
+ "is_optional": "False"
3729
+ }
3730
+ ],
3731
+ "examples": "",
3732
+ "replaces": "",
3733
+ "error": "",
3734
+ "tparams": [],
3735
+ "members": [],
3736
+ "notes": [],
3737
+ "language": ""
3738
+ },
3739
+ {
3740
+ "type": "FUNCTION",
3741
+ "name": "zip.pack",
3742
+ "brief": "create a ZIP archive",
3743
+ "description": "Create a ZIP archive",
3744
+ "returnvalues": [],
3745
+ "parameters": [
3746
+ {
3747
+ "name": "output_path",
3748
+ "doc": "output zip file path, resolved against project root if relative",
3749
+ "types": ["string"],
3750
+ "is_optional": "False"
3751
+ },
3752
+ {
3753
+ "name": "opts",
3754
+ "doc": "compression options, a table with the following keys:<dl><dt><code>method <small>string</small></code></dt><dd>compression method, either <code>zip.METHOD.DEFLATED</code> (default) or <code>zip.METHOD.STORED</code></dd><dt><code>level <small>integer</small></code></dt><dd>compression level, an integer between 0 and 9, only useful when the compression method is <code>zip.METHOD.DEFLATED</code>; defaults to 6</dd></dl>",
3755
+ "types": ["table"],
3756
+ "is_optional": "True"
3757
+ },
3758
+ {
3759
+ "name": "entries",
3760
+ "doc": "entries to compress, either a string (relative path to file or folder to include) or a table with the following keys:<dl><dt><code>1 <small>string</small></code></dt><dd>required; source file or folder path to include, resolved against project root if relative</dd><dt><code>2 <small>string</small></code></dt><dd>optional; target file or folder path in the zip archive. May be omitted if source is a relative path that does not go above the project directory.</dd><dt><code>method <small>string</small></code></dt><dd>compression method, either <code>zip.METHOD.DEFLATED</code> (default) or <code>zip.METHOD.STORED</code></dd><dt><code>level <small>integer</small></code></dt><dd>compression level, an integer between 0 and 9, only useful when the compression method is <code>zip.METHOD.DEFLATED</code>; defaults to 6</dd></dl>",
3761
+ "types": ["string", "table"],
3762
+ "is_optional": "False"
3763
+ }
3764
+ ],
3765
+ "examples": "Archive a file and a folder:\n<div class=\"codehilite\"><pre><span></span><code>zip.pack(&quot;build.zip&quot;, {&quot;build&quot;, &quot;game.project&quot;})\n</code></pre></div>\n\nChange the location of the files within the archive:\n<div class=\"codehilite\"><pre><span></span><code>zip.pack(&quot;build.zip&quot;, {\n {&quot;build/wasm-web&quot;, &quot;.&quot;},\n {&quot;configs/prod.json&quot;, &quot;config.json&quot;}\n})\n</code></pre></div>\n\nCreate archive without compression (much faster to create the archive, bigger archive file size, allows mmap access):\n<div class=\"codehilite\"><pre><span></span><code>zip.pack(&quot;build.zip&quot;, {method = zip.METHOD.STORED}, {\n &quot;build&quot;,\n &quot;resources&quot;\n})\n</code></pre></div>\n\nDon't compress one of the folders:\n<div class=\"codehilite\"><pre><span></span><code>zip.pack(&quot;build.zip&quot;, {\n {&quot;assets&quot;, method = zip.METHOD.STORED},\n &quot;build/wasm-web&quot;\n})\n</code></pre></div>\n\nInclude files from outside the project:\n<div class=\"codehilite\"><pre><span></span><code>zip.pack(&quot;build.zip&quot;, {\n &quot;build&quot;,\n {&quot;../secrets/auth-key.txt&quot;, &quot;auth-key.txt&quot;}\n})\n</code></pre></div>",
3766
+ "replaces": "",
3767
+ "error": "",
3768
+ "tparams": [],
3769
+ "members": [],
3770
+ "notes": [],
3771
+ "language": ""
3772
+ },
3773
+ {
3774
+ "type": "FUNCTION",
3775
+ "name": "zip.unpack",
3776
+ "brief": "extract a ZIP archive",
3777
+ "description": "Extract a ZIP archive",
3778
+ "returnvalues": [],
3779
+ "parameters": [
3780
+ {
3781
+ "name": "archive_path",
3782
+ "doc": "zip file path, resolved against project root if relative",
3783
+ "types": ["string"],
3784
+ "is_optional": "False"
3785
+ },
3786
+ {
3787
+ "name": "target_path",
3788
+ "doc": "target path for extraction, defaults to parent of <code>archive_path</code> if omitted",
3789
+ "types": ["string"],
3790
+ "is_optional": "True"
3791
+ },
3792
+ {
3793
+ "name": "opts",
3794
+ "doc": "extraction options, a table with the following keys:<dl><dt><code>on_conflict <small>string</small></code></dt><dd>conflict resolution strategy, defaults to <code>zip.ON_CONFLICT.ERROR</code></dd></dl>",
3795
+ "types": ["table"],
3796
+ "is_optional": "True"
3797
+ },
3798
+ {
3799
+ "name": "paths",
3800
+ "doc": "entries to extract, relative string paths",
3801
+ "types": ["table"],
3802
+ "is_optional": "True"
3803
+ }
3804
+ ],
3805
+ "examples": "Extract everything to a build dir:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">zip</span><span class=\"p\">.</span><span class=\"n\">unpack</span><span class=\"p\">(</span><span class=\"s2\">&quot;build/dev/resources.zip&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n\nExtract to a different directory:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">zip</span><span class=\"p\">.</span><span class=\"n\">unpack</span><span class=\"p\">(</span>\n <span class=\"s2\">&quot;build/dev/resources.zip&quot;</span><span class=\"p\">,</span>\n <span class=\"s2\">&quot;build/dev/tmp&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n\nExtract while overwriting existing files on conflict:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">zip</span><span class=\"p\">.</span><span class=\"n\">unpack</span><span class=\"p\">(</span>\n <span class=\"s2\">&quot;build/dev/resources.zip&quot;</span><span class=\"p\">,</span>\n <span class=\"p\">{</span><span class=\"n\">on_conflict</span> <span class=\"o\">=</span> <span class=\"n\">zip</span><span class=\"p\">.</span><span class=\"n\">ON_CONFLICT</span><span class=\"p\">.</span><span class=\"n\">OVERWRITE</span><span class=\"p\">}</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n\nExtract a single file:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">zip</span><span class=\"p\">.</span><span class=\"n\">unpack</span><span class=\"p\">(</span>\n <span class=\"s2\">&quot;build/dev/resources.zip&quot;</span><span class=\"p\">,</span>\n <span class=\"p\">{</span><span class=\"s2\">&quot;config.json&quot;</span><span class=\"p\">}</span>\n<span class=\"p\">)</span>\n</code></pre></div>",
3806
+ "replaces": "",
3807
+ "error": "",
3808
+ "tparams": [],
3809
+ "members": [],
3810
+ "notes": [],
3811
+ "language": ""
3812
+ },
3813
+ {
3814
+ "type": "FUNCTION",
3815
+ "name": "zlib.deflate",
3816
+ "brief": "deflate (compress) a buffer",
3817
+ "description": "Deflate (compress) a buffer",
3818
+ "returnvalues": [
3819
+ {
3820
+ "name": "buf",
3821
+ "doc": "deflated buffer",
3822
+ "types": ["string"]
3823
+ }
3824
+ ],
3825
+ "parameters": [
3826
+ {
3827
+ "name": "buf",
3828
+ "doc": "buffer to deflate",
3829
+ "types": ["string"],
3830
+ "is_optional": "False"
3831
+ }
3832
+ ],
3833
+ "examples": "",
3834
+ "replaces": "",
3835
+ "error": "",
3836
+ "tparams": [],
3837
+ "members": [],
3838
+ "notes": [],
3839
+ "language": ""
3840
+ },
3841
+ {
3842
+ "type": "FUNCTION",
3843
+ "name": "zlib.inflate",
3844
+ "brief": "inflate (decompress) a buffer",
3845
+ "description": "Inflate (decompress) a buffer",
3846
+ "returnvalues": [
3847
+ {
3848
+ "name": "buf",
3849
+ "doc": "inflated buffer",
3850
+ "types": ["string"]
3851
+ }
3852
+ ],
3853
+ "parameters": [
3854
+ {
3855
+ "name": "buf",
3856
+ "doc": "buffer to inflate",
3857
+ "types": ["string"],
3858
+ "is_optional": "False"
3859
+ }
3860
+ ],
3861
+ "examples": "",
3862
+ "replaces": "",
3863
+ "error": "",
3864
+ "tparams": [],
3865
+ "members": [],
3866
+ "notes": [],
3867
+ "language": ""
3868
+ }
3869
+ ],
3870
+ "info": {
3871
+ "namespace": "editor",
3872
+ "name": "Editor",
3873
+ "brief": "Editor scripting documentation",
3874
+ "description": "Editor scripting documentation",
3875
+ "path": "",
3876
+ "file": "",
3877
+ "notes": [],
3878
+ "language": "Lua"
3879
+ }
3880
+ }