@@ -22,6 +22,12 @@ public final class Main {
2222
2323 private static final String VERSION = "1.1.0" ;
2424
25+ private static String [] ownlangArgs = new String [0 ];
26+
27+ public static String [] getOwnlangArgs () {
28+ return ownlangArgs ;
29+ }
30+
2531 public static void main (String [] args ) throws IOException {
2632 if (args .length == 0 ) {
2733 try {
@@ -73,12 +79,17 @@ public static void main(String[] args) throws IOException {
7379 case "--file" :
7480 if (i + 1 < args .length ) {
7581 input = SourceLoader .readSource (args [i + 1 ]);
82+ createOwnLangArgs (args , i + 2 );
7683 i ++;
7784 }
7885 break ;
7986
8087 default :
81- input = args [i ];
88+ if (input == null ) {
89+ input = args [i ];
90+ createOwnLangArgs (args , i + 1 );
91+ }
92+ break ;
8293 }
8394 }
8495 if (input == null ) {
@@ -90,6 +101,12 @@ public static void main(String[] args) throws IOException {
90101 }
91102 run (input , showTokens , showAst , showMeasurements );
92103 }
104+
105+ private static void createOwnLangArgs (String [] javaArgs , int index ) {
106+ if (index >= javaArgs .length ) return ;
107+ ownlangArgs = new String [javaArgs .length - index ];
108+ System .arraycopy (javaArgs , index , ownlangArgs , 0 , ownlangArgs .length );
109+ }
93110
94111 private static void run (String input , boolean showTokens , boolean showAst , boolean showMeasurements ) {
95112 final TimeMeasurement measurement = new TimeMeasurement ();
0 commit comments