diff --git a/CHANGES_CURRENT.md b/CHANGES_CURRENT.md index a114e3ae83..1c61ee4d55 100644 --- a/CHANGES_CURRENT.md +++ b/CHANGES_CURRENT.md @@ -60,6 +60,7 @@ - #3435 - Completion: Fix various mouse interactions (fixes #3428) - #3439 - Hover: Remove textOverflow(Ellipsis) from hover - #3442 - Buffers: Fix regression causing control+tab menu not to stay open (related #3442) +- #3443 - App: Fix broken window positioning w/ multiple monitors (fixes #3349) ### Performance diff --git a/bench.esy.lock/index.json b/bench.esy.lock/index.json index d5f2f89143..d1f63dba49 100644 --- a/bench.esy.lock/index.json +++ b/bench.esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "31adc0598e8b03a98869b54dca59cd95", + "checksum": "357ada6a8e437aa71d94b2dba5a62a16", "root": "Oni2@link-dev:./package.json", "node": { "yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9": { @@ -102,7 +102,7 @@ }, "overrides": [], "dependencies": [ - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "isolinear@github:revery-ui/isolinear#53fc4eb@d41d8cd9", "@revery/timber@2.0.0@d41d8cd9", "@revery/esy-libvterm@1.0.4@d41d8cd9", @@ -110,13 +110,13 @@ ], "devDependencies": [] }, - "revery@github:revery-ui/revery#373b087@d41d8cd9": { - "id": "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9": { + "id": "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "name": "revery", - "version": "github:revery-ui/revery#373b087", + "version": "github:revery-ui/revery#5a82f13", "source": { "type": "install", - "source": [ "github:revery-ui/revery#373b087" ] + "source": [ "github:revery-ui/revery#5a82f13" ] }, "overrides": [], "dependencies": [ @@ -893,7 +893,7 @@ "overrides": [ "bench.json" ], "dependencies": [ "revery-terminal@github:revery-ui/revery-terminal#a9cb168@d41d8cd9", - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "reperf@1.5.1@d41d8cd9", "rench@1.10.0@d41d8cd9", "refmterr@3.3.2@d41d8cd9", "reason-native-crash-utils@github:onivim/reason-native-crash-utils#38c8f00@d41d8cd9", @@ -1505,7 +1505,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], @@ -1513,7 +1513,7 @@ "ocaml@4.10.0@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -2295,7 +2295,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2309,7 +2309,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2534,20 +2534,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirSdk@opam:20210310@5abaafca": { - "id": "@opam/menhirSdk@opam:20210310@5abaafca", + "@opam/menhirSdk@opam:20210419@8a5d1ff3": { + "id": "@opam/menhirSdk@opam:20210419@8a5d1ff3", "name": "@opam/menhirSdk", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirSdk", - "version": "20210310", - "path": "bench.esy.lock/opam/menhirSdk.20210310" + "version": "20210419", + "path": "bench.esy.lock/opam/menhirSdk.20210419" } }, "overrides": [], @@ -2559,20 +2559,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirLib@opam:20210310@f9315713": { - "id": "@opam/menhirLib@opam:20210310@f9315713", + "@opam/menhirLib@opam:20210419@e9618e7a": { + "id": "@opam/menhirLib@opam:20210419@e9618e7a", "name": "@opam/menhirLib", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirLib", - "version": "20210310", - "path": "bench.esy.lock/opam/menhirLib.20210310" + "version": "20210419", + "path": "bench.esy.lock/opam/menhirLib.20210419" } }, "overrides": [], @@ -2584,31 +2584,31 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhir@opam:20210310@50de9216": { - "id": "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec": { + "id": "@opam/menhir@opam:20210419@f3bb7fec", "name": "@opam/menhir", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhir", - "version": "20210310", - "path": "bench.esy.lock/opam/menhir.20210310" + "version": "20210419", + "path": "bench.esy.lock/opam/menhir.20210419" } }, "overrides": [], "dependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -3723,13 +3723,13 @@ "overrides": [], "dependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278" ] @@ -3837,7 +3837,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ], "devDependencies": [] diff --git a/bench.esy.lock/opam/menhir.20210310/opam b/bench.esy.lock/opam/menhir.20210419/opam similarity index 56% rename from bench.esy.lock/opam/menhir.20210310/opam rename to bench.esy.lock/opam/menhir.20210419/opam index d7958657ce..489131f44d 100644 --- a/bench.esy.lock/opam/menhir.20210310/opam +++ b/bench.esy.lock/opam/menhir.20210419/opam @@ -6,22 +6,23 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ "ocaml" {>= "4.02.3"} - "dune" { >= "2.2.0"} + "dune" {>= "2.2.0"} "menhirLib" {= version} "menhirSdk" {= version} ] synopsis: "An LR(1) parser generator" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/esy.lock/opam/menhirLib.20210310/opam b/bench.esy.lock/opam/menhirLib.20210419/opam similarity index 60% rename from esy.lock/opam/menhirLib.20210310/opam rename to bench.esy.lock/opam/menhirLib.20210419/opam index 3dc8fb977e..09c51b1a23 100644 --- a/esy.lock/opam/menhirLib.20210310/opam +++ b/bench.esy.lock/opam/menhirLib.20210419/opam @@ -6,7 +6,8 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] @@ -20,9 +21,9 @@ conflicts: [ synopsis: "Runtime support library for parsers generated by Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/integrationtest.esy.lock/opam/menhirSdk.20210310/opam b/bench.esy.lock/opam/menhirSdk.20210419/opam similarity index 60% rename from integrationtest.esy.lock/opam/menhirSdk.20210310/opam rename to bench.esy.lock/opam/menhirSdk.20210419/opam index 02a480f340..7f28ccafbd 100644 --- a/integrationtest.esy.lock/opam/menhirSdk.20210310/opam +++ b/bench.esy.lock/opam/menhirSdk.20210419/opam @@ -6,7 +6,8 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] @@ -20,9 +21,9 @@ conflicts: [ synopsis: "Compile-time library for auxiliary tools related to Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/esy.lock/index.json b/esy.lock/index.json index de12199a1f..9afc8f2299 100644 --- a/esy.lock/index.json +++ b/esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "31adc0598e8b03a98869b54dca59cd95", + "checksum": "357ada6a8e437aa71d94b2dba5a62a16", "root": "Oni2@link-dev:./package.json", "node": { "yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9": { @@ -102,7 +102,7 @@ }, "overrides": [], "dependencies": [ - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "isolinear@github:revery-ui/isolinear#53fc4eb@d41d8cd9", "@revery/timber@2.0.0@d41d8cd9", "@revery/esy-libvterm@1.0.4@d41d8cd9", @@ -110,13 +110,13 @@ ], "devDependencies": [] }, - "revery@github:revery-ui/revery#373b087@d41d8cd9": { - "id": "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9": { + "id": "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "name": "revery", - "version": "github:revery-ui/revery#373b087", + "version": "github:revery-ui/revery#5a82f13", "source": { "type": "install", - "source": [ "github:revery-ui/revery#373b087" ] + "source": [ "github:revery-ui/revery#5a82f13" ] }, "overrides": [], "dependencies": [ @@ -893,7 +893,7 @@ "overrides": [], "dependencies": [ "revery-terminal@github:revery-ui/revery-terminal#a9cb168@d41d8cd9", - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "rench@1.10.0@d41d8cd9", "refmterr@3.3.2@d41d8cd9", "reason-native-crash-utils@github:onivim/reason-native-crash-utils#38c8f00@d41d8cd9", "reason-fzy@github:CrossR/reason-fzy#485cae1@d41d8cd9", @@ -1504,7 +1504,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], @@ -1512,7 +1512,7 @@ "ocaml@4.10.0@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -2294,7 +2294,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2308,7 +2308,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2533,20 +2533,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirSdk@opam:20210310@5abaafca": { - "id": "@opam/menhirSdk@opam:20210310@5abaafca", + "@opam/menhirSdk@opam:20210419@8a5d1ff3": { + "id": "@opam/menhirSdk@opam:20210419@8a5d1ff3", "name": "@opam/menhirSdk", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirSdk", - "version": "20210310", - "path": "esy.lock/opam/menhirSdk.20210310" + "version": "20210419", + "path": "esy.lock/opam/menhirSdk.20210419" } }, "overrides": [], @@ -2558,20 +2558,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirLib@opam:20210310@f9315713": { - "id": "@opam/menhirLib@opam:20210310@f9315713", + "@opam/menhirLib@opam:20210419@e9618e7a": { + "id": "@opam/menhirLib@opam:20210419@e9618e7a", "name": "@opam/menhirLib", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirLib", - "version": "20210310", - "path": "esy.lock/opam/menhirLib.20210310" + "version": "20210419", + "path": "esy.lock/opam/menhirLib.20210419" } }, "overrides": [], @@ -2583,31 +2583,31 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhir@opam:20210310@50de9216": { - "id": "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec": { + "id": "@opam/menhir@opam:20210419@f3bb7fec", "name": "@opam/menhir", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhir", - "version": "20210310", - "path": "esy.lock/opam/menhir.20210310" + "version": "20210419", + "path": "esy.lock/opam/menhir.20210419" } }, "overrides": [], "dependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -3722,13 +3722,13 @@ "overrides": [], "dependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278" ] @@ -3836,7 +3836,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ], "devDependencies": [] diff --git a/integrationtest.esy.lock/opam/menhir.20210310/opam b/esy.lock/opam/menhir.20210419/opam similarity index 56% rename from integrationtest.esy.lock/opam/menhir.20210310/opam rename to esy.lock/opam/menhir.20210419/opam index d7958657ce..489131f44d 100644 --- a/integrationtest.esy.lock/opam/menhir.20210310/opam +++ b/esy.lock/opam/menhir.20210419/opam @@ -6,22 +6,23 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ "ocaml" {>= "4.02.3"} - "dune" { >= "2.2.0"} + "dune" {>= "2.2.0"} "menhirLib" {= version} "menhirSdk" {= version} ] synopsis: "An LR(1) parser generator" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/bench.esy.lock/opam/menhirLib.20210310/opam b/esy.lock/opam/menhirLib.20210419/opam similarity index 60% rename from bench.esy.lock/opam/menhirLib.20210310/opam rename to esy.lock/opam/menhirLib.20210419/opam index 3dc8fb977e..09c51b1a23 100644 --- a/bench.esy.lock/opam/menhirLib.20210310/opam +++ b/esy.lock/opam/menhirLib.20210419/opam @@ -6,7 +6,8 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] @@ -20,9 +21,9 @@ conflicts: [ synopsis: "Runtime support library for parsers generated by Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/release.esy.lock/opam/menhirSdk.20210310/opam b/esy.lock/opam/menhirSdk.20210419/opam similarity index 60% rename from release.esy.lock/opam/menhirSdk.20210310/opam rename to esy.lock/opam/menhirSdk.20210419/opam index 02a480f340..7f28ccafbd 100644 --- a/release.esy.lock/opam/menhirSdk.20210310/opam +++ b/esy.lock/opam/menhirSdk.20210419/opam @@ -6,7 +6,8 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] @@ -20,9 +21,9 @@ conflicts: [ synopsis: "Compile-time library for auxiliary tools related to Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/integrationtest.esy.lock/index.json b/integrationtest.esy.lock/index.json index 6f9c016555..576a6346b7 100644 --- a/integrationtest.esy.lock/index.json +++ b/integrationtest.esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "31adc0598e8b03a98869b54dca59cd95", + "checksum": "357ada6a8e437aa71d94b2dba5a62a16", "root": "Oni2@link-dev:./package.json", "node": { "yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9": { @@ -102,7 +102,7 @@ }, "overrides": [], "dependencies": [ - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "isolinear@github:revery-ui/isolinear#53fc4eb@d41d8cd9", "@revery/timber@2.0.0@d41d8cd9", "@revery/esy-libvterm@1.0.4@d41d8cd9", @@ -110,13 +110,13 @@ ], "devDependencies": [] }, - "revery@github:revery-ui/revery#373b087@d41d8cd9": { - "id": "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9": { + "id": "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "name": "revery", - "version": "github:revery-ui/revery#373b087", + "version": "github:revery-ui/revery#5a82f13", "source": { "type": "install", - "source": [ "github:revery-ui/revery#373b087" ] + "source": [ "github:revery-ui/revery#5a82f13" ] }, "overrides": [], "dependencies": [ @@ -893,7 +893,7 @@ "overrides": [ "integrationtest.json" ], "dependencies": [ "revery-terminal@github:revery-ui/revery-terminal#a9cb168@d41d8cd9", - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "rench@1.10.0@d41d8cd9", "refmterr@3.3.2@d41d8cd9", "reason-native-crash-utils@github:onivim/reason-native-crash-utils#38c8f00@d41d8cd9", "reason-fzy@github:CrossR/reason-fzy#485cae1@d41d8cd9", @@ -1504,7 +1504,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], @@ -1512,7 +1512,7 @@ "ocaml@4.10.0@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -2294,7 +2294,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2308,7 +2308,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2534,20 +2534,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirSdk@opam:20210310@5abaafca": { - "id": "@opam/menhirSdk@opam:20210310@5abaafca", + "@opam/menhirSdk@opam:20210419@8a5d1ff3": { + "id": "@opam/menhirSdk@opam:20210419@8a5d1ff3", "name": "@opam/menhirSdk", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirSdk", - "version": "20210310", - "path": "integrationtest.esy.lock/opam/menhirSdk.20210310" + "version": "20210419", + "path": "integrationtest.esy.lock/opam/menhirSdk.20210419" } }, "overrides": [], @@ -2559,20 +2559,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirLib@opam:20210310@f9315713": { - "id": "@opam/menhirLib@opam:20210310@f9315713", + "@opam/menhirLib@opam:20210419@e9618e7a": { + "id": "@opam/menhirLib@opam:20210419@e9618e7a", "name": "@opam/menhirLib", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirLib", - "version": "20210310", - "path": "integrationtest.esy.lock/opam/menhirLib.20210310" + "version": "20210419", + "path": "integrationtest.esy.lock/opam/menhirLib.20210419" } }, "overrides": [], @@ -2584,31 +2584,31 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhir@opam:20210310@50de9216": { - "id": "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec": { + "id": "@opam/menhir@opam:20210419@f3bb7fec", "name": "@opam/menhir", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhir", - "version": "20210310", - "path": "integrationtest.esy.lock/opam/menhir.20210310" + "version": "20210419", + "path": "integrationtest.esy.lock/opam/menhir.20210419" } }, "overrides": [], "dependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -3723,13 +3723,13 @@ "overrides": [], "dependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278" ] @@ -3837,7 +3837,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ], "devDependencies": [] diff --git a/release.esy.lock/opam/menhir.20210310/opam b/integrationtest.esy.lock/opam/menhir.20210419/opam similarity index 56% rename from release.esy.lock/opam/menhir.20210310/opam rename to integrationtest.esy.lock/opam/menhir.20210419/opam index d7958657ce..489131f44d 100644 --- a/release.esy.lock/opam/menhir.20210310/opam +++ b/integrationtest.esy.lock/opam/menhir.20210419/opam @@ -6,22 +6,23 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ "ocaml" {>= "4.02.3"} - "dune" { >= "2.2.0"} + "dune" {>= "2.2.0"} "menhirLib" {= version} "menhirSdk" {= version} ] synopsis: "An LR(1) parser generator" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/integrationtest.esy.lock/opam/menhirLib.20210310/opam b/integrationtest.esy.lock/opam/menhirLib.20210419/opam similarity index 60% rename from integrationtest.esy.lock/opam/menhirLib.20210310/opam rename to integrationtest.esy.lock/opam/menhirLib.20210419/opam index 3dc8fb977e..09c51b1a23 100644 --- a/integrationtest.esy.lock/opam/menhirLib.20210310/opam +++ b/integrationtest.esy.lock/opam/menhirLib.20210419/opam @@ -6,7 +6,8 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] @@ -20,9 +21,9 @@ conflicts: [ synopsis: "Runtime support library for parsers generated by Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/bench.esy.lock/opam/menhirSdk.20210310/opam b/integrationtest.esy.lock/opam/menhirSdk.20210419/opam similarity index 60% rename from bench.esy.lock/opam/menhirSdk.20210310/opam rename to integrationtest.esy.lock/opam/menhirSdk.20210419/opam index 02a480f340..7f28ccafbd 100644 --- a/bench.esy.lock/opam/menhirSdk.20210310/opam +++ b/integrationtest.esy.lock/opam/menhirSdk.20210419/opam @@ -6,7 +6,8 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] @@ -20,9 +21,9 @@ conflicts: [ synopsis: "Compile-time library for auxiliary tools related to Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/package.json b/package.json index 2f427bd8f7..ed66b2254f 100644 --- a/package.json +++ b/package.json @@ -414,7 +414,7 @@ "revery-terminal": "*" }, "resolutions": { - "revery": "revery-ui/revery#373b087", + "revery": "revery-ui/revery#5a82f13", "esy-skia": "revery-ui/esy-skia#91c98f6", "isolinear": "revery-ui/isolinear#53fc4eb", "revery-terminal": "revery-ui/revery-terminal#a9cb168", diff --git a/release.esy.lock/index.json b/release.esy.lock/index.json index 858a08f333..a972f27b0d 100644 --- a/release.esy.lock/index.json +++ b/release.esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "31adc0598e8b03a98869b54dca59cd95", + "checksum": "357ada6a8e437aa71d94b2dba5a62a16", "root": "Oni2@link-dev:./package.json", "node": { "yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9": { @@ -102,7 +102,7 @@ }, "overrides": [], "dependencies": [ - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "isolinear@github:revery-ui/isolinear#53fc4eb@d41d8cd9", "@revery/timber@2.0.0@d41d8cd9", "@revery/esy-libvterm@1.0.4@d41d8cd9", @@ -110,13 +110,13 @@ ], "devDependencies": [] }, - "revery@github:revery-ui/revery#373b087@d41d8cd9": { - "id": "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9": { + "id": "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "name": "revery", - "version": "github:revery-ui/revery#373b087", + "version": "github:revery-ui/revery#5a82f13", "source": { "type": "install", - "source": [ "github:revery-ui/revery#373b087" ] + "source": [ "github:revery-ui/revery#5a82f13" ] }, "overrides": [], "dependencies": [ @@ -893,7 +893,7 @@ "overrides": [ "release.json" ], "dependencies": [ "revery-terminal@github:revery-ui/revery-terminal#a9cb168@d41d8cd9", - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "rench@1.10.0@d41d8cd9", "refmterr@3.3.2@d41d8cd9", "reason-native-crash-utils@github:onivim/reason-native-crash-utils#38c8f00@d41d8cd9", "reason-fzy@github:CrossR/reason-fzy#485cae1@d41d8cd9", @@ -1504,7 +1504,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], @@ -1512,7 +1512,7 @@ "ocaml@4.10.0@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -2294,7 +2294,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2308,7 +2308,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2533,20 +2533,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirSdk@opam:20210310@5abaafca": { - "id": "@opam/menhirSdk@opam:20210310@5abaafca", + "@opam/menhirSdk@opam:20210419@8a5d1ff3": { + "id": "@opam/menhirSdk@opam:20210419@8a5d1ff3", "name": "@opam/menhirSdk", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirSdk", - "version": "20210310", - "path": "release.esy.lock/opam/menhirSdk.20210310" + "version": "20210419", + "path": "release.esy.lock/opam/menhirSdk.20210419" } }, "overrides": [], @@ -2558,20 +2558,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirLib@opam:20210310@f9315713": { - "id": "@opam/menhirLib@opam:20210310@f9315713", + "@opam/menhirLib@opam:20210419@e9618e7a": { + "id": "@opam/menhirLib@opam:20210419@e9618e7a", "name": "@opam/menhirLib", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirLib", - "version": "20210310", - "path": "release.esy.lock/opam/menhirLib.20210310" + "version": "20210419", + "path": "release.esy.lock/opam/menhirLib.20210419" } }, "overrides": [], @@ -2583,31 +2583,31 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhir@opam:20210310@50de9216": { - "id": "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec": { + "id": "@opam/menhir@opam:20210419@f3bb7fec", "name": "@opam/menhir", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhir", - "version": "20210310", - "path": "release.esy.lock/opam/menhir.20210310" + "version": "20210419", + "path": "release.esy.lock/opam/menhir.20210419" } }, "overrides": [], "dependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -3722,13 +3722,13 @@ "overrides": [], "dependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278" ] @@ -3836,7 +3836,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ], "devDependencies": [] diff --git a/esy.lock/opam/menhir.20210310/opam b/release.esy.lock/opam/menhir.20210419/opam similarity index 56% rename from esy.lock/opam/menhir.20210310/opam rename to release.esy.lock/opam/menhir.20210419/opam index d7958657ce..489131f44d 100644 --- a/esy.lock/opam/menhir.20210310/opam +++ b/release.esy.lock/opam/menhir.20210419/opam @@ -6,22 +6,23 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ "ocaml" {>= "4.02.3"} - "dune" { >= "2.2.0"} + "dune" {>= "2.2.0"} "menhirLib" {= version} "menhirSdk" {= version} ] synopsis: "An LR(1) parser generator" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/release.esy.lock/opam/menhirLib.20210310/opam b/release.esy.lock/opam/menhirLib.20210419/opam similarity index 60% rename from release.esy.lock/opam/menhirLib.20210310/opam rename to release.esy.lock/opam/menhirLib.20210419/opam index 3dc8fb977e..09c51b1a23 100644 --- a/release.esy.lock/opam/menhirLib.20210310/opam +++ b/release.esy.lock/opam/menhirLib.20210419/opam @@ -6,7 +6,8 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] @@ -20,9 +21,9 @@ conflicts: [ synopsis: "Runtime support library for parsers generated by Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/esy.lock/opam/menhirSdk.20210310/opam b/release.esy.lock/opam/menhirSdk.20210419/opam similarity index 60% rename from esy.lock/opam/menhirSdk.20210310/opam rename to release.esy.lock/opam/menhirSdk.20210419/opam index 02a480f340..7f28ccafbd 100644 --- a/esy.lock/opam/menhirSdk.20210310/opam +++ b/release.esy.lock/opam/menhirSdk.20210419/opam @@ -6,7 +6,8 @@ authors: [ ] homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] @@ -20,9 +21,9 @@ conflicts: [ synopsis: "Compile-time library for auxiliary tools related to Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" ] } diff --git a/scripts/lint.sh b/scripts/lint.sh index 458fa6a34c..1effc05b52 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -19,7 +19,7 @@ if [ "$PRERR_COUNT" -ne "7" ]; then exit 3 fi -if [ "$PRINT_COUNT" -ne "16" ]; then +if [ "$PRINT_COUNT" -ne "18" ]; then echo "New print_endline introduced; please remove and re-check." echo "---" echo "Output: $(git grep print_endline)" diff --git a/src/CLI/Oni_CLI.re b/src/CLI/Oni_CLI.re index 9f797ff316..e9a54c5b89 100644 --- a/src/CLI/Oni_CLI.re +++ b/src/CLI/Oni_CLI.re @@ -10,6 +10,26 @@ open Rench; module CoreLog = Log; module Log = (val Log.withNamespace("Oni2.Core.Cli")); +type position = { + x: int, + y: int, +}; + +let parsePosition = str => { + switch (String.split_on_char(',', str)) { + | [] => None + | [single] => + int_of_string_opt(single) |> Option.map(pos => {x: pos, y: pos}) + | [xStr, yStr] => + Utility.OptionEx.map2( + (x, y) => {{x, y}}, + int_of_string_opt(xStr), + int_of_string_opt(yStr), + ) + | _ => None + }; +}; + type t = { gpuAcceleration: [ | `Auto | `ForceSoftware | `ForceHardware], folder: option(string), @@ -28,11 +48,13 @@ type t = { needsConsole: bool, proxyServer: Service_Net.Proxy.t, vimExCommands: list(string), + windowPosition: option(position), }; type eff = | PrintVersion | CheckHealth + | ListDisplays | ListExtensions | InstallExtension(string) | QueryExtension(string) @@ -122,6 +144,8 @@ let parse = (~getenv: string => option(string), args) => { let disableLoadConfiguration = () => shouldLoadConfiguration := false; let disableSyntaxHighlight = () => shouldSyntaxHighlight := false; + let windowPosition = ref(None); + let setAttached = () => { attachToForeground := true; // Set log level if it hasn't already been set @@ -169,6 +193,7 @@ let parse = (~getenv: string => option(string), args) => { ("--log-file", String(str => logFile := Some(str)), ""), ("--log-filter", String(str => logFilter := Some(str)), ""), ("--checkhealth", setEffect(CheckHealth), ""), + ("--list-displays", setEffect(ListDisplays), ""), ("--list-extensions", setEffect(ListExtensions), ""), ("--install-extension", setStringEffect(s => InstallExtension(s)), ""), ( @@ -210,6 +235,16 @@ let parse = (~getenv: string => option(string), args) => { ), ("--extensions-dir", String(setRef(extensionsDir)), ""), ("--force-device-scale-factor", Float(setRef(scaleFactor)), ""), + ( + "--window-position", + String( + str => { + let maybePosition = parsePosition(str); + windowPosition := maybePosition; + }, + ), + "", + ), ], arg => additionalArgs := [arg, ...additionalArgs^], "", @@ -316,6 +351,7 @@ let parse = (~getenv: string => option(string), args) => { needsConsole, proxyServer: proxyServer^, vimExCommands: (vimExCommands^ |> List.rev) @ anonymousExCommands, + windowPosition: windowPosition^, }; (cli, eff^); diff --git a/src/CLI/Oni_CLI.rei b/src/CLI/Oni_CLI.rei index fd484a97ab..f38eb9268d 100644 --- a/src/CLI/Oni_CLI.rei +++ b/src/CLI/Oni_CLI.rei @@ -1,5 +1,10 @@ open Oni_Core; +type position = { + x: int, + y: int, +}; + type t = { gpuAcceleration: [ | `Auto | `ForceSoftware | `ForceHardware], folder: option(string), @@ -18,6 +23,7 @@ type t = { needsConsole: bool, proxyServer: Service_Net.Proxy.t, vimExCommands: list(string), + windowPosition: option(position), }; let default: t; @@ -25,6 +31,7 @@ let default: t; type eff = | PrintVersion | CheckHealth + | ListDisplays | ListExtensions | InstallExtension(string) | QueryExtension(string) diff --git a/src/Core/Persistence.re b/src/Core/Persistence.re index 5ad6dfb3c6..cc14afb1f8 100644 --- a/src/Core/Persistence.re +++ b/src/Core/Persistence.re @@ -82,6 +82,66 @@ module Schema = { }; }; +module Upgrader = { + type t = { + name: string, + fromVersion: int, + toVersion: int, + upgrader: Yojson.Safe.t => Yojson.Safe.t, + }; + + let define = (~name, ~fromVersion, ~toVersion, upgrader) => { + name, + fromVersion, + toVersion, + upgrader, + }; + + let doUpgrade = (~targetVersion, ~upgraders, json) => { + let currentVersion = + switch (Yojson.Safe.Util.member("$version", json)) { + | `Int(i) => i + | `Float(f) => int_of_float(f) + | _ => 0 + }; + + let rec loop = (currentJson, currentVersion, targetVersion) => + if (currentVersion >= targetVersion) { + Log.infof(m => m("Json is at target version of %d", targetVersion)); + (currentJson, currentVersion); + } else { + let maybeCandidateUpgrader = + upgraders + |> List.filter(({fromVersion, _}) => + fromVersion == currentVersion + ) + |> ListEx.nth_opt(0); + + switch (maybeCandidateUpgrader) { + | None => + Log.warnf(m => + m("No candidate upgrader found for version %d", currentVersion) + ); + (currentJson, currentVersion); + | Some({upgrader, toVersion, name, fromVersion}) => + Log.infof(m => + m("Running upgrader %s (%d -> %d)", name, fromVersion, toVersion) + ); + let json' = upgrader(currentJson); + let newVersion = toVersion; + loop(json', newVersion, targetVersion); + }; + }; + + let (resultJson, resultVersion) = + loop(json, currentVersion, targetVersion); + + Log.infof(m => m("Ended at version: %d", resultVersion)); + + resultJson |> JsonEx.update("$version", _ => Some(`Int(resultVersion))); + }; +}; + module Store = { type entry('state) = | Entry({ @@ -97,50 +157,62 @@ module Store = { hash: string, filePath: option(string), entries: list(entry('state)), + version: int, }; - let read = store => + let read = (~upgraders, store) => { + let build = json => { + let json = + Upgrader.doUpgrade(~targetVersion=store.version, ~upgraders, json); + + switch (Json.Decode.(decode_value(key_value_pairs(value), json))) { + | Ok(persistedEntries) => + List.iter( + (Entry({definition, _} as entry)) => + switch (List.assoc_opt(definition.key, persistedEntries)) { + | Some(value) => + switch ( + Json.Decode.decode_value(definition.codec.decode, value) + ) { + | Ok(value) => entry.value = value + | Error(error) => + let message = Json.Decode.string_of_error(error); + Log.error("Error decoding store file: " ++ message); + entry.value = definition.default; + } + | None => entry.value = definition.default + }, + store.entries, + ) + + | Error(error) => + let message = Json.Decode.string_of_error(error); + Log.error("Error parsing store file: " ++ message); + }; + }; + + let empty = `Assoc([]); switch (store.filePath) { | Some(filePath) => switch (Yojson.Safe.from_file(filePath)) { - | json => - switch (Json.Decode.(decode_value(key_value_pairs(value), json))) { - | Ok(persistedEntries) => - List.iter( - (Entry({definition, _} as entry)) => - switch (List.assoc_opt(definition.key, persistedEntries)) { - | Some(value) => - switch ( - Json.Decode.decode_value(definition.codec.decode, value) - ) { - | Ok(value) => entry.value = value - | Error(error) => - let message = Json.Decode.string_of_error(error); - Log.error("Error decoding store file: " ++ message); - entry.value = definition.default; - } - | None => entry.value = definition.default - }, - store.entries, - ) - - | Error(error) => - let message = Json.Decode.string_of_error(error); - Log.error("Error parsing store file: " ++ message); - } + | json => build(json) | exception (Sys_error(message)) => // Most likely because the file doesn't exist, which is expected, but log it just in case. - Log.debug("Unable to read store file: " ++ message) + Log.debug("Unable to read store file: " ++ message); + build(empty); | exception exn => // Other exceptions would be unexpected here, but could happen with extraordinary circumstances, // ie a corrupted store file: https://github.com/onivim/oni2/1766 - Log.error(Printexc.to_string(exn)) + Log.error(Printexc.to_string(exn)); + build(empty); } | None => - Log.warn("Unable to read store due to no path. See previous error.") + Log.warn("Unable to read store due to no path. See previous error."); + build(empty); }; + }; - let instantiate = (~storeFolder=?, name, entries) => { + let instantiate = (~version, ~upgraders, ~storeFolder=?, name, entries) => { let hash = Internal.hash(name); let storeFolderResult = switch (storeFolder) { @@ -161,9 +233,15 @@ module Store = { }, ); - let store = {name, hash, filePath: maybeFilePath, entries: entries()}; + let store = { + name, + hash, + filePath: maybeFilePath, + entries: entries(), + version, + }; - read(store); + read(~upgraders, store); store; }; @@ -185,11 +263,18 @@ module Store = { let write = store => { Log.debug("Writing store for " ++ store.name); - let jsonBuffer = + let obj = store.entries |> List.map((Entry({definition, value})) => (definition.key, definition.codec.encode(value)) - ) + ); + + let objWithVersion = [ + ("$version", Json.Encode.int(store.version)), + ...obj, + ]; + let jsonBuffer = + objWithVersion |> Json.Encode.encode_string(Json.Encode.obj) |> Luv.Buffer.from_string; diff --git a/src/Core/Persistence.rei b/src/Core/Persistence.rei index 7005a84834..5d6d824d80 100644 --- a/src/Core/Persistence.rei +++ b/src/Core/Persistence.rei @@ -24,6 +24,21 @@ module Schema: { item('state, 'value); }; +// UPGRADER + +module Upgrader: { + type t; + + let define: + ( + ~name: string, + ~fromVersion: int, + ~toVersion: int, + Yojson.Safe.t => Yojson.Safe.t + ) => + t; +}; + // STORE module Store: { @@ -34,6 +49,8 @@ module Store: { let instantiate: ( + ~version: int, + ~upgraders: list(Upgrader.t), ~storeFolder: FpExp.t(FpExp.absolute)=?, string, unit => list(entry('state)) diff --git a/src/Store/Persistence.re b/src/Store/Persistence.re index 286ff5ec6d..ad2c788a75 100644 --- a/src/Store/Persistence.re +++ b/src/Store/Persistence.re @@ -29,7 +29,7 @@ module Global = { let store = lazy( { - instantiate("global", () => + instantiate(~version=0, ~upgraders=[], "global", () => Schema.[ entry(version), entry(workspace), @@ -90,8 +90,27 @@ module Workspace = { include Persistence.Store; + module Upgraders = { + let version0To1ClearWindowPosition = + Persistence.Upgrader.define( + ~name="0 -> 1: Clear Window Position", + ~fromVersion=0, + ~toVersion=1, + json => { + let clearWindowX = Utility.JsonEx.update("windowX", _ => None); + let clearWindowY = Utility.JsonEx.update("windowY", _ => None); + + json |> clearWindowX |> clearWindowY; + }, + ); + }; + let instantiate = path => - instantiate(path, () => + instantiate( + ~version=1, + ~upgraders=[Upgraders.version0To1ClearWindowPosition], + path, + () => Schema.[ entry(windowX), entry(windowY), diff --git a/src/bin_editor/Cli.re b/src/bin_editor/Cli.re index 7f2ebf144f..94d71aac7d 100644 --- a/src/bin_editor/Cli.re +++ b/src/bin_editor/Cli.re @@ -83,6 +83,27 @@ let printVersion = () => { 0; }; +let listDisplays = () => { + let _ = Sdl2.init(); + let displays = Sdl2.Display.getDisplays(); + + print_endline("Displays:"); + + displays + |> List.iteri((idx, display) => { + print_endline( + Printf.sprintf( + "%d: %s - %s", + idx, + Sdl2.Display.getName(display), + Sdl2.Display.getBounds(display) |> Sdl2.Rect.toString, + ), + ) + }); + + 0; +}; + let queryExtension = (extension, {proxyServer: proxy, _}) => { let setup = Core.Setup.init(); Service_Extensions. diff --git a/src/bin_editor/Oni2_editor.re b/src/bin_editor/Oni2_editor.re index b2447c14d9..6e117ff0b5 100644 --- a/src/bin_editor/Oni2_editor.re +++ b/src/bin_editor/Oni2_editor.re @@ -64,6 +64,7 @@ switch (eff) { | CheckHealth => initializeLogging(); HealthCheck.run(~checks=All, cliOptions) |> exit; +| ListDisplays => Cli.listDisplays() |> exit | ListExtensions => Cli.listExtensions(cliOptions) |> exit | StartSyntaxServer({parentPid, namedPipe}) => Oni_Syntax_Server.start(~parentPid, ~namedPipe, ~healthCheck=() => @@ -138,6 +139,22 @@ switch (eff) { | `Centered => "Centered" ); + let maybeWindowPositionX = + cliOptions.windowPosition |> Option.map(({x, _}: Oni_CLI.position) => x); + + let defaultPositionX = + maybeWindowPositionX + |> Option.map(pos => `Absolute(pos)) + |> Option.value(~default=`Centered); + + let maybeWindowPositionY = + cliOptions.windowPosition |> Option.map(({y, _}: Oni_CLI.position) => y); + + let defaultPositionY = + maybeWindowPositionY + |> Option.map(pos => `Absolute(pos)) + |> Option.value(~default=`Centered); + let createWindow = (~forceScaleFactor, ~maybeWorkspace, app) => { let (x, y, width, height, maximized) = { Store.Persistence.Workspace.( @@ -145,13 +162,15 @@ switch (eff) { |> Option.map(workspace => { let store = storeFor(FpExp.toString(workspace)); ( - windowX(store) + maybeWindowPositionX + |> OptionEx.or_(windowX(store)) |> OptionEx.tap(x => Log.infof(m => m("Unsanitized x value: %d", x)) ) |> OptionEx.filter(isValidPosition) |> Option.fold(~some=x => `Absolute(x), ~none=`Centered), - windowY(store) + maybeWindowPositionY + |> OptionEx.or_(windowY(store)) |> OptionEx.tap(y => Log.infof(m => m("Unsanitized x value: %d", y)) ) @@ -162,7 +181,9 @@ switch (eff) { windowMaximized(store), ); }) - |> Option.value(~default=(`Centered, `Centered, 800, 600, false)) + |> Option.value( + ~default=(defaultPositionX, defaultPositionY, 800, 600, false), + ) ); }; diff --git a/src/bin_launcher/Oni2.re b/src/bin_launcher/Oni2.re index 85ac83957c..c83843baf0 100644 --- a/src/bin_launcher/Oni2.re +++ b/src/bin_launcher/Oni2.re @@ -42,6 +42,11 @@ let spec = ("--trace", passthrough, " Enable trace logging."), ("--quiet", passthrough, " Print only error log messages."), ("--silent", passthrough, " Do not print any logging."), + ( + "--list-displays", + passthroughAndStayAttached, + " List information about the connected displays.", + ), ("--log-file", passthroughString, " Specify a file for the output logs."), ("--log-filter", passthroughString, " Filter log output."), ( @@ -107,6 +112,11 @@ let spec = passthroughFloat, " Force the DPI scaling for the editor.", ), + ( + "--window-position", + passthroughString, + " Set the window position x,y in display space", + ), ( "--working-directory", passthrough, diff --git a/test.esy.lock/index.json b/test.esy.lock/index.json index 0c47c0d21d..7e09d9a32e 100644 --- a/test.esy.lock/index.json +++ b/test.esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "bc7dab49479adbf04b9c6349a52a8676", + "checksum": "0e35caba8ae2e5e659a405e7d6346d24", "root": "Oni2@link-dev:./package.json", "node": { "yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9": { @@ -102,7 +102,7 @@ }, "overrides": [], "dependencies": [ - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "isolinear@github:revery-ui/isolinear#53fc4eb@d41d8cd9", "@revery/timber@2.0.0@d41d8cd9", "@revery/esy-libvterm@1.0.4@d41d8cd9", @@ -110,13 +110,13 @@ ], "devDependencies": [] }, - "revery@github:revery-ui/revery#373b087@d41d8cd9": { - "id": "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9": { + "id": "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "name": "revery", - "version": "github:revery-ui/revery#373b087", + "version": "github:revery-ui/revery#5a82f13", "source": { "type": "install", - "source": [ "github:revery-ui/revery#373b087" ] + "source": [ "github:revery-ui/revery#5a82f13" ] }, "overrides": [], "dependencies": [ @@ -893,7 +893,7 @@ "overrides": [ "test.json" ], "dependencies": [ "revery-terminal@github:revery-ui/revery-terminal#a9cb168@d41d8cd9", - "revery@github:revery-ui/revery#373b087@d41d8cd9", + "revery@github:revery-ui/revery#5a82f13@d41d8cd9", "rench@1.10.0@d41d8cd9", "refmterr@3.3.2@d41d8cd9", "reason-native-crash-utils@github:onivim/reason-native-crash-utils#38c8f00@d41d8cd9", "reason-fzy@github:CrossR/reason-fzy#485cae1@d41d8cd9", @@ -1505,7 +1505,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], @@ -1513,7 +1513,7 @@ "ocaml@4.10.0@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -2295,7 +2295,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2309,7 +2309,7 @@ "@opam/stdio@opam:v0.14.0@a624e254", "@opam/re@opam:1.9.0@d4d5e13d", "@opam/odoc@opam:1.5.2@94f47c8b", "@opam/ocaml-migrate-parsetree@opam:1.8.0@caf9847c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fpath@opam:0.7.3@674d8125", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -2534,20 +2534,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirSdk@opam:20210310@5abaafca": { - "id": "@opam/menhirSdk@opam:20210310@5abaafca", + "@opam/menhirSdk@opam:20210419@8a5d1ff3": { + "id": "@opam/menhirSdk@opam:20210419@8a5d1ff3", "name": "@opam/menhirSdk", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirSdk", - "version": "20210310", - "path": "test.esy.lock/opam/menhirSdk.20210310" + "version": "20210419", + "path": "test.esy.lock/opam/menhirSdk.20210419" } }, "overrides": [], @@ -2559,20 +2559,20 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhirLib@opam:20210310@f9315713": { - "id": "@opam/menhirLib@opam:20210310@f9315713", + "@opam/menhirLib@opam:20210419@e9618e7a": { + "id": "@opam/menhirLib@opam:20210419@e9618e7a", "name": "@opam/menhirLib", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhirLib", - "version": "20210310", - "path": "test.esy.lock/opam/menhirLib.20210310" + "version": "20210419", + "path": "test.esy.lock/opam/menhirLib.20210419" } }, "overrides": [], @@ -2584,31 +2584,31 @@ "ocaml@4.10.0@d41d8cd9", "@opam/dune@opam:2.5.0@e0bac278" ] }, - "@opam/menhir@opam:20210310@50de9216": { - "id": "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec": { + "id": "@opam/menhir@opam:20210419@f3bb7fec", "name": "@opam/menhir", - "version": "opam:20210310", + "version": "opam:20210419", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1c/1cbc71c0bc1f3ddc3e71d5c1f919fd1a#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a", - "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz#md5:1cbc71c0bc1f3ddc3e71d5c1f919fd1a" + "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" ], "opam": { "name": "menhir", - "version": "20210310", - "path": "test.esy.lock/opam/menhir.20210310" + "version": "20210419", + "path": "test.esy.lock/opam/menhir.20210419" } }, "overrides": [], "dependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210310@5abaafca", - "@opam/menhirLib@opam:20210310@f9315713", + "ocaml@4.10.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@8a5d1ff3", + "@opam/menhirLib@opam:20210419@e9618e7a", "@opam/dune@opam:2.5.0@e0bac278" ] }, @@ -3723,13 +3723,13 @@ "overrides": [], "dependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.10.0@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/easy-format@opam:1.3.2@0484b3c4", "@opam/dune@opam:2.5.0@e0bac278" ] @@ -3837,7 +3837,7 @@ "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/merlin-extend@opam:0.6@404f814c", - "@opam/menhir@opam:20210310@50de9216", + "@opam/menhir@opam:20210419@f3bb7fec", "@opam/fix@opam:20201120@5c318621", "@opam/dune@opam:2.5.0@e0bac278" ], "devDependencies": [] diff --git a/test.esy.lock/opam/menhir.20210310/opam b/test.esy.lock/opam/menhir.20210310/opam deleted file mode 100644 index d7958657ce..0000000000 --- a/test.esy.lock/opam/menhir.20210310/opam +++ /dev/null @@ -1,27 +0,0 @@ -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " - "Yann Régis-Gianas " -] -homepage: "http://gitlab.inria.fr/fpottier/menhir" -dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.02.3"} - "dune" { >= "2.2.0"} - "menhirLib" {= version} - "menhirSdk" {= version} -] -synopsis: "An LR(1) parser generator" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" - checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" - ] -} diff --git a/test.esy.lock/opam/menhir.20210419/opam b/test.esy.lock/opam/menhir.20210419/opam new file mode 100644 index 0000000000..489131f44d --- /dev/null +++ b/test.esy.lock/opam/menhir.20210419/opam @@ -0,0 +1,28 @@ +opam-version: "2.0" +maintainer: "francois.pottier@inria.fr" +authors: [ + "François Pottier " + "Yann Régis-Gianas " +] +homepage: "http://gitlab.inria.fr/fpottier/menhir" +dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" +build: [ + ["dune" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.02.3"} + "dune" {>= "2.2.0"} + "menhirLib" {= version} + "menhirSdk" {= version} +] +synopsis: "An LR(1) parser generator" +url { + src: + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" + checksum: [ + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" + ] +} diff --git a/test.esy.lock/opam/menhirLib.20210310/opam b/test.esy.lock/opam/menhirLib.20210310/opam deleted file mode 100644 index 3dc8fb977e..0000000000 --- a/test.esy.lock/opam/menhirLib.20210310/opam +++ /dev/null @@ -1,28 +0,0 @@ -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " - "Yann Régis-Gianas " -] -homepage: "http://gitlab.inria.fr/fpottier/menhir" -dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" { >= "4.02.3" } - "dune" { >= "2.0.0" } -] -conflicts: [ - "menhir" { != version } -] -synopsis: "Runtime support library for parsers generated by Menhir" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" - checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" - ] -} diff --git a/test.esy.lock/opam/menhirLib.20210419/opam b/test.esy.lock/opam/menhirLib.20210419/opam new file mode 100644 index 0000000000..09c51b1a23 --- /dev/null +++ b/test.esy.lock/opam/menhirLib.20210419/opam @@ -0,0 +1,29 @@ +opam-version: "2.0" +maintainer: "francois.pottier@inria.fr" +authors: [ + "François Pottier " + "Yann Régis-Gianas " +] +homepage: "http://gitlab.inria.fr/fpottier/menhir" +dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" +build: [ + ["dune" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" { >= "4.02.3" } + "dune" { >= "2.0.0" } +] +conflicts: [ + "menhir" { != version } +] +synopsis: "Runtime support library for parsers generated by Menhir" +url { + src: + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" + checksum: [ + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" + ] +} diff --git a/test.esy.lock/opam/menhirSdk.20210310/opam b/test.esy.lock/opam/menhirSdk.20210310/opam deleted file mode 100644 index 02a480f340..0000000000 --- a/test.esy.lock/opam/menhirSdk.20210310/opam +++ /dev/null @@ -1,28 +0,0 @@ -opam-version: "2.0" -maintainer: "francois.pottier@inria.fr" -authors: [ - "François Pottier " - "Yann Régis-Gianas " -] -homepage: "http://gitlab.inria.fr/fpottier/menhir" -dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" -bug-reports: "menhir@inria.fr" -build: [ - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" { >= "4.02.3" } - "dune" { >= "2.0.0" } -] -conflicts: [ - "menhir" { != version } -] -synopsis: "Compile-time library for auxiliary tools related to Menhir" -url { - src: - "https://gitlab.inria.fr/fpottier/menhir/repository/20210310/archive.tar.gz" - checksum: [ - "md5=1cbc71c0bc1f3ddc3e71d5c1f919fd1a" - "sha512=3c309fa2cc4ad7c6fba85107bd946a542894882fa39741496b150307e93455b717418f19e94b5dad06ab269f5c55e8dc25705c96c0a5092e623fa38f1ce43c7f" - ] -} diff --git a/test.esy.lock/opam/menhirSdk.20210419/opam b/test.esy.lock/opam/menhirSdk.20210419/opam new file mode 100644 index 0000000000..7f28ccafbd --- /dev/null +++ b/test.esy.lock/opam/menhirSdk.20210419/opam @@ -0,0 +1,29 @@ +opam-version: "2.0" +maintainer: "francois.pottier@inria.fr" +authors: [ + "François Pottier " + "Yann Régis-Gianas " +] +homepage: "http://gitlab.inria.fr/fpottier/menhir" +dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" +bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" +build: [ + ["dune" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" { >= "4.02.3" } + "dune" { >= "2.0.0" } +] +conflicts: [ + "menhir" { != version } +] +synopsis: "Compile-time library for auxiliary tools related to Menhir" +url { + src: + "https://gitlab.inria.fr/fpottier/menhir/repository/20210419/archive.tar.gz" + checksum: [ + "md5=1af2d137eb20811c74ca516500164fd4" + "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" + ] +} diff --git a/test/Cli/CliTest.re b/test/Cli/CliTest.re index c085b9c475..e80426c903 100644 --- a/test/Cli/CliTest.re +++ b/test/Cli/CliTest.re @@ -108,6 +108,34 @@ describe("CLI", ({describe, test, _}) => { }) }); + describe("window management", ({describe, test, _}) => { + test("--list-displays", ({expect, _}) => { + let (_options, effects) = + Oni_CLI.parse(~getenv=noenv, [|"Oni2_editor", "--list-displays"|]); + + expect.equal(effects, ListDisplays); + }); + + describe("--window-position", ({test, _}) => { + test("comma-separated values are parsed correctly", ({expect, _}) => { + let (options, _eff) = + Oni_CLI.parse( + ~getenv=noenv, + [|"Oni2_editor", "--window-position", "100,200"|], + ); + expect.equal(options.windowPosition, Some({x: 100, y: 200})); + }); + test("single value is parsed correctly", ({expect, _}) => { + let (options, _eff) = + Oni_CLI.parse( + ~getenv=noenv, + [|"Oni2_editor", "--window-position", "150"|], + ); + expect.equal(options.windowPosition, Some({x: 150, y: 150})); + }); + }); + }); + describe("vim ex commands", ({test, _}) => { test("-c should add ex command", ({expect, _}) => { let (options, _eff) = diff --git a/test/Core/PersistenceTests.re b/test/Core/PersistenceTests.re index 10ec8d0531..f853d9f02b 100644 --- a/test/Core/PersistenceTests.re +++ b/test/Core/PersistenceTests.re @@ -38,7 +38,10 @@ describe("Persistence", ({test, _}) => { let testBool = define("testBool", bool, false, state => state); - let store = instantiate("global", () => [Store.entry(testBool)]); + let store = + instantiate(~version=0, ~upgraders=[], "global", () => + [Store.entry(testBool)] + ); {storeFolder, store, testBool}; }; @@ -60,10 +63,61 @@ describe("Persistence", ({test, _}) => { // ...and hydrate a new store to exercise #1766 let store = - Store.instantiate(~storeFolder, "global", () => + Store.instantiate(~version=0, ~upgraders=[], ~storeFolder, "global", () => [Store.entry(testBool)] ); expect.bool(Store.get(testBool, store)).toBe(false); }); + + test("simple upgrade - existing value", ({expect, _}) => { + let {storeFolder, testBool, _} = setup(); + + // We'll write out an empty file... + let filePath = + FpExp.At.(storeFolder / "global" / "store.json") |> FpExp.toString; + let oc = open_out(filePath); + Printf.fprintf(oc, "{testBool: false}\n"); + close_out(oc); + + let upgrader = + Persistence.Upgrader.define( + ~name="Test upgrader", ~fromVersion=0, ~toVersion=1, json => + Utility.JsonEx.update("testBool", _ => Some(`Bool(true)), json) + ); + + let store = + Store.instantiate( + ~version=1, ~upgraders=[upgrader], ~storeFolder, "global", () => + [Store.entry(testBool)] + ); + + // After upgrade, test bool should now be true + expect.bool(Store.get(testBool, store)).toBe(true); + }); + test("simple upgrade - no value yet", ({expect, _}) => { + let {storeFolder, testBool, _} = setup(); + + // We'll write out an empty file... + let filePath = + FpExp.At.(storeFolder / "global" / "store.json") |> FpExp.toString; + let oc = open_out(filePath); + Printf.fprintf(oc, "\n"); + close_out(oc); + + let upgrader = + Persistence.Upgrader.define( + ~name="Test upgrader", ~fromVersion=0, ~toVersion=1, json => + Utility.JsonEx.update("testBool", _ => Some(`Bool(true)), json) + ); + + let store = + Store.instantiate( + ~version=1, ~upgraders=[upgrader], ~storeFolder, "global", () => + [Store.entry(testBool)] + ); + + // After upgrade, test bool should now be true + expect.bool(Store.get(testBool, store)).toBe(true); + }); });