Commit Graph

1917 Commits

Author SHA1 Message Date
Stephen Chung
abbfa3777d Add more range API's. 2021-12-15 22:12:51 +08:00
Stephen Chung
59a9ff0b0f Fix range precedences and add comparison operators. 2021-12-15 14:18:03 +08:00
Stephen Chung
eda80488d5 Fix builds. 2021-12-15 12:46:25 +08:00
Stephen Chung
7afec287d8 Fix doc test. 2021-12-15 12:26:05 +08:00
Stephen Chung
ef14079c61 Add ranges. 2021-12-15 12:06:17 +08:00
Stephen Chung
93e3c4c10a Compact BLOB display. 2021-12-13 09:40:43 +08:00
Stephen Chung
5eaf85254f Fix builds. 2021-12-12 17:26:15 +08:00
Stephen Chung
6af406bafc Add parse/write to blobs. 2021-12-12 16:29:54 +08:00
Stephen Chung
780c36e675 Simplify if let. 2021-12-12 12:33:22 +08:00
Stephen Chung
3a5495a65c Clarify custom operators. 2021-12-09 22:54:10 +08:00
Stephen Chung
675ddb89f9 Add "" and `` in string literals. 2021-12-09 13:34:51 +08:00
Stephen Chung
d9d44a9683 Add Engine::register_type_with_name_raw. 2021-12-09 12:49:12 +08:00
Stephen Chung
4421f33b2c Fix bug in blob's. 2021-12-07 19:03:04 +08:00
Stephen Chung
2a7a648429 Reduce feature gates. 2021-12-06 20:52:47 +08:00
Stephen Chung
5b64e0b383 Use deref for Expression. 2021-12-06 18:50:37 +08:00
Stephen Chung
cc98e82ea1 Include hashes in JSON output. 2021-12-06 11:12:54 +08:00
Stephen Chung
206b5051eb Clarify non-zero hashes. 2021-12-06 10:34:13 +08:00
Stephen Chung
54f78c5cd9 Use zero for no hash. 2021-12-05 17:05:19 +08:00
Stephen Chung
6f6380ca3a Fix builds. 2021-12-04 18:07:27 +08:00
Stephen Chung
b8c4054c20 Add strict variables mode. 2021-12-04 17:57:28 +08:00
Stephen Chung
fd26654125 Add allow_looping. 2021-12-03 11:24:38 +08:00
Stephen Chung
7cd76c6d18 Add language options. 2021-12-03 11:16:35 +08:00
Stephen Chung
9a5bd9396a Fix builds. 2021-12-02 17:46:39 +08:00
Stephen Chung
27c0181035 Fix build. 2021-12-02 16:01:37 +08:00
Stephen Chung
41dd989866 Support deserialization into byte arrays for BLOB's via serde_bytes. 2021-12-02 14:10:53 +08:00
Stephen Chung
70f4c53854 Trap out-of-bounds panic for BLOB's. 2021-12-02 13:09:59 +08:00
Stephen Chung
5363b0724f Support Option in from_dynamic. 2021-12-02 12:50:11 +08:00
Stephen Chung
5003d836d9 Do not construct function pointer for invalid function names. 2021-12-02 12:49:57 +08:00
Stephen Chung
d36e2d22d1 Minor refactor. 2021-12-02 12:49:46 +08:00
Stephen Chung
4b4b7a753b Add low-level warnings. 2021-11-29 13:12:47 +08:00
Stephen Chung
ba0a6c667e Add FnPtr::call_within_context. 2021-11-29 12:43:59 +08:00
Stephen Chung
0ab86ac623 Move AST::new() and AST::new_with_source() to internals. 2021-11-29 10:58:46 +08:00
Stephen Chung
c5f2b0a253 Fix builds. 2021-11-29 10:17:04 +08:00
Stephen Chung
95dc2ad502 Remove fields and parameters under no_function. 2021-11-29 09:43:35 +08:00
Stephen Chung
a3e79c0bd0 Fix builds. 2021-11-28 23:06:33 +08:00
Stephen Chung
9fa4d60336 Minor code and docs refactor. 2021-11-28 22:57:28 +08:00
Stephen Chung
dca47d5233 Remove volatile warnings for types and functions exposed unter internals. 2021-11-28 22:03:02 +08:00
Stephen Chung
c5317d7706 Deprecate NativeCallContext::new 2021-11-28 12:41:33 +08:00
Stephen Chung
d88e17d177 Move more &str to AsRef<str> 2021-11-28 12:41:20 +08:00
Stephen Chung
f49ff28b82 Fix test. 2021-11-28 10:49:48 +08:00
Stephen Chung
9c4ed44ab8 Fix builds. 2021-11-27 23:29:32 +08:00
Stephen Chung
4fc088a0f1 Fix feature builds. 2021-11-27 23:20:05 +08:00
Stephen Chung
e918e61e95 Use AsRef<str> for more flexible API. 2021-11-27 23:04:45 +08:00
Stephen Chung
30bfdd841a Add FnPtr::call. 2021-11-27 16:28:34 +08:00
Stephen Chung
d56585c877 Remove no_smartstring feature. 2021-11-27 14:24:36 +08:00
Stephen Chung
abe6b4a29b Use more const functions. 2021-11-27 14:24:06 +08:00
Stephen Chung
280b5b405e Make some new functions const. 2021-11-25 17:09:00 +08:00
Stephen Chung
fc472f641b Remove blob functions for filtering. 2021-11-23 23:01:14 +08:00
Stephen Chung
b7b42e658a Fix blob methods. 2021-11-23 22:52:10 +08:00
Stephen Chung
93b802effd Merge branch 'v1.2-fixes' 2021-11-23 22:46:16 +08:00
Stephen Chung
2b0b79870e Fix bug in array methods. 2021-11-23 22:37:18 +08:00
Stephen Chung
0c89a9c4c5 Change parameter name. 2021-11-23 18:10:01 +08:00
Stephen Chung
a757dfe89d Add blobs. 2021-11-23 14:58:54 +08:00
Stephen Chung
6ad7b344bf Add into_array and into_typed_array. 2021-11-23 12:45:59 +08:00
Stephen Chung
90200e607c Fix doc comment links. 2021-11-20 21:29:36 +08:00
Stephen Chung
fa41f4faf0 Move function back to correct file. 2021-11-20 15:43:55 +08:00
Stephen Chung
344b48ad36 Split APIs into files. 2021-11-20 14:57:21 +08:00
Stephen Chung
b7dc94fc1d Refactor. 2021-11-16 23:13:53 +08:00
Stephen Chung
e961ae23fd Eliminate script hashes under no_function. 2021-11-16 13:42:46 +08:00
Stephen Chung
b178d7c367 Fix no_function builds. 2021-11-16 13:42:22 +08:00
Stephen Chung
c2c30f7711 Use fold. 2021-11-16 13:15:43 +08:00
Stephen Chung
2fffe31b59 Level up exports. 2021-11-16 12:26:37 +08:00
Stephen Chung
98707912e0 Convert for loop to iterator. 2021-11-15 14:30:00 +08:00
Stephen Chung
de906053ed Deprecate call_fn_dynamic into call_fn_raw. 2021-11-15 11:13:00 +08:00
Stephen Chung
615c3acad6 Use actual outer scope for function-bang calls. 2021-11-14 22:48:57 +08:00
Stephen Chung
64b889fb95 Restructure code base. 2021-11-13 22:36:23 +08:00
Stephen Chung
38884ede46 Reducce panic messages. 2021-11-13 12:23:35 +08:00
Stephen Chung
c8aab47f50 Merge branch 'v1.1-fixes' 2021-11-13 10:01:55 +08:00
Stephen Chung
a227963f7a Fix unary parsing. 2021-11-13 09:50:49 +08:00
Stephen Chung
a9aa8e84fd Use Box<[]>. 2021-11-12 13:25:57 +08:00
Stephen Chung
bffc73435c Remove externals from ScriptFnDef. 2021-11-12 13:02:16 +08:00
Stephen Chung
7f34e4ad99 Merge branch 'v1.1-fixes' 2021-11-11 21:47:45 +08:00
Stephen Chung
774fd7514e Fix bang function calls under no_closure. 2021-11-11 21:47:35 +08:00
Stephen Chung
5e18ea34fe Fix doc test. 2021-11-11 21:43:45 +08:00
Stephen Chung
0fbc437916 Use Box<str> internally. 2021-11-11 13:55:52 +08:00
Stephen Chung
93869b544c Fix doc test. 2021-11-09 15:42:17 +08:00
Stephen Chung
f6dc440601 Add AST::iter_literal_variables. 2021-11-09 13:22:45 +08:00
Stephen Chung
e63cba9caf Merge branch 'v1.1-fixes' 2021-11-09 08:48:16 +08:00
Stephen Chung
5685ca8411 Fix floating-point display. 2021-11-09 08:46:02 +08:00
Stephen Chung
5083df3096 Propagate constants to functions for Engine::XXX_with_scope calls. 2021-11-08 22:16:28 +08:00
Stephen Chung
31ef7e6c69 Fix builds. 2021-11-08 12:07:49 +08:00
Stephen Chung
cc6a0571e7 Fix builds. 2021-11-08 11:35:46 +08:00
Stephen Chung
09e6b21729 Move mutable runtime global state to Imports. 2021-11-08 09:27:08 +08:00
Stephen Chung
71ad158b6a Fix builds. 2021-11-07 18:25:32 +08:00
Stephen Chung
68c0ee08c0 Reduce usage of Default::default() to make it easier to refactor. 2021-11-07 18:12:37 +08:00
Stephen Chung
61cc3d0bf2 Merge branch 'v1.1-fixes' 2021-11-05 23:26:00 +08:00
Stephen Chung
eeca8c90aa Make sure the global namespace is always searched first. 2021-11-05 23:22:05 +08:00
Stephen Chung
46e99df9cd Reverse regression on string + operator. 2021-11-05 20:34:27 +08:00
Stephen Chung
b2eb207ce4 Fix no_position builds. 2021-11-05 19:53:52 +08:00
Stephen Chung
affbb81d8a Add NativeCallContext::position. 2021-11-05 19:35:33 +08:00
Stephen Chung
231584824a Properly handle unary operators at beginning of statement. 2021-11-03 09:11:20 +08:00
Stephen Chung
7c6b444616 Fix display of 0.0. 2021-11-03 08:44:07 +08:00
Stephen Chung
ff9ac41da2 Merge branch 'v1.1-fixes' 2021-11-01 10:08:27 +08:00
Stephen Chung
c955c9200e Fix build. 2021-11-01 10:07:45 +08:00
Stephen Chung
2ea86c3987 Fix bug in assignment parsing. 2021-11-01 09:55:50 +08:00
Stephen Chung
b23bdb6d13 Remove unnecessary string builtins. 2021-11-01 09:42:22 +08:00
Stephen Chung
77dfc80fe9 Use iter().rev().enumerate(). 2021-11-01 09:31:48 +08:00
Stephen Chung
3d1b2d6f10 Fix no_function build. 2021-10-29 17:10:28 +08:00
Stephen Chung
dc2e824ce2 Fix no_module builds. 2021-10-29 17:01:29 +08:00
Stephen Chung
a5ae002cb7 Refine namespace display. 2021-10-27 23:30:25 +08:00
Stephen Chung
00659d65d9 Implement global module in EvalState. 2021-10-27 17:52:48 +08:00
Stephen Chung
79dd3f8186 Add $$ marker to custom syntax. 2021-10-25 22:41:42 +08:00
Stephen Chung
96f08e8cad Merge branch 'v1.1-fixes' 2021-10-23 17:54:03 +08:00
Stephen Chung
4e965c3f3f Fix no_module+internals build. 2021-10-23 17:49:52 +08:00
Stephen Chung
34cf494545 Add Array::sort with no predicate. 2021-10-23 11:51:48 +08:00
wackbyte
9f0347df9f Fix some rustdoc warnings and a typo in FLOAT's docs
Unfortunately, I can't fix the 2 remaining warnings.
2021-10-22 12:03:06 +08:00
Stephen Chung
8a7912a901 Fix build. 2021-10-21 19:51:35 +08:00
Stephen Chung
83f83307ca Fix builds. 2021-10-21 19:30:58 +08:00
Stephen Chung
65ef402440 Eliminate optimize module with no_optimize. 2021-10-21 19:17:34 +08:00
Stephen Chung
315a891ba6 Fine tune array methods. 2021-10-21 19:04:53 +08:00
Stephen Chung
1c921f3784 Add dedup to array. 2021-10-21 17:59:54 +08:00
Stephen Chung
9c16d90de9 Use #[inline(always)] only when relatively certain. 2021-10-21 17:26:43 +08:00
Stephen Chung
313999b0ac Reduce nesting in plugin sub-modules. 2021-10-20 16:22:12 +08:00
Stephen Chung
c8e7c970d1 Add variants of Array methods taking FnPtr with function names. 2021-10-20 11:06:38 +08:00
Stephen Chung
3001e90775 Deprecate From<EvalAltResult> for Result<T, Box<EvalAltResult>> because it is clearer for code to explicitly wrap errors in Err. 2021-10-19 23:52:58 +08:00
Stephen Chung
6d31bb0d19 Do not inline error path functions. 2021-10-19 20:16:36 +08:00
Stephen Chung
2334cd8f56 Avoid cloning in array methods as much as possible. 2021-10-19 19:57:15 +08:00
Stephen Chung
3174b4759e Simplify code. 2021-10-18 15:09:07 +08:00
Stephen Chung
782f6a3e12 Revert change. 2021-10-11 16:46:34 +08:00
Stephen Chung
90b6b15f15 Use into(). 2021-10-11 15:49:51 +08:00
Stephen Chung
4908b58473 Lazy calculate indexer call hashes. 2021-09-29 12:16:59 +08:00
Stephen Chung
87d48948f9 Merge branch 'bug-fixes' 2021-09-28 16:55:33 +08:00
Stephen Chung
7ce8887343 Fix no_index build. 2021-09-28 16:36:31 +08:00
Stephen Chung
85dcd6e754 Fix bug with changing property of value obtained via index getter. 2021-09-28 15:59:46 +08:00
Stephen Chung
e963a7251c Check if empty string came from global instance. 2021-09-27 11:09:19 +08:00
Stephen Chung
fe47058add Merge branch 'bug-fixes' 2021-09-27 10:34:46 +08:00
Stephen Chung
6df2178460 Assume property getters are pure. 2021-09-27 10:34:24 +08:00
Stephen Chung
70828209fe Fix builds. 2021-09-26 21:50:07 +08:00
Stephen Chung
42d3fde0af Fix no_closure build. 2021-09-26 21:30:33 +08:00
Stephen Chung
a130960627 Fix empty strings. 2021-09-26 21:25:29 +08:00
Stephen Chung
3557db88e8 Merge empty strings. 2021-09-26 21:18:52 +08:00
Stephen Chung
65a1c24d7b Add signatures to callback function docs. 2021-09-25 15:57:38 +08:00
Stephen Chung
0715262c44 Enhance signature of on_parse_token callback. 2021-09-24 22:44:39 +08:00
Stephen Chung
d791052d5c Add Engine::on_parse_token. 2021-09-24 18:00:48 +08:00
Stephen Chung
cd8af67842 Merge branch 'bug-fixes' 2021-09-24 09:27:45 +08:00
Stephen Chung
d9dca6ef98 Expore more internal data structures. 2021-09-24 09:26:35 +08:00
Stephen Chung
8f94a60020 Optimize interpolated strings. 2021-09-20 22:36:10 +08:00
Stephen Chung
adbe9a292e Short circuit functions if empty: array, map, string. 2021-09-20 18:35:23 +08:00
Stephen Chung
6e7fbfa66f Add pop to string. 2021-09-20 16:25:23 +08:00
Stephen Chung
71e8cf727d Use LazyCompact for SmartString. 2021-09-20 11:34:01 +08:00
Stephen Chung
2d46bf37c8 Fix build. 2021-09-19 22:44:27 +08:00
Stephen Chung
e191f9d91e Merge branch 'bug-fixes' 2021-09-19 22:34:47 +08:00
Stephen Chung
5d47ebf57a Add test for constants to Scope::get_mut. 2021-09-18 10:14:54 +08:00
Stephen Chung
5163fb0a33 Upgrade to rust-decimal 1.16 and add sin/cos/tan. 2021-09-15 10:41:35 +08:00
Stephen Chung
08155c0978 Fix sign function for NaN. 2021-09-14 22:33:10 +08:00
Stephen Chung
bdbfa8ef5f Catch mutually exclusive features. 2021-09-12 21:06:13 +08:00
Stephen Chung
50ad42bd7f Fix metadata build. 2021-09-12 14:46:31 +08:00
Stephen Chung
c84f80d433 Use StaticVec for parsing. 2021-09-12 14:34:00 +08:00
Stephen Chung
b961a10d27 Refine code. 2021-09-12 14:33:48 +08:00
Stephen Chung
96dbbc76e4 Use StaticVec for function resolution caches for the common case where no modules are used. 2021-09-12 13:33:55 +08:00