Filip Tibell
7dd1835b15
Add some different debugging
2023-08-20 14:11:48 -05:00
Filip Tibell
ccf42115b3
Remove debugging
2023-08-20 14:02:48 -05:00
Filip Tibell
4e9c98035c
Fix new lua threads not breaking scheduler out of futures resumption
2023-08-20 14:01:34 -05:00
Filip Tibell
23f4b755c2
Add some debugging for require
2023-08-20 13:44:52 -05:00
Filip Tibell
6f42e28817
Support require without extension for path requires
2023-08-20 12:27:34 -05:00
Filip Tibell
a498bf3502
Store reference to lua in require context
2023-08-20 12:01:28 -05:00
Filip Tibell
3595c5b9d1
Fix async require cache, unify relative and cwd-relative require functions
2023-08-20 11:46:38 -05:00
Filip Tibell
88489ed9b2
Implement functionality necessary for relative path requires
2023-08-19 23:00:05 -05:00
Filip Tibell
04eee28947
Make it easier to emit formatted lua errors
2023-08-19 21:59:05 -05:00
Filip Tibell
4bb36e8b0c
Add back net builtin
2023-08-19 20:22:11 -05:00
Filip Tibell
aa810bfc2b
Add back roblox builtin
2023-08-19 20:01:55 -05:00
Filip Tibell
2ed3755762
Add back process builtin
2023-08-19 19:43:08 -05:00
Filip Tibell
db12419633
Add back fs builtin
2023-08-19 19:26:12 -05:00
Filip Tibell
9587087bff
Add back serde builtin
2023-08-19 19:22:55 -05:00
Filip Tibell
4dbcbcde94
Add back luau builtin
2023-08-19 19:18:36 -05:00
Filip Tibell
4005245211
Add back stdio builtin and pretty error formatting
2023-08-19 19:13:50 -05:00
Filip Tibell
2bde5e8ae8
Dont try to resume dead threads in the scheduler
2023-08-19 18:44:43 -05:00
Filip Tibell
f8e32219fa
Initial implementation of builtin libraries, task library
2023-08-19 18:42:28 -05:00
Filip Tibell
96df171a2b
Bring back version global
2023-08-19 17:34:15 -05:00
Filip Tibell
9786849c27
Rename version global test
2023-08-19 17:27:42 -05:00
Filip Tibell
1e60bead2b
Add back _G table
2023-08-19 17:23:40 -05:00
Filip Tibell
58ddc0e7a8
Pretty-print lua errors
2023-08-19 17:15:24 -05:00
Filip Tibell
17bc0379fd
Ensure thread safety of scheduler state
2023-08-19 17:09:13 -05:00
Filip Tibell
13ea511263
Add documentation for scheduler state
2023-08-19 16:45:46 -05:00
Filip Tibell
b8393abdab
More robust scheduler error resumption mechanism
2023-08-19 16:38:07 -05:00
Filip Tibell
72f6e1726b
Implement basic abs path require, propagate async errors back to lua threads
2023-08-19 16:06:12 -05:00
Filip Tibell
fea41c3166
Implement bulk of new require behavior
2023-08-19 15:31:17 -05:00
Filip Tibell
764a3c0d50
Initial scaffolding to get custom globals and require working
2023-08-18 16:35:33 -05:00
Filip Tibell
252adb4e5d
Use static lifetime bound instead of spamming actual static lifetime
2023-08-18 14:03:06 -05:00
Filip Tibell
fe41fdd047
Add back lua lifetime to scheduler
2023-08-18 13:57:31 -05:00
Filip Tibell
1ddc4fd45b
Remove mlua macros feature
2023-08-18 13:55:09 -05:00
Filip Tibell
15664a91d4
Add table builder util
2023-08-18 13:50:04 -05:00
Filip Tibell
9ceb23d2a5
Use static lua for now, to make lifetimes work
2023-08-18 13:43:18 -05:00
Filip Tibell
9c2ea728f1
Some lifetime and async arg improvements
2023-08-18 12:23:26 -05:00
Filip Tibell
09f0c3c42a
Relax scheduler method args since lifetimes are now correct
2023-08-18 09:36:08 -05:00
Filip Tibell
5e076f0052
Scheduler now manages entire Lua struct, elide lifetimes where possible
2023-08-18 09:20:35 -05:00
Filip Tibell
0255355553
Methods take owned threads
2023-08-17 21:37:09 -05:00
Filip Tibell
4c7826c40b
Add lifetimes because they are fun
2023-08-17 21:24:20 -05:00
Filip Tibell
ffa547a327
More work on scheduler async stuff
2023-08-17 20:00:01 -05:00
Filip Tibell
c6e1f22c6d
Update mlua version
2023-08-17 18:54:05 -05:00
Filip Tibell
996c7dd623
Some work on async functions for new scheduler
2023-08-17 00:23:20 -05:00
Filip Tibell
c1ec6f6181
Add api for scheduling plain futures in scheduler
2023-08-16 22:51:40 -05:00
Filip Tibell
26a8a965d7
Implement futures resumption
2023-08-16 22:40:59 -05:00
Filip Tibell
4a63b5c9e3
Use atomics in scheduler state instead of refcell
2023-08-16 22:04:42 -05:00
Filip Tibell
662e0494e3
Implement thread return value broadcasting in scheduler
2023-08-16 22:00:15 -05:00
Filip Tibell
d055b6b684
Initial barebones scheduler implementation and interface
2023-08-16 20:38:05 -05:00
Filip Tibell
a880f81455
Clean slate
2023-08-16 15:30:46 -05:00
Filip Tibell
d5400f370f
Remove static lua lifetimes where possible
2023-08-16 11:17:43 -05:00
Filip Tibell
60026b1c85
Prompt state for REPL does not need PartialEq
2023-08-16 10:58:03 -05:00
Filip Tibell
2b855156bf
Make clippy happy for new REPL, minor changes
...
- Move some code blocks to be able to remove string cloning
- Use const strings for user-facing REPL messages
- Fix running input code twice when interrupted
- Add notes for future extensions and considerations
2023-08-16 10:56:25 -05:00