Skip to content

Commit 9b5325e

Browse files
committed
add optional arguments to simplify. things
1 parent 37647c3 commit 9b5325e

File tree

5 files changed

+42
-30
lines changed

5 files changed

+42
-30
lines changed

jscomp/bsb/bsb_arg.ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
raise (Bad (Ext_buffer.contents b))
101101

102102

103-
let parse_exn ~usage ~argv ~start ?(finish=Array.length argv) (speclist : t) anonfun =
103+
let parse_exn ~usage ~argv ?(start=1) ?(finish=Array.length argv) (speclist : t) anonfun =
104104
let current = ref start in
105105
let rev_list = ref [] in
106106
while !current < finish do

jscomp/bsb/bsb_arg.mli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ type anon_fun = rev_args:string list -> unit
4444
val parse_exn :
4545
usage:string ->
4646
argv:string array ->
47-
start:int ->
47+
?start:int ->
4848
?finish:int ->
4949
(key * spec * doc) list ->
5050
anon_fun -> unit

jscomp/main/bsb_main.ml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -197,14 +197,14 @@ let () =
197197

198198
| argv ->
199199
begin
200-
match Ext_array.find_and_split argv Ext_string.equal separator with
201-
| `No_split
202-
->
200+
let i = Ext_array.rfind_with_index
201+
argv Ext_string.equal separator in
202+
if i < 0 then
203203
begin
204204
Bsb_arg.parse_exn
205205
~usage
206206
~argv
207-
~start:1
207+
208208
bsb_main_flags
209209
handle_anonymous_arg
210210
;
@@ -245,14 +245,18 @@ let () =
245245
install_target config_opt
246246
end)
247247
end
248-
| `Split (bsb_args,ninja_args)
249-
-> (* -make-world all dependencies fall into this category *)
248+
else
249+
(* -make-world all dependencies fall into this category *)
250250
begin
251251
Bsb_arg.parse_exn
252252
~usage
253-
~argv:bsb_args
254-
~start:1
253+
~argv:argv
254+
~finish:i
255255
bsb_main_flags handle_anonymous_arg ;
256+
let ninja_args = Array.sub argv (i + 1) (Array.length argv - i - 1) in
257+
match ninja_args with
258+
| [|"-h"|] -> ninja_command_exit ninja_args
259+
| _ ->
256260
let config_opt =
257261
(Bsb_ninja_regen.regenerate_ninja
258262
~toplevel_package_specs:None

lib/4.06.1/bsb.ml

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1717,7 +1717,7 @@ type anon_fun = rev_args:string list -> unit
17171717
val parse_exn :
17181718
usage:string ->
17191719
argv:string array ->
1720-
start:int ->
1720+
?start:int ->
17211721
?finish:int ->
17221722
(key * spec * doc) list ->
17231723
anon_fun -> unit
@@ -1825,7 +1825,7 @@ end = struct
18251825
raise (Bad (Ext_buffer.contents b))
18261826

18271827

1828-
let parse_exn ~usage ~argv ~start ?(finish=Array.length argv) (speclist : t) anonfun =
1828+
let parse_exn ~usage ~argv ?(start=1) ?(finish=Array.length argv) (speclist : t) anonfun =
18291829
let current = ref start in
18301830
let rev_list = ref [] in
18311831
while !current < finish do
@@ -16979,14 +16979,14 @@ let () =
1697916979

1698016980
| argv ->
1698116981
begin
16982-
match Ext_array.find_and_split argv Ext_string.equal separator with
16983-
| `No_split
16984-
->
16982+
let i = Ext_array.rfind_with_index
16983+
argv Ext_string.equal separator in
16984+
if i < 0 then
1698516985
begin
1698616986
Bsb_arg.parse_exn
1698716987
~usage
1698816988
~argv
16989-
~start:1
16989+
1699016990
bsb_main_flags
1699116991
handle_anonymous_arg
1699216992
;
@@ -17027,14 +17027,18 @@ let () =
1702717027
install_target config_opt
1702817028
end)
1702917029
end
17030-
| `Split (bsb_args,ninja_args)
17031-
-> (* -make-world all dependencies fall into this category *)
17030+
else
17031+
(* -make-world all dependencies fall into this category *)
1703217032
begin
1703317033
Bsb_arg.parse_exn
1703417034
~usage
17035-
~argv:bsb_args
17036-
~start:1
17035+
~argv:argv
17036+
~finish:i
1703717037
bsb_main_flags handle_anonymous_arg ;
17038+
let ninja_args = Array.sub argv (i + 1) (Array.length argv - i - 1) in
17039+
match ninja_args with
17040+
| [|"-h"|] -> ninja_command_exit ninja_args
17041+
| _ ->
1703817042
let config_opt =
1703917043
(Bsb_ninja_regen.regenerate_ninja
1704017044
~toplevel_package_specs:None

lib/4.06.1/unstable/bsb_native.ml

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1717,7 +1717,7 @@ type anon_fun = rev_args:string list -> unit
17171717
val parse_exn :
17181718
usage:string ->
17191719
argv:string array ->
1720-
start:int ->
1720+
?start:int ->
17211721
?finish:int ->
17221722
(key * spec * doc) list ->
17231723
anon_fun -> unit
@@ -1825,7 +1825,7 @@ end = struct
18251825
raise (Bad (Ext_buffer.contents b))
18261826

18271827

1828-
let parse_exn ~usage ~argv ~start ?(finish=Array.length argv) (speclist : t) anonfun =
1828+
let parse_exn ~usage ~argv ?(start=1) ?(finish=Array.length argv) (speclist : t) anonfun =
18291829
let current = ref start in
18301830
let rev_list = ref [] in
18311831
while !current < finish do
@@ -17154,14 +17154,14 @@ let () =
1715417154

1715517155
| argv ->
1715617156
begin
17157-
match Ext_array.find_and_split argv Ext_string.equal separator with
17158-
| `No_split
17159-
->
17157+
let i = Ext_array.rfind_with_index
17158+
argv Ext_string.equal separator in
17159+
if i < 0 then
1716017160
begin
1716117161
Bsb_arg.parse_exn
1716217162
~usage
1716317163
~argv
17164-
~start:1
17164+
1716517165
bsb_main_flags
1716617166
handle_anonymous_arg
1716717167
;
@@ -17202,14 +17202,18 @@ let () =
1720217202
install_target config_opt
1720317203
end)
1720417204
end
17205-
| `Split (bsb_args,ninja_args)
17206-
-> (* -make-world all dependencies fall into this category *)
17205+
else
17206+
(* -make-world all dependencies fall into this category *)
1720717207
begin
1720817208
Bsb_arg.parse_exn
1720917209
~usage
17210-
~argv:bsb_args
17211-
~start:1
17210+
~argv:argv
17211+
~finish:i
1721217212
bsb_main_flags handle_anonymous_arg ;
17213+
let ninja_args = Array.sub argv (i + 1) (Array.length argv - i - 1) in
17214+
match ninja_args with
17215+
| [|"-h"|] -> ninja_command_exit ninja_args
17216+
| _ ->
1721317217
let config_opt =
1721417218
(Bsb_ninja_regen.regenerate_ninja
1721517219
~toplevel_package_specs:None

0 commit comments

Comments
 (0)