Releases: RyanSquared/fusionscript
Releases · RyanSquared/fusionscript
FusionScript 0.3.2 [Alpha] - Linting!
Note: This version is marked as a pre-release. The code is stable, but it will not be released as a complete version; instead, version 0.4 will be coming out with some backwards-incompatible changes.
New Features
fusion.utilis a new module, with a version-independentunpack()functionfusion-lintis a new program to print a quickfix-format list of errors
Changed Features
- Use
serpentlibrary instead ofpenlightforfusion-ast.
Bug Fixes
- All modules now use
fusion.utilfor theunpack()function - The
parsere module now properly prints out the character before a required semicolon - Remove .vimrc due to incompatibility with versions lower than Vim 8
- Remove files that no longer serve a purpose
To view changes:
git fetch
git log --oneline v0.3.1..v0.3.2-alpha
git show --reverse v0.3.1..v0.3.2-alpha
FusionScript 0.3.1 - Bug Fixes
New Features
- The
fusion-sourceruntime (currently the default) automatically injects syntax extensions- If you're not compiling to Lua, this means you can leave out
usingstatements
- If you're not compiling to Lua, this means you can leave out
- Methods can be chained
x():y().z()
Changed Features
- The
object:method<Class>syntax has the<Class>section removed - Functions used as generators (
print(x in y);) are now removed- This, "unfortunately", had to be done because chaining and generators... Nope.
Bug Fixes
- AST errors give a more accurate error (including the node itself)
mpeterv/argparseis now used instead of manually parsing flags
To view changes:
git fetch
git log v0.3.0..v0.3.1
git diff v0.3.0 v0.3.1
FusionScript 0.3.0
New Features
- Local
interfaces luacheck0.19 compatibility- Local variables without assignment (
local (a, b...))
Changed Features
- Change
parsers/*tocompilers/*andlexertoparser - Make lambdas use
expression_list / statement_block\x-> y()now works\x-> if x y();does not\x-> {if x y();}still works
Bug Fixes
- Make
.topics/FusionScript.mda symlink - Moved module loading down so modules aren't reloaded if loaded already
- Added nonendorsement clause and update year in license
To view changes:
git fetch
git log v0.2.1..v0.3.0
git diff v0.2.1 v0.3.0