Skip to content
This repository was archived by the owner on Dec 19, 2025. It is now read-only.

Commit e1d34e3

Browse files
committed
Add HScript Printer, Tools, and Macro Enhancements
- Implemented the Printer class for converting HScript expressions and types to string representations. - Introduced the Tools class for iterating and mapping over HScript expressions. - Developed ClassExtendMacro to manage class extensions and handle custom class definitions. - Created UsingHandler to facilitate the use of abstract and enum types in HScript. - Added utility functions in Utils for managing standard types and metadata setup. - Enhanced error handling and expression cleaning mechanisms across macros.
1 parent 77064ea commit e1d34e3

19 files changed

+7311
-47
lines changed

setup/unix.sh

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,39 @@ echo "This might take a few moments depending on your internet speed."
99
echo -e "${RESET}"
1010

1111
# Core libraries
12-
haxelib install lime 8.2.2
13-
haxelib install openfl 9.4.1
14-
haxelib install flixel 5.6.1
15-
haxelib install flixel-addons 3.2.2
16-
haxelib install flixel-tools 1.5.1
12+
haxelib install lime 8.2.2 > /dev/null
13+
haxelib install openfl 9.4.1 > /dev/null
14+
haxelib install flixel 5.6.1 > /dev/null
15+
haxelib install flixel-addons 3.2.2 > /dev/null
16+
haxelib install flixel-tools 1.5.1 > /dev/null
1717

1818
# Script and tooling
19-
haxelib install hscript-iris 1.1.3
20-
haxelib install hscript
21-
haxelib install hscript-improved --never # Will be set via git below
22-
haxelib install hxp
23-
haxelib install hxcpp-debug-server
19+
haxelib install hscript-iris 1.1.3 > /dev/null
20+
haxelib install hscript > /dev/null
21+
haxelib install hxp > /dev/null
22+
haxelib install hxcpp-debug-server > /dev/null
2423

2524
# JSON and async tools
26-
haxelib install tjson 1.4.0
27-
haxelib install tink_core
28-
haxelib install tink_await
25+
haxelib install tjson 1.4.0 > /dev/null
26+
haxelib install tink_core > /dev/null
27+
haxelib install tink_await > /dev/null
2928

3029
# Discord & media
31-
haxelib install hxdiscord_rpc 1.2.4
32-
haxelib install hxvlc 2.0.1 --skip-dependencies
30+
haxelib install hxdiscord_rpc 1.2.4 > /dev/null
31+
haxelib install hxvlc 2.0.1 --skip-dependencies > /dev/null
3332

3433
# Set specific versions
35-
haxelib set lime 8.2.2
36-
haxelib set openfl 9.4.1
34+
haxelib set lime 8.2.2 > /dev/null
35+
haxelib set openfl 9.4.1 > /dev/null
3736

3837
# Git dependencies
39-
haxelib git flxanimate https://github.com/Dot-Stuff/flxanimate 768740a56b26aa0c072720e0d1236b94afe68e3e
40-
haxelib git linc_luajit https://github.com/superpowers04/linc_luajit 1906c4a96f6bb6df66562b3f24c62f4c5bba14a7
41-
haxelib git funkin.vis https://github.com/FunkinCrew/funkVis 22b1ce089dd924f15cdc4632397ef3504d464e90
42-
haxelib git grig.audio https://gitlab.com/haxe-grig/grig.audio.git cbf91e2180fd2e374924fe74844086aab7891666
43-
haxelib git away3d https://github.com/CodenameCrew/away3d.git
44-
haxelib git hscript-improved https://github.com/CodenameCrew/hscript-improved.git
45-
46-
sudo apt-get install -y vlc libvlc-dev libvlccore-dev vlc-bin
38+
haxelib git flxanimate https://github.com/Dot-Stuff/flxanimate 768740a56b26aa0c072720e0d1236b94afe68e3e > /dev/null
39+
haxelib git linc_luajit https://github.com/superpowers04/linc_luajit 1906c4a96f6bb6df66562b3f24c62f4c5bba14a7 > /dev/null
40+
haxelib git funkin.vis https://github.com/FunkinCrew/funkVis 22b1ce089dd924f15cdc4632397ef3504d464e90 > /dev/null
41+
haxelib git grig.audio https://gitlab.com/haxe-grig/grig.audio.git cbf91e2180fd2e374924fe74844086aab7891666 > /dev/null
42+
haxelib git away3d https://github.com/CodenameCrew/away3d.git > /dev/null
43+
haxelib git hscript-improved https://github.com/CodenameCrew/hscript-improved.git > /dev/null
44+
45+
sudo apt-get install -y vlc libvlc-dev libvlccore-dev vlc-bin > /dev/null
4746

4847
echo -e "${GREEN}All dependencies installed successfully!${RESET}"

setup/windows.bat

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,38 @@ echo This might take a few moments depending on your internet speed.
88
echo ========================================
99

1010
REM -- Core Libraries --
11-
haxelib install lime 8.2.2
12-
haxelib install openfl 9.4.1
13-
haxelib install flixel 5.6.1
14-
haxelib install flixel-addons 3.2.2
15-
haxelib install flixel-tools 1.5.1
11+
haxelib install lime 8.2.2 > nul
12+
haxelib install openfl 9.4.1 > nul
13+
haxelib install flixel 5.6.1 > nul
14+
haxelib install flixel-addons 3.2.2 > nul
15+
haxelib install flixel-tools 1.5.1 > nul
1616

1717
REM -- Script & Tools --
18-
haxelib install hscript-iris 1.1.3
19-
haxelib install hscript
20-
haxelib install hxp
21-
haxelib install hxcpp-debug-server
18+
haxelib install hscript-iris 1.1.3 > nul
19+
haxelib install hscript > nul
20+
haxelib install hxp > nul
21+
haxelib install hxcpp-debug-server > nul
2222

2323
REM -- JSON & Async --
24-
haxelib install tjson 1.4.0
25-
haxelib install tink_core
26-
haxelib install tink_await
24+
haxelib install tjson 1.4.0 > nul
25+
haxelib install tink_core > nul
26+
haxelib install tink_await > nul
2727

2828
REM -- Discord & Media --
29-
haxelib install hxdiscord_rpc 1.2.4
30-
haxelib install hxvlc 2.0.1 --skip-dependencies
29+
haxelib install hxdiscord_rpc 1.2.4 > nul
30+
haxelib install hxvlc 2.0.1 --skip-dependencies > nul
3131

3232
REM -- Set Versions --
33-
haxelib set lime 8.2.2
34-
haxelib set openfl 9.4.1
33+
haxelib set lime 8.2.2 > nul
34+
haxelib set openfl 9.4.1 > nul
3535

3636
REM -- Git Dependencies --
37-
haxelib git flxanimate https://github.com/Dot-Stuff/flxanimate 768740a56b26aa0c072720e0d1236b94afe68e3e
38-
haxelib git linc_luajit https://github.com/superpowers04/linc_luajit 1906c4a96f6bb6df66562b3f24c62f4c5bba14a7
39-
haxelib git funkin.vis https://github.com/FunkinCrew/funkVis 22b1ce089dd924f15cdc4632397ef3504d464e90
40-
haxelib git grig.audio https://gitlab.com/haxe-grig/grig.audio.git cbf91e2180fd2e374924fe74844086aab7891666
41-
haxelib git away3d https://github.com/CodenameCrew/away3d
42-
haxelib git hscript-improved https://github.com/FNF-CNE-Devs/hscript-improved.git
37+
haxelib git flxanimate https://github.com/Dot-Stuff/flxanimate 768740a56b26aa0c072720e0d1236b94afe68e3e > nul
38+
haxelib git linc_luajit https://github.com/superpowers04/linc_luajit 1906c4a96f6bb6df66562b3f24c62f4c5bba14a7 > nul
39+
haxelib git funkin.vis https://github.com/FunkinCrew/funkVis 22b1ce089dd924f15cdc4632397ef3504d464e90 > nul
40+
haxelib git grig.audio https://gitlab.com/haxe-grig/grig.audio.git cbf91e2180fd2e374924fe74844086aab7891666 > nul
41+
haxelib git away3d https://github.com/CodenameCrew/away3d > nul
42+
haxelib git hscript-improved https://github.com/CodenameCrew/hscript-improved.git > nul
4343

4444
echo.
4545
echo ========================================

source/core/ImportCore.hx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,4 +95,22 @@ import tink.await.*;
9595
using Lambda;
9696
using StringTools;
9797

98+
import hscript.Async;
99+
import hscript.Bytes;
100+
import hscript.Checker;
101+
import hscript.Classes;
102+
import hscript.Config;
103+
import hscript.CustomClassHandler;
104+
import hscript.Expr;
105+
import hscript.IHScriptCustomBehaviour;
106+
import hscript.IHScriptCustomConstructor;
107+
import hscript.Interp;
108+
import hscript.Macro;
109+
import hscript.Parser;
110+
import hscript.Printer;
111+
import hscript.Tools;
112+
import hscript.macros.ClassExtendMacro;
113+
import hscript.macros.UsingHandler;
114+
import hscript.macros.Utils;
115+
98116
class ImportCore {}

0 commit comments

Comments
 (0)