Commit Graph

176 Commits

Author SHA1 Message Date
Stephen Chung
ff67efc6d5 Add source to contexts. 2020-12-21 23:12:45 +08:00
Stephen Chung
5ac83f0f46 Add context source to on_debug. 2020-12-21 22:04:46 +08:00
Stephen Chung
40b6a014ae Provide Position to debug. 2020-12-12 11:47:18 +08:00
Stephen Chung
5443368359 Pass Position into function calls. 2020-12-12 11:15:09 +08:00
Stephen Chung
4438c358d5 on_progress takes u64. 2020-12-12 10:10:27 +08:00
Stephen Chung
1004bca5b5 Print arrays and maps with to_debug. 2020-11-30 11:20:51 +08:00
Stephen Chung
36546c7325 Fix builds 2020-11-27 23:37:59 +08:00
Stephen Chung
a0979d0c35 Code cleanup 2020-11-25 09:36:06 +08:00
Stephen Chung
739dce72e3 Move if_def_fn into CorePackage. 2020-11-22 15:41:55 +08:00
Stephen Chung
783803ec46 Update comments with links. 2020-11-20 16:52:28 +08:00
Stephen Chung
7ef3bd6b20 Fix no_function build. 2020-11-16 23:25:19 +08:00
Stephen Chung
272c8505b8 Refactor use. 2020-11-16 23:10:14 +08:00
Stephen Chung
d50d48f26f Move definition of Array and Map to lib.rs. 2020-11-16 21:14:32 +08:00
Stephen Chung
adb902326e Reduce feature gates on imports. 2020-11-16 16:28:04 +08:00
Stephen Chung
ef02150afd Expose methods for Engine::register_module. 2020-11-16 14:07:48 +08:00
Stephen Chung
c41f5aefcb Change sub-modules to shared. 2020-11-09 22:44:20 +08:00
Stephen Chung
48886eacc8 Add == and != to arrays and maps. 2020-11-08 23:00:37 +08:00
Stephen Chung
232ba27548 Add NativeCallContext::new. 2020-11-08 18:15:23 +08:00
Stephen Chung
b3d318ef7f Module resolver returns shared module. 2020-11-07 23:33:21 +08:00
Stephen Chung
6bc5ba6668 Enable functions to use global imports. 2020-11-06 19:17:07 +08:00
Stephen Chung
32f41c69bd Refine code and docs. 2020-11-03 21:50:14 +08:00
Stephen Chung
b9de8eaa7f Minor code refactor. 2020-11-02 23:54:19 +08:00
Stephen Chung
d7d6f74dfd Add constant NO_POS. 2020-11-02 12:50:27 +08:00
Stephen Chung
6f3ce96d9d Enable termination token. 2020-11-02 11:04:45 +08:00
Stephen Chung
4e115d2bc2 Code structure refactor. 2020-10-29 11:37:51 +08:00
Stephen Chung
f5ffbfbe06 Code structure cleanup. 2020-10-28 22:18:44 +08:00
Stephen Chung
5ee9dfc5cd 1) Change namespaces to iter_namespaces
2) throw can throw any value
2020-10-20 18:09:26 +08:00
Stephen Chung
92ba7b42d5 Implement namespaces chain. 2020-10-20 10:54:32 +08:00
Stephen Chung
a9fd0ff4de Encapsulate scope into EvalContext;
Fix bug with custom syntax delta.
2020-10-19 19:11:55 +08:00
Stephen Chung
d68c951795 Pad string to exact length even when padding string is not multiple. 2020-10-18 22:47:58 +08:00
Stephen Chung
dc4c47e008 Fix no_function and no_module builds. 2020-10-18 17:29:11 +08:00
Stephen Chung
82e6dd446a Encapsulate register_fn_raw parameters into NativeCallContext. 2020-10-18 17:02:17 +08:00
Stephen Chung
39474d6420 Streamline function pointers and currying. 2020-10-17 13:49:16 +08:00
Stephen Chung
a16fc71935 Encapsulate RwLock and RefCell into Locked. 2020-10-16 23:41:56 +08:00
Stephen Chung
747fda1ec7 Add filter, map, reduce to Array. 2020-10-12 22:49:51 +08:00
Stephen Chung
e343bcfa8f Change Option<usize> to usize for variable resolver index. 2020-10-11 22:41:26 +08:00
Stephen Chung
fd5a932611 Implement variable resolver. 2020-10-11 21:58:11 +08:00
Stephen Chung
612ecc4ebc Move StaticVec definition to lib.rs. 2020-10-10 13:41:55 +08:00
Stephen Chung
1272eeb81a Add/remove #[inline] attributes. 2020-10-08 22:25:50 +08:00
Stephen Chung
a72f70846f Make merged namespace more efficient. 2020-10-02 23:14:33 +08:00
Stephen Chung
a04ed02b54 Simplify macro system and update doc comments. 2020-09-30 22:55:40 +08:00
Stephen Chung
ea78fa2b27 Change SharedPluginFunction to Shared<FnPlugin> 2020-09-29 13:06:48 +08:00
Stephen Chung
03dce86328 Support Dynamic as function default return value. 2020-09-26 16:27:38 +08:00
Stephen Chung
c55b0d7883 Fix bug with plugin method call detection. 2020-08-19 12:50:23 +08:00
Stephen Chung
0e344ff3eb Merge branch 'master' into plugins 2020-08-08 23:01:48 +08:00
Stephen Chung
f68c5a699d Fix sync feature. 2020-08-08 17:04:21 +08:00
Stephen Chung
fbad20eb0d Merge branch 'master' into plugins 2020-08-08 16:26:52 +08:00
Stephen Chung
5a1a141ce3 Improve shared value treatment. 2020-08-08 16:24:10 +08:00
Stephen Chung
26c5b10ef7 Merge branch 'master' into plugins 2020-08-06 10:31:15 +08:00
Stephen Chung
2f395492de Simply error code. 2020-08-06 10:17:32 +08:00
Stephen Chung
ae11dbbefe Fix feature flags. 2020-08-05 22:53:01 +08:00
Stephen Chung
24346b9728 Merge branch 'master' into plugins 2020-08-04 16:51:22 +08:00
Stephen Chung
4079164bfd Implement closures. 2020-08-03 12:10:20 +08:00
Stephen Chung
871fcb38be Minor style changes and make sure no_shared works on all. 2020-07-31 16:03:08 +08:00
Ilya Lakhin
89f75bbf0c Merge remote-tracking branch 'schungx/closures' into closures 2020-07-31 13:05:16 +07:00
Ilya Lakhin
4f771d904a Code cleanup 2020-07-31 12:09:32 +07:00
Stephen Chung
cb005506e2 Simplify function calling. 2020-07-31 12:11:16 +08:00
Ilya Lakhin
aa87a7f5ef Fixes in Engine to properly interpret Shared Dynamic 2020-07-31 10:47:22 +07:00
Ilya Lakhin
e5fe222de3 Shared variant of Dynamic type; All read/write access operations in Dynamic backed by Read/Write lock guards; new shared() script function 2020-07-31 10:47:14 +07:00
Stephen Chung
98b294c699 Implement capturing. 2020-07-30 18:18:28 +08:00
Stephen Chung
4510d3a659 Merge branch 'master' into plugins 2020-07-29 14:17:40 +08:00
Stephen Chung
37ea24afe9 Improve docs. 2020-07-28 19:11:37 +08:00
Stephen Chung
0c703c0361 Merge branch 'master' into plugins 2020-07-28 11:08:57 +08:00
Stephen Chung
a3a167424b Allow Rust functions in FnPtr::call_dynamic. 2020-07-27 12:52:32 +08:00
Stephen Chung
3d36a25c90 Add back PluginFunction. 2020-07-26 16:10:38 +08:00
Stephen Chung
4691f7860c Merge branch 'master' into plugins 2020-07-26 16:09:27 +08:00
Stephen Chung
6b600704a3 Avoid warnings. 2020-07-26 15:53:22 +08:00
Stephen Chung
25ee4b4f82 Merge branch 'master' into plugins 2020-07-26 14:07:29 +08:00
Stephen Chung
e7af008d74 Avoid warnings. 2020-07-26 13:51:09 +08:00
Stephen Chung
8e33cbfe34 Merge branch 'master' into plugins 2020-07-26 10:05:56 +08:00
Stephen Chung
353df6bea1 Avoid warnings in standard build. 2020-07-26 10:03:59 +08:00
Stephen Chung
d278f3725c Merge branch 'master' into plugins 2020-07-25 16:16:09 +08:00
Stephen Chung
284e58e8a1 Improve documentation on internal types. 2020-07-25 15:52:27 +08:00
Stephen Chung
1c58bdb2a1 Merge branch 'master' into plugins 2020-07-23 18:46:25 +08:00
Stephen Chung
bff266d4e1 Move function calling to separate source file. 2020-07-23 18:40:42 +08:00
Stephen Chung
a2ddd2175e Merge branch 'master' into plugins 2020-07-23 16:12:09 +08:00
Stephen Chung
1a48a2d8ba Refine currying docs. 2020-07-23 15:49:09 +08:00
Stephen Chung
dc7f847a8e Merge branch 'master' of https://github.com/schungx/rhai 2020-07-23 10:13:10 +08:00
Stephen Chung
b913b521dc Improve currying. 2020-07-23 10:12:51 +08:00
Ilya Lakhin
82685b7df2 FnPtr::call_dynamic shortcut function that enriches call arguments with curry-ed data automatically 2020-07-23 04:53:40 +07:00
Stephen Chung
6d551f1596 Add currying support. 2020-07-22 23:12:09 +08:00
Stephen Chung
a7f564fe37 Merge branch 'master' into plugins 2020-07-17 11:44:23 +08:00
Stephen Chung
adc96e24bd Fix all features. 2020-07-13 19:38:50 +08:00
Stephen Chung
d95761d064 Merge branch 'master' into plugins 2020-07-10 22:06:02 +08:00
Stephen Chung
ebffbf0f98 Refine docs and add custom syntax. 2020-07-10 22:01:47 +08:00
Stephen Chung
b71d9acdc2 Merge branch 'master' into plugins 2020-07-06 23:14:44 +08:00
Stephen Chung
2b3f10f2c5 Define functions anywhere during parsing. 2020-07-06 22:57:50 +08:00
Stephen Chung
3b7a7426cf Merge branch 'master' into plugins 2020-07-06 21:52:47 +08:00
Stephen Chung
d0711394f0 Expose FnPtr and move name checking into 2020-07-06 21:30:35 +08:00
Stephen Chung
fbe15d25b6 Merge branch 'master' into plugins 2020-07-06 13:11:46 +08:00
Stephen Chung
ea86888638 Add new &Module parameter to native functions. 2020-07-06 12:04:02 +08:00
Stephen Chung
ef2d28d423 Merge branch 'master' into plugins 2020-07-05 18:12:35 +08:00
Stephen Chung
368b4a480b Reformat code. 2020-07-04 22:53:00 +08:00
Stephen Chung
d626bf9f5b Refine no_function feature. 2020-07-04 16:21:15 +08:00
Stephen Chung
e14cfbd9d7 Restore plugins code. 2020-07-02 12:47:24 +08:00
Stephen Chung
d6a08be223 Refactor. 2020-06-29 23:55:28 +08:00
Stephen Chung
aac04a5e53 Remove modules from Scope and use separate stack. 2020-06-27 23:56:24 +08:00
Stephen Chung
175c3ccaec OOP support. 2020-06-26 10:39:18 +08:00
Stephen Chung
fe640e0e13 Implement function pointers. 2020-06-25 18:07:57 +08:00
Stephen Chung
35fa61cd4b Do not export fn_native. 2020-06-18 18:39:28 +08:00