File tree Expand file tree Collapse file tree 2 files changed +37
-1
lines changed
Expand file tree Collapse file tree 2 files changed +37
-1
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,16 @@ let ``Command.parse works correctly`` () =
2929 ( Result.Ok ( Command.UpgradeDependencies [], verboseLoggingLevel), " upgrade --verbose " );
3030 ( Result.Ok ( Command.UpgradeDependencies [ abcDef ], verboseLoggingLevel), " upgrade abc/def --verbose " );
3131
32+ (
33+ Result.Ok
34+ (
35+ Command.AddDependencies
36+ [ { Package = ijkXyz; Constraint = Constraint.wildcard; Targets = None } ],
37+ defaultLoggingLevel
38+ ),
39+ " add github.com/ijk/xyz "
40+ );
41+
3242 (
3343 Result.Ok ( Command.UpgradeDependencies [ abcDef; ijkXyz ], verboseLoggingLevel),
3444 " upgrade abc/def github.com/ijk/xyz --verbose "
Original file line number Diff line number Diff line change @@ -87,12 +87,38 @@ module Command =
8787 return Quickstart
8888 }
8989
90+ let private packageToAddParser =
91+ parse {
92+ let! p = PackageIdentifier.parser
93+
94+ return !
95+ parse {
96+ do ! CharParsers.skipString " @"
97+ let! c = Constraint.parser
98+
99+ return
100+ {
101+ Package = p;
102+ Constraint = c;
103+ Targets = None;
104+ }
105+ } <|>
106+ parse {
107+ return
108+ {
109+ Package = p;
110+ Constraint = Constraint.wildcard;
111+ Targets = None;
112+ }
113+ }
114+ }
115+
90116 let addDependenciesParser = parse {
91117 do ! CharParsers.spaces
92118 do ! CharParsers.skipString " add"
93119 do ! CharParsers.spaces1
94120
95- let! deps = Primitives.sepEndBy1 Dependency.parser CharParsers.spaces1
121+ let! deps = Primitives.sepEndBy1 packageToAddParser CharParsers.spaces1
96122
97123 return AddDependencies deps
98124 }
You can’t perform that action at this time.
0 commit comments