Skip to content
This repository was archived by the owner on Apr 24, 2021. It is now read-only.

Commit cf82780

Browse files
committed
Test stripping monadic ppx
I've built ppx_monad as a standalone binary, ran it through the file, printed it back to reason, and hand-adjusted the rest (since whitespace, comments, braces and tuples are lost during this pass). This code should be correct without needing to test.
1 parent aa00832 commit cf82780

File tree

2 files changed

+46
-36
lines changed

2 files changed

+46
-36
lines changed

src/rescript-editor-support/BuildSystem.re

+3-2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ let getCompiledBase = root => {
3434
Files.ifExists(root /+ "lib" /+ "bs");
3535
};
3636
let getStdlib = base => {
37-
let%try_wrap bsPlatformDir = getBsPlatformDir(base);
38-
bsPlatformDir /+ "lib" /+ "ocaml";
37+
Monads.Result.map(getBsPlatformDir(base), ~f=bsPlatformDir =>
38+
bsPlatformDir /+ "lib" /+ "ocaml"
39+
);
3940
};

src/rescript-editor-support/FindFiles.re

+43-34
Original file line numberDiff line numberDiff line change
@@ -299,36 +299,41 @@ let findDependencyFiles = (~debug, base, config) => {
299299
let namespace = getNamespace(inner);
300300
let directories =
301301
getSourceDirectories(~includeDev=false, loc, inner);
302-
let%opt compiledBase = BuildSystem.getCompiledBase(loc);
303-
/* |! "No compiled base found"; */
304-
if (debug) {
305-
Log.log("Compiled base: " ++ compiledBase);
306-
};
307-
let compiledDirectories =
308-
directories |> List.map(Files.fileConcat(compiledBase));
309-
let compiledDirectories =
310-
namespace == None
311-
? compiledDirectories
312-
: [compiledBase, ...compiledDirectories];
313-
let files =
314-
findProjectFiles(
315-
~debug,
316-
namespace,
317-
loc,
318-
directories,
319-
compiledBase,
320-
);
321-
/* let files =
322-
switch (namespace) {
323-
| None =>
324-
files
325-
| Some(namespace) =>
326-
files
327-
|> List.map(((name, paths)) =>
328-
(namespace ++ "-" ++ name, paths)
329-
)
330-
}; */
331-
Some((compiledDirectories, files));
302+
Monads.Option.bind(
303+
BuildSystem.getCompiledBase(loc),
304+
~f=compiledBase => {
305+
/* |! "No compiled base found"; */
306+
if (debug) {
307+
Log.log("Compiled base: " ++ compiledBase);
308+
};
309+
let compiledDirectories =
310+
directories
311+
|> List.map(Files.fileConcat(compiledBase));
312+
let compiledDirectories =
313+
namespace == None
314+
? compiledDirectories
315+
: [compiledBase, ...compiledDirectories];
316+
let files =
317+
findProjectFiles(
318+
~debug,
319+
namespace,
320+
loc,
321+
directories,
322+
compiledBase,
323+
);
324+
/* let files =
325+
switch (namespace) {
326+
| None =>
327+
files
328+
| Some(namespace) =>
329+
files
330+
|> List.map(((name, paths)) =>
331+
(namespace ++ "-" ++ name, paths)
332+
)
333+
}; */
334+
Some((compiledDirectories, files));
335+
},
336+
);
332337
| None => None
333338
};
334339
}
@@ -343,8 +348,12 @@ let findDependencyFiles = (~debug, base, config) => {
343348
});
344349
let (directories, files) = List.split(depFiles);
345350
let files = List.concat(files);
346-
let%try stdlibDirectory = BuildSystem.getStdlib(base);
347-
let directories = [stdlibDirectory, ...List.concat(directories)];
348-
let results = files @ collectFiles(stdlibDirectory);
349-
Ok((directories, results));
351+
Monads.Result.bind(
352+
BuildSystem.getStdlib(base),
353+
~f=stdlibDirectory => {
354+
let directories = [stdlibDirectory, ...List.concat(directories)];
355+
let results = files @ collectFiles(stdlibDirectory);
356+
Ok((directories, results));
357+
},
358+
);
350359
};

0 commit comments

Comments
 (0)