Releases: ClueLang/Clue
Releases · ClueLang/Clue
Version 3.4.7
- Set
workspace.resolver
to 2. - Fixed
rust-version
being no longer correct (from1.65
to1.70
). - Fixed preprocessor macros' arguments not allowing
,
s inside{}
. - Fixed
--debug
causing causing an invalid sequence error on Windows. - Moved
rpmalloc
feature fromcore
tocli
. - Updated all dependencies.
Version 3.4.6
- Fixed
ULL
andLL
not being properly read by the scanner. - Fixed using safe indexing after round brackets resulting in invalid code.
- Fixed code like
(a).b
on its own being allowed (results in invalid code). - Fixed safe indexing inside loop conditions causing issues.
- Improved how safe indexings are compiled.
Version 3.4.5
- Fix using
continue
multiple times in a single loop with theMoonScript
. - Allow
;
s to be used in code blocks to allow clarifying ambiguous code.
Version 3.4.4
- Fixed
@define
directives not parsing strings properly. - Strings in
@define
directives can now be be multi-lined.
Version 3.4.3
- Fixed enums not allowing negative values.
- Removed a debug print that was accidentally left out last patch.
Version 3.4.2
- Fixed commas inside strings being treated as actual commas (thus ending the argument and going to the next)
Version 3.4.1
- Fixed bitwise operators breaking when using the library bitwise mode
- Refactored
vec_deque![]
Version 3.4
- Added renamable table destructuring (
local {a => b} = t
works likelocal b = t.a
), can be used alongside normal destructuring. - Added nested table destructuring (
local {a => {x, y}} = t
). - Reworked the way match blocks are compiled, to allow more advanced syntax with them.
- With the above rework the compiled output is now more efficient with internal variables (example: if a branch used a ternary, it will now only handle that ternary when actually needed).
- Fixed operators mistaking previous code blocks as tables and thus allowing invalid syntax.
- Optimized the way keywords are stored.
- Removed every "deprecated" element which was not actually deprecated (like the
macro
keyword). - Added phf dependency.
- Reduced the size of the symbols maps.
- Added support for storing an imported file into a table when using
@import
(@import "file" => my_table.file
). @import
now also preprocesses the chosen name if it has to (@import "file" => $NAME
).- Fixed
@import
not erroring when the chosen name is empty (@import "file" =>
is now invalid). - Fixed
@import
not erroring when the file name is empty (@import "dir."
is now invalid).
Version 3.3.1
- Fixed Clue failing to compile without
mlua
- Merged the 2
finish
functions into 1 - Added a check for building Clue with all possible combination of features in the test action (since this isn't the first time this happened...)
- Removed
clue.ico
from the repository
Version 3.3
- Added
loop { ... } while x
loops - Added
if local ... = ... { ... }
- Added
--expand
(-E
) flag to print preprocessed file - Clue will now add
.clue
to the given filename if missing - Conditional indexing's output is now wrapped in
()
- Simplified and remade
@version
directive - Added
@ifndef
directive @import
now automatically figures out if the file should be imported usingrequire()
orimport()
- Fixed non ASCII characters crashing the preprocessor if they're the last character of a file
- Fixed table parsing not accounting for
?(
- Fixed preprocessor
@else_<if_name>
chains breaking often - Fixed
format_clue!()
possibly breaking when passing a function call (as it gets called twice) - Fixed some blocks getting inaccurate block start lines with
--debug
- Fixed match blocks returning the matched expression when no matches are found (now returns nil)
- Fixed
Clue::env_struct()
not working correctly at all. - Optimized and fixed match blocks being able to panic or give weird errors
- Optimized ternary, match and coalesce's output (the output could have processed them even when unnecessary before)
- Small code adjustments
- Small refactor of how the input path and the output name are handled
- Improved and fixed documentation
- Reworked and improved the output of
--debug
by a lot (still not perfect...) - All loops will have additional debug information with
--debug
return
now errors if the code block continues after it- Updated clap to 3.2.25