├── frame.opam ├── tests.opam ├── reason-native.opam ├── unicode-config.opam ├── rely-junit-reporter.opam ├── dune-project ├── .npmignore ├── src ├── rely │ ├── Rely.re │ ├── .gitignore │ ├── Clock.rei │ ├── PolymorphicPrint.rei │ ├── Clock.re │ ├── PolymorphicPrint.re │ ├── Counter.re │ ├── Time.re │ ├── RelyAPI.re │ ├── Counter.rei │ ├── Snapshot.re │ ├── matchers │ │ └── MatcherTypes.re │ ├── StackTrace.rei │ ├── Describe.re │ ├── reporters │ │ └── Reporter.re │ └── Util.re ├── file-context-printer │ ├── README.md │ ├── dune │ ├── FileContextPrinter.re │ └── Config.re ├── utf8 │ ├── dune │ ├── uchar.mli │ ├── uchar.ml │ └── utf8.mli ├── unicode │ ├── dune │ ├── README.md │ └── Utils.re ├── refmterr │ ├── demo.jpg │ ├── demo.png │ ├── errs │ │ ├── some_no_parens.ml │ │ ├── print_operator_infix.ml │ │ ├── string_concat.ml │ │ ├── if_param_not_bool.ml │ │ ├── func_decl_no_arg.ml │ │ ├── func_no_arg_call.ml │ │ ├── print_func_parens.ml │ │ ├── let_without_in_in_body.ml │ │ ├── undefined_global.ml │ │ ├── load_compile.ml │ │ ├── syntax_err_no_semi.ml │ │ └── type_unit_forgot_ignore.ml │ ├── .npmignore │ ├── esy.lock │ │ ├── opam │ │ │ ├── ocamlfind.1.8.0 │ │ │ │ └── files │ │ │ │ │ └── ocaml-stub │ │ │ ├── base-unix.base │ │ │ │ └── opam │ │ │ ├── jbuilder.transition │ │ │ │ └── opam │ │ │ ├── easy-format.1.3.1 │ │ │ │ └── opam │ │ │ ├── cppo.1.6.5 │ │ │ │ └── opam │ │ │ └── conf-which.1 │ │ │ │ └── opam │ │ └── opam-override │ │ │ ├── dune.1.5.1 │ │ │ └── package.json │ │ │ ├── merlin-extend.0.3 │ │ │ └── package.json │ │ │ ├── menhir.20171013 │ │ │ └── package.json │ │ │ └── ocamlbuild.0.12.0 │ │ │ └── package.json │ ├── bin │ │ ├── Index.re │ │ ├── dune │ │ └── refmterr │ ├── .gitignore │ ├── lib │ │ └── dune │ └── todo │ │ └── fieldBelonging.txt ├── unicode-config │ ├── dune │ └── README.md ├── console │ ├── CHANGELOG.md │ ├── .gitignore │ ├── NativeChannels.re │ └── dune ├── fp │ └── dune ├── fs │ ├── dune │ └── Fs.re ├── frame │ ├── dune │ ├── Frame.re │ ├── Frame.rei │ └── Table.rei ├── pastel │ ├── terminalConfiguration │ │ └── itermConfig.png │ ├── .gitignore │ ├── ORIGINS.md │ ├── WinConsoleColorsSupport.rei │ ├── DisabledImplementation.rei │ ├── WinCygPtySupport.re │ ├── Mode.re │ ├── ansiTerminal │ │ └── TerminalImplementation.rei │ ├── humanReadable │ │ └── HumanReadableImplementation.rei │ ├── winCygPtySupport.js │ ├── winConsoleColorsSupport.js │ ├── Pastel.re │ ├── SupportsColor.rei │ ├── WinConsoleColorsSupport.re │ ├── dune │ └── ColorName.re ├── pastel-console │ ├── .gitignore │ └── dune ├── qcheck-rely │ └── dune ├── dir │ ├── dune │ └── dir.js ├── cli │ └── dune └── rely-junit-reporter │ ├── RelyJUnitReporter.rei │ └── dune ├── tests ├── __snapshots__ │ ├── CLI.52535b49.1.snapshot │ ├── CLI.52535b49.11.snapshot │ ├── CLI.52535b49.13.snapshot │ ├── CLI.52535b49.3.snapshot │ ├── CLI.52535b49.5.snapshot │ ├── CLI.52535b49.7.snapshot │ ├── CLI.52535b49.9.snapshot │ ├── CLI.b52752cd.1.snapshot │ ├── CLI.b237eb24.1.snapshot │ ├── CLI.156a5f51.0.snapshot │ ├── CLI.160bfa5e.1.snapshot │ ├── CLI.162d7436.0.snapshot │ ├── CLI.b0da32b5.0.snapshot │ ├── CLI.b0da32b5.2.snapshot │ ├── CLI.b0da32b5.4.snapshot │ ├── CLI.b0da32b5.6.snapshot │ ├── CLI.b0da32b5.8.snapshot │ ├── CLI.160bfa5e.0.snapshot │ ├── CLI.4647eb06.1.snapshot │ ├── CLI.4f855017.0.snapshot │ ├── CLI.4f855017.2.snapshot │ ├── CLI.4f855017.4.snapshot │ ├── CLI.4f855017.6.snapshot │ ├── CLI.4f855017.8.snapshot │ ├── CLI.3bef9b91.0.snapshot │ ├── CLI.636ebdc1.0.snapshot │ ├── CLI.9ed1ade9.0.snapshot │ ├── CLI.b0da32b5.7.snapshot │ ├── CLI.4f855017.1.snapshot │ ├── CLI.52535b49.10.snapshot │ ├── CLI.b237eb24.0.snapshot │ ├── CLI.52535b49.2.snapshot │ ├── CLI.52535b49.0.snapshot │ ├── CLI.52535b49.4.snapshot │ ├── Pastel_Pastel_disabled_mode_Nested_styles.713c6708.0.snapshot │ ├── CLI.3bef9b91.1.snapshot │ ├── Console.49402893.0.snapshot │ ├── CLI.4f855017.3.snapshot │ ├── CLI.4f855017.7.snapshot │ ├── Console.843356e4.0.snapshot │ ├── CLI.636ebdc1.1.snapshot │ ├── CLI.9ed1ade9.1.snapshot │ ├── CLI.b0da32b5.1.snapshot │ ├── CLI.b0da32b5.3.snapshot │ ├── qcheck_rely.0e5fd4bb.0.snapshot │ ├── Console_Pipe.122b31f1.0.snapshot │ ├── Pastel_Pastel_disabled_mode_Pastel_partition.dcb08428.0.snapshot │ ├── Pastel_Pastel_terminal_mode_Nested_styles.b0d13df4.0.snapshot │ ├── mock_matchers_failing_output.209cd588.0.snapshot │ ├── mock_matchers_failing_output.27a89d2b.0.snapshot │ ├── mock_matchers_failing_output.9b0f72bf.0.snapshot │ ├── mock_matchers_failing_output.df2dc80e.0.snapshot │ ├── qcheck_rely.c64dfd8b.0.snapshot │ ├── CLI.52535b49.12.snapshot │ ├── CLI.4f855017.5.snapshot │ ├── CLI.b0da32b5.5.snapshot │ ├── CLI.162d7436.1.snapshot │ ├── Console.1fbac3a5.0.snapshot │ ├── Pastel_Pastel_Human_Readable_mode_Nested_styles.2fc2d390.0.snapshot │ ├── CLI.156a5f51.1.snapshot │ ├── Console.e829ce03.0.snapshot │ ├── CLI.4f855017.9.snapshot │ ├── CLI.b0da32b5.9.snapshot │ ├── Console.03902e29.0.snapshot │ ├── Pastel_Console.d1edcab8.0.snapshot │ ├── qcheck_rely.a75930cc.0.snapshot │ ├── Pastel_Pastel_terminal_mode_Pastel_partition.3f7dfd98.0.snapshot │ ├── expect_hasAssertions.f0e8d850.0.snapshot │ ├── CLI.52535b49.6.snapshot │ ├── CLI.52535b49.8.snapshot │ ├── Pastel_Console.1142fa2f.0.snapshot │ ├── Pastel_Console.2c8daac9.0.snapshot │ ├── mock_matchers_failing_output.f53031a1.0.snapshot │ ├── Pastel_Console.81a6b9d4.0.snapshot │ ├── mock_matchers_failing_output.0eab92f9.0.snapshot │ ├── Pastel_Pastel_Human_Readable_mode_Pastel_partition.758822a8.0.snapshot │ ├── Console.09dcbe59.0.snapshot │ ├── option_matchers_failing_output.8996d665.0.snapshot │ ├── result_matchers_failing_output.fa59e22e.0.snapshot │ ├── expect_assertions.4f250bf7.0.snapshot │ ├── result_matchers_failing_output.19b7f49b.0.snapshot │ ├── expect_assertions.172f636b.0.snapshot │ ├── expect_assertions.309c49fd.0.snapshot │ ├── option_matchers_failing_output.fd27cb43.0.snapshot │ ├── Pastel_Console.8e6cb5bf.0.snapshot │ ├── option_matchers_failing_output.fedc125f.0.snapshot │ ├── result_matchers_failing_output.0e88aed0.0.snapshot │ ├── result_matchers_failing_output.5eefb767.0.snapshot │ ├── option_matchers_failing_output.625d7a8f.0.snapshot │ ├── result_matchers_failing_output.74a0bd31.0.snapshot │ ├── Pastel_Console.727706f4.0.snapshot │ ├── mock_matchers_failing_output.bab75b6e.0.snapshot │ ├── option_matchers_failing_output.53abf2e2.0.snapshot │ ├── mock_matchers_failing_output.d4089856.0.snapshot │ ├── option_matchers_failing_output.7025e2f9.0.snapshot │ ├── mock_matchers_failing_output.ee29f390.0.snapshot │ ├── Console.66547405.0.snapshot │ ├── result_matchers_failing_output.0acd6e65.0.snapshot │ ├── mock_matchers_failing_output.2f261fc0.0.snapshot │ ├── mock_matchers_failing_output.4aaa80d7.0.snapshot │ ├── mock_matchers_failing_output.4a5fe18e.0.snapshot │ ├── option_matchers_failing_output.ba545575.0.snapshot │ ├── Pastel_Console.96128109.0.snapshot │ ├── mock_matchers_failing_output.bfb3274f.0.snapshot │ ├── result_matchers_failing_output.70929fe9.0.snapshot │ ├── mock_matchers_failing_output.a3ef428c.0.snapshot │ ├── mock_matchers_failing_output.a58ff95e.0.snapshot │ ├── mock_matchers_failing_output.23e291d6.0.snapshot │ ├── mock_matchers_failing_output.f8dbe02b.0.snapshot │ ├── mock_matchers_failing_output.61a9d36d.0.snapshot │ ├── mock_matchers_failing_output.b7c954fd.0.snapshot │ ├── mock_matchers_failing_output.c15667de.0.snapshot │ ├── mock_matchers_failing_output.fb892fbe.0.snapshot │ ├── mock_matchers_failing_output.0731d24c.0.snapshot │ ├── mock_matchers_failing_output.34315207.0.snapshot │ ├── mock_matchers_failing_output.74075ad7.0.snapshot │ ├── mock_matchers_failing_output.d07ff557.0.snapshot │ ├── mock_matchers_failing_output.f5261140.0.snapshot │ ├── mock_matchers_failing_output.706fb052.0.snapshot │ ├── mock_matchers_failing_output.c4cc9b77.0.snapshot │ ├── mock_matchers_failing_output.2988fa6e.0.snapshot │ ├── mock_matchers_failing_output.3a888f1f.0.snapshot │ ├── mock_matchers_failing_output.e7dac68e.0.snapshot │ ├── mock_matchers_failing_output.534ec036.0.snapshot │ ├── mock_matchers_failing_output.68a79faf.0.snapshot │ ├── mock_matchers_failing_output.894c609a.0.snapshot │ ├── mock_matchers_failing_output.9b327749.0.snapshot │ ├── mock_matchers_failing_output.a25fa19c.0.snapshot │ ├── mock_matchers_failing_output.cf48ac01.0.snapshot │ ├── mock_matchers_failing_output.2e1d92e9.0.snapshot │ ├── mock_matchers_failing_output.4864ea0b.0.snapshot │ ├── mock_matchers_failing_output.54bc298d.0.snapshot │ ├── mock_matchers_failing_output.17bb22ca.0.snapshot │ ├── mock_matchers_failing_output.7bf52742.0.snapshot │ ├── mock_matchers_failing_output.901ed992.0.snapshot │ ├── mock_matchers_failing_output.a72f61da.0.snapshot │ ├── Pastel_Console.f5adc820.0.snapshot │ ├── mock_matchers_failing_output.ab1098b8.0.snapshot │ ├── mock_matchers_failing_output.c6ef3a32.0.snapshot │ ├── mock_matchers_failing_output.0a5f67ff.0.snapshot │ ├── TestRunner.e9296ac9.0.snapshot │ ├── TestRunner.94379a08.0.snapshot │ ├── TestRunner.9ae8523f.0.snapshot │ ├── FloatMatchers.56a40b03.0.snapshot │ └── Console.ee72f144.0.snapshot ├── __tests__ │ ├── refmterr │ │ └── __fixtures__ │ │ │ ├── noError │ │ │ ├── noError_1_expected.txt │ │ │ └── noError_1.ml │ │ │ ├── bad-file-name-2 │ │ │ └── bad-file-name-2_1.ml │ │ │ ├── .gitignore │ │ │ ├── 1_bad_file_name │ │ │ └── 1_bad_file_name_1.ml │ │ │ ├── file_SyntaxError │ │ │ ├── file_SyntaxError_3.ml │ │ │ ├── file_SyntaxError_2.ml │ │ │ ├── file_SyntaxError_6.ml │ │ │ ├── file_SyntaxError_1.ml │ │ │ ├── file_SyntaxError_4.ml │ │ │ ├── file_SyntaxError_5.ml │ │ │ └── file_SyntaxError_7.re │ │ │ ├── type_UnboundModule │ │ │ ├── type_UnboundModule_1.ml │ │ │ └── type_UnboundModule_2.ml │ │ │ ├── misc │ │ │ ├── misc_3.ml │ │ │ ├── misc_5.ml │ │ │ ├── misc_2.ml │ │ │ ├── misc_5_2.ml │ │ │ ├── cannot_be_applied_with_label.ml │ │ │ ├── misc_6.ml │ │ │ ├── type_AppliedWithoutLabel_1.ml │ │ │ ├── misc_1.ml │ │ │ ├── bound_many_times.ml │ │ │ └── misc_4.ml │ │ │ ├── type_UnboundValue │ │ │ ├── type_UnboundValue_1.ml │ │ │ ├── type_UnboundValue_2.ml │ │ │ ├── type_UnboundValue_3.ml │ │ │ └── type_UnboundValue_4.ml │ │ │ ├── type_IncompatibleType │ │ │ ├── type_IncompatibleType_1.ml │ │ │ ├── type_IncompatibleType_2.ml │ │ │ ├── type_IncompatibleType_6.ml │ │ │ ├── type_IncompatibleType_3.ml │ │ │ ├── type_IncompatibleType_9.ml │ │ │ ├── type_IncompatibleType_10.ml │ │ │ ├── type_IncompatibleType_7.ml │ │ │ ├── type_IncompatibleType_4.ml │ │ │ ├── type_IncompatibleType_5.ml │ │ │ └── type_IncompatibleType_8.ml │ │ │ ├── type_NotAFunction │ │ │ └── type_NotAFunction_1.ml │ │ │ ├── type_AppliedWithoutLabel │ │ │ └── type_AppliedWithoutLabel_1.ml │ │ │ ├── type_SignatureItemMismatch │ │ │ ├── type_SignatureItemMismatch_11.mli │ │ │ ├── type_SignatureItemMismatch_11.ml │ │ │ ├── type_SignatureItemMismatch_12.mli │ │ │ ├── type_SignatureItemMismatch_12.ml │ │ │ ├── type_SignatureItemMismatch_1.ml │ │ │ ├── type_SignatureItemMismatch_8.ml │ │ │ ├── type_SignatureItemMismatch_9.ml │ │ │ ├── type_SignatureItemMismatch_2.ml │ │ │ ├── type_SignatureItemMismatch_7.ml │ │ │ ├── type_SignatureItemMismatch_10.ml │ │ │ ├── type_SignatureItemMismatch_4.ml │ │ │ ├── type_SignatureItemMismatch_5.ml │ │ │ ├── type_SignatureItemMismatch_3.ml │ │ │ ├── type_SignatureItemMismatch_6.ml │ │ │ └── type_SignatureItemMismatch_13.ml │ │ │ ├── type_UnboundTypeConstructor │ │ │ ├── type_UnboundTypeConstructor_1.ml │ │ │ └── type_UnboundTypeConstructor_2.ml │ │ │ ├── type_MismatchTypeArguments │ │ │ └── type_MismatchTypeArguments_1.ml │ │ │ ├── type_UnboundRecordField │ │ │ ├── type_UnboundRecordField_1.ml │ │ │ └── type_UnboundRecordField_2.ml │ │ │ ├── file_IllegalCharacter │ │ │ └── file_IllegalCharacter_1.ml │ │ │ ├── specialTests │ │ │ ├── specialTests_3_expected.txt │ │ │ ├── stderrTestInput.txt │ │ │ ├── specialTests_4_expected.txt │ │ │ ├── specialTests_1_expected.txt │ │ │ └── specialTests_2_expected.txt │ │ │ ├── type_RecordFieldsUndefined │ │ │ └── type_RecordFieldsUndefined_1.ml │ │ │ ├── prettyPrint │ │ │ ├── prettyPrint_2.ml │ │ │ └── prettyPrint_1.ml │ │ │ ├── warning_PatternNotExhaustive │ │ │ ├── warning_PatternNotExhaustive_1.ml │ │ │ ├── warning_PatternNotExhaustive_2.ml │ │ │ ├── warning_PatternNotExhaustive_1_expected_bk.txt │ │ │ └── warning_PatternNotExhaustive_2_expected_bk.txt │ │ │ ├── type_AppliedTooMany │ │ │ ├── type_AppliedTooMany_1.ml │ │ │ ├── type_AppliedTooMany_2.ml │ │ │ └── type_AppliedTooMany_3.ml │ │ │ ├── warning_PatternUnused │ │ │ └── warning_PatternUnused_1.ml │ │ │ ├── warning_OptionalArgumentNotErased │ │ │ ├── warning_OptionalArgumentNotErased_2.ml │ │ │ └── warning_OptionalArgumentNotErased_1.ml │ │ │ ├── type_FunctionWrongLabel │ │ │ ├── type_FunctionWrongLabel_1.ml │ │ │ ├── type_FunctionWrongLabel_2.ml │ │ │ ├── type_FunctionWrongLabel_5.ml │ │ │ ├── type_FunctionWrongLabel_4.ml │ │ │ └── type_FunctionWrongLabel_3.ml │ │ │ └── type_RecordFieldNotBelong │ │ │ ├── type_RecordFieldNotBelong_1.ml │ │ │ ├── type_RecordFieldNotBelong_2.ml │ │ │ └── type_RecordFieldNotBelong_3.ml │ └── rely │ │ ├── ListMatchers_test.re │ │ ├── ArrayMatchers_test.re │ │ └── StringMatchers_test.re ├── __snapshots_test_runner_output__ │ └── failing_tests │ │ └── failing_tests.a14d8d95.0.snapshot ├── TestDev.re ├── TestCi.re ├── Utils.re ├── GetProjectRoot.re └── TestFramework.re ├── esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ ├── base-threads.base │ │ └── opam │ └── ocamlfind.1.9.6 │ │ └── files │ │ └── 0001-Harden-test-for-OCaml-5.patch ├── overrides │ ├── opam__s__ocamlbuild_opam__c__0.14.3_opam_override │ │ ├── files │ │ │ ├── ocamlbuild-0.14.2.patch │ │ │ └── winpatch.patch │ │ └── package.json │ ├── opam__s__ptime_opam__c__1.1.0_opam_override │ │ └── package.json │ └── opam__s__ocamlfind_opam__c__1.9.6_opam_override │ │ └── files │ │ └── findlib.patch ├── .gitignore └── .gitattributes ├── cli.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ └── base-threads.base │ │ └── opam ├── .gitignore └── .gitattributes ├── fp.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ └── base-threads.base │ │ └── opam ├── .gitignore └── .gitattributes ├── fs.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ └── base-threads.base │ │ └── opam ├── .gitignore └── .gitattributes ├── rely.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ └── base-threads.base │ │ └── opam ├── .gitignore └── .gitattributes ├── .gitattributes ├── pastel.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ └── base-threads.base │ │ └── opam ├── .gitignore └── .gitattributes ├── refmterr.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ └── base-threads.base │ │ └── opam ├── .gitignore └── .gitattributes ├── pastel-console.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ └── base-threads.base │ │ └── opam ├── .gitignore └── .gitattributes ├── qcheck-rely.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ ├── base-threads.base │ │ └── opam │ └── base-bytes.base │ │ └── opam ├── .gitignore └── .gitattributes ├── dune ├── file-context-printer.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ └── base-threads.base │ │ └── opam ├── .gitignore └── .gitattributes ├── rely-junit-reporter.esy.lock ├── opam │ ├── seq.base │ │ ├── files │ │ │ ├── seq.install │ │ │ └── META.seq │ │ └── opam │ ├── base-unix.base │ │ └── opam │ └── base-threads.base │ │ └── opam ├── .gitignore ├── .gitattributes └── overrides │ └── opam__s__ocamlbuild_opam__c__0.14.0_opam_override │ └── package.json ├── dir.esy.lock ├── .gitignore ├── .gitattributes ├── opam │ ├── ocamlfind.1.8.1 │ │ └── files │ │ │ ├── ocaml-stub │ │ │ └── ocamlfind.install │ ├── ocamlfind-secondary.1.8.1 │ │ └── files │ │ │ ├── META.in │ │ │ └── ocaml-secondary-compiler.conf.in │ ├── base-unix.base │ │ └── opam │ ├── base-threads.base │ │ └── opam │ ├── ocaml-secondary-compiler.4.08.1-1 │ │ └── files │ │ │ └── 0001-Don-t-build-manpages-for-stdlib-docs.patch │ └── conf-m4.1 │ │ └── opam └── overrides │ ├── opam__s__conf_m4_opam__c__1_opam_override │ └── package.json │ ├── opam__s__ocamlfind_secondary_opam__c__1.8.1_opam_override │ └── files │ │ ├── gen-meta.sh │ │ └── gen-findlib-conf.sh │ └── opam__s__ocaml_secondary_compiler_opam__c__4.08.1_1_opam_override │ ├── files │ ├── clone-flexdll │ ├── esy-build │ └── configure-windows │ └── package.json ├── frame.esy.lock ├── .gitignore ├── .gitattributes ├── opam │ ├── ocamlfind.1.8.1 │ │ └── files │ │ │ ├── ocaml-stub │ │ │ └── ocamlfind.install │ ├── base-unix.base │ │ └── opam │ ├── ocamlfind-secondary.1.8.1 │ │ └── files │ │ │ ├── META.in │ │ │ └── ocaml-secondary-compiler.conf.in │ ├── base-threads.base │ │ └── opam │ ├── ocaml-secondary-compiler.4.08.1-1 │ │ └── files │ │ │ └── 0001-Don-t-build-manpages-for-stdlib-docs.patch │ └── conf-m4.1 │ │ └── opam └── overrides │ ├── opam__s__conf_m4_opam__c__1_opam_override │ └── package.json │ ├── opam__s__ocamlfind_secondary_opam__c__1.8.1_opam_override │ └── files │ │ ├── gen-meta.sh │ │ └── gen-findlib-conf.sh │ └── opam__s__ocaml_secondary_compiler_opam__c__4.08.1_1_opam_override │ ├── files │ ├── clone-flexdll │ ├── esy-build │ └── configure-windows │ └── package.json ├── console.esy.lock ├── .gitignore ├── .gitattributes └── opam │ ├── base-unix.base │ └── opam │ └── base-threads.base │ └── opam ├── unicode.esy.lock ├── .gitignore ├── .gitattributes └── opam │ ├── base-unix.base │ └── opam │ └── base-threads.base │ └── opam ├── unicode-config.esy.lock ├── .gitignore ├── .gitattributes └── opam │ ├── base-unix.base │ └── opam │ └── base-threads.base │ └── opam ├── .ci ├── utils │ ├── use-esy.yml │ ├── use-node.yml │ └── create-docs.yml ├── esy-build-steps.yml └── release-platform-setup.yml ├── scripts ├── run-all.cmd ├── test-prepublish.cmd ├── test-ci.cmd └── test-dev.cmd ├── shared-src ├── common │ ├── CommonStrsCrypto.re │ ├── CommonStrs.re │ └── Common.re └── objectPrinter │ └── ObjectPrinter.rei ├── console.opam ├── utf8.opam ├── pastel-console.opam ├── refmterr.opam ├── ORIGINS.md ├── fp.opam ├── cli.opam ├── file-context-printer.opam ├── unicode.opam ├── dir.opam ├── fs.opam ├── qcheck-rely.opam ├── utf8.json ├── .gitignore ├── unicode-config.json └── rely.opam /frame.opam: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests.opam: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /reason-native.opam: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicode-config.opam: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /rely-junit-reporter.opam: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- 1 | (lang dune 1.6) 2 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | esy.lock 2 | _esy 3 | .git 4 | -------------------------------------------------------------------------------- /src/rely/Rely.re: -------------------------------------------------------------------------------- 1 | include RelyInternal.RelyAPI; 2 | -------------------------------------------------------------------------------- /src/file-context-printer/README.md: -------------------------------------------------------------------------------- 1 | # file-context-printer 2 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.11.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.13.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.3.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.5.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.7.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.9.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/noError/noError_1_expected.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b52752cd.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Help output 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b237eb24.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Argument parsing 2 | 3 | -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /src/utf8/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name Utf8) 3 | (public_name utf8.lib) 4 | ) 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.156a5f51.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Invalid option names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.160bfa5e.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Simple valid program 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.162d7436.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Invalid argument names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.2.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.4.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.6.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.8.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/bad-file-name-2/bad-file-name-2_1.ml: -------------------------------------------------------------------------------- 1 | asd 2 | -------------------------------------------------------------------------------- /cli.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /fp.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /fs.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /rely.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /src/unicode/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name Unicode) 3 | (public_name unicode.lib) 4 | ) 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.160bfa5e.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Simple valid program 2 | Shipit!!! 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4647eb06.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Help output without color 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.2.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.4.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.6.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.8.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/.gitignore: -------------------------------------------------------------------------------- 1 | *_actual.txt 2 | *.cmi 3 | *.cmo 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/1_bad_file_name/1_bad_file_name_1.ml: -------------------------------------------------------------------------------- 1 | let a = 5 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | /src/refmterr/tests/* text eol=lf 2 | /src/refmterr/tests/**/* text eol=lf 3 | -------------------------------------------------------------------------------- /pastel.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /refmterr.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.3bef9b91.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Required argument after optional 2 | 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.636ebdc1.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Duplicate version specification 2 | 3 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.3_opam_override/files/ocamlbuild-0.14.2.patch: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pastel-console.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /qcheck-rely.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.9ed1ade9.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Duplicate description specification 2 | 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/file_SyntaxError/file_SyntaxError_3.ml: -------------------------------------------------------------------------------- 1 | let a = (1, 2 2 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/noError/noError_1.ml: -------------------------------------------------------------------------------- 1 | let thisVariableIsTotallyFine = 5 2 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundModule/type_UnboundModule_1.ml: -------------------------------------------------------------------------------- 1 | open Camlp4;; 2 | -------------------------------------------------------------------------------- /dune: -------------------------------------------------------------------------------- 1 | (dirs :standard \ node_modules _esy _release) 2 | (data_only_dirs node_modules _esy _release) 3 | -------------------------------------------------------------------------------- /file-context-printer.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /rely-junit-reporter.esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /src/refmterr/demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reasonml/reason-native/HEAD/src/refmterr/demo.jpg -------------------------------------------------------------------------------- /src/refmterr/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reasonml/reason-native/HEAD/src/refmterr/demo.png -------------------------------------------------------------------------------- /src/unicode/README.md: -------------------------------------------------------------------------------- 1 | # @reason-native/unicode 2 | 3 | Not intended to be released or used yet. 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/misc_3.ml: -------------------------------------------------------------------------------- 1 | type a = {b: int} 2 | 3 | type a = {b: int} 4 | -------------------------------------------------------------------------------- /esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /src/unicode-config/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name UnicodeConfig) 3 | (public_name unicode-config.lib) 4 | ) 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/file_SyntaxError/file_SyntaxError_2.ml: -------------------------------------------------------------------------------- 1 | let a = (print_char 'a) 2 | -------------------------------------------------------------------------------- /cli.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /dir.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /fp.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /frame.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /fs.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /rely.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundValue/type_UnboundValue_1.ml: -------------------------------------------------------------------------------- 1 | let callMe perhaps = perhap 1 2 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundValue/type_UnboundValue_2.ml: -------------------------------------------------------------------------------- 1 | let callMe perhaps = nvm 1 2 | -------------------------------------------------------------------------------- /console.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /pastel.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /refmterr.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /src/unicode-config/README.md: -------------------------------------------------------------------------------- 1 | # @reason-native/unicode-config 2 | 3 | Not intended to be released or used yet. 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/file_SyntaxError/file_SyntaxError_6.ml: -------------------------------------------------------------------------------- 1 | type fruits = 2 | | apple of string 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/misc_5.ml: -------------------------------------------------------------------------------- 1 | type fruits = Apple | Banana 2 | 3 | let a: fruits = Orange 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_1.ml: -------------------------------------------------------------------------------- 1 | if 123 then "asd" else "a" 2 | -------------------------------------------------------------------------------- /unicode.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /pastel-console.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /qcheck-rely.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /src/refmterr/errs/some_no_parens.ml: -------------------------------------------------------------------------------- 1 | let a = Some 5 + 6 2 | 3 | (* err bc no parens *) 4 | 5 | let a = Some (5 + 6) 6 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.7.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | [Fatal] Action not set 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_2.ml: -------------------------------------------------------------------------------- 1 | if !true then "asd" else "a" 2 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_NotAFunction/type_NotAFunction_1.ml: -------------------------------------------------------------------------------- 1 | let a = 2 | [[[[[[[[[[5]]]]]]]]]] () 3 | -------------------------------------------------------------------------------- /unicode-config.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /file-context-printer.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /rely-junit-reporter.esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /src/console/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.0.1 (December 11, 2018) 2 | 3 | * Fix `Console.out` to not output a newline when possible. 4 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | [Fatal] Action not set 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.10.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | [Debug] debug 3 | info 4 | [Warning] warn 5 | [Error] error 6 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b237eb24.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Argument parsing 2 | --opt1: option 1 value 3 | arg1: true 4 | arg2: false 5 | -------------------------------------------------------------------------------- /src/fp/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (public_name fp) 3 | (flags :standard -w -23 -w -27 -w -32 -w -39 -w -34) 4 | (name Fp) 5 | ) 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundValue/type_UnboundValue_3.ml: -------------------------------------------------------------------------------- 1 | let f ~a b = 5 + a 2 | 3 | let eleven = f ~a 6 4 | -------------------------------------------------------------------------------- /esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /fp.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /fs.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /src/rely/.gitignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | .merlin 3 | yarn-error.log 4 | node_modules/ 5 | _build 6 | _release 7 | .DS_Store 8 | *.install 9 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.2.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | [Warning] warn 3 | [Error] error 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/file_SyntaxError/file_SyntaxError_1.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | I'm glad you're looking at this file =) 3 | -------------------------------------------------------------------------------- /cli.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /console.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /dir.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /frame.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /pastel.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /rely.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /src/fs/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (public_name fs.lib) 3 | (libraries fp unix) 4 | (flags :standard -w -39 -w -27) 5 | (name Fs) 6 | ) 7 | -------------------------------------------------------------------------------- /unicode.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /qcheck-rely.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /refmterr.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.0.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | info 3 | [Warning] warn 4 | [Error] error 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/misc_2.ml: -------------------------------------------------------------------------------- 1 | let dontCurry a b = print_endline "hi" 2 | 3 | let () = dontCurry 1; print_endline "bye" 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_AppliedWithoutLabel/type_AppliedWithoutLabel_1.ml: -------------------------------------------------------------------------------- 1 | let f ~a ~b c = () 2 | 3 | let () = 4 | f 1 2 5 | -------------------------------------------------------------------------------- /.ci/utils/use-esy.yml: -------------------------------------------------------------------------------- 1 | # steps to install esy globally 2 | 3 | steps: 4 | - script: "npm install -g esy@0.5.6" 5 | displayName: "install esy" 6 | -------------------------------------------------------------------------------- /pastel-console.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /src/refmterr/errs/print_operator_infix.ml: -------------------------------------------------------------------------------- 1 | let () = print_int 5 + 6 2 | 3 | (* err bc need parens, precedence *) 4 | 5 | let () = print_int (5 + 6) 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_11.mli: -------------------------------------------------------------------------------- 1 | type 'a wrongArity = int 2 | type wrongType = int 3 | -------------------------------------------------------------------------------- /unicode-config.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /file-context-printer.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /rely-junit-reporter.esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /src/frame/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name Frame) 3 | (public_name frame.lib) 4 | (flags :standard -w -9 -w -27) 5 | (libraries pastel.lib re) 6 | ) 7 | -------------------------------------------------------------------------------- /src/pastel/terminalConfiguration/itermConfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reasonml/reason-native/HEAD/src/pastel/terminalConfiguration/itermConfig.png -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/misc_5_2.ml: -------------------------------------------------------------------------------- 1 | type fruits = Apple | Banana 2 | 3 | let a = match Apple with 4 | | Apple -> 1 5 | | Orange -> 2 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundTypeConstructor/type_UnboundTypeConstructor_1.ml: -------------------------------------------------------------------------------- 1 | type asd = 2 | | Hello of whereAmI 3 | | Goodbye 4 | -------------------------------------------------------------------------------- /tests/__snapshots_test_runner_output__/failing_tests/failing_tests.a14d8d95.0.snapshot: -------------------------------------------------------------------------------- 1 | failing tests › expect.string.toMatchSnapshot mismatch 2 | anything else 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/cannot_be_applied_with_label.ml: -------------------------------------------------------------------------------- 1 | let eat ~fruitName = print_endline "hi" 2 | 3 | let () = eat ~fruitname:"apple" 4 | -------------------------------------------------------------------------------- /dir.esy.lock/opam/ocamlfind.1.8.1/files/ocaml-stub: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BINDIR=$(dirname "$(command -v ocamlc)") 4 | "$BINDIR/ocaml" -I "$OCAML_TOPLEVEL_PATH" "$@" 5 | -------------------------------------------------------------------------------- /frame.esy.lock/opam/ocamlfind.1.8.1/files/ocaml-stub: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BINDIR=$(dirname "$(command -v ocamlc)") 4 | "$BINDIR/ocaml" -I "$OCAML_TOPLEVEL_PATH" "$@" 5 | -------------------------------------------------------------------------------- /src/refmterr/.npmignore: -------------------------------------------------------------------------------- 1 | errs 2 | asd.js 3 | _build/ 4 | .* 5 | .merlin 6 | a.out 7 | tests 8 | *.install 9 | .git 10 | *.png 11 | 12 | yarn-error.log 13 | -------------------------------------------------------------------------------- /src/refmterr/errs/string_concat.ml: -------------------------------------------------------------------------------- 1 | let () = "asd" + "asd" 2 | 3 | (* err bc type don't match, doesn't work adding () at the end *) 4 | 5 | let () = "asd" ^ "asd" 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/misc_6.ml: -------------------------------------------------------------------------------- 1 | type fruits = Apple | Banana 2 | 3 | let a = Apple 4 | 5 | match a with 6 | | Apple -> 1 7 | | Orange -> 2 8 | -------------------------------------------------------------------------------- /src/console/.gitignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | .merlin 3 | yarn-error.log 4 | node_modules/ 5 | _build 6 | _release 7 | console.install 8 | .DS_Store 9 | *.install 10 | -------------------------------------------------------------------------------- /src/pastel/.gitignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | .merlin 3 | yarn-error.log 4 | node_modules/ 5 | _build 6 | _release 7 | pastel.install 8 | .DS_Store 9 | *.install 10 | -------------------------------------------------------------------------------- /src/refmterr/errs/if_param_not_bool.ml: -------------------------------------------------------------------------------- 1 | if 123 then "asd" else "a" 2 | 3 | (* err bc ocaml if takes boolean, no casting *) 4 | 5 | (* if true then "asd" else "a" *) 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_MismatchTypeArguments/type_MismatchTypeArguments_1.ml: -------------------------------------------------------------------------------- 1 | type bread = 2 | | Coconut of string 3 | 4 | let morning = Coconut 5 | -------------------------------------------------------------------------------- /.ci/utils/use-node.yml: -------------------------------------------------------------------------------- 1 | # steps to use node on agent 2 | 3 | steps: 4 | - task: NodeTool@0 5 | displayName: "Use Node 8.x" 6 | inputs: 7 | versionSpec: 8.x 8 | -------------------------------------------------------------------------------- /src/refmterr/errs/func_decl_no_arg.ml: -------------------------------------------------------------------------------- 1 | let a = print_endline 5 2 | 3 | err bc func with 0 arg need to be appended () during declaration 4 | 5 | let a () = print_endline 5 6 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam/ocamlfind.1.8.0/files/ocaml-stub: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BINDIR=$(dirname "$(command -v ocamlc)") 4 | "$BINDIR/ocaml" -I "$OCAML_TOPLEVEL_PATH" "$@" 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_6.ml: -------------------------------------------------------------------------------- 1 | let iTakeAFunction f a = f "yes" a 2 | 3 | let () = ignore (iTakeAFunction "rebel") 4 | -------------------------------------------------------------------------------- /scripts/run-all.cmd: -------------------------------------------------------------------------------- 1 | :; set -e 2 | :; for folder in src/*/; do 3 | :; "$@" $(basename $folder) 4 | :; done 5 | :; exit 0 6 | for /D %%f in (src/*) do ( 7 | %* %%f || exit 1 8 | ) -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.4.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | [Debug] debug 3 | info 4 | [Warning] warn 5 | [Error] error 6 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Pastel_disabled_mode_Nested_styles.713c6708.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel › Pastel disabled mode › Nested styles › Single nesting 2 | oohello world!unpasteled o_O 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/file_SyntaxError/file_SyntaxError_4.ml: -------------------------------------------------------------------------------- 1 | type file = { 2 | path: string; 3 | messages: message list; 4 | } 5 | type output = file list; 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundRecordField/type_UnboundRecordField_1.ml: -------------------------------------------------------------------------------- 1 | type asd = { 2 | a: int; 3 | } 4 | 5 | let bla = { 6 | a = 5; 7 | b = 6; 8 | } 9 | -------------------------------------------------------------------------------- /src/pastel-console/.gitignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | .merlin 3 | yarn-error.log 4 | node_modules/ 5 | _build 6 | _release 7 | pastel-console.install 8 | .DS_Store 9 | *.install 10 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/file_IllegalCharacter/file_IllegalCharacter_1.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | \hahaha look at me 3 | roaming free 4 | this is a haiku 5 | kidding it's not 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/type_AppliedWithoutLabel_1.ml: -------------------------------------------------------------------------------- 1 | (* let () = print_endline "asd" "dsa" *) 2 | let asd ?a ?b = "asd" 3 | 4 | let () = print_endline (asd ()) 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/specialTests/specialTests_3_expected.txt: -------------------------------------------------------------------------------- 1 | File "nonexistentFile.ml", line 1: 2 | Error: I/O error: nonexistentFile.ml: No such file or directory 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_3.ml: -------------------------------------------------------------------------------- 1 | type asd = { 2 | bla: string list; 3 | } 4 | 5 | let takeMeAway = { 6 | bla = [|1|]; 7 | } 8 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_9.ml: -------------------------------------------------------------------------------- 1 | 2 | let x : string -> string = fun (ss : string -> string) -> ss 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /fp.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /fs.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /src/qcheck-rely/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name QCheckRely) 3 | (public_name qcheck-rely) 4 | (flags :standard -w -23 -w -27 -w -32) 5 | (libraries qcheck-core rely.lib console.lib) 6 | ) 7 | -------------------------------------------------------------------------------- /src/refmterr/errs/func_no_arg_call.ml: -------------------------------------------------------------------------------- 1 | let asd () = 5;; 2 | print_int asd;; 3 | 4 | (* err bc func with 0 arg need to be appended () *) 5 | 6 | let asd () = 5;; 7 | print_int (asd ());; 8 | -------------------------------------------------------------------------------- /src/refmterr/errs/print_func_parens.ml: -------------------------------------------------------------------------------- 1 | let () = print_string String.capitalize "asd" 2 | 3 | (* err bc need parens, precedence *) 4 | 5 | let () = print_string (String.capitalize "asd") 6 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.3bef9b91.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Required argument after optional 2 | [Fatal] Required arguments cannot appear after optional ones. Check argument: app 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/Console.49402893.0.snapshot: -------------------------------------------------------------------------------- 1 | Console › Max length 2 | ===== Standard Out ===== 3 | 4 | ===== Standard Err ===== 5 | [2, 3, 4, 5, 6] 6 | ======================== 7 | 8 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_RecordFieldsUndefined/type_RecordFieldsUndefined_1.ml: -------------------------------------------------------------------------------- 1 | type asd = { 2 | a: int; 3 | b: string; 4 | } 5 | 6 | let bla = { 7 | a = 5; 8 | } 9 | -------------------------------------------------------------------------------- /cli.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /pastel.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /rely.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /src/pastel-console/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name PastelConsole) 3 | (flags :standard -w -27 -w -9) 4 | (public_name pastel-console.lib) 5 | (libraries console.lib pastel.lib ) 6 | ) 7 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.3.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | [Fatal] Provided command name: foo is the same as existing command: foo or one of its aliases. 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.7.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | [Fatal] Provided command name: foo is the same as existing command: bar or one of its aliases. 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/Console.843356e4.0.snapshot: -------------------------------------------------------------------------------- 1 | Console › Records 2 | ===== Standard Out ===== 3 | {0} 4 | {\"some string\"} 5 | ===== Standard Err ===== 6 | 7 | ======================== 8 | 9 | -------------------------------------------------------------------------------- /qcheck-rely.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /refmterr.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.636ebdc1.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Duplicate version specification 2 | [Fatal] Version already set as \"1.0.0\", do not set it multiple times. Recieved: \"2.0.0\" 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.9ed1ade9.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Duplicate description specification 2 | [Fatal] A desciption has already been set for the program, do not set it multiple times. 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | [Fatal] Provided option name: -app is too similar to existing option: --app or one of its aliases. 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/prettyPrint/prettyPrint_2.ml: -------------------------------------------------------------------------------- 1 | type bread = 2 | | Coconut of string 3 | let morning = Coconut 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/warning_PatternNotExhaustive/warning_PatternNotExhaustive_1.ml: -------------------------------------------------------------------------------- 1 | type greetings = 2 | | Hello 3 | | Goodbye 4 | 5 | let say a = match a with 6 | | Hello -> () 7 | -------------------------------------------------------------------------------- /pastel-console.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.3.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | [Fatal] Provided option name: -app is too similar to existing option: --application or one of its aliases. 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/qcheck_rely.0e5fd4bb.0.snapshot: -------------------------------------------------------------------------------- 1 | qcheck-rely › failing test 2 | QCheck test \"fail_sort_id\" failed 3 | 4 | generated input: 5 | [1; 0] (after 12 shrink steps) 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_AppliedTooMany/type_AppliedTooMany_1.ml: -------------------------------------------------------------------------------- 1 | let omNomNomArgs a b = (ignore (b 1)); "hello world!" 2 | 3 | let () = print_endline (omNomNomArgs 1 (fun x -> "a") 1) 4 | -------------------------------------------------------------------------------- /dir.esy.lock/opam/ocamlfind-secondary.1.8.1/files/META.in: -------------------------------------------------------------------------------- 1 | description = "OCaml Secondary Compiler" 2 | version = "%{ocaml-secondary-compiler:version}%" 3 | directory = "%{ocaml-secondary-compiler:share}%/bin" 4 | -------------------------------------------------------------------------------- /esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /file-context-printer.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /fp.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /fs.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /rely-junit-reporter.esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /scripts/test-prepublish.cmd: -------------------------------------------------------------------------------- 1 | :; set -e 2 | :; node ./scripts/esy-prepublish.js $1.json 3 | :; rm -rf ./_release 4 | :; exit 0 5 | 6 | node ./scripts/esy-prepublish.js %1.json || exit 1 7 | rd /S /Q _release 8 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam-override/dune.1.5.1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "override": { 3 | "build": [ 4 | [ "ocaml", "bootstrap.ml" ], 5 | [ "./boot.exe", "--release", "-j", "4" ] 6 | ] 7 | } 8 | } -------------------------------------------------------------------------------- /tests/__snapshots__/Console_Pipe.122b31f1.0.snapshot: -------------------------------------------------------------------------------- 1 | Console.Pipe › Basic output 2 | ===== Standard Out ===== 3 | [0, 1, 2] 4 | [0, 2, 4] 5 | ===== Standard Err ===== 6 | 7 | ======================== 8 | 9 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Pastel_disabled_mode_Pastel_partition.dcb08428.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel › Pastel disabled mode › Pastel.partition › Should partition a string with multiple decorators 2 | Hel 3 | lo world 4 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Pastel_terminal_mode_Nested_styles.b0d13df4.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel › Pastel terminal mode › Nested styles › Single nesting 2 | \027[2moo\027[32mhello world!\027[39munpasteled o_O\027[22m 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.209cd588.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.nthCalledWith n < 0 should warn 2 | nth value -42 must be greater than zero 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.27a89d2b.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.nthReturnedWith n < 0 should warn 2 | nth value -42 must be greater than zero 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.9b0f72bf.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.nthCalledWith n = 0 should warn 2 | nth value 0 must be greater than zero 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.df2dc80e.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.nthReturnedWith n = 0 should warn 2 | nth value 0 must be greater than zero 3 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_11.ml: -------------------------------------------------------------------------------- 1 | (* Test wrongly specified type but from interface *) 2 | type wrongArity = float 3 | type wrongType = float 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_12.mli: -------------------------------------------------------------------------------- 1 | (* Test wrongly specified type but from interface *) 2 | type wrongArity = float 3 | type wrongType = float 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundRecordField/type_UnboundRecordField_2.ml: -------------------------------------------------------------------------------- 1 | type asd = { 2 | a: int; 3 | hello: int; 4 | } 5 | 6 | let bla = { 7 | a = 5; 8 | helo = 6; 9 | } 10 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundTypeConstructor/type_UnboundTypeConstructor_2.ml: -------------------------------------------------------------------------------- 1 | type whereAm = { 2 | location: string 3 | } 4 | type greeting = 5 | | Hello of whereAmI 6 | | Goodbye 7 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundValue/type_UnboundValue_4.ml: -------------------------------------------------------------------------------- 1 | let poshanassy = 1 2 | let poshanessy = 2 3 | let poshanissy = 3 4 | let poshanyssy = 4 5 | 6 | let () = print_int poshanossy 7 | -------------------------------------------------------------------------------- /cli.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /console.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /dir.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /frame.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /frame.esy.lock/opam/ocamlfind-secondary.1.8.1/files/META.in: -------------------------------------------------------------------------------- 1 | description = "OCaml Secondary Compiler" 2 | version = "%{ocaml-secondary-compiler:version}%" 3 | directory = "%{ocaml-secondary-compiler:share}%/bin" 4 | -------------------------------------------------------------------------------- /pastel.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /rely.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /src/refmterr/errs/let_without_in_in_body.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | let a = 5; 3 | print_int a 4 | 5 | (* let binding in body needs to be let ... in ... *) 6 | 7 | let () = 8 | let a = 5 in 9 | print_int a 10 | -------------------------------------------------------------------------------- /tests/__snapshots__/qcheck_rely.c64dfd8b.0.snapshot: -------------------------------------------------------------------------------- 1 | qcheck-rely › error test 2 | QCheck test \"error_raise_exn\" failed with exception Error 3 | 4 | generated input: 0 (after 60 shrink steps) 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/specialTests/stderrTestInput.txt: -------------------------------------------------------------------------------- 1 | File "(stdin)", line 1, characters 15-16: 2 | Error: This expression has type int but an expression was expected of type 3 | string 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_12.ml: -------------------------------------------------------------------------------- 1 | (* Test wrongly specified values but from interface *) 2 | let createElement s = 0 3 | let createEleml ent2 s = "hi" 4 | -------------------------------------------------------------------------------- /unicode.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /cli.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /dir.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ptime_opam__c__1.1.0_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": "bash -c 'ocaml pkg/pkg.ml build --dev-pkg false || (./_build/sanitize.sh; ocaml pkg/pkg.ml build --dev-pkg false)'" 3 | } 4 | -------------------------------------------------------------------------------- /fp.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /frame.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /fs.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /pastel.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /qcheck-rely.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /refmterr.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /rely.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.12.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | [Warning] Both options `--quiet` and `--verbose` were specified. Using verbose behavior. 3 | [Debug] debug 4 | info 5 | [Warning] warn 6 | [Error] error 7 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_AppliedTooMany/type_AppliedTooMany_2.ml: -------------------------------------------------------------------------------- 1 | let longFunction a b c d e f g = a ^ b ^ c ^ d ^ e ^ f ^ g 2 | 3 | let evenLongerCall = longFunction "a" "a" "a" "a" "a" "a" "a" "a" 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/warning_PatternUnused/warning_PatternUnused_1.ml: -------------------------------------------------------------------------------- 1 | type greetings = 2 | | Hello 3 | | Goodbye 4 | 5 | let say a = match a with 6 | | Hello -> () 7 | | Goodbye -> () 8 | | _ -> () 9 | -------------------------------------------------------------------------------- /console.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /dir.esy.lock/overrides/opam__s__conf_m4_opam__c__1_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": "true", 3 | "dependencies": { 4 | "esy-m4": "esy-packages/esy-m4#c7cf0ac9221be2b1f9d90e83559ca08397a629e7" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /frame.esy.lock/overrides/opam__s__conf_m4_opam__c__1_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": "true", 3 | "dependencies": { 4 | "esy-m4": "esy-packages/esy-m4#c7cf0ac9221be2b1f9d90e83559ca08397a629e7" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /pastel-console.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /qcheck-rely.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /refmterr.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.5.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | [Fatal] Provided command alias: foo for the command named: bar is the same as existing command: foo or one of its 3 | aliases. 4 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.5.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | [Fatal] Provided option alias: -app for the option: --app2 is too similar to existing option: --app1 or one of its 3 | aliases. 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/file_SyntaxError/file_SyntaxError_5.ml: -------------------------------------------------------------------------------- 1 | let () = if true then 2 | print_endline "gosh"; 3 | print_endline "so much functional purity" 4 | else 5 | print_endline "that I cant even" 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/warning_OptionalArgumentNotErased/warning_OptionalArgumentNotErased_2.ml: -------------------------------------------------------------------------------- 1 | let eat aNumber ?(withFork=true) = 2 | "Hello, world!" 3 | 4 | let () = print_endline (eat 1 ~withFork:false) 5 | -------------------------------------------------------------------------------- /unicode-config.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /unicode.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /dir.esy.lock/opam/ocamlfind.1.8.1/files/ocamlfind.install: -------------------------------------------------------------------------------- 1 | bin: [ 2 | "src/findlib/ocamlfind" {"ocamlfind"} 3 | "?src/findlib/ocamlfind_opt" {"ocamlfind"} 4 | "?tools/safe_camlp4" 5 | ] 6 | toplevel: ["src/findlib/topfind"] 7 | -------------------------------------------------------------------------------- /file-context-printer.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /pastel-console.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /rely-junit-reporter.esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /src/file-context-printer/dune: -------------------------------------------------------------------------------- 1 | 2 | (library 3 | (name FileContextPrinter) 4 | (public_name file-context-printer.lib) 5 | (flags :standard -w -23 -w -27 -w -32 -w -6 -w -9) 6 | (libraries str re pastel.lib ) 7 | ) 8 | -------------------------------------------------------------------------------- /src/refmterr/errs/undefined_global.ml: -------------------------------------------------------------------------------- 1 | let ph = Unix.open_process_in "cmd 2>&1" 2 | 3 | (* err bc Unix needs to be loaded via #load "unix.cma";; *) 4 | (* see load_compile for further errors *) 5 | 6 | #load "unix.cma" 7 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.162d7436.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Invalid argument names 2 | [Fatal] Invalid argument name: _app. Argument names must start with a letter then only letters, digits, dashes, or 3 | underscores. 4 | -------------------------------------------------------------------------------- /tests/__snapshots__/Console.1fbac3a5.0.snapshot: -------------------------------------------------------------------------------- 1 | Console › Max depth 2 | ===== Standard Out ===== 3 | 4 | ===== Standard Err ===== 5 | [[[[@max-depth, @max-depth]]], [[[@max-depth, @max-depth]]]] 6 | ======================== 7 | 8 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/misc_1.ml: -------------------------------------------------------------------------------- 1 | let pad ?(ch=' ') content n = 2 | (String.make (n - (String.length content)) ~ch) ^ content 3 | (* should be ch, not ~ch *) 4 | 5 | let () = print_endline @@ pad "1" 2 6 | -------------------------------------------------------------------------------- /unicode-config.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /file-context-printer.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /frame.esy.lock/opam/ocamlfind.1.8.1/files/ocamlfind.install: -------------------------------------------------------------------------------- 1 | bin: [ 2 | "src/findlib/ocamlfind" {"ocamlfind"} 3 | "?src/findlib/ocamlfind_opt" {"ocamlfind"} 4 | "?tools/safe_camlp4" 5 | ] 6 | toplevel: ["src/findlib/topfind"] 7 | -------------------------------------------------------------------------------- /rely-junit-reporter.esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /src/dir/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (public_name dir.lib) 3 | (name Dir) 4 | (libraries str fp unix) 5 | (c_names dir ) 6 | (js_of_ocaml (javascript_files dir.js )) 7 | (flags :standard -w -27 -w -32 -w -9) 8 | ) 9 | 10 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Pastel_Human_Readable_mode_Nested_styles.2fc2d390.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel › Pastel Human Readable mode › Nested styles › Single nesting 2 | oohello world!unpasteled o_O 3 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.156a5f51.1.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Invalid option names 2 | [Fatal] Invalid option name: app. Option names must start with one or two dashes (- or --), a letter, then only letters, 3 | digits, or dashes. 4 | -------------------------------------------------------------------------------- /tests/__snapshots__/Console.e829ce03.0.snapshot: -------------------------------------------------------------------------------- 1 | Console › Primitive types 2 | ===== Standard Out ===== 3 | 4.6 4 | This is a string 5 | closure() 6 | ===== Standard Err ===== 7 | 8 | ======================== 9 | 10 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_FunctionWrongLabel/type_FunctionWrongLabel_1.ml: -------------------------------------------------------------------------------- 1 | let thisFunction ~f args = f ~a:["hello"] ~b:(0, 2, 3, 4, 5) ~c:["anotherString"] () 2 | 3 | let result = thisFunction ~f:(fun ~aa ~b ~c u -> aa + b +c) 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_RecordFieldNotBelong/type_RecordFieldNotBelong_1.ml: -------------------------------------------------------------------------------- 1 | type asd = { 2 | a: int; 3 | hello: int; 4 | } 5 | 6 | type lol = 7 | | Something of asd 8 | 9 | let bla (Something {a; b}) = 1 10 | -------------------------------------------------------------------------------- /src/refmterr/errs/load_compile.ml: -------------------------------------------------------------------------------- 1 | #load "str.cma";; 2 | 3 | (* err bc interpreter uses load but compiler needs linking? *) 4 | 5 | (* need to remove loads. then try: *) 6 | (* ocamlc str.cma yourFile.ml *) 7 | (* ocamlc str.cma yourFile.ml *) 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.4f855017.9.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting command names 2 | [Fatal] Provided command name: help is the same as existing command: help or one of its aliases. (Note that command help 3 | is automatically added) 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_FunctionWrongLabel/type_FunctionWrongLabel_2.ml: -------------------------------------------------------------------------------- 1 | let thisFunction ~f args = f ~a:["hello"] ~b:(0, 2, 3, 4, 5) ~c:["anotherString"] () 2 | 3 | let result = thisFunction ~f:(fun 0 ~b ~c u -> aa + b +c) 4 | 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_FunctionWrongLabel/type_FunctionWrongLabel_5.ml: -------------------------------------------------------------------------------- 1 | let a = 0 2 | let thisFunction ~f args = f a ~b:(0, 2, 3, 4, 5) ~c:["anotherString"] () 3 | 4 | let result = thisFunction ~f:(fun ?(a=0) ~b ~c u -> a + b +c) 5 | -------------------------------------------------------------------------------- /scripts/test-ci.cmd: -------------------------------------------------------------------------------- 1 | :; set -e 2 | 3 | :; # This will be the location of this script. 4 | :; DIR="$(cd "$(dirname "$0")" && pwd)" 5 | 6 | :; # Run ReasonNativeTests.exe with correct root set. 7 | :; REASON_NATIVE_ROOT="$DIR/../" esy x "TestCi.exe" "$@" 8 | -------------------------------------------------------------------------------- /src/cli/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name CLI) 3 | (public_name cli.lib) 4 | (flags :standard -w -23 -w -27 -w -32 -w -6 -w -9 -w -37) 5 | (libraries re pastel.lib) 6 | ) 7 | (copy_files# ../../shared-src/common/*) 8 | (include_subdirs unqualified) 9 | -------------------------------------------------------------------------------- /src/frame/Frame.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | include Table; 9 | -------------------------------------------------------------------------------- /src/utf8/uchar.mli: -------------------------------------------------------------------------------- 1 | type t 2 | 3 | val bom : t 4 | 5 | (* unicode replacement character *) 6 | val repl : t 7 | 8 | val fromInt : int -> t 9 | 10 | val toInt : t -> int 11 | 12 | val fromChar : char -> t 13 | 14 | val isChar : t -> bool 15 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.b0da32b5.9.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Conflicting option names 2 | [Fatal] Provided option name: --help is too similar to existing option: --help or one of its aliases. (Note that option 3 | --help is automatically added) 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/specialTests/specialTests_4_expected.txt: -------------------------------------------------------------------------------- 1 | This expression has type int but an expression was expected of type 2 | string 3 | Error: (from stdin - see message above) 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_FunctionWrongLabel/type_FunctionWrongLabel_4.ml: -------------------------------------------------------------------------------- 1 | let thisFunction ~f args = f ?a:(Some(["hello"])) ~b:(0, 2, 3, 4, 5) ~c:["anotherString"] () 2 | 3 | let result = thisFunction ~f:(fun ~a ~b ~c u -> a + b +c) 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_1.ml: -------------------------------------------------------------------------------- 1 | 2 | module type Sig = sig 3 | val createElement: string -> unit 4 | end 5 | 6 | module MyModule : Sig = struct 7 | let createElement2 s = () 8 | end 9 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/warning_OptionalArgumentNotErased/warning_OptionalArgumentNotErased_1.ml: -------------------------------------------------------------------------------- 1 | (* the spacing matters here to test the regex that extracts bcD' *) 2 | let asd a ?bcD'= "asd" 3 | 4 | let () = print_endline (asd 1 ~bcD':1) 5 | -------------------------------------------------------------------------------- /src/refmterr/errs/syntax_err_no_semi.ml: -------------------------------------------------------------------------------- 1 | let () = print_endline "asd" 2 | 3 | let r = 5 in print_int r 4 | 5 | (* error bc forgot semicolon and top level confusing-ness *) 6 | 7 | let () = print_endline "asd";; 8 | 9 | let r = 5 in print_int r 10 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/bound_many_times.ml: -------------------------------------------------------------------------------- 1 | let cake = ("cream", "ketchup") 2 | 3 | let () = 4 | match cake with 5 | | (ingredient1, ingredient1) -> print_endline "I'm good at cooking" 6 | | _ -> print_endline "I'm good at cooking" 7 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/prettyPrint/prettyPrint_1.ml: -------------------------------------------------------------------------------- 1 | 2 | 3 | type bread = 4 | | Coconut of string 5 | let morning = Coconut 6 | 7 | 8 | 9 | 10 | (* *) 11 | -------------------------------------------------------------------------------- /src/refmterr/bin/Index.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | print_endline("Hello!"); 8 | -------------------------------------------------------------------------------- /src/rely/Clock.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | let getTime: unit => Time.t; 8 | -------------------------------------------------------------------------------- /src/utf8/uchar.ml: -------------------------------------------------------------------------------- 1 | type t = int 2 | 3 | external fromInt : int -> t = "%identity" 4 | external toInt : t -> int = "%identity" 5 | 6 | let fromChar c = Char.code c 7 | 8 | let bom = 0xFEFF 9 | 10 | let repl = 0xFFFD 11 | 12 | let isChar u = u < 256 13 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_RecordFieldNotBelong/type_RecordFieldNotBelong_2.ml: -------------------------------------------------------------------------------- 1 | type point = { 2 | x: int; 3 | y: int; 4 | dog: string; 5 | } 6 | 7 | let myPoint: point = { 8 | xs = 0; 9 | ys = 10; 10 | dogs = "hi"; 11 | }; 12 | -------------------------------------------------------------------------------- /src/pastel/ORIGINS.md: -------------------------------------------------------------------------------- 1 | `iscygpty.h/c` was copied from [here](https://raw.githubusercontent.com/k-takata/ptycheck/master/iscygpty.c) (MIT). 2 | with a couple of `#define`s at the top to declare the minimum windows versions, 3 | and most of the features disabled/removed. 4 | -------------------------------------------------------------------------------- /src/rely/PolymorphicPrint.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | let print: 'a => string; 8 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_FunctionWrongLabel/type_FunctionWrongLabel_3.ml: -------------------------------------------------------------------------------- 1 | let xyz = 0 2 | let thisFunction ~f args = f xyz ~a:["hello"] ~b:(0, 2, 3, 4, 5) ~c:["anotherString"] () 3 | 4 | let result = thisFunction ~f:(fun ~a:0 ~b ~c u -> aa + b +c) 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_8.ml: -------------------------------------------------------------------------------- 1 | (* Test wrong arity *) 2 | module type Sig = sig 3 | type 'a wrongArity 4 | end 5 | 6 | module MyModule : Sig = struct 7 | type wrongArity = int 8 | end 9 | 10 | -------------------------------------------------------------------------------- /tests/__snapshots__/Console.03902e29.0.snapshot: -------------------------------------------------------------------------------- 1 | Console › Output without newlines 2 | ===== Standard Out ===== 3 | Console.out of a string will not print quotes, or the newline. See how this line continues. 4 | ===== Standard Err ===== 5 | 6 | ======================== 7 | 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Console.d1edcab8.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel Console › Array of strings 2 | ===== Standard Out ===== 3 | {\"a\", \"b\", \"c\"} 4 | ===== Standard Err ===== 5 | 6 | ======================== 7 | 8 | -------------------------------------------------------------------------------- /dir.esy.lock/overrides/opam__s__ocamlfind_secondary_opam__c__1.8.1_opam_override/files/gen-meta.sh: -------------------------------------------------------------------------------- 1 | OCAML_SECONDARY_COMPILER=$1 2 | 3 | cat >META <META <= "4.02.0"} 7 | "ocamlfind" {>= "1.5.3"} 8 | ] 9 | synopsis: "Bytes library distributed with the OCaml compiler" 10 | -------------------------------------------------------------------------------- /src/pastel/WinConsoleColorsSupport.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | let enable: unit => unit 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/qcheck_rely.a75930cc.0.snapshot: -------------------------------------------------------------------------------- 1 | qcheck-rely › simple failure test 2 | QCheck test \"fail_check_err_message\" failed 3 | 4 | generated input: 5 | 0 (after 5 shrink steps) 6 | this 7 | will 8 | always 9 | fail 10 | 11 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/misc/misc_4.ml: -------------------------------------------------------------------------------- 1 | (* http://stackoverflow.com/questions/16005801/why-cant-ocaml-infer-the-following-type *) 2 | module type Foo = sig 3 | type t 4 | val do_with_t : t -> unit 5 | end 6 | 7 | let any_foo t (module F : Foo) = F.do_with_t t 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Pastel_terminal_mode_Pastel_partition.3f7dfd98.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel › Pastel terminal mode › Pastel.partition › Should partition a string with multiple decorators 2 | \027[2mHel\027[22m 3 | \027[2m\027[31mlo \027[4m\027[39mworl\027[34md\027[24m\027[22m\027[39m 4 | -------------------------------------------------------------------------------- /tests/__snapshots__/expect_hasAssertions.f0e8d850.0.snapshot: -------------------------------------------------------------------------------- 1 | expect.hasAssertions › no assertions 2 | expect.hasAssertions() 3 | 4 | Expected at least one assertion to be called, but received none. 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_9.ml: -------------------------------------------------------------------------------- 1 | (* Test wrongly specified type *) 2 | module type Sig = sig 3 | type wrongType = int 4 | end 5 | 6 | module MyModule : Sig = struct 7 | type wrongType = float 8 | end 9 | 10 | -------------------------------------------------------------------------------- /scripts/test-dev.cmd: -------------------------------------------------------------------------------- 1 | :; set -e 2 | 3 | :; # This will be the location of this script. 4 | :; DIR="$(cd "$(dirname "$0")" && pwd)" 5 | 6 | :; # Run ReasonNativeTests.exe with correct root set. 7 | :; REASON_NATIVE_ROOT="$DIR/../" esy x "TestDev.exe" --onlyPrintDetailsForFailedSuites "$@" 8 | -------------------------------------------------------------------------------- /tests/TestDev.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | 9 | ReasonNativeTests.TestFramework.cli(); 10 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam-override/merlin-extend.0.3/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "override": { 3 | "build": [ 4 | [ 5 | "bash", "-c", 6 | "#{os == 'windows' ? 'patch -p1 < merlin-extend-winfix.patch' : 'true'}" 7 | ], 8 | [ "make" ] 9 | ] 10 | } 11 | } -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.6.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | [Warning] Both options `--quiet` and `--verbose` were specified. Using verbose behavior. 3 | [Debug] debug 4 | info 5 | [Warning] warn 6 | [Error] error 7 | -------------------------------------------------------------------------------- /tests/__snapshots__/CLI.52535b49.8.snapshot: -------------------------------------------------------------------------------- 1 | CLI › Logging 2 | [Warning] Both options `--quiet` and `--verbose` were specified. Using verbose behavior. 3 | [Debug] debug 4 | info 5 | [Warning] warn 6 | [Error] error 7 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/specialTests/specialTests_1_expected.txt: -------------------------------------------------------------------------------- 1 | File "command line", line 1: 2 | Error: Unbound module NonExistantModule 3 | Error: module NonExistantModule not found. 4 | 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_RecordFieldNotBelong/type_RecordFieldNotBelong_3.ml: -------------------------------------------------------------------------------- 1 | type point = { 2 | x: int; 3 | y: int; 4 | dog: string; 5 | } 6 | 7 | let myPoint: point = { 8 | x = 0; 9 | y = 10; 10 | dog = "hi"; 11 | } 12 | 13 | let result = myPoint.dogs 14 | -------------------------------------------------------------------------------- /src/fs/Fs.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2004-present Facebook. All Rights Reserved. 3 | */; 4 | 5 | /* 6 | Fs: Reason native filesystem utilities. 7 | */ 8 | include Types; 9 | include Traverse; 10 | include ReadWriteContents; 11 | include Operations; 12 | include Query; 13 | include Perm; 14 | -------------------------------------------------------------------------------- /src/pastel/DisabledImplementation.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | let implementation: PastelImplementation.t; 9 | -------------------------------------------------------------------------------- /src/pastel/WinCygPtySupport.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | external isCygptyUsed: unit => bool = "is_cygpty_used"; 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Console.1142fa2f.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel Console › Array of floats 2 | ===== Standard Out ===== 3 | [| 4 | 2.3, 5 | 8.9, 6 | 9. 7 | |] 8 | ===== Standard Err ===== 9 | 10 | ======================== 11 | 12 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Console.2c8daac9.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel Console › Max depth 2 | ===== Standard Out ===== 3 | 4 | ===== Standard Err ===== 5 | [ 6 | [[[@max-depth]]], 7 | [[0]], 8 | [0] 9 | ] 10 | ======================== 11 | 12 | -------------------------------------------------------------------------------- /shared-src/common/CommonStrsCrypto.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | let md5 = string => string |> Digest.string |> Digest.to_hex; 8 | -------------------------------------------------------------------------------- /src/pastel/Mode.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | type mode = 8 | | Terminal 9 | | HumanReadable 10 | | Disabled; 11 | -------------------------------------------------------------------------------- /src/pastel/ansiTerminal/TerminalImplementation.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | let implementation: PastelImplementation.t; 9 | -------------------------------------------------------------------------------- /src/rely-junit-reporter/RelyJUnitReporter.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | let createJUnitReporter: string => Rely.Reporter.t; 8 | -------------------------------------------------------------------------------- /src/rely/Clock.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | open Time; 8 | 9 | let getTime = () => Seconds(Unix.gettimeofday()); 10 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.f53031a1.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toBeCalled 2 | expect.mock(mock).toBeCalled() 3 | 4 | Expected the mock to be called, but it was not called. 5 | -------------------------------------------------------------------------------- /shared-src/common/CommonStrs.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | module Diffs = CommonStrsDiffs; 8 | module Crypto = CommonStrsCrypto; 9 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Console.81a6b9d4.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel Console › Primitive types 2 | ===== Standard Out ===== 3 | 4.6 4 | This is a string 5 | closure() 6 | ===== Standard Err ===== 7 | 8 | ======================== 9 | 10 | -------------------------------------------------------------------------------- /src/pastel/humanReadable/HumanReadableImplementation.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | let implementation: PastelImplementation.t; 9 | -------------------------------------------------------------------------------- /src/refmterr/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | *.cmo 4 | *.out 5 | *.cmi 6 | 7 | _build 8 | *.native 9 | *.byte 10 | *.docdir 11 | 12 | setup.data 13 | setup.log 14 | 15 | /tests/**/*actual.txt 16 | 17 | _esy 18 | node_modules 19 | .jenga 20 | *.install 21 | tests/test.ml 22 | 23 | yarn-error.log 24 | **/.merlin 25 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.0eab92f9.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toThrow 2 | expect.mock(mock).toThrow() 3 | 4 | Expected the function to throw an error. 5 | But it didn't throw anything. 6 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Pastel_Human_Readable_mode_Pastel_partition.758822a8.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel › Pastel Human Readable mode › Pastel.partition › Should partition a string with multiple decorators 2 | Hel 3 | lo world 4 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/warning_PatternNotExhaustive/warning_PatternNotExhaustive_2.ml: -------------------------------------------------------------------------------- 1 | type greetings = 2 | | Hello 3 | | Goodbye 4 | | Hola of string 5 | | Nihao of int 6 | | LongAssGreetingInSomeSuperObscureLanguageIWannaHaveALineBreakHere 7 | 8 | let say a = match a with 9 | | Hello -> () 10 | -------------------------------------------------------------------------------- /tests/__snapshots__/Console.09dcbe59.0.snapshot: -------------------------------------------------------------------------------- 1 | Console › Basic lists and variants 2 | ===== Standard Out ===== 3 | [{[\"console\"]}, {[\"dot\"]}, {[\"log\"]}, 0] 4 | ===== Standard Err ===== 5 | [{[\"console\"]}, {[\"dot\"]}, {[\"warn\"]}, 0] 6 | [{[\"console\"]}, {[\"dot\"]}, {[\"error\"]}, 0] 7 | ======================== 8 | 9 | -------------------------------------------------------------------------------- /tests/__snapshots__/option_matchers_failing_output.8996d665.0.snapshot: -------------------------------------------------------------------------------- 1 | option matchers › failing output › expect.option.toBeNone 2 | expect.option(received).toBeNone() 3 | 4 | Expected value to be None, but received: Some(42) 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/result_matchers_failing_output.fa59e22e.0.snapshot: -------------------------------------------------------------------------------- 1 | result matchers › failing output › expect.result.toBeError 2 | expect.result(received).toBeError() 3 | 4 | Expected value to be Error, but received: Ok(42) 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_2.ml: -------------------------------------------------------------------------------- 1 | (* Test two missing *) 2 | 3 | module type Sig = sig 4 | val createElement: string -> unit 5 | val createElement2: string -> unit 6 | end 7 | 8 | module MyModule : Sig = struct 9 | let createElement3 s = () 10 | end 11 | -------------------------------------------------------------------------------- /tests/__snapshots__/expect_assertions.4f250bf7.0.snapshot: -------------------------------------------------------------------------------- 1 | expect.assertions › mismatched assertion count plural expect and call 2 | expect.assertions(3) 3 | 4 | Expected three assertions to be called, but received two assertion calls. 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/result_matchers_failing_output.19b7f49b.0.snapshot: -------------------------------------------------------------------------------- 1 | result matchers › failing output › expect.result.toBeOk Error is Ok 2 | expect.result(received).toBeOk() 3 | 4 | Expected value to be Ok, but received: Error(42) 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_10.ml: -------------------------------------------------------------------------------- 1 | (* GADT list that exposes the type of the head element *) 2 | type _ hlist = 3 | | Nil: 'a hlist 4 | | Cons: ('a * 'b hlist) -> 'a hlist 5 | 6 | let rec len (type a) (l: a hlist): int = match l with 7 | | Nil -> 0 8 | | Cons (h, t) -> 1 + len t 9 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_7.ml: -------------------------------------------------------------------------------- 1 | (* Test missing type all by itself *) 2 | module type Sig = sig 3 | val createElement: string -> unit 4 | type 'a missingType = 'a list 5 | end 6 | 7 | module MyModule : Sig = struct 8 | let createElement s = () 9 | end 10 | 11 | -------------------------------------------------------------------------------- /src/pastel/winCygPtySupport.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | //Provides: is_cygpty_used 9 | function is_cygpty_used() { 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /tests/__snapshots__/expect_assertions.172f636b.0.snapshot: -------------------------------------------------------------------------------- 1 | expect.assertions › mismatched assertion count plural expect, singular call 2 | expect.assertions(2) 3 | 4 | Expected two assertions to be called, but received one assertion call. 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/expect_assertions.309c49fd.0.snapshot: -------------------------------------------------------------------------------- 1 | expect.assertions › mismatched assertion count singular expect, zero calls 2 | expect.assertions(1) 3 | 4 | Expected one assertion to be called, but received zero assertion calls. 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/option_matchers_failing_output.fd27cb43.0.snapshot: -------------------------------------------------------------------------------- 1 | option matchers › failing output › expect.option.toBeSome None is Some 2 | expect.option(received).toBeSome() 3 | 4 | Expected value to be Some, but received: None 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_10.ml: -------------------------------------------------------------------------------- 1 | (* Test wrongly specified type *) 2 | module type Sig = sig 3 | type 'a wrongArity = int 4 | type wrongType = int 5 | end 6 | 7 | module MyModule : Sig = struct 8 | type wrongArity = float 9 | type wrongType = float 10 | end 11 | 12 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Console.8e6cb5bf.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel Console › Max length 2 | ===== Standard Out ===== 3 | 4 | ===== Standard Err ===== 5 | [ 6 | 2, 7 | 3, 8 | 4, 9 | 5, 10 | 6 11 | ] 12 | ======================== 13 | 14 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_UnboundModule/type_UnboundModule_2.ml: -------------------------------------------------------------------------------- 1 | module HelloWorld = struct 2 | module ThisMorningIThink = struct 3 | module IWillEatSomeDelicious = struct 4 | module Pancake = struct 5 | end 6 | end 7 | end 8 | end 9 | 10 | open HelloWorld.ThisMorningIThink.IWillEatSomeDelicious.Pancaek 11 | -------------------------------------------------------------------------------- /src/refmterr/errs/type_unit_forgot_ignore.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | let r = Str.regexp "hello \\([A-Za-z]+\\)" in 3 | Str.replace_first r "\\1" "hello world" 4 | 5 | (* err bc type don't match, doesn't work adding () at the end *) 6 | 7 | let () = 8 | let r = Str.regexp "hello \\([A-Za-z]+\\)" in 9 | ignore (Str.replace_first r "\\1" "hello world") 10 | -------------------------------------------------------------------------------- /tests/__snapshots__/option_matchers_failing_output.fedc125f.0.snapshot: -------------------------------------------------------------------------------- 1 | option matchers › failing output › expect.option.not.toBeNone 2 | expect.option(received).not.toBeNone() 3 | 4 | Expected value to not be None, but received: None 5 | -------------------------------------------------------------------------------- /shared-src/objectPrinter/ObjectPrinter.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | /** 8 | * Type of extensible Object printer. 9 | */ 10 | include ObjectPrinterTypes.ObjectPrinter; 11 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_4.ml: -------------------------------------------------------------------------------- 1 | (* Test two wrong types *) 2 | module type Sig = sig 3 | val hasWrongType: string -> unit 4 | val hasWrongType2: string -> unit 5 | end 6 | 7 | module MyModule : Sig = struct 8 | let hasWrongType s = 0 9 | let hasWrongType2 s = "wrong" 10 | end 11 | 12 | -------------------------------------------------------------------------------- /src/pastel/winConsoleColorsSupport.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | //Provides: enable_windows_console_ansi_sequences 8 | function enable_windows_console_ansi_sequences() { 9 | } 10 | -------------------------------------------------------------------------------- /tests/__snapshots__/result_matchers_failing_output.0e88aed0.0.snapshot: -------------------------------------------------------------------------------- 1 | result matchers › failing output › expect.result.not.toBeError 2 | expect.result(received).not.toBeError() 3 | 4 | Expected value to not be Error, but received: Error(42) 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/result_matchers_failing_output.5eefb767.0.snapshot: -------------------------------------------------------------------------------- 1 | result matchers › failing output › expect.result.toBe custom equals 2 | expect.result(received).toBe(expected) 3 | 4 | Expected: Ok(42) 5 | Received: Ok(42) 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_5.ml: -------------------------------------------------------------------------------- 1 | (* Test wrong type all by itself *) 2 | module type Sig = sig 3 | val hasWrongType: stringParam:string -> intParam:int -> unitParam:unit -> anotherStringParam:string -> unit 4 | end 5 | 6 | module MyModule : Sig = struct 7 | let hasWrongType s = 0 8 | end 9 | 10 | -------------------------------------------------------------------------------- /tests/__snapshots__/option_matchers_failing_output.625d7a8f.0.snapshot: -------------------------------------------------------------------------------- 1 | option matchers › failing output › expect.option.toBe custom equals 2 | expect.option(received).toBe(expected) 3 | 4 | Expected: Some(42) 5 | Received: Some(42) 6 | -------------------------------------------------------------------------------- /tests/__snapshots__/result_matchers_failing_output.74a0bd31.0.snapshot: -------------------------------------------------------------------------------- 1 | result matchers › failing output › expect.result.not.toBeOk Ok(42) is not Ok 2 | expect.result(received).not.toBeOk() 3 | 4 | Expected value to not be Ok, but received: Ok(42) 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/specialTests/specialTests_2_expected.txt: -------------------------------------------------------------------------------- 1 | File "_none_", line 1: 2 | Error: Cannot find file nonexistentFile.cmo 3 | Error: Cannot find file nonexistentFile.cmo. 4 | Cmo files are artifacts the compiler looks for when compiling/linking dependent files. 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Console.727706f4.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel Console › Records 2 | ===== Standard Out ===== 3 | {\"joe\", 100} 4 | [ 5 | {\"joe\", 100}, 6 | {\"sue\", 18} 7 | ] 8 | ===== Standard Err ===== 9 | 10 | ======================== 11 | 12 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.bab75b6e.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toReturnTimes wasn't called 2 | expect.mock(mock).toReturnTimes(expected) 3 | 4 | Expected the mock to return two times, but it didn't return. 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/option_matchers_failing_output.53abf2e2.0.snapshot: -------------------------------------------------------------------------------- 1 | option matchers › failing output › expect.option.toBe None is Some 2 | expect.option(received).toBe(expected) 3 | 4 | Expected: Some(failure :() 5 | Received: None 6 | -------------------------------------------------------------------------------- /src/rely-junit-reporter/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name RelyJUnitReporter) 3 | (public_name rely-junit-reporter) 4 | (flags :standard 5 | ; Eventually fix the next line 6 | -w -33 -w -6 7 | ; Unused 8 | -w -27 9 | ; Allow incomplete record pattern 10 | -w -9 11 | ) 12 | (libraries rely.lib junit) 13 | ) 14 | (include_subdirs unqualified) 15 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.d4089856.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toReturnTimes threw exception 2 | expect.mock(mock).toReturnTimes(expected) 3 | 4 | Expected the mock to return one time, but it didn't return. 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/option_matchers_failing_output.7025e2f9.0.snapshot: -------------------------------------------------------------------------------- 1 | option matchers › failing output › expect.option.not.toBeSome Some(42) is not some 2 | expect.option(received).not.toBeSome() 3 | 4 | Expected value to not be Some, but received: Some(42) 5 | -------------------------------------------------------------------------------- /shared-src/common/Common.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | module Strs = CommonStrs; 8 | module Option = CommonOption; 9 | module Errors = CommonErrors; 10 | module Collections = CommonCollections; 11 | -------------------------------------------------------------------------------- /src/rely/PolymorphicPrint.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | open ObjectPrinter; 8 | 9 | let objectPrinter = ObjectPrinter.base; 10 | 11 | let print = o => objectPrinter.polymorphicPrint(objectPrinter, o); 12 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.ee29f390.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toThrow single exception 2 | expect.mock(mock).nottoThrow() 3 | 4 | Expected the function not to throw an error. 5 | Instead, it threw: 6 | Not_found 7 | -------------------------------------------------------------------------------- /tests/__snapshots__/Console.66547405.0.snapshot: -------------------------------------------------------------------------------- 1 | Console › Basic output 2 | ===== Standard Out ===== 3 | Console.log output of a string will not print quotes 4 | Console.debug output of a string will not print quotes 5 | ===== Standard Err ===== 6 | Console.error output of a string will not print quotes 7 | Console.warn output of a string will not print quotes 8 | ======================== 9 | 10 | -------------------------------------------------------------------------------- /tests/__snapshots__/result_matchers_failing_output.0acd6e65.0.snapshot: -------------------------------------------------------------------------------- 1 | result matchers › failing output › expect.result.toBe Ok(42) is Ok(41) 2 | expect.result(received).toBe(expected) /* using == */ 3 | 4 | Expected: Ok(41) 5 | Received: Ok(42) 6 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.2f261fc0.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toReturnWith custom equals 2 | expect.mock(mock).toReturnWith(expected) 3 | 4 | Expected the mock to have returned: 5 | 0.8 6 | But it returned: 7 | 1. 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.4aaa80d7.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toBeCalledTimes wasn't called 2 | expect.mock(mock).toBeCalledTimes(expected) 3 | 4 | Expected the mock to have been called two times, but it was not called. 5 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_7.ml: -------------------------------------------------------------------------------- 1 | module Abc = struct 2 | type myInt = int 3 | type myString = string 4 | end 5 | 6 | module Def = struct 7 | type myFloat = float 8 | type myBool = bool 9 | end 10 | 11 | let inc (n: Abc.myInt): Def.myFloat = 1. +. float_of_int n 12 | 13 | let dec (f: Abc.myString -> Def.myBool) = 1 14 | 15 | let () = dec inc 16 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.4a5fe18e.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toBeCalled don't overflow print 2 | expect.mock(mock).not.toBeCalled() 3 | 4 | Expected the mock not be called, but it was called with: 5 | {3, 4}, {1, 2} 6 | -------------------------------------------------------------------------------- /tests/__snapshots__/option_matchers_failing_output.ba545575.0.snapshot: -------------------------------------------------------------------------------- 1 | option matchers › failing output › expect.option.toBe Some(42) is Some(41) 2 | expect.option(received).toBe(expected) /* using == */ 3 | 4 | Expected: Some(41) 5 | Received: Some(42) 6 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_3.ml: -------------------------------------------------------------------------------- 1 | (* Test two missing and one wrong type *) 2 | module type Sig = sig 3 | val createElement: string -> unit 4 | type 'a missingType = 'a list 5 | val createElement2: string -> unit 6 | val hasWrongType: string -> unit 7 | end 8 | 9 | module MyModule : Sig = struct 10 | let hasWrongType s = 0 11 | end 12 | 13 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Console.96128109.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel Console › List of closures 2 | ===== Standard Out ===== 3 | [ 4 | closure(), 5 | closure(), 6 | closure() 7 | ] 8 | ===== Standard Err ===== 9 | 10 | ======================== 11 | 12 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.bfb3274f.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toReturnTimes returned different number of times 2 | expect.mock(mock).toReturnTimes(expected) 3 | 4 | Expected the mock to return two times, but it returned one time. 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/result_matchers_failing_output.70929fe9.0.snapshot: -------------------------------------------------------------------------------- 1 | result matchers › failing output › expect.result.toBe Error is Ok 2 | expect.result(received).toBe(expected) /* using == */ 3 | 4 | Expected: Ok(failure :() 5 | Received: Error(failure :() 6 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.a3ef428c.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toThrow multiple exceptions 2 | expect.mock(mock).nottoThrow() 3 | 4 | Expected the function not to throw an error. 5 | Instead, it threw: 6 | Not_found, Not_found 7 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.a58ff95e.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toThrowException no exception 2 | expect.mock(function).toThrowException(exception) 3 | 4 | Expected the function to throw an error matching: 5 | Not_found 6 | But it didn't throw anything. 7 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_6.ml: -------------------------------------------------------------------------------- 1 | (* Test missing type among other missing values *) 2 | module type Sig = sig 3 | val createElement: string -> unit 4 | type 'a missingType = 'a list 5 | val createElement2: string -> unit 6 | val hasWrongType: string -> unit 7 | end 8 | 9 | module MyModule : Sig = struct 10 | let hasWrongType s = 0 11 | end 12 | 13 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.23e291d6.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toBeCalledWith custom equals 2 | expect.mock(mock).toBeCalledWith(expected) 3 | 4 | Expected the mock to have been called with: 5 | 0.8 6 | But it was called with: 7 | 1. 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.f8dbe02b.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.lastReturnedWith custom equals 2 | expect.mock(mock).lastReturnedWith(expected) 3 | 4 | Expected the mock to have last returned: 5 | 1. 6 | But the last call returned: 7 | 2. 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.61a9d36d.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toBeCalledTimes called different number of times 2 | expect.mock(mock).toBeCalledTimes(expected) 3 | 4 | Expected the mock to have been called two times, but it was called one time. 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.b7c954fd.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.lastCalledWith custom equals 2 | expect.mock(mock).lastCalledWith(expected) 3 | 4 | Expected the mock to have been last called with: 5 | 1. 6 | But it was last called with: 7 | 2. 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.c15667de.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toBeCalledTimes 2 | expect.mock(mock).not.toBeCalledTimes(expected) 3 | 4 | Expected the mock not be called two times, but it was called exactly two times. 5 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.fb892fbe.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toReturnTimes 2 | expect.mock(mock).not.toReturnTimes(expected) 3 | 4 | Expected the mock not have returned two times, but it returned exactly two times. 5 | -------------------------------------------------------------------------------- /src/pastel/Pastel.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | open PastelInternal; 8 | 9 | include Mode; 10 | include Decorators; 11 | include ColorName; 12 | module ColorName = ColorName; 13 | 14 | module Make = PastelFactory.Make; 15 | include PastelFactory.Make({}); 16 | -------------------------------------------------------------------------------- /src/pastel/SupportsColor.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | type level = 9 | | NoSupport 10 | | BasicColorSupport 11 | | Has256ColorSupport 12 | | TrueColorSupport; 13 | 14 | let inferLevel: Unix.file_descr => level; 15 | 16 | let stdin: level; 17 | -------------------------------------------------------------------------------- /src/rely/Counter.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | type t = ref(int); 8 | 9 | let create = () => ref(0); 10 | 11 | let startingAt = value => ref(value); 12 | 13 | let next = counter => { 14 | let result = counter^; 15 | incr(counter); 16 | result; 17 | }; 18 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.0731d24c.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.lastReturnedWith wasn't called 2 | expect.mock(mock).lastReturnedWith(expected) /* using == */ 3 | 4 | Expected the mock to have last returned: 5 | 2 6 | But it did not return. 7 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/warning_PatternNotExhaustive/warning_PatternNotExhaustive_1_expected_bk.txt: -------------------------------------------------------------------------------- 1 | tests/warning_PatternNotExhaustive/warning_PatternNotExhaustive_1.ml:5:12-6:13 2 | 2 | | Hello 3 | 3 | | Goodbye 4 | 4 | 5 | 5 | let say a = match a with 6 | 6 | | Hello -> () 7 | 8 | Warning 8: this match doesn't cover all possible values of the variant. 9 | The case `Goodbye` is not matched 10 | -------------------------------------------------------------------------------- /tests/TestCi.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | ReasonNativeTests.TestFramework.run( 9 | Rely.RunConfig.( 10 | initialize() 11 | |> withReporters([Default, Custom(RelyJUnitReporter.createJUnitReporter("./junit.xml"))]) 12 | |> ciMode(true) 13 | ), 14 | ); 15 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.34315207.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toThrowException wrong exception 2 | expect.mock(function).toThrowException(exception) 3 | 4 | Expected the function to throw an error matching: 5 | Not_found 6 | Instead, it threw: 7 | Division_by_zero 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.74075ad7.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.lastReturnedWith custom equals 2 | expect.mock(mock).not.lastReturnedWith(expected) 3 | 4 | Expected the mock to not have last returned: 5 | 1.99 6 | But it last returned: 7 | 2. 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.d07ff557.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.lastReturnedWith single call 2 | expect.mock(mock).lastReturnedWith(expected) /* using == */ 3 | 4 | Expected the mock to have last returned: 5 | 1 6 | But the last call returned: 7 | 2 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.f5261140.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toReturnWith custom equals 2 | expect.mock(mock).not.toReturnWith(expected) 3 | 4 | Expected the mock not to have returned: 5 | 0.99 6 | But it returned a value equal to: 7 | 0.99 8 | -------------------------------------------------------------------------------- /console.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "MIT" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | 8 | 9 | tags: [] 10 | build: [ ["dune" "build" "-p" "console" ] ] 11 | depends: [ 12 | "dune" 13 | "reason" {< "4.0.0"} 14 | "ocaml" {>= "4.2.0"} 15 | ] 16 | synopsis: "No effort, universal logger" 17 | description: "No effort, universal logger" 18 | -------------------------------------------------------------------------------- /src/dir/dir.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | //Provides: sh_get_folder_path(const, const) 9 | function sh_get_folder_path(nFolder, dwFlags) { 10 | throw new Error("sh_get_folder_path not implemented for JS"); 11 | } 12 | 13 | function sh_is_osx() { 14 | return false; 15 | } 16 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.706fb052.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.lastReturnedWith multiple calls 2 | expect.mock(mock).lastReturnedWith(expected) /* using == */ 3 | 4 | Expected the mock to have last returned: 5 | 1 6 | But the last call returned: 7 | 2 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.c4cc9b77.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.lastCalledWith single call 2 | expect.mock(mock).lastCalledWith(expected) /* using == */ 3 | 4 | Expected the mock to have been last called with: 5 | 1 6 | But it was last called with: 7 | 2 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.2988fa6e.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.lastReturnedWith threw exception 2 | expect.mock(mock).lastReturnedWith(expected) /* using == */ 3 | 4 | Expected the mock to have last returned: 5 | 7 6 | But the last call raised: 7 | Not_found 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.3a888f1f.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.lastCalledWith multiple calls 2 | expect.mock(mock).lastCalledWith(expected) /* using == */ 3 | 4 | Expected the mock to have been last called with: 5 | 1 6 | But it was last called with: 7 | 2 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.e7dac68e.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toBeCalled overflow print 2 | expect.mock(mock).not.toBeCalled() 3 | 4 | Expected the mock not be called, but it was called with: 5 | {10, 11}, {7, 8}, {5, 6} and two more calls. 6 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam-override/menhir.20171013/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "override": { 3 | "build": [ 4 | [ 5 | "bash", "-c", 6 | "#{os == 'windows' ? 'patch -p1 < menhir-20171013.patch' : 'true'}" 7 | ], 8 | [ 9 | "make", "-f", "Makefile", "PREFIX=#{self.install}", 10 | "USE_OCAMLFIND=true", "docdir=#{self.doc}/menhir", 11 | "libdir=#{self.lib}/menhir", "mandir=#{self.man}/man1" 12 | ] 13 | ] 14 | } 15 | } -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_AppliedTooMany/type_AppliedTooMany_3.ml: -------------------------------------------------------------------------------- 1 | let parseFromStdin 2 | ~(refmttypePath: string option) 3 | ~(customLogOutputProcessors : (string -> string) list) 4 | ~(customErrorParsers : (string * string list) list) = () 5 | 6 | let refmttypePath = Some "hi" 7 | 8 | let _ = 9 | parseFromStdin 10 | ~refmttypePath 11 | ~raiseExceptionDuringParse=true 12 | ~customLogOutputProcessors=[] 13 | ~customErrorParsers:[] 14 | -------------------------------------------------------------------------------- /src/rely/Time.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | type t = 8 | /* An offset of the current time and 00:00:00 GMT, Jan. 1, 1970 in seconds*/ 9 | | Seconds(float); 10 | 11 | let subtract = (t1, t2) => 12 | switch (t1, t2) { 13 | | (Seconds(s1), Seconds(s2)) => Seconds((-.)(s1, s2)) 14 | }; 15 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.534ec036.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toBeCalledWith custom equals 2 | expect.mock(mock).not.toBeCalledWith(expected) 3 | 4 | Expected the mock not to have been called with: 5 | 0.99 6 | But it was called with arguments equal to: 7 | 0.99 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.68a79faf.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.nthCalledWith different value 2 | expect.mock(mock).nthCalledWith(expected) /* using == */ 3 | 4 | Expected the mock function to have been called the second time with: 5 | 3 6 | But it was called with: 7 | 2 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.894c609a.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.nthReturnedWith different value 2 | expect.mock(mock).nthReturnedWith(expected) /* using == */ 3 | 4 | Expected the second call to the mock function to have returned: 5 | 3 6 | But the call returned: 7 | 2 8 | -------------------------------------------------------------------------------- /utf8.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "MIT" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | 8 | 9 | tags: [] 10 | build: [ ["dune" "build" "-p" "utf8" ] ] 11 | depends: [ 12 | "dune" 13 | "reason" {< "4.0.0"} 14 | "ocaml" {>= "4.2.0"} 15 | ] 16 | synopsis: "Utf8 logic with minimal dependencies." 17 | description: "Utf8 logic with minimal dependencies." 18 | -------------------------------------------------------------------------------- /pastel-console.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "undefined" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | 8 | 9 | tags: [] 10 | build: [ ["dune" "build" "-p" "pastel-console" ] ] 11 | depends: [ 12 | "console" 13 | "pastel" 14 | "dune" 15 | "reason" {< "4.0.0"} 16 | "ocaml" {>= "4.2.0"} 17 | ] 18 | synopsis: "My Project" 19 | description: "My Project" 20 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.9b327749.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toReturnWith only call 2 | expect.mock(mock).not.toReturnWith(expected) /* using == */ 3 | 4 | Expected the mock not to have returned: 5 | 1 6 | But it returned a value equal to: 7 | 1 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.a25fa19c.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.lastCalledWith custom equals 2 | expect.mock(mock).not.lastCalledWith(expected) 3 | 4 | Expected the mock not to have been last called with: 5 | 1.99 6 | But it was called with arguments equal to: 7 | 1.99 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.cf48ac01.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toReturnWith other call 2 | expect.mock(mock).not.toReturnWith(expected) /* using == */ 3 | 4 | Expected the mock not to have returned: 5 | 1 6 | But it returned a value equal to: 7 | 1 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.2e1d92e9.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.nthReturnedWith threw exception 2 | expect.mock(mock).nthReturnedWith(expected) /* using == */ 3 | 4 | Expected the first call to the mock function to have returned: 5 | 2 6 | But the call raised: 7 | Division_by_zero 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.4864ea0b.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.lastReturnedWith single call 2 | expect.mock(mock).not.lastReturnedWith(expected) /* using == */ 3 | 4 | Expected the mock to not have last returned: 5 | 2 6 | But it last returned: 7 | 2 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.54bc298d.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.lastReturnedWith multiple calls 2 | expect.mock(mock).not.lastReturnedWith(expected) /* using == */ 3 | 4 | Expected the mock to not have last returned: 5 | 2 6 | But it last returned: 7 | 2 8 | -------------------------------------------------------------------------------- /src/console/NativeChannels.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | external _out: string => unit = "native_out"; 8 | external _log: string => unit = "native_log"; 9 | external _debug: string => unit = "native_debug"; 10 | external _error: string => unit = "native_error"; 11 | external _warn: string => unit = "native_warn"; 12 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.17bb22ca.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toThrowException multiple wrong exceptions 2 | expect.mock(function).toThrowException(exception) 3 | 4 | Expected the function to throw an error matching: 5 | Not_found 6 | Instead, it threw: 7 | Division_by_zero, Division_by_zero 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.7bf52742.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toBeCalledWith multiple other calls 2 | expect.mock(mock).toBeCalledWith(expected) /* using == */ 3 | 4 | Expected the mock to have been called with: 5 | 4 6 | But it was called with: 7 | 3, 1, 2 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.901ed992.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toBeCalledWith only call 2 | expect.mock(mock).not.toBeCalledWith(expected) /* using == */ 3 | 4 | Expected the mock not to have been called with: 5 | 1 6 | But it was called with arguments equal to: 7 | 1 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.a72f61da.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.toBeCalledWith other call 2 | expect.mock(mock).not.toBeCalledWith(expected) /* using == */ 3 | 4 | Expected the mock not to have been called with: 5 | 1 6 | But it was called with arguments equal to: 7 | 1 8 | -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /tests/__snapshots__/Pastel_Console.f5adc820.0.snapshot: -------------------------------------------------------------------------------- 1 | Pastel Console › Lists 2 | ===== Standard Out ===== 3 | [ 4 | \"this\", 5 | \"is\", 6 | \"a\", 7 | \"list\", 8 | \"of\", 9 | \"strings\" 10 | ] 11 | [ 12 | 4.9, 13 | 5., 14 | 999.99 15 | ] 16 | ===== Standard Err ===== 17 | 18 | ======================== 19 | 20 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.ab1098b8.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.lastCalledWith multiple calls 2 | expect.mock(mock).not.lastCalledWith(expected) /* using == */ 3 | 4 | Expected the mock not to have been last called with: 5 | 2 6 | But it was called with arguments equal to: 7 | 2 8 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.c6ef3a32.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.not.lastCalledWith single call 2 | expect.mock(mock).not.lastCalledWith(expected) /* using == */ 3 | 4 | Expected the mock not to have been last called with: 5 | 2 6 | But it was called with arguments equal to: 7 | 2 8 | -------------------------------------------------------------------------------- /cli.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /fp.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /fs.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /pastel.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /rely.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /src/pastel/WinConsoleColorsSupport.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | external enableWinConsoleAnsiSequences: unit => unit = 8 | "enable_windows_console_ansi_sequences"; 9 | 10 | let enable = () => 11 | if (Sys.win32 && !WinCygPtySupport.isCygptyUsed()) { 12 | enableWinConsoleAnsiSequences(); 13 | } else { 14 | (); 15 | }; 16 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.6_opam_override/files/findlib.patch: -------------------------------------------------------------------------------- 1 | --- ./Makefile 2 | +++ ./Makefile 3 | @@ -55,7 +55,7 @@ 4 | export USE_CYGPATH; \ 5 | cat findlib.conf.in | \ 6 | $(SH) tools/patch '@SITELIB@' '$(OCAML_SITELIB)' | \ 7 | - $(SH) tools/patch '@FINDLIB_PATH@' '$(FINDLIB_PATH)' -p >findlib.conf 8 | + $(SH) tools/patch '@FINDLIB_PATH@' '$(FINDLIB_PATH)' >findlib.conf 9 | if ./tools/cmd_from_same_dir ocamlc; then \ 10 | echo 'ocamlc="ocamlc.opt"' >>findlib.conf; \ 11 | fi 12 | -------------------------------------------------------------------------------- /qcheck-rely.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /refmterr.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /src/refmterr/lib/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets types_j.ml 3 | types_j.mli) 4 | (deps types.atd) 5 | (action (run atdgen -j -j-std %{deps}))) 6 | 7 | (rule 8 | (targets types_t.ml 9 | types_t.mli) 10 | (deps types.atd) 11 | (action (run atdgen -t %{deps}))) 12 | 13 | (library (name Refmterr) 14 | (flags :standard -w -23 -w -27 -w -32 -w -33 -w -9 -w -6) 15 | (public_name refmterr.lib) 16 | (libraries atdgen re.pcre unix pastel.lib)) 17 | (copy_files# ../../../shared-src/common/*) 18 | -------------------------------------------------------------------------------- /tests/__snapshots__/mock_matchers_failing_output.0a5f67ff.0.snapshot: -------------------------------------------------------------------------------- 1 | mock matchers › failing output › expect.mock.toReturnWith multiple other calls 2 | expect.mock(mock).toReturnWith(expected) /* using == */ 3 | 4 | Expected the mock to have returned: 5 | 4 6 | But it returned: 7 | 3, 3, 2 and two more values. 8 | -------------------------------------------------------------------------------- /pastel-console.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /file-context-printer.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /refmterr.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "undefined" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | 8 | 9 | tags: [] 10 | build: [ ["dune" "build" "-p" "refmterr" ] ] 11 | depends: [ 12 | "dune" 13 | "re" 14 | "reason" {< "4.0.0"} 15 | "ocaml" {>= "4.2.0"} 16 | "pastel" 17 | "atdgen" 18 | "console" 19 | ] 20 | synopsis: "Reason Formatting of Errors" 21 | description: "Reason Formatting of Errors" 22 | -------------------------------------------------------------------------------- /rely-junit-reporter.esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_SignatureItemMismatch/type_SignatureItemMismatch_13.ml: -------------------------------------------------------------------------------- 1 | module type Sig = sig 2 | type t = { 3 | a: string ; 4 | b: string ; 5 | c: int ; 6 | d: string ; 7 | e: bool ; 8 | f: string ; 9 | g: int ; 10 | h: string 11 | } 12 | end 13 | 14 | module MyModule : Sig = struct 15 | type t = { 16 | a: string ; 17 | b: string ; 18 | c: string ; 19 | d: int ; 20 | e: bool ; 21 | f: int ; 22 | g: int ; 23 | h: string 24 | } 25 | end 26 | -------------------------------------------------------------------------------- /dir.esy.lock/overrides/opam__s__ocaml_secondary_compiler_opam__c__4.08.1_1_opam_override/files/clone-flexdll: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # clone-flexdll 4 | # 5 | # Brings in flexdll, if necessary 6 | 7 | if [ -d "flexdll" ] && [ -f "flexdll/flexdll.c" ]; then 8 | echo "[Flexdll] Already present, no need to clone." 9 | else 10 | echo "[Flexdll] Cloning..." 11 | git clone https://github.com/esy-ocaml/flexdll.git 12 | cd flexdll 13 | git checkout f84baaeae463f96f9582883a9cfb7dd1096757ff 14 | cd .. 15 | echo "[Flexdll] Clone successful!" 16 | fi -------------------------------------------------------------------------------- /tests/__tests__/rely/ListMatchers_test.re: -------------------------------------------------------------------------------- 1 | open TestFramework; 2 | open Rely.Test; 3 | 4 | module ListMatchersTests = 5 | CollectionMatchersTest.Make( 6 | RelyInternal.ListMatchers.List, 7 | { 8 | type t('a) = list('a); 9 | type matchersWithNot('a) = 10 | RelyInternal.ListMatchers.matchersWithNot('a); 11 | let ofList = l => l; 12 | let expectPath: 13 | (Rely.Test.testUtils('a, 'env), t('b)) => matchersWithNot('b) = 14 | t => t.expect.list; 15 | let collectionName = "list"; 16 | }, 17 | ); 18 | -------------------------------------------------------------------------------- /.ci/esy-build-steps.yml: -------------------------------------------------------------------------------- 1 | # Cross-platform set of build steps for building esy projects 2 | 3 | steps: 4 | - template: utils/use-node.yml 5 | - template: utils/use-esy.yml 6 | - template: utils/restore-build-cache.yml 7 | - script: esy install 8 | displayName: 'esy install' 9 | - script: esy build 10 | displayName: 'esy build' 11 | - template: utils/publish-build-cache.yml 12 | - script: esy x refmt --version 13 | displayName: 'esy x refmt --version' 14 | # Run tests or any additional steps here 15 | # - script: esy b dune runtest 16 | -------------------------------------------------------------------------------- /esy.lock/opam/ocamlfind.1.9.6/files/0001-Harden-test-for-OCaml-5.patch: -------------------------------------------------------------------------------- 1 | diff a/configure b/configure 2 | --- a/configure 3 | +++ b/configure 4 | @@ -294,7 +294,7 @@ 5 | # If findlib has been configured -sitelib $(ocamlc -where) then there's 6 | # nothing to do, but otherwise we need to put OCaml's Standard Library 7 | # into the path setting. 8 | - if [ ! -e "${ocaml_sitelib}/stdlib/META" ]; then 9 | + if [ ! -e "${ocaml_sitelib}/stdlib.cmi" ]; then 10 | ocamlpath="${ocaml_core_stdlib}${path_sep}${ocamlpath}" 11 | fi 12 | fi 13 | -------------------------------------------------------------------------------- /frame.esy.lock/overrides/opam__s__ocaml_secondary_compiler_opam__c__4.08.1_1_opam_override/files/clone-flexdll: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # clone-flexdll 4 | # 5 | # Brings in flexdll, if necessary 6 | 7 | if [ -d "flexdll" ] && [ -f "flexdll/flexdll.c" ]; then 8 | echo "[Flexdll] Already present, no need to clone." 9 | else 10 | echo "[Flexdll] Cloning..." 11 | git clone https://github.com/esy-ocaml/flexdll.git 12 | cd flexdll 13 | git checkout f84baaeae463f96f9582883a9cfb7dd1096757ff 14 | cd .. 15 | echo "[Flexdll] Clone successful!" 16 | fi -------------------------------------------------------------------------------- /tests/__snapshots__/TestRunner.e9296ac9.0.snapshot: -------------------------------------------------------------------------------- 1 | TestRunner › passing tests 2 | Running 1 test suite 3 | PASS passing tests 4 | 5 | Test Suites: 0 failed, 1 passed, 1 total 6 | Tests: 0 failed, 2 passed, 2 total 7 | Time: < 1ms 8 | 9 | -------------------------------------------------------------------------------- /ORIGINS.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | Thanks to the following libraries for being useful as references/guides for how 4 | to handle various system/terminal integration. 5 | 6 | - [bos](https://github.com/dbuenzli/bos) For demonstrating how to correctly and 7 | robustly handle `Unix` exceptions. It is a great reference for which `Unix` 8 | exceptions are raised for which operations, and demonstrates the robust 9 | pattern of reattempts on interupt exceptions. 10 | 11 | - `utf` was coppied from IwanKaramazow's 12 | (unicode.re)[https://github.com/IwanKaramazow/unicode.re]. 13 | -------------------------------------------------------------------------------- /tests/__snapshots__/TestRunner.94379a08.0.snapshot: -------------------------------------------------------------------------------- 1 | TestRunner › nested describes 2 | Running 1 test suite 3 | PASS nested describes 4 | 5 | Test Suites: 0 failed, 1 passed, 1 total 6 | Tests: 0 failed, 7 passed, 7 total 7 | Time: < 1ms 8 | 9 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_4.ml: -------------------------------------------------------------------------------- 1 | module TopNotchModule = struct 2 | type jeSuisString = string 3 | type jeSuisStrings = jeSuisString list list 4 | type myRecord = {nihao: int} 5 | type myRecordList = myRecord 6 | type myRecordListList = myRecordList list 7 | type myRecordListListList = myRecordListList list 8 | 9 | module Nested = struct 10 | type wow = myRecordListListList list 11 | end 12 | end 13 | 14 | let asd: TopNotchModule.jeSuisStrings = ([[[{nihao = 1}]]]: TopNotchModule.Nested.wow) 15 | -------------------------------------------------------------------------------- /tests/__snapshots__/TestRunner.9ae8523f.0.snapshot: -------------------------------------------------------------------------------- 1 | TestRunner › string operations 2 | Running 1 test suite 3 | PASS string operations 4 | 5 | Test Suites: 0 failed, 1 passed, 1 total 6 | Tests: 0 failed, 1 passed, 1 total 7 | Time: < 1ms 8 | 9 | -------------------------------------------------------------------------------- /tests/__tests__/rely/ArrayMatchers_test.re: -------------------------------------------------------------------------------- 1 | open TestFramework; 2 | open Rely.Test; 3 | 4 | module ArrayMatchersTests = 5 | CollectionMatchersTest.Make( 6 | RelyInternal.ArrayMatchers.Array, 7 | { 8 | type t('a) = array('a); 9 | type matchersWithNot('a) = 10 | RelyInternal.ArrayMatchers.matchersWithNot('a); 11 | let ofList = Array.of_list; 12 | let expectPath: 13 | (Rely.Test.testUtils('a, 'env), t('b)) => matchersWithNot('b) = 14 | t => t.expect.array; 15 | let collectionName = "array"; 16 | }, 17 | ); 18 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.3_opam_override/files/winpatch.patch: -------------------------------------------------------------------------------- 1 | --- ./Makefile 2 | +++ ./Makefile 3 | @@ -271,7 +271,7 @@ 4 | echo ' "ocamlbuild.byte" {"ocamlbuild.byte"}' >> ocamlbuild.install 5 | ifeq ($(OCAML_NATIVE), true) 6 | echo ' "ocamlbuild.native" {"ocamlbuild.native"}' >> ocamlbuild.install 7 | - echo ' "ocamlbuild.native" {"ocamlbuild"}' >> ocamlbuild.install 8 | + echo " \"ocamlbuild.native\" {\"ocamlbuild${EXE}\"}" >> ocamlbuild.install 9 | else 10 | echo ' "ocamlbuild.byte" {"ocamlbuild"}' >> ocamlbuild.install 11 | endif 12 | -------------------------------------------------------------------------------- /src/rely/RelyAPI.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | include TestFramework; 8 | include TestFrameworkConfig; 9 | module RunConfig = RunConfig; 10 | module MatcherTypes = MatcherTypes; 11 | module MatcherUtils = MatcherUtils; 12 | module Mock = Mock; 13 | module Reporter = Reporter; 14 | module Time = Time; 15 | module Test = Test; 16 | include Test; 17 | module Describe = Describe; 18 | include Describe; 19 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_5.ml: -------------------------------------------------------------------------------- 1 | module PettyModule = struct 2 | type youAreAString = string 3 | 4 | module Nested = struct 5 | type weAreStringsType = youAreAString list 6 | end 7 | end 8 | 9 | module TopNotchModule = struct 10 | type stringListList = string list list 11 | type myRecord = {nihao: int} 12 | type myRecordList = myRecord list 13 | type myRecordListList = myRecordList list 14 | end 15 | 16 | let asd: PettyModule.Nested.weAreStringsType = 17 | ([[{nihao = 1}]]: TopNotchModule.myRecordListList) 18 | -------------------------------------------------------------------------------- /src/refmterr/todo/fieldBelonging.txt: -------------------------------------------------------------------------------- 1 | > Unformatted Error Output: 2 | > File "ast-utils/JSParser.re", line 279, characters 15-28: 3 | > Error: The field Literal.value belongs to the record type Ast.Literal.t 4 | > but a field was expected belonging to the record type 5 | > Ast.StringLiteral.t 6 | 7 | Error: ast-utils/JSParser.re:279 15-28 8 | 276 ¦ Statement.ImportDeclaration.importKind, 9 | 277 ¦ Statement.ImportDeclaration.source: ( 10 | 278 ¦ _, 11 | 279 ¦ {Literal.value: Literal.String(source)}, 12 | 280 ¦ ), 13 | 281 ¦ }), 14 | 282 ¦ )) => 15 | -------------------------------------------------------------------------------- /tests/__snapshots__/FloatMatchers.56a40b03.0.snapshot: -------------------------------------------------------------------------------- 1 | FloatMatchers › failure output .toBeCloseTo 2 | Running 1 test suite 3 | PASS failure output .toBeCloseTo 4 | 5 | Test Suites: 0 failed, 1 passed, 1 total 6 | Tests: 0 failed, 2 passed, 2 total 7 | Time: < 1ms 8 | 9 | -------------------------------------------------------------------------------- /src/console/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name Console) 3 | (public_name console.lib) 4 | (flags :standard -w -23 -w -27 -w -32 -w -6 -w -9) 5 | (c_names nativeChannels ) 6 | (js_of_ocaml 7 | (flags ( --pretty )) 8 | (javascript_files nativeChannels.js ) 9 | ) 10 | ) 11 | ; objectPrinter lives separately from Common for now because Common has an 12 | ; implicit dependency on Pastel which Console does not want. Common should 13 | ; ideally be split up into sub directories/packages which can be more precisely 14 | ; consumed 15 | (copy_files# ../../shared-src/objectPrinter/*) 16 | 17 | -------------------------------------------------------------------------------- /tests/Utils.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | let sanitizeClosures = s => { 9 | let r = Str.regexp("closure(\\@?[0-9]+)"); 10 | Str.global_replace(r, "closure()", s); 11 | }; 12 | 13 | let allOut = (stdout, stderr) => 14 | "===== Standard Out =====\n" 15 | ++ sanitizeClosures(stdout) 16 | ++ "\n===== Standard Err =====\n" 17 | ++ sanitizeClosures(stderr) 18 | ++ "\n========================\n"; 19 | -------------------------------------------------------------------------------- /tests/GetProjectRoot.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | let getEnvOpt = s => 9 | try (Some(Sys.getenv(s))) { 10 | | Not_found => None 11 | }; 12 | 13 | let get = () => { 14 | switch (getEnvOpt("REASON_NATIVE_ROOT")) { 15 | | Some(dir) => dir 16 | | None => 17 | failwith( 18 | "Expected `REASON_NATIVE_ROOT` environment variable to be set " 19 | ++ "before running tests.", 20 | ) 21 | }; 22 | }; 23 | -------------------------------------------------------------------------------- /src/pastel/dune: -------------------------------------------------------------------------------- 1 | 2 | (library 3 | (name Pastel) 4 | (public_name pastel.lib) 5 | (flags :standard -w -23 -w -27 -w -32 -w -33 -w -39) 6 | (libraries pastel.internal) 7 | (modules pastel) 8 | ) 9 | (library 10 | (name PastelInternal) 11 | (public_name pastel.internal) 12 | (libraries re unix) 13 | (flags :standard -w -23 -w -27 -w -32 -w -33) 14 | (c_names winCygPtySupport winConsoleColorsSupport) 15 | (js_of_ocaml 16 | (flags (--pretty)) 17 | (javascript_files winCygPtySupport.js winConsoleColorsSupport.js) 18 | ) 19 | (modules (:standard \ Pastel)) 20 | ) 21 | (include_subdirs unqualified) 22 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/warning_PatternNotExhaustive/warning_PatternNotExhaustive_2_expected_bk.txt: -------------------------------------------------------------------------------- 1 | tests/warning_PatternNotExhaustive/warning_PatternNotExhaustive_2.ml:8:12-9:13 2 | 5 | | Nihao of int 3 | 6 | | LongAssGreetingInSomeSuperObscureLanguageIWannaHaveALineBreakHere 4 | 7 | 5 | 8 | let say a = match a with 6 | 9 | | Hello -> () 7 | 8 | Warning 8: this match doesn't cover all possible values of the variant. 9 | These cases are not matched: 10 | - `Goodbye` 11 | - `Hola _` 12 | - `Nihao _` 13 | - `LongAssGreetingInSomeSuperObscureLanguageIWannaHaveALineBreakHere` 14 | -------------------------------------------------------------------------------- /.ci/release-platform-setup.yml: -------------------------------------------------------------------------------- 1 | parameters: 2 | platform: "macOS" 3 | folder: "platform-darwin" 4 | 5 | steps: 6 | - task: DownloadBuildArtifacts@0 7 | displayName: "Download ${{ parameters.platform }} Artifacts" 8 | inputs: 9 | artifactName: ${{ parameters.platform }} 10 | downloadPath: $(Build.StagingDirectory) 11 | 12 | - script: "mkdir _release/${{ parameters.folder }}" 13 | displayName: "Create _release/${{ parameters.folder }}" 14 | 15 | - script: "cp -r $(Build.StagingDirectory)/${{ parameters.platform }}/ _release/${{ parameters.folder }}" 16 | displayName: "cp ${{ parameters.platform }}" 17 | -------------------------------------------------------------------------------- /src/pastel/ColorName.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | type colorName = 8 | | Black 9 | | Red 10 | | Green 11 | | Yellow 12 | | Blue 13 | | Magenta 14 | | Cyan 15 | | White 16 | /* Gray is actually "Bright Black": 17 | * https://en.wikipedia.org/wiki/ANSI_escape_code */ 18 | | BlackBright 19 | | RedBright 20 | | GreenBright 21 | | YellowBright 22 | | BlueBright 23 | | MagentaBright 24 | | CyanBright 25 | | WhiteBright; 26 | -------------------------------------------------------------------------------- /src/utf8/utf8.mli: -------------------------------------------------------------------------------- 1 | val min : Uchar.t 2 | 3 | val max : Uchar.t 4 | 5 | val errChar : Uchar.t 6 | 7 | val encodeUchar : bytes -> Uchar.t -> int 8 | 9 | val nextInString : string -> Uchar.t * int 10 | 11 | val decodeUchar : int -> Bytes.t -> int -> Uchar.t * int 12 | 13 | val decodeUcharInString : int -> string -> int -> Uchar.t * int 14 | 15 | val decodeUtf8String : string -> Uchar.t list 16 | 17 | val validUchar : Uchar.t -> bool 18 | 19 | val ucharLength : Uchar.t -> int 20 | 21 | val count : Bytes.t -> int 22 | 23 | val countInString : string -> int 24 | 25 | val valid : Bytes.t -> bool 26 | 27 | val validString : string -> bool 28 | -------------------------------------------------------------------------------- /dir.esy.lock/overrides/opam__s__ocaml_secondary_compiler_opam__c__4.08.1_1_opam_override/files/esy-build: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | 3 | # esy-build 4 | # 5 | # Wrapper to execute appropriate build strategy, based on platform 6 | 7 | set -u 8 | set -e 9 | set -o pipefail 10 | 11 | case "$(uname -s)" in 12 | CYGWIN*|MINGW32*|MSYS*) 13 | echo "[esy-build] Detected windows environment..." 14 | make -j4 world.opt 15 | make flexlink.opt 16 | ;; 17 | *) 18 | echo "[esy-build] Detected OSX / Linux environment" 19 | make -j4 world.opt 20 | ;; 21 | esac 22 | 23 | # Common build steps 24 | make install -------------------------------------------------------------------------------- /frame.esy.lock/overrides/opam__s__ocaml_secondary_compiler_opam__c__4.08.1_1_opam_override/files/esy-build: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | 3 | # esy-build 4 | # 5 | # Wrapper to execute appropriate build strategy, based on platform 6 | 7 | set -u 8 | set -e 9 | set -o pipefail 10 | 11 | case "$(uname -s)" in 12 | CYGWIN*|MINGW32*|MSYS*) 13 | echo "[esy-build] Detected windows environment..." 14 | make -j4 world.opt 15 | make flexlink.opt 16 | ;; 17 | *) 18 | echo "[esy-build] Detected OSX / Linux environment" 19 | make -j4 world.opt 20 | ;; 21 | esac 22 | 23 | # Common build steps 24 | make install -------------------------------------------------------------------------------- /src/rely/Counter.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | type t; 8 | 9 | /** 10 | * Creates a new counter starting at 0. 11 | */ 12 | let create: unit => t; 13 | 14 | /** 15 | * Creates a new counter starting at the given integer. 16 | */ 17 | let startingAt: int => t; 18 | 19 | /** 20 | * Gets the next value of the counter. This function will never return the same 21 | * value for a particular counter twice. (Unless you overflow ints...). 22 | */ 23 | let next: t => int; 24 | -------------------------------------------------------------------------------- /tests/__snapshots__/Console.ee72f144.0.snapshot: -------------------------------------------------------------------------------- 1 | Console › Circular lists 2 | ===== Standard Out ===== 3 | 4 | ===== Standard Err ===== 5 | [ 6 | {[\"circular\"]}, 7 | {[\"list\"]}, 8 | {[\"should\"]}, 9 | {[\"not\"]}, 10 | {[\"error\"]}, 11 | {[\"but\"]}, 12 | {[\"detect\"]}, 13 | {[\"length-exceeded\"]}, 14 | {[\"circular\"]}, 15 | {[\"list\"]}, 16 | {[\"should\"]}, 17 | {[\"not\"]}, 18 | {[\"error\"]}, 19 | {[\"but\"]}, 20 | {[\"detect\"]}, 21 | {[\"length-exceeded\"]}, 22 | {[\"circular\"]}, 23 | {[\"list\"]}, 24 | {[\"should\"]}, 25 | {[\"not\"]}, 26 | @max-length 27 | ] 28 | ======================== 29 | 30 | -------------------------------------------------------------------------------- /fp.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "MIT" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | bug-reports: "https://github.com/facebookexperimental/reason-native" 8 | dev-repo: "git://github.com/facebookexperimental/reason-native" 9 | tags: ["path" "fp" "filesystem" "directories" "reasonml" "reason" "ocaml" "esy"] 10 | build: [ ["dune" "build" "-p" "fp" ] ] 11 | depends: [ 12 | "dune" 13 | "reason" {< "4.0.0"} 14 | "ocaml" {>= "4.2.0"} 15 | ] 16 | synopsis: "Reason Native file paths library." 17 | description: "Reason Native file paths library." 18 | -------------------------------------------------------------------------------- /src/file-context-printer/FileContextPrinter.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | type rowColumnRange = ((int, int), (int, int)); 8 | 9 | module type FileContextPrinter = { 10 | let print: (list(string), ~highlight: rowColumnRange) => string; 11 | let printFile: 12 | (~path: string, ~highlight: rowColumnRange) => option(string); 13 | }; 14 | 15 | include Config; 16 | 17 | module Make = (UserConfig: FileContextPrinterConfig) => 18 | Factory.Make(UserConfig, Stylish.ANSIStylish); 19 | -------------------------------------------------------------------------------- /dir.esy.lock/overrides/opam__s__ocaml_secondary_compiler_opam__c__4.08.1_1_opam_override/files/configure-windows: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # configure-windows 4 | # 5 | # Creates a native Windows MingW build, based on: 6 | # https://github.com/ocaml/ocaml/blob/trunk/README.win32.adoc 7 | 8 | 9 | export prefix=C:/ocamlmgw64 10 | while : ; do 11 | case "$1" in 12 | "") break;; 13 | -prefix|--prefix) 14 | prefix=$2; shift;; 15 | esac 16 | shift 17 | done 18 | 19 | echo "[configure-windows] Setting up flexdll" 20 | ./clone-flexdll 21 | ./configure --build=x86_64-unknown-cygwin --host=x86_64-w64-mingw32 --prefix=$prefix 22 | make flexdll 23 | -------------------------------------------------------------------------------- /frame.esy.lock/overrides/opam__s__ocaml_secondary_compiler_opam__c__4.08.1_1_opam_override/files/configure-windows: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # configure-windows 4 | # 5 | # Creates a native Windows MingW build, based on: 6 | # https://github.com/ocaml/ocaml/blob/trunk/README.win32.adoc 7 | 8 | 9 | export prefix=C:/ocamlmgw64 10 | while : ; do 11 | case "$1" in 12 | "") break;; 13 | -prefix|--prefix) 14 | prefix=$2; shift;; 15 | esac 16 | shift 17 | done 18 | 19 | echo "[configure-windows] Setting up flexdll" 20 | ./clone-flexdll 21 | ./configure --build=x86_64-unknown-cygwin --host=x86_64-w64-mingw32 --prefix=$prefix 22 | make flexdll 23 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam/jbuilder.transition/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/ocaml/dune" 5 | bug-reports: "https://github.com/ocaml/dune/issues" 6 | dev-repo: "git+https://github.com/ocaml/dune.git" 7 | license: "MIT" 8 | depends: ["ocaml" "dune"] 9 | post-messages: [ 10 | "Jbuilder has been renamed and the jbuilder package is now a transition \ 11 | package. Use the dune package instead." 12 | ] 13 | synopsis: 14 | "This is a transition package, jbuilder is now named dune. Use the dune" 15 | description: "package instead." 16 | -------------------------------------------------------------------------------- /cli.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "MIT" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | bug-reports: "https://github.com/facebookexperimental/reason-native" 8 | dev-repo: "git://github.com/facebookexperimental/reason-native" 9 | tags: ["cli" "reasonml" "reason" "ocaml" "esy"] 10 | build: [ ["dune" "build" "-p" "cli" ] ] 11 | depends: [ 12 | "dune" 13 | "re" 14 | "pastel" 15 | "reason" {< "4.0.0"} 16 | "ocaml" {>= "4.2.0"} 17 | ] 18 | synopsis: "Build Command Line Interfaces in Reason" 19 | description: "Build Command Line Interfaces in Reason" 20 | -------------------------------------------------------------------------------- /file-context-printer.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "MIT" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | bug-reports: "https://github.com/facebookexperimental/reason-native" 8 | dev-repo: "git://github.com/facebookexperimental/reason-native" 9 | tags: [] 10 | build: [ ["dune" "build" "-p" "file-context-printer" ] ] 11 | depends: [ 12 | "dune" 13 | "reason" {< "4.0.0"} 14 | "ocaml" {>= "4.2.0"} 15 | "re" 16 | "pastel" 17 | ] 18 | synopsis: "A utility for pretty printing source code" 19 | description: "A utility for pretty printing source code" 20 | -------------------------------------------------------------------------------- /src/file-context-printer/Config.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | type initialConfig = { 8 | linesBefore: int, 9 | linesAfter: int, 10 | }; 11 | 12 | module Config = { 13 | type t = { 14 | linesBefore: int, 15 | linesAfter: int, 16 | }; 17 | 18 | let initialize: initialConfig => t = 19 | config => { 20 | linesBefore: config.linesBefore, 21 | linesAfter: config.linesAfter, 22 | }; 23 | }; 24 | 25 | module type FileContextPrinterConfig = {let config: Config.t;}; 26 | -------------------------------------------------------------------------------- /unicode.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "MIT" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | bug-reports: "https://github.com/facebookexperimental/reason-native/tree/master/src/unicode" 8 | dev-repo: "git://github.com/facebookexperimental/reason-native/tree/master/src/unicode" 9 | tags: [] 10 | build: [ ["dune" "build" "-p" "unicode" ] ] 11 | depends: [ 12 | "dune" 13 | "reason" {< "4.0.0"} 14 | "ocaml" {>= "4.2.0"} 15 | ] 16 | synopsis: "Easy to use and well documented Unicode symbols" 17 | description: "Easy to use and well documented Unicode symbols" 18 | -------------------------------------------------------------------------------- /src/rely/Snapshot.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | module type Sig = { 9 | type testId; 10 | let getSnapshotStatus: unit => TestResult.AggregatedResult.snapshotSummary; 11 | let removeUnusedSnapshots: unit => unit; 12 | let markSnapshotsAsCheckedForTest: (testId) => unit; 13 | let getNewId: TestPath.test => testId; 14 | let readSnapshot: (testId, int) => option(string); 15 | let updateSnapshot: (testId, int, string) => unit; 16 | let markSnapshotUsed: (testId, int) => unit; 17 | }; 18 | -------------------------------------------------------------------------------- /.ci/utils/create-docs.yml: -------------------------------------------------------------------------------- 1 | # These steps are only run on Linux 2 | steps: 3 | - script: "esy doc" 4 | displayName: "Build docs" 5 | condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) 6 | 7 | - script: echo '##vso[task.setvariable variable=docsPath]'$(esy echo '#{self.target_dir}/default/_doc/_html') 8 | displayName: "Save docsPath in variable" 9 | condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) 10 | 11 | - task: PublishBuildArtifacts@1 12 | displayName: "Publish Artifact: Docs" 13 | condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) 14 | inputs: 15 | PathtoPublish: $(docsPath) 16 | ArtifactName: Docs 17 | -------------------------------------------------------------------------------- /dir.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "MIT" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | bug-reports: "https://github.com/facebookexperimental/reason-native" 8 | dev-repo: "git://github.com/facebookexperimental/reason-native" 9 | tags: ["dir" "filesystem" "directories" "reasonml" "reason" "ocaml" "esy"] 10 | build: [ ["dune" "build" "-p" "dir" ] ] 11 | depends: [ 12 | "fp" {>= "0.0.0" & <= "1.0.0"} 13 | "dune" 14 | "reason" {< "4.0.0"} 15 | "ocaml" {>= "4.2.0"} 16 | ] 17 | synopsis: "Reason native system directories" 18 | description: "Reason native system directories" 19 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/type_IncompatibleType/type_IncompatibleType_8.ml: -------------------------------------------------------------------------------- 1 | 2 | type reallyReallyLongNameWillBreak 3 | let numbers = (0, 2, 3, 4, 5) 4 | let thisFunction (f: (reallyReallyLongNameWillBreak * reallyReallyLongNameWillBreak * reallyReallyLongNameWillBreak * reallyReallyLongNameWillBreak * reallyReallyLongNameWillBreak) -> (reallyReallyLongNameWillBreak * reallyReallyLongNameWillBreak * reallyReallyLongNameWillBreak * reallyReallyLongNameWillBreak * reallyReallyLongNameWillBreak) -> unit list -> string list -> 'args) args = f numbers numbers [(); ()] ["anotherString"] () 5 | 6 | let result = thisFunction (fun aa c u -> aa + b +c) 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /fs.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "MIT" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | bug-reports: "https://github.com/facebookexperimental/reason-native" 8 | dev-repo: "git://github.com/facebookexperimental/reason-native" 9 | tags: ["file-system" "fs" "filesystem" "directories" "reasonml" "reason" "ocaml" "esy"] 10 | build: [ ["dune" "build" "-p" "fs" ] ] 11 | depends: [ 12 | "fp" {>= "0.0.0" & < "1.0.0"} 13 | "dune" 14 | "reason" {< "4.0.0"} 15 | "ocaml" {>= "4.2.0"} 16 | ] 17 | synopsis: "Reason Native file system API" 18 | description: "Reason Native file system API" 19 | -------------------------------------------------------------------------------- /qcheck-rely.opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Facebook Engineering" 3 | authors: ["Facebook Engineering"] 4 | license: "MIT" 5 | homepage: "https://reason-native.com" 6 | doc: "https://reason-native.com" 7 | bug-reports: "https://github.com/facebookexperimental/reason-native" 8 | dev-repo: "git://github.com/facebookexperimental/reason-native" 9 | tags: ["qcheck" "rely" "unittest" "test" "property test"] 10 | build: [ ["dune" "build" "-p" "qcheck-rely" ] ] 11 | depends: [ 12 | "dune" 13 | "qcheck-core" {>= "0.9" & < "0.10"} 14 | "reason" 15 | "ocaml" {>= "4.2.0"} 16 | "rely" 17 | "console" 18 | ] 19 | synopsis: "Rely matchers for qcheck" 20 | description: "Rely matchers for qcheck" 21 | -------------------------------------------------------------------------------- /src/refmterr/bin/dune: -------------------------------------------------------------------------------- 1 | ( 2 | executable 3 | 4 | ; The public name of the binary (name by which it is ran). Choosing same name 5 | ; as main module name. 6 | (public_name berror.exe) 7 | (package refmterr) 8 | 9 | ; The main module that will become the binary. 10 | (flags :standard -w -23 -w -27 -w -32) 11 | (name berror) 12 | (ocamlopt_flags (-g -verbose)) 13 | 14 | ; Depends on: 15 | ; - 2 local libraries defined in this project. 16 | ; - 1 library flow parser, defined in package dependency flow_parser. 17 | (libraries refmterr.lib re.pcre unix) 18 | ) 19 | 20 | (install 21 | (section bin) 22 | (package refmterr) 23 | (files (refmterr as refmterr))) 24 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam-override/ocamlbuild.0.12.0/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "override": { 3 | "build": [ 4 | [ 5 | "bash", "-c", 6 | "#{os == 'windows' ? 'patch -p1 < ocamlbuild-0.12.0.patch' : 'true'}" 7 | ], 8 | [ 9 | "make", "-f", "configure.make", "all", 10 | "OCAMLBUILD_PREFIX=#{self.install}", "OCAMLBUILD_BINDIR=#{self.bin}", 11 | "OCAMLBUILD_LIBDIR=#{self.lib}", "OCAMLBUILD_MANDIR=#{self.man}", 12 | "OCAMLBUILD_NATIVE=true", "OCAMLBUILD_NATIVE_TOOLS=true" 13 | ], 14 | [ 15 | "make", "check-if-preinstalled", "all", 16 | "#{os == 'windows' ? 'install' : 'opam-install'}" 17 | ] 18 | ] 19 | } 20 | } -------------------------------------------------------------------------------- /utf8.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@reason-native/utf8", 3 | "version": "0.1.0", 4 | "description": "Utf8 logic with minimal dependencies.", 5 | "author": "Facebook Engineering", 6 | "homepage": "https://reason-native.com", 7 | "esy-prepublish-generate-opam": true, 8 | "license": "MIT", 9 | "esy": { 10 | "build": "dune build -p utf8", 11 | "install": "esy-installer utf8.install" 12 | }, 13 | "scripts": { 14 | "release": "node ./scripts/esy-prepublish.js utf8.json" 15 | }, 16 | "dependencies": { 17 | "@opam/dune": "*", 18 | "@opam/reason": ">= 3.6.0", 19 | "ocaml": "^4.2.0 || ^5.0.0" 20 | }, 21 | "devDependencies": { 22 | "@opam/merlin": "*" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.native 2 | *.byte 3 | *.cmt 4 | a.out 5 | _build 6 | *.install 7 | pkg/META 8 | .DS_Store 9 | formatTest/customMLFiles/*.ml 10 | formatTest/customMLFormatOutput.re 11 | formatTest/failed_tests 12 | formatTest/**/actual_output/ 13 | miscTests/reactjs_jsx_ppx_tests/actual*.re 14 | miscTests/reactjs_jsx_ppx_tests/*.cm* 15 | *.log 16 | src/reason_parser.messages.bak 17 | src/reason_parser_message.ml 18 | *~ 19 | node_modules 20 | /bspacks/build/ 21 | /bspacks/ocaml-migrate-parsetree/ 22 | /bspacks/closure-compiler/ 23 | # gitignored, but not npmignored. Published by `npm run prepublish` 24 | refmt.js 25 | refmt.map 26 | _esybuild 27 | _esyinstall 28 | .merlin 29 | _release 30 | _esy 31 | junit.xml 32 | -------------------------------------------------------------------------------- /src/refmterr/bin/refmterr: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Makes sure our dollar-at subshell failure translates to this wrapper script's 4 | # failure. That way it blocks the build registering as success! 5 | set -o pipefail 6 | 7 | SOURCE="${BASH_SOURCE[0]}" 8 | while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink 9 | SCRIPTDIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" 10 | SOURCE="$(readlink "$SOURCE")" 11 | [[ $SOURCE != /* ]] && SOURCE="$SCRIPTDIR/$SOURCE" 12 | done 13 | SCRIPTDIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" 14 | # exec "$@" 2>&1 | 15 | 16 | # To support OCaml 4.08 17 | export OCAML_ERROR_STYLE="short" 18 | ("$@") 2>&1 | ${SCRIPTDIR}/berror.exe --path-to-refmttype refmttype 19 | 20 | -------------------------------------------------------------------------------- /src/unicode/Utils.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | * 7 | * This file is generated, do not modify it manually. 8 | * 9 | * - Modify unicode-config/UnicodeConfig.re 10 | * - Run `scripts/re/unicode-gen/run` 11 | * - (script is internal only for now, we can help in the PR) 12 | * - Then submit your changes 13 | * 14 | * @generated SignedSource<<0bfd79a265c60f3be7fdf6b3458854e0>> 15 | */; 16 | 17 | let u = n => { 18 | let char = Uchar.of_int(n); 19 | let buffer = Buffer.create(1); 20 | Buffer.add_utf_8_uchar(buffer, char); 21 | Buffer.contents(buffer); 22 | }; 23 | -------------------------------------------------------------------------------- /src/rely/matchers/MatcherTypes.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | type thunk('a) = unit => 'a; 9 | type matcher('a, 'b) = 10 | (MatcherUtils.t, thunk('a), thunk('b)) => (thunk(string), bool); 11 | type matcherConfig('a, 'b) = 12 | (MatcherUtils.t, unit => 'a, unit => 'b) => (unit => string, bool); 13 | type matcherResult('a, 'b) = (unit => 'a, unit => 'b) => unit; 14 | type createMatcher('a, 'b) = matcherConfig('a, 'b) => matcherResult('a, 'b); 15 | type extendUtils = {createMatcher: 'a 'b. createMatcher('a, 'b)}; 16 | type matchersExtensionFn('ext) = extendUtils => 'ext; 17 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam/easy-format.1.3.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "martin@mjambon.com" 3 | authors: ["Martin Jambon"] 4 | homepage: "http://mjambon.com/easy-format.html" 5 | bug-reports: "https://github.com/mjambon/easy-format/issues" 6 | dev-repo: "git+https://github.com/mjambon/easy-format.git" 7 | build: [ 8 | ["jbuilder" "build" "-p" name "-j" jobs] 9 | ["jbuilder" "runtest" "-p" name] {with-test} 10 | ] 11 | depends: [ 12 | "ocaml" {>= "4.02.3"} 13 | "jbuilder" {build} 14 | ] 15 | synopsis: 16 | "High-level and functional interface to the Format module of the OCaml standard library" 17 | url { 18 | src: "https://github.com/mjambon/easy-format/archive/v1.3.1.tar.gz" 19 | checksum: "md5=4e163700fb88fdcd6b8976c3a216c8ea" 20 | } 21 | -------------------------------------------------------------------------------- /src/frame/Frame.rei: -------------------------------------------------------------------------------- 1 | module BorderStyle: { 2 | type style = 3 | | BoxLight 4 | | SimpleLines; 5 | 6 | type border = 7 | | Normal 8 | | Outer 9 | | Inner 10 | | None; 11 | }; 12 | 13 | module ColumnConfig: { 14 | type t = {width: int}; 15 | let createElement: (~children: list(unit), ~width: int, unit) => t; 16 | }; 17 | 18 | module Row: { 19 | type t = list(string); 20 | let createElement: (~children: list(string), unit) => t; 21 | }; 22 | 23 | module Table: { 24 | type t = string; 25 | let createElement: 26 | ( 27 | ~columns: list(ColumnConfig.t), 28 | ~children: list(Row.t), 29 | ~border: BorderStyle.border=?, 30 | ~borderStyle: BorderStyle.style=?, 31 | unit 32 | ) => 33 | t; 34 | }; 35 | -------------------------------------------------------------------------------- /src/frame/Table.rei: -------------------------------------------------------------------------------- 1 | module BorderStyle: { 2 | type style = 3 | | BoxLight 4 | | SimpleLines; 5 | 6 | type border = 7 | | Normal 8 | | Outer 9 | | Inner 10 | | None; 11 | }; 12 | 13 | module ColumnConfig: { 14 | type t = {width: int}; 15 | let createElement: (~children: list(unit), ~width: int, unit) => t; 16 | }; 17 | 18 | module Row: { 19 | type t = list(string); 20 | let createElement: (~children: list(string), unit) => t; 21 | }; 22 | 23 | module Table: { 24 | type t = string; 25 | let createElement: 26 | ( 27 | ~columns: list(ColumnConfig.t), 28 | ~children: list(Row.t), 29 | ~border: BorderStyle.border=?, 30 | ~borderStyle: BorderStyle.style=?, 31 | unit 32 | ) => 33 | t; 34 | }; 35 | -------------------------------------------------------------------------------- /src/rely/StackTrace.rei: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | module type StackTrace = { 8 | type t; 9 | let getStackTrace: unit => t; 10 | let getExceptionStackTrace: unit => t; 11 | let stackTraceToString: (t, int) => string; 12 | let getTopLocation: t => option(Printexc.location); 13 | let formatLocation: (Printexc.location, bool) => string; 14 | }; 15 | 16 | module type Config = { 17 | let exclude: list(string); 18 | let baseDir: string; 19 | let formatLink: string => string; 20 | let formatText: string => string; 21 | }; 22 | 23 | module Make: (Config: Config) => StackTrace; 24 | -------------------------------------------------------------------------------- /unicode-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@reason-native/unicode-config", 3 | "version": "0.0.0", 4 | "description": "Configuration used to generate the @reason-native/unicode library", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/facebookexperimental/reason-native" 8 | }, 9 | "license": "MIT", 10 | "esy": { 11 | "build": "dune build -p unicode-config", 12 | "install": "esy-installer unicode-config.install" 13 | }, 14 | "scripts": { 15 | "release": "node ./scripts/esy-prepublish.js unicode-config.json" 16 | }, 17 | "dependencies": { 18 | "@opam/dune": "*", 19 | "@opam/reason": ">= 3.6.0", 20 | "ocaml": "^4.2.0 || ^5.0.0" 21 | }, 22 | "devDependencies": { 23 | "@opam/merlin": "*" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/__tests__/refmterr/__fixtures__/file_SyntaxError/file_SyntaxError_7.re: -------------------------------------------------------------------------------- 1 | module Input: { 2 | /* 3 | * Components that don't accept Children, would not have parameterized 4 | * `element`. Child-accepting components would. 5 | */ 6 | type state = string; 7 | type subtree; 8 | type tree = state => subtree; 9 | let createElement: (~initialVal: string=?, 'c) => React.elem(tree); 10 | } = { 11 | type state = string; 12 | type subtree = Dom.tree(React.empty); 13 | type tree = state => subtree; 14 | let createElement = 15 | (~initialVal="deafult", children) => ((~state=initialVal, self) => ( 16 | state, 17 | fun 18 | | React.Changed(s) => s, 19 | React.One(Dom.div(~className="helloClass", Empty)), 20 | ) : React.elem(tree); 21 | }; 22 | -------------------------------------------------------------------------------- /rely-junit-reporter.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": [ 3 | [ 4 | "bash", 5 | "-c", 6 | "#{os == 'windows' ? 'patch -p1 < ocamlbuild-0.14.0.patch' : 'true'}" 7 | ], 8 | [ 9 | "make", 10 | "-f", 11 | "configure.make", 12 | "all", 13 | "OCAMLBUILD_PREFIX=#{self.install}", 14 | "OCAMLBUILD_BINDIR=#{self.bin}", 15 | "OCAMLBUILD_LIBDIR=#{self.lib}", 16 | "OCAMLBUILD_MANDIR=#{self.man}", 17 | "OCAMLBUILD_NATIVE=true", 18 | "OCAMLBUILD_NATIVE_TOOLS=true" 19 | ], 20 | [ 21 | "make", 22 | "check-if-preinstalled", 23 | "all", 24 | "#{os == 'windows' ? 'install' : 'opam-install'}" 25 | ] 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam/cppo.1.6.5/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "martin@mjambon.com" 3 | authors: ["Martin Jambon"] 4 | homepage: "https://github.com/mjambon/cppo" 5 | dev-repo: "git+https://github.com/mjambon/cppo.git" 6 | bug-reports: "https://github.com/mjambon/cppo/issues" 7 | license: "BSD-3-Clause" 8 | 9 | build: [ 10 | ["jbuilder" "subst" "-p" name] {pinned} 11 | ["jbuilder" "build" "-p" name "-j" jobs] 12 | ["jbuilder" "runtest" "-p" name] {with-test} 13 | ] 14 | depends: [ 15 | "ocaml" 16 | "jbuilder" {build & >= "1.0+beta17"} 17 | "base-unix" 18 | ] 19 | synopsis: "Equivalent of the C preprocessor for OCaml programs" 20 | url { 21 | src: "https://github.com/mjambon/cppo/archive/v1.6.5.tar.gz" 22 | checksum: "md5=1cd25741d31417995b0973fe0b6f6c82" 23 | } 24 | -------------------------------------------------------------------------------- /tests/__tests__/rely/StringMatchers_test.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | open TestFramework; 8 | open MatcherSnapshotTestRunner; 9 | 10 | /* String matchers are also integration tested in depth in TestRunner_test.re*/ 11 | describe("String matchers", ({test}) => 12 | test( 13 | "expect.string.toMatch matches shouldn't have to be at the beginning ", 14 | ({expect}) => { 15 | let myString = "TEST2, TEST, TEST3"; 16 | 17 | expect.string(myString).toMatch("TEST"); 18 | expect.string(myString).toMatch("TEST2"); 19 | expect.string(myString).toMatch("TEST3"); 20 | (); 21 | }) 22 | ); 23 | -------------------------------------------------------------------------------- /dir.esy.lock/opam/ocamlfind-secondary.1.8.1/files/ocaml-secondary-compiler.conf.in: -------------------------------------------------------------------------------- 1 | path(secondary) = "%{ocaml-secondary-compiler:share}%/lib" 2 | destdir(secondary) = "%{ocaml-secondary-compiler:share}%/lib" 3 | stdlib(secondary) = "%{ocaml-secondary-compiler:share}%/lib" 4 | ocamlc(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlc" 5 | ocamlopt(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlopt" 6 | ocamlcp(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlcp" 7 | ocamlmklib(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlmklib" 8 | ocamlmktop(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlmktop" 9 | ocamldoc(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamldoc" 10 | ocamldep(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamldep" 11 | -------------------------------------------------------------------------------- /frame.esy.lock/opam/ocamlfind-secondary.1.8.1/files/ocaml-secondary-compiler.conf.in: -------------------------------------------------------------------------------- 1 | path(secondary) = "%{ocaml-secondary-compiler:share}%/lib" 2 | destdir(secondary) = "%{ocaml-secondary-compiler:share}%/lib" 3 | stdlib(secondary) = "%{ocaml-secondary-compiler:share}%/lib" 4 | ocamlc(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlc" 5 | ocamlopt(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlopt" 6 | ocamlcp(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlcp" 7 | ocamlmklib(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlmklib" 8 | ocamlmktop(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamlmktop" 9 | ocamldoc(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamldoc" 10 | ocamldep(secondary) = "%{ocaml-secondary-compiler:share}%/bin/ocamldep" 11 | -------------------------------------------------------------------------------- /src/rely/Describe.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | type describeUtils('ext, 'env) = { 8 | describe: describeFn('ext, 'env), 9 | describeSkip: describeFn('ext, 'env), 10 | describeOnly: describeFn('ext, 'env), 11 | test: Test.testFn('ext, 'env), 12 | testSkip: Test.testFn('ext, 'env), 13 | testOnly: Test.testFn('ext, 'env), 14 | } 15 | and describeFn('ext, 'env) = 16 | (string, describeUtils('ext, 'env) => unit) => unit; 17 | 18 | type extensionResult('ext, 'env) = { 19 | describe: describeFn('ext, 'env), 20 | describeSkip: describeFn('ext, 'env), 21 | describeOnly: describeFn('ext, 'env), 22 | }; 23 | -------------------------------------------------------------------------------- /dir.esy.lock/opam/ocaml-secondary-compiler.4.08.1-1/files/0001-Don-t-build-manpages-for-stdlib-docs.patch: -------------------------------------------------------------------------------- 1 | From 0cf3c6ad7ce2a2b2806faceccfb0a9321da5e22a Mon Sep 17 00:00:00 2001 2 | From: David Allsopp 3 | Date: Fri, 26 Jul 2019 12:12:19 +0100 4 | Subject: [PATCH] Don't build manpages for stdlib docs 5 | --- 6 | ocamldoc/Makefile | 2 +- 7 | 1 file changed, 1 insertion(+), 1 deletion(-) 8 | 9 | diff --git a/ocamldoc/Makefile b/ocamldoc/Makefile 10 | index b109815071..e31e441f61 100644 11 | --- a/ocamldoc/Makefile 12 | +++ b/ocamldoc/Makefile 13 | @@ -170,7 +170,7 @@ LIBCMIFILES = $(LIBCMOFILES:.cmo=.cmi) 14 | 15 | 16 | .PHONY: all 17 | -all: lib exe generators manpages 18 | +all: lib exe generators 19 | 20 | manpages: generators 21 | 22 | -- 23 | 2.20.1 24 | 25 | -------------------------------------------------------------------------------- /frame.esy.lock/opam/ocaml-secondary-compiler.4.08.1-1/files/0001-Don-t-build-manpages-for-stdlib-docs.patch: -------------------------------------------------------------------------------- 1 | From 0cf3c6ad7ce2a2b2806faceccfb0a9321da5e22a Mon Sep 17 00:00:00 2001 2 | From: David Allsopp 3 | Date: Fri, 26 Jul 2019 12:12:19 +0100 4 | Subject: [PATCH] Don't build manpages for stdlib docs 5 | --- 6 | ocamldoc/Makefile | 2 +- 7 | 1 file changed, 1 insertion(+), 1 deletion(-) 8 | 9 | diff --git a/ocamldoc/Makefile b/ocamldoc/Makefile 10 | index b109815071..e31e441f61 100644 11 | --- a/ocamldoc/Makefile 12 | +++ b/ocamldoc/Makefile 13 | @@ -170,7 +170,7 @@ LIBCMIFILES = $(LIBCMOFILES:.cmo=.cmi) 14 | 15 | 16 | .PHONY: all 17 | -all: lib exe generators manpages 18 | +all: lib exe generators 19 | 20 | manpages: generators 21 | 22 | -- 23 | 2.20.1 24 | 25 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.3_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": [ 3 | [ 4 | "bash", 5 | "-c", 6 | "#{os == 'windows' ? 'patch -p1 < winpatch.patch' : 'true'}" 7 | ], 8 | [ 9 | "make", 10 | "-f", 11 | "configure.make", 12 | "all", 13 | "OCAMLBUILD_PREFIX=#{self.install}", 14 | "OCAMLBUILD_BINDIR=#{self.bin}", 15 | "OCAMLBUILD_LIBDIR=#{self.lib}", 16 | "OCAMLBUILD_MANDIR=#{self.man}", 17 | "OCAMLBUILD_NATIVE=true", 18 | "OCAMLBUILD_NATIVE_TOOLS=true", 19 | "EXE=#{os == 'windows' ? '.exe': ''}" 20 | ], 21 | [ 22 | "make", 23 | "check-if-preinstalled", 24 | "all", 25 | "EXE=#{os == 'windows' ? '.exe': ''}", 26 | "opam-install" 27 | ] 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/rely/reporters/Reporter.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | open TestResult; 8 | 9 | type testSuite = { 10 | name: string, 11 | }; 12 | 13 | type relyRunInfo = { 14 | testSuites: list(testSuite), 15 | testNamePattern: option(string), 16 | }; 17 | 18 | type aggregatedResult = AggregatedResult.t; 19 | type testSuiteResult = TestSuiteResult.t; 20 | type testResult = TestResult.testResult; 21 | 22 | type t = { 23 | onTestSuiteStart: testSuite => unit, 24 | onTestSuiteResult: (testSuite, aggregatedResult, testSuiteResult) => unit, 25 | onRunStart: (relyRunInfo) => unit, 26 | onRunComplete: aggregatedResult => unit, 27 | }; 28 | -------------------------------------------------------------------------------- /tests/TestFramework.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | 8 | let projectDir = GetProjectRoot.get(); 9 | 10 | let _ = 11 | Sexplib0.Sexp_conv.sexp_of_string( 12 | "Forcing Sexplib0 to get linked while we await resolution of https://github.com/janestreet/sexplib0/issues/1", 13 | ); 14 | 15 | include Rely.Make({ 16 | let config = 17 | Rely.TestFrameworkConfig.initialize({ 18 | snapshotDir: 19 | Filename.( 20 | projectDir 21 | |> (dir => Filename.concat(dir, "tests")) 22 | |> (dir => Filename.concat(dir, "__snapshots__")) 23 | ), 24 | projectDir, 25 | }); 26 | }); 27 | -------------------------------------------------------------------------------- /src/refmterr/esy.lock/opam/conf-which.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "unixjunkie@sdf.org" 3 | homepage: "http://www.gnu.org/software/which/" 4 | authors: "Carlo Wood" 5 | bug-reports: "https://github.com/ocaml/opam-repository/issues" 6 | license: "GPL-2+" 7 | build: [["which" "which"]] 8 | depexts: [ 9 | ["which"] {os-distribution = "centos"} 10 | ["which"] {os-distribution = "fedora"} 11 | ["which"] {os-distribution = "opensuse"} 12 | ["debianutils"] {os-distribution = "debian"} 13 | ["debianutils"] {os-distribution = "ubuntu"} 14 | ["which"] {os-distribution = "nixos"} 15 | ["which"] {os-distribution = "archlinux"} 16 | ] 17 | synopsis: "Virtual package relying on which" 18 | description: 19 | "This package can only install if the which program is installed on the system." 20 | flags: conf 21 | -------------------------------------------------------------------------------- /dir.esy.lock/overrides/opam__s__ocamlfind_secondary_opam__c__1.8.1_opam_override/files/gen-findlib-conf.sh: -------------------------------------------------------------------------------- 1 | OCAML_SECONDARY_COMPILER=$1 2 | 3 | cat >ocaml-secondary-compiler.conf <ocaml-secondary-compiler.conf <= "4.4.0"} 16 | "cli" {"0.0.1-alpha"} 17 | "pastel" 18 | "file-context-printer" 19 | ] 20 | synopsis: "A native Reason test runner that is heavily inspired by Jest" 21 | description: "A native Reason test runner that is heavily inspired by Jest" 22 | -------------------------------------------------------------------------------- /dir.esy.lock/opam/conf-m4.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "tim@gfxmonk.net" 3 | homepage: "http://www.gnu.org/software/m4/m4.html" 4 | bug-reports: "https://github.com/ocaml/opam-repository/issues" 5 | authors: "GNU Project" 6 | license: "GPL-3.0-only" 7 | build: [["sh" "-exc" "echo | m4"]] 8 | depexts: [ 9 | ["m4"] {os-family = "debian"} 10 | ["m4"] {os-distribution = "fedora"} 11 | ["m4"] {os-distribution = "rhel"} 12 | ["m4"] {os-distribution = "centos"} 13 | ["m4"] {os-distribution = "alpine"} 14 | ["m4"] {os-distribution = "nixos"} 15 | ["m4"] {os-family = "suse"} 16 | ["m4"] {os-distribution = "ol"} 17 | ["m4"] {os-distribution = "arch"} 18 | ] 19 | synopsis: "Virtual package relying on m4" 20 | description: 21 | "This package can only install if the m4 binary is installed on the system." 22 | flags: conf 23 | -------------------------------------------------------------------------------- /src/rely/Util.re: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */; 7 | type timingInfo = { 8 | startTime: Time.t, 9 | endTime: Time.t, 10 | }; 11 | 12 | let withBacktrace = f => { 13 | let prevBacktraceStatus = Printexc.backtrace_status(); 14 | Printexc.record_backtrace(true); 15 | let value = 16 | try (f()) { 17 | | e => 18 | Printexc.record_backtrace(prevBacktraceStatus); 19 | raise(e); 20 | }; 21 | Printexc.record_backtrace(prevBacktraceStatus); 22 | value; 23 | }; 24 | 25 | let time = (getTime, thunk) => { 26 | let startTime = getTime(); 27 | thunk(); 28 | let endTime = getTime(); 29 | {startTime: startTime, endTime: endTime}; 30 | }; 31 | -------------------------------------------------------------------------------- /frame.esy.lock/opam/conf-m4.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "tim@gfxmonk.net" 3 | homepage: "http://www.gnu.org/software/m4/m4.html" 4 | bug-reports: "https://github.com/ocaml/opam-repository/issues" 5 | authors: "GNU Project" 6 | license: "GPL-3.0-only" 7 | build: [["sh" "-exc" "echo | m4"]] 8 | depexts: [ 9 | ["m4"] {os-family = "debian"} 10 | ["m4"] {os-distribution = "fedora"} 11 | ["m4"] {os-distribution = "rhel"} 12 | ["m4"] {os-distribution = "centos"} 13 | ["m4"] {os-distribution = "alpine"} 14 | ["m4"] {os-distribution = "nixos"} 15 | ["m4"] {os-family = "suse"} 16 | ["m4"] {os-distribution = "ol"} 17 | ["m4"] {os-distribution = "arch"} 18 | ] 19 | synopsis: "Virtual package relying on m4" 20 | description: 21 | "This package can only install if the m4 binary is installed on the system." 22 | flags: conf 23 | --------------------------------------------------------------------------------