diff --git a/CHANGES_CURRENT.md b/CHANGES_CURRENT.md index 0bb284790c..352feff764 100644 --- a/CHANGES_CURRENT.md +++ b/CHANGES_CURRENT.md @@ -20,6 +20,7 @@ ### Performance - #3148 - Large Files: Improve performance & fix crash when opening large files (related #1670) +- #2798 - Improve rendering performance with layers (experimental) ### Documentation diff --git a/bench.esy.lock/index.json b/bench.esy.lock/index.json index fafdcae6d4..e117040633 100644 --- a/bench.esy.lock/index.json +++ b/bench.esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "40328b48c38d724195d5bef2b9abc4cf", + "checksum": "9187316d415d1edd7521645a1992e105", "root": "Oni2@link-dev:./package.json", "node": { "yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9": { @@ -118,7 +118,7 @@ }, "overrides": [], "dependencies": [ - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "isolinear@github:revery-ui/isolinear#53fc4eb@d41d8cd9", "@revery/timber@2.0.0@d41d8cd9", "@revery/esy-libvterm@1.0.3@d41d8cd9", @@ -126,13 +126,13 @@ ], "devDependencies": [] }, - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9": { - "id": "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9": { + "id": "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "name": "revery", - "version": "github:revery-ui/revery#0c3be5dd", + "version": "github:revery-ui/revery#ede4175c", "source": { "type": "install", - "source": [ "github:revery-ui/revery#0c3be5dd" ] + "source": [ "github:revery-ui/revery#ede4175c" ] }, "overrides": [], "dependencies": [ @@ -415,14 +415,14 @@ "dependencies": [ "brace-expansion@1.1.11@d41d8cd9" ], "devDependencies": [] }, - "lodash@4.17.20@d41d8cd9": { - "id": "lodash@4.17.20@d41d8cd9", + "lodash@4.17.21@d41d8cd9": { + "id": "lodash@4.17.21@d41d8cd9", "name": "lodash", - "version": "4.17.20", + "version": "4.17.21", "source": { "type": "install", "source": [ - "archive:https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#sha1:b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + "archive:https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#sha1:679591c564c3bffaae8454cf0b3df370c3d6911c" ] }, "overrides": [], @@ -996,7 +996,7 @@ "overrides": [ "bench.json" ], "dependencies": [ "revery-terminal@github:revery-ui/revery-terminal#a9cb168@d41d8cd9", - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "reperf@1.5.0@d41d8cd9", "rench@github:bryphe/rench#a976fe5@d41d8cd9", "refmterr@3.3.2@d41d8cd9", @@ -1041,7 +1041,7 @@ "devDependencies": [ "shelljs@0.8.4@d41d8cd9", "reperf@1.5.0@d41d8cd9", "rcedit@2.0.0@d41d8cd9", "plist@3.0.1@d41d8cd9", - "ocaml@4.10.0@d41d8cd9", "lodash@4.17.20@d41d8cd9", + "ocaml@4.10.0@d41d8cd9", "lodash@4.17.21@d41d8cd9", "innosetup-compiler@5.5.9@d41d8cd9", "fs-extra@7.0.1@d41d8cd9", "@opam/ocaml-lsp-server@github:ocaml/ocaml-lsp:ocaml-lsp-server.opam#966a28f@d41d8cd9" ] @@ -2635,7 +2635,7 @@ "@opam/dune-build-info@opam:2.6.2@03ffe168", "@opam/dune@opam:2.5.0@e0bac278", "@opam/dot-merlin-reader@opam:3.4.2@55baebb0", - "@opam/csexp@opam:1.3.2@5cea14af", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/csexp@opam:1.4.0@bd1cb034", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.10.0@d41d8cd9", @@ -2647,7 +2647,7 @@ "@opam/dune-build-info@opam:2.6.2@03ffe168", "@opam/dune@opam:2.5.0@e0bac278", "@opam/dot-merlin-reader@opam:3.4.2@55baebb0", - "@opam/csexp@opam:1.3.2@5cea14af" + "@opam/csexp@opam:1.4.0@bd1cb034" ] }, "@opam/ocaml-compiler-libs@opam:v0.12.3@f0f069bd": { @@ -3486,7 +3486,7 @@ "@opam/yojson@github:onivim/yojson:yojson.opam#f480aef@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.3.2@5cea14af", + "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.4.0@bd1cb034", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ @@ -3494,7 +3494,7 @@ "@opam/yojson@github:onivim/yojson:yojson.opam#f480aef@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.3.2@5cea14af" + "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.4.0@bd1cb034" ] }, "@opam/dir@github:bryphe/reason-native:dir.opam#e16590c@d41d8cd9": { @@ -3607,20 +3607,20 @@ "@opam/base-bytes@opam:base@19d0c2ff" ] }, - "@opam/csexp@opam:1.3.2@5cea14af": { - "id": "@opam/csexp@opam:1.3.2@5cea14af", + "@opam/csexp@opam:1.4.0@bd1cb034": { + "id": "@opam/csexp@opam:1.4.0@bd1cb034", "name": "@opam/csexp", - "version": "opam:1.3.2", + "version": "opam:1.4.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f2/f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a", - "archive:https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" + "archive:https://opam.ocaml.org/cache/sha256/8e/8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e", + "archive:https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e" ], "opam": { "name": "csexp", - "version": "1.3.2", - "path": "bench.esy.lock/opam/csexp.1.3.2" + "version": "1.4.0", + "path": "bench.esy.lock/opam/csexp.1.4.0" } }, "overrides": [], diff --git a/bench.esy.lock/opam/csexp.1.3.2/opam b/bench.esy.lock/opam/csexp.1.4.0/opam similarity index 80% rename from bench.esy.lock/opam/csexp.1.3.2/opam rename to bench.esy.lock/opam/csexp.1.4.0/opam index 1508d17af4..ef29a05aba 100644 --- a/bench.esy.lock/opam/csexp.1.3.2/opam +++ b/bench.esy.lock/opam/csexp.1.4.0/opam @@ -47,12 +47,12 @@ build: [ "@doc" {with-doc} ] ] -x-commit-hash: "19a2e7bc171a707059c73d78dd18e4e3ff03ac9b" +x-commit-hash: "0e1b2044c8d1ff187c27cec3e46d9cde14892650" url { src: - "https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz" + "https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz" checksum: [ - "sha256=f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" - "sha512=ff1bd6a7c6bb3a73ca9ab0506c9ec1f357657deaa9ecc7eb32955817d9b0f266d976af3e2b8fc34c621cb0caf1fde55f9a609dd184e2054f500bf09afeb83026" + "sha256=8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e" + "sha512=604a5094fbbf61f497b342ad0aa8ec25275b2a904cd0c1823fc40daa54a15796b360374ff495c0d8ca3b4c1e6723b2ce37e030857fae131222606de818fb8129" ] } diff --git a/esy.lock/index.json b/esy.lock/index.json index c816976469..58958f1eb1 100644 --- a/esy.lock/index.json +++ b/esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "40328b48c38d724195d5bef2b9abc4cf", + "checksum": "9187316d415d1edd7521645a1992e105", "root": "Oni2@link-dev:./package.json", "node": { "yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9": { @@ -118,7 +118,7 @@ }, "overrides": [], "dependencies": [ - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "isolinear@github:revery-ui/isolinear#53fc4eb@d41d8cd9", "@revery/timber@2.0.0@d41d8cd9", "@revery/esy-libvterm@1.0.3@d41d8cd9", @@ -126,13 +126,13 @@ ], "devDependencies": [] }, - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9": { - "id": "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9": { + "id": "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "name": "revery", - "version": "github:revery-ui/revery#0c3be5dd", + "version": "github:revery-ui/revery#ede4175c", "source": { "type": "install", - "source": [ "github:revery-ui/revery#0c3be5dd" ] + "source": [ "github:revery-ui/revery#ede4175c" ] }, "overrides": [], "dependencies": [ @@ -415,14 +415,14 @@ "dependencies": [ "brace-expansion@1.1.11@d41d8cd9" ], "devDependencies": [] }, - "lodash@4.17.20@d41d8cd9": { - "id": "lodash@4.17.20@d41d8cd9", + "lodash@4.17.21@d41d8cd9": { + "id": "lodash@4.17.21@d41d8cd9", "name": "lodash", - "version": "4.17.20", + "version": "4.17.21", "source": { "type": "install", "source": [ - "archive:https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#sha1:b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + "archive:https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#sha1:679591c564c3bffaae8454cf0b3df370c3d6911c" ] }, "overrides": [], @@ -996,7 +996,7 @@ "overrides": [], "dependencies": [ "revery-terminal@github:revery-ui/revery-terminal#a9cb168@d41d8cd9", - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "rench@github:bryphe/rench#a976fe5@d41d8cd9", "refmterr@3.3.2@d41d8cd9", "reason-native-crash-utils@github:onivim/reason-native-crash-utils#38c8f00@d41d8cd9", @@ -1040,7 +1040,7 @@ "devDependencies": [ "shelljs@0.8.4@d41d8cd9", "reperf@1.5.0@d41d8cd9", "rcedit@2.0.0@d41d8cd9", "plist@3.0.1@d41d8cd9", - "ocaml@4.10.0@d41d8cd9", "lodash@4.17.20@d41d8cd9", + "ocaml@4.10.0@d41d8cd9", "lodash@4.17.21@d41d8cd9", "innosetup-compiler@5.5.9@d41d8cd9", "fs-extra@7.0.1@d41d8cd9", "@opam/ocaml-lsp-server@github:ocaml/ocaml-lsp:ocaml-lsp-server.opam#966a28f@d41d8cd9" ] @@ -2634,7 +2634,7 @@ "@opam/dune-build-info@opam:2.6.2@03ffe168", "@opam/dune@opam:2.5.0@e0bac278", "@opam/dot-merlin-reader@opam:3.4.2@55baebb0", - "@opam/csexp@opam:1.3.2@5cea14af", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/csexp@opam:1.4.0@bd1cb034", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.10.0@d41d8cd9", @@ -2646,7 +2646,7 @@ "@opam/dune-build-info@opam:2.6.2@03ffe168", "@opam/dune@opam:2.5.0@e0bac278", "@opam/dot-merlin-reader@opam:3.4.2@55baebb0", - "@opam/csexp@opam:1.3.2@5cea14af" + "@opam/csexp@opam:1.4.0@bd1cb034" ] }, "@opam/ocaml-compiler-libs@opam:v0.12.3@f0f069bd": { @@ -3485,7 +3485,7 @@ "@opam/yojson@github:onivim/yojson:yojson.opam#f480aef@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.3.2@5cea14af", + "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.4.0@bd1cb034", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ @@ -3493,7 +3493,7 @@ "@opam/yojson@github:onivim/yojson:yojson.opam#f480aef@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.3.2@5cea14af" + "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.4.0@bd1cb034" ] }, "@opam/dir@github:bryphe/reason-native:dir.opam#e16590c@d41d8cd9": { @@ -3606,20 +3606,20 @@ "@opam/base-bytes@opam:base@19d0c2ff" ] }, - "@opam/csexp@opam:1.3.2@5cea14af": { - "id": "@opam/csexp@opam:1.3.2@5cea14af", + "@opam/csexp@opam:1.4.0@bd1cb034": { + "id": "@opam/csexp@opam:1.4.0@bd1cb034", "name": "@opam/csexp", - "version": "opam:1.3.2", + "version": "opam:1.4.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f2/f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a", - "archive:https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" + "archive:https://opam.ocaml.org/cache/sha256/8e/8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e", + "archive:https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e" ], "opam": { "name": "csexp", - "version": "1.3.2", - "path": "esy.lock/opam/csexp.1.3.2" + "version": "1.4.0", + "path": "esy.lock/opam/csexp.1.4.0" } }, "overrides": [], diff --git a/esy.lock/opam/csexp.1.3.2/opam b/esy.lock/opam/csexp.1.4.0/opam similarity index 80% rename from esy.lock/opam/csexp.1.3.2/opam rename to esy.lock/opam/csexp.1.4.0/opam index 1508d17af4..ef29a05aba 100644 --- a/esy.lock/opam/csexp.1.3.2/opam +++ b/esy.lock/opam/csexp.1.4.0/opam @@ -47,12 +47,12 @@ build: [ "@doc" {with-doc} ] ] -x-commit-hash: "19a2e7bc171a707059c73d78dd18e4e3ff03ac9b" +x-commit-hash: "0e1b2044c8d1ff187c27cec3e46d9cde14892650" url { src: - "https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz" + "https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz" checksum: [ - "sha256=f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" - "sha512=ff1bd6a7c6bb3a73ca9ab0506c9ec1f357657deaa9ecc7eb32955817d9b0f266d976af3e2b8fc34c621cb0caf1fde55f9a609dd184e2054f500bf09afeb83026" + "sha256=8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e" + "sha512=604a5094fbbf61f497b342ad0aa8ec25275b2a904cd0c1823fc40daa54a15796b360374ff495c0d8ca3b4c1e6723b2ce37e030857fae131222606de818fb8129" ] } diff --git a/integrationtest.esy.lock/index.json b/integrationtest.esy.lock/index.json index 125dfcfbd8..ae50cf1f7d 100644 --- a/integrationtest.esy.lock/index.json +++ b/integrationtest.esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "40328b48c38d724195d5bef2b9abc4cf", + "checksum": "9187316d415d1edd7521645a1992e105", "root": "Oni2@link-dev:./package.json", "node": { "yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9": { @@ -118,7 +118,7 @@ }, "overrides": [], "dependencies": [ - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "isolinear@github:revery-ui/isolinear#53fc4eb@d41d8cd9", "@revery/timber@2.0.0@d41d8cd9", "@revery/esy-libvterm@1.0.3@d41d8cd9", @@ -126,13 +126,13 @@ ], "devDependencies": [] }, - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9": { - "id": "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9": { + "id": "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "name": "revery", - "version": "github:revery-ui/revery#0c3be5dd", + "version": "github:revery-ui/revery#ede4175c", "source": { "type": "install", - "source": [ "github:revery-ui/revery#0c3be5dd" ] + "source": [ "github:revery-ui/revery#ede4175c" ] }, "overrides": [], "dependencies": [ @@ -415,14 +415,14 @@ "dependencies": [ "brace-expansion@1.1.11@d41d8cd9" ], "devDependencies": [] }, - "lodash@4.17.20@d41d8cd9": { - "id": "lodash@4.17.20@d41d8cd9", + "lodash@4.17.21@d41d8cd9": { + "id": "lodash@4.17.21@d41d8cd9", "name": "lodash", - "version": "4.17.20", + "version": "4.17.21", "source": { "type": "install", "source": [ - "archive:https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#sha1:b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + "archive:https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#sha1:679591c564c3bffaae8454cf0b3df370c3d6911c" ] }, "overrides": [], @@ -996,7 +996,7 @@ "overrides": [ "integrationtest.json" ], "dependencies": [ "revery-terminal@github:revery-ui/revery-terminal#a9cb168@d41d8cd9", - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "rench@github:bryphe/rench#a976fe5@d41d8cd9", "refmterr@3.3.2@d41d8cd9", "reason-native-crash-utils@github:onivim/reason-native-crash-utils#38c8f00@d41d8cd9", @@ -1040,7 +1040,7 @@ "devDependencies": [ "shelljs@0.8.4@d41d8cd9", "reperf@1.5.0@d41d8cd9", "rcedit@2.0.0@d41d8cd9", "plist@3.0.1@d41d8cd9", - "ocaml@4.10.0@d41d8cd9", "lodash@4.17.20@d41d8cd9", + "ocaml@4.10.0@d41d8cd9", "lodash@4.17.21@d41d8cd9", "innosetup-compiler@5.5.9@d41d8cd9", "fs-extra@7.0.1@d41d8cd9", "@opam/ocaml-lsp-server@github:ocaml/ocaml-lsp:ocaml-lsp-server.opam#966a28f@d41d8cd9" ] @@ -2635,7 +2635,7 @@ "@opam/dune-build-info@opam:2.6.2@03ffe168", "@opam/dune@opam:2.5.0@e0bac278", "@opam/dot-merlin-reader@opam:3.4.2@55baebb0", - "@opam/csexp@opam:1.3.2@5cea14af", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/csexp@opam:1.4.0@bd1cb034", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.10.0@d41d8cd9", @@ -2647,7 +2647,7 @@ "@opam/dune-build-info@opam:2.6.2@03ffe168", "@opam/dune@opam:2.5.0@e0bac278", "@opam/dot-merlin-reader@opam:3.4.2@55baebb0", - "@opam/csexp@opam:1.3.2@5cea14af" + "@opam/csexp@opam:1.4.0@bd1cb034" ] }, "@opam/ocaml-compiler-libs@opam:v0.12.3@f0f069bd": { @@ -3486,7 +3486,7 @@ "@opam/yojson@github:onivim/yojson:yojson.opam#f480aef@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.3.2@5cea14af", + "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.4.0@bd1cb034", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ @@ -3494,7 +3494,7 @@ "@opam/yojson@github:onivim/yojson:yojson.opam#f480aef@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.3.2@5cea14af" + "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.4.0@bd1cb034" ] }, "@opam/dir@github:bryphe/reason-native:dir.opam#e16590c@d41d8cd9": { @@ -3607,20 +3607,20 @@ "@opam/base-bytes@opam:base@19d0c2ff" ] }, - "@opam/csexp@opam:1.3.2@5cea14af": { - "id": "@opam/csexp@opam:1.3.2@5cea14af", + "@opam/csexp@opam:1.4.0@bd1cb034": { + "id": "@opam/csexp@opam:1.4.0@bd1cb034", "name": "@opam/csexp", - "version": "opam:1.3.2", + "version": "opam:1.4.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f2/f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a", - "archive:https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" + "archive:https://opam.ocaml.org/cache/sha256/8e/8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e", + "archive:https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e" ], "opam": { "name": "csexp", - "version": "1.3.2", - "path": "integrationtest.esy.lock/opam/csexp.1.3.2" + "version": "1.4.0", + "path": "integrationtest.esy.lock/opam/csexp.1.4.0" } }, "overrides": [], diff --git a/integrationtest.esy.lock/opam/csexp.1.3.2/opam b/integrationtest.esy.lock/opam/csexp.1.4.0/opam similarity index 80% rename from integrationtest.esy.lock/opam/csexp.1.3.2/opam rename to integrationtest.esy.lock/opam/csexp.1.4.0/opam index 1508d17af4..ef29a05aba 100644 --- a/integrationtest.esy.lock/opam/csexp.1.3.2/opam +++ b/integrationtest.esy.lock/opam/csexp.1.4.0/opam @@ -47,12 +47,12 @@ build: [ "@doc" {with-doc} ] ] -x-commit-hash: "19a2e7bc171a707059c73d78dd18e4e3ff03ac9b" +x-commit-hash: "0e1b2044c8d1ff187c27cec3e46d9cde14892650" url { src: - "https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz" + "https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz" checksum: [ - "sha256=f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" - "sha512=ff1bd6a7c6bb3a73ca9ab0506c9ec1f357657deaa9ecc7eb32955817d9b0f266d976af3e2b8fc34c621cb0caf1fde55f9a609dd184e2054f500bf09afeb83026" + "sha256=8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e" + "sha512=604a5094fbbf61f497b342ad0aa8ec25275b2a904cd0c1823fc40daa54a15796b360374ff495c0d8ca3b4c1e6723b2ce37e030857fae131222606de818fb8129" ] } diff --git a/package.json b/package.json index 0c3debcfee..64070785b8 100644 --- a/package.json +++ b/package.json @@ -253,7 +253,7 @@ "revery-terminal": "*" }, "resolutions": { - "revery": "revery-ui/revery#0c3be5dd", + "revery": "revery-ui/revery#ede4175c", "esy-skia": "revery-ui/esy-skia#91c98f6", "rench": "bryphe/rench#a976fe5", "isolinear": "revery-ui/isolinear#53fc4eb", diff --git a/release.esy.lock/index.json b/release.esy.lock/index.json index eecbebdebd..60b87003fa 100644 --- a/release.esy.lock/index.json +++ b/release.esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "40328b48c38d724195d5bef2b9abc4cf", + "checksum": "9187316d415d1edd7521645a1992e105", "root": "Oni2@link-dev:./package.json", "node": { "yarn-pkg-config@github:esy-ocaml/yarn-pkg-config#db3a0b63883606dd57c54a7158d560d6cba8cd79@d41d8cd9": { @@ -118,7 +118,7 @@ }, "overrides": [], "dependencies": [ - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "isolinear@github:revery-ui/isolinear#53fc4eb@d41d8cd9", "@revery/timber@2.0.0@d41d8cd9", "@revery/esy-libvterm@1.0.3@d41d8cd9", @@ -126,13 +126,13 @@ ], "devDependencies": [] }, - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9": { - "id": "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9": { + "id": "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "name": "revery", - "version": "github:revery-ui/revery#0c3be5dd", + "version": "github:revery-ui/revery#ede4175c", "source": { "type": "install", - "source": [ "github:revery-ui/revery#0c3be5dd" ] + "source": [ "github:revery-ui/revery#ede4175c" ] }, "overrides": [], "dependencies": [ @@ -415,14 +415,14 @@ "dependencies": [ "brace-expansion@1.1.11@d41d8cd9" ], "devDependencies": [] }, - "lodash@4.17.20@d41d8cd9": { - "id": "lodash@4.17.20@d41d8cd9", + "lodash@4.17.21@d41d8cd9": { + "id": "lodash@4.17.21@d41d8cd9", "name": "lodash", - "version": "4.17.20", + "version": "4.17.21", "source": { "type": "install", "source": [ - "archive:https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#sha1:b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + "archive:https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#sha1:679591c564c3bffaae8454cf0b3df370c3d6911c" ] }, "overrides": [], @@ -996,7 +996,7 @@ "overrides": [ "release.json" ], "dependencies": [ "revery-terminal@github:revery-ui/revery-terminal#a9cb168@d41d8cd9", - "revery@github:revery-ui/revery#0c3be5dd@d41d8cd9", + "revery@github:revery-ui/revery#ede4175c@d41d8cd9", "rench@github:bryphe/rench#a976fe5@d41d8cd9", "refmterr@3.3.2@d41d8cd9", "reason-native-crash-utils@github:onivim/reason-native-crash-utils#38c8f00@d41d8cd9", @@ -1040,7 +1040,7 @@ "devDependencies": [ "shelljs@0.8.4@d41d8cd9", "reperf@1.5.0@d41d8cd9", "rcedit@2.0.0@d41d8cd9", "plist@3.0.1@d41d8cd9", - "ocaml@4.10.0@d41d8cd9", "lodash@4.17.20@d41d8cd9", + "ocaml@4.10.0@d41d8cd9", "lodash@4.17.21@d41d8cd9", "innosetup-compiler@5.5.9@d41d8cd9", "fs-extra@7.0.1@d41d8cd9", "@opam/ocaml-lsp-server@github:ocaml/ocaml-lsp:ocaml-lsp-server.opam#966a28f@d41d8cd9" ] @@ -2634,7 +2634,7 @@ "@opam/dune-build-info@opam:2.6.2@03ffe168", "@opam/dune@opam:2.5.0@e0bac278", "@opam/dot-merlin-reader@opam:3.4.2@55baebb0", - "@opam/csexp@opam:1.3.2@5cea14af", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/csexp@opam:1.4.0@bd1cb034", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.10.0@d41d8cd9", @@ -2646,7 +2646,7 @@ "@opam/dune-build-info@opam:2.6.2@03ffe168", "@opam/dune@opam:2.5.0@e0bac278", "@opam/dot-merlin-reader@opam:3.4.2@55baebb0", - "@opam/csexp@opam:1.3.2@5cea14af" + "@opam/csexp@opam:1.4.0@bd1cb034" ] }, "@opam/ocaml-compiler-libs@opam:v0.12.3@f0f069bd": { @@ -3485,7 +3485,7 @@ "@opam/yojson@github:onivim/yojson:yojson.opam#f480aef@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.3.2@5cea14af", + "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.4.0@bd1cb034", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ @@ -3493,7 +3493,7 @@ "@opam/yojson@github:onivim/yojson:yojson.opam#f480aef@d41d8cd9", "@opam/result@opam:1.5@6b753c82", "@opam/ocamlfind@opam:1.8.1@b7dc3072", - "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.3.2@5cea14af" + "@opam/dune@opam:2.5.0@e0bac278", "@opam/csexp@opam:1.4.0@bd1cb034" ] }, "@opam/dir@github:bryphe/reason-native:dir.opam#e16590c@d41d8cd9": { @@ -3606,20 +3606,20 @@ "@opam/base-bytes@opam:base@19d0c2ff" ] }, - "@opam/csexp@opam:1.3.2@5cea14af": { - "id": "@opam/csexp@opam:1.3.2@5cea14af", + "@opam/csexp@opam:1.4.0@bd1cb034": { + "id": "@opam/csexp@opam:1.4.0@bd1cb034", "name": "@opam/csexp", - "version": "opam:1.3.2", + "version": "opam:1.4.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/f2/f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a", - "archive:https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" + "archive:https://opam.ocaml.org/cache/sha256/8e/8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e", + "archive:https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e" ], "opam": { "name": "csexp", - "version": "1.3.2", - "path": "release.esy.lock/opam/csexp.1.3.2" + "version": "1.4.0", + "path": "release.esy.lock/opam/csexp.1.4.0" } }, "overrides": [], diff --git a/release.esy.lock/opam/csexp.1.3.2/opam b/release.esy.lock/opam/csexp.1.4.0/opam similarity index 80% rename from release.esy.lock/opam/csexp.1.3.2/opam rename to release.esy.lock/opam/csexp.1.4.0/opam index 1508d17af4..ef29a05aba 100644 --- a/release.esy.lock/opam/csexp.1.3.2/opam +++ b/release.esy.lock/opam/csexp.1.4.0/opam @@ -47,12 +47,12 @@ build: [ "@doc" {with-doc} ] ] -x-commit-hash: "19a2e7bc171a707059c73d78dd18e4e3ff03ac9b" +x-commit-hash: "0e1b2044c8d1ff187c27cec3e46d9cde14892650" url { src: - "https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz" + "https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz" checksum: [ - "sha256=f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" - "sha512=ff1bd6a7c6bb3a73ca9ab0506c9ec1f357657deaa9ecc7eb32955817d9b0f266d976af3e2b8fc34c621cb0caf1fde55f9a609dd184e2054f500bf09afeb83026" + "sha256=8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e" + "sha512=604a5094fbbf61f497b342ad0aa8ec25275b2a904cd0c1823fc40daa54a15796b360374ff495c0d8ca3b4c1e6723b2ce37e030857fae131222606de818fb8129" ] } diff --git a/src/Components/Accordion/Component_Accordion.re b/src/Components/Accordion/Component_Accordion.re index 73817334b5..c74d133ab8 100644 --- a/src/Components/Accordion/Component_Accordion.re +++ b/src/Components/Accordion/Component_Accordion.re @@ -135,6 +135,7 @@ module Common = { module VimList = { let make = ( + ~config, ~showCount=true, ~title, ~expanded, @@ -150,6 +151,7 @@ module VimList = { let count = Component_VimList.count(model); let contents = 0 ? { let focusedIndex = Model.getFocusedIndex(model); + if (Feature_Configuration.GlobalConfiguration.layers.get(config)) { + + children + ; + } else { + + children + ; + }; diff --git a/src/Components/Output/Component_Output.re b/src/Components/Output/Component_Output.re index f4c309bea4..6030c3d639 100644 --- a/src/Components/Output/Component_Output.re +++ b/src/Components/Output/Component_Output.re @@ -70,6 +70,7 @@ module View = { ~editorFont: Service_Font.font, ~uiFont: UiFont.t, ~theme: ColorTheme.Colors.t, + ~config, ~model, ~dispatch, (), @@ -78,6 +79,7 @@ module View = { let fg = Feature_Theme.Colors.Terminal.foreground.from(theme); unit, unit diff --git a/src/Components/VimList/Component_VimList.re b/src/Components/VimList/Component_VimList.re index 33edeed3e9..b3071d2fd3 100644 --- a/src/Components/VimList/Component_VimList.re +++ b/src/Components/VimList/Component_VimList.re @@ -5,6 +5,7 @@ open Utility; [@deriving show] type model('item) = { + key: [@opaque] Brisk_reconciler.Key.t, scrollY: float, rowHeight: int, items: array('item), @@ -24,6 +25,7 @@ type model('item) = { }; let create = (~rowHeight) => { + key: Brisk_reconciler.Key.create(), scrollY: 0., rowHeight, items: [||], @@ -760,6 +762,22 @@ module View = { Spring.Options.create(~stiffness=310., ~damping=30., ()); }; + module LayerConditions = { + let root = + Revery.UI.Layer.Condition.make( + ( + previous: (ColorTheme.Colors.t, float, Obj.t), + newObj: (ColorTheme.Colors.t, float, Obj.t), + ) => { + let (previousTheme, previousScrollY, previousModel) = previous; + let (newTheme, newScrollY, newModel) = newObj; + + newModel != previousModel + || newScrollY != previousScrollY + || !ColorTheme.Colors.equal(previousTheme, newTheme); + }); + }; + module Styles = { open Style; @@ -897,6 +915,7 @@ module View = { let component = React.Expert.component("Component_VimList"); let make: ( + ~config: Oni_Core.Config.resolver, ~isActive: bool, ~font: UiFont.t, ~focusedIndex: option(int), @@ -914,7 +933,17 @@ module View = { unit ) => _ = - (~isActive, ~font, ~focusedIndex, ~theme, ~model, ~dispatch, ~render, ()) => { + ( + ~config, + ~isActive, + ~font, + ~focusedIndex, + ~theme, + ~model, + ~dispatch, + ~render, + (), + ) => { component(hooks => { let {rowHeight, viewportWidth, viewportHeight, _} = model; @@ -1034,7 +1063,18 @@ module View = { ? : React.empty; ( - + { @@ -1071,7 +1111,7 @@ module View = { dispatch={msg => dispatch(SearchContext(msg))} theme /> - , + , hooks, ); }); diff --git a/src/Components/VimTree/Component_VimTree.re b/src/Components/VimTree/Component_VimTree.re index daae81be1e..ba397a45f7 100644 --- a/src/Components/VimTree/Component_VimTree.re +++ b/src/Components/VimTree/Component_VimTree.re @@ -462,6 +462,7 @@ module View = { ; let make = ( + ~config, ~isActive, ~font, ~focusedIndex, @@ -489,6 +490,7 @@ module View = { }; entries |> List.to_seq |> Lookup.of_seq; + let equal = Lookup.equal(Revery.Color.equals); + let get = Lookup.find_opt; let union = (xs, ys) => Lookup.union((_key, _x, y) => Some(y), xs, ys); diff --git a/src/Core/ColorTheme.rei b/src/Core/ColorTheme.rei index efae2d5422..588759604e 100644 --- a/src/Core/ColorTheme.rei +++ b/src/Core/ColorTheme.rei @@ -19,6 +19,8 @@ module Colors: { let get: (key, t) => option(Revery.Color.t); + let equal: (t, t) => bool; + let union: (t, t) => t; let unionMany: list(t) => t; }; diff --git a/src/Feature/Configuration/GlobalConfiguration.re b/src/Feature/Configuration/GlobalConfiguration.re index 34580a908e..309bfa7110 100644 --- a/src/Feature/Configuration/GlobalConfiguration.re +++ b/src/Feature/Configuration/GlobalConfiguration.re @@ -179,6 +179,8 @@ let inactiveWindowOpacity = let animation = setting("ui.animation", bool, ~default=true); +let layers = setting("experimental.ui.layers", bool, ~default=false); + let shadows = setting("ui.shadows", bool, ~default=true); module VimSettings = { @@ -229,6 +231,7 @@ let contributions = [ inactiveWindowOpacity.spec, animation.spec, shadows.spec, + layers.spec, Editor.codeLensEnabled.spec, Editor.largeFileOptimizations.spec, Editor.snippetSuggestions.spec, diff --git a/src/Feature/Editor/Editor.re b/src/Feature/Editor/Editor.re index 26472d4cf2..2cb1099e98 100644 --- a/src/Feature/Editor/Editor.re +++ b/src/Feature/Editor/Editor.re @@ -131,11 +131,26 @@ type t = { lastMouseScreenPosition: option(PixelPosition.t), lastMouseMoveTime: [@opaque] option(Revery.Time.t), lastMouseUpTime: [@opaque] option(Revery.Time.t), + // Layers + renderNonce: int, // Animation isAnimationOverride: option(bool), animationNonce: int, }; +let shouldRender = (editorA, editorB) => { + // TODO: View lines different? + // TODO: Diagnostics different? + // TODO: Wrapping different? + // TODO: Move cursor rendering + // TODO: Move definition rendering + editorA.key !== editorB.key + || editorA.renderNonce != editorB.renderNonce + || editorA.scrollX != editorB.scrollX + || editorA.scrollY != editorB.scrollY + || editorA.buffer !== editorB.buffer; +}; + let verticalScrollbarThickness = ({scrollbarVerticalWidth, _}) => scrollbarVerticalWidth; let horizontalScrollbarThickness = ({scrollbarHorizontalWidth, _}) => scrollbarHorizontalWidth; @@ -578,6 +593,7 @@ let create = (~config, ~buffer, ~preview: bool, ()) => { preview, wrapPadding: None, verticalScrollMargin: 1, + inlineElements: InlineElements.initial, isMouseDown: false, hasMouseEntered: false, @@ -586,6 +602,8 @@ let create = (~config, ~buffer, ~preview: bool, ()) => { lastMouseScreenPosition: None, lastMouseUpTime: None, + renderNonce: 0, + // Animation isAnimationOverride: None, animationNonce: 0, @@ -680,7 +698,7 @@ let copy = editor => { let id = GlobalState.generateId(); let key = Brisk_reconciler.Key.create(); - {...editor, key, editorId: id}; + {...editor, renderNonce: 0, key, editorId: id}; }; type scrollbarMetrics = { diff --git a/src/Feature/Editor/Editor.rei b/src/Feature/Editor/Editor.rei index 2222301253..4fcf0b0456 100644 --- a/src/Feature/Editor/Editor.rei +++ b/src/Feature/Editor/Editor.rei @@ -92,6 +92,8 @@ let getHorizontalScrollbarMetrics: (t, int) => scrollbarMetrics; let getCursors: t => list(BytePosition.t); let setWrapMode: (~wrapMode: WrapMode.t, t) => t; +let shouldRender: (t, t) => bool; + let setCursors: (list(BytePosition.t), t) => t; let setSelections: (list(ByteRange.t), t) => t; diff --git a/src/Feature/Editor/Minimap.re b/src/Feature/Editor/Minimap.re index 60925ab4e5..d501f07d72 100644 --- a/src/Feature/Editor/Minimap.re +++ b/src/Feature/Editor/Minimap.re @@ -13,6 +13,15 @@ open Revery.UI; module BufferHighlights = Oni_Syntax.BufferHighlights; module Diagnostic = Feature_Diagnostics.Diagnostic; +let layerCondition = + Revery.UI.Layer.Condition.make((previousEditor, newEditor) => + if (Editor.shouldRender(previousEditor, newEditor)) { + true; + } else { + false; + } + ); + module Constants = { include Constants; @@ -263,7 +272,11 @@ let%component make = }) |> Option.value(~default=React.empty); - yankHighlightElement - ; + ; }; diff --git a/src/Feature/Editor/SurfaceView.re b/src/Feature/Editor/SurfaceView.re index 18bd37f25d..b54e1d7858 100644 --- a/src/Feature/Editor/SurfaceView.re +++ b/src/Feature/Editor/SurfaceView.re @@ -40,6 +40,15 @@ let renderRulers = (~context: Draw.context, ~colors: Colors.t, rulers) => { |> List.iter(Draw.ruler(~context, ~color=colors.rulerForeground)); }; +let layerCondition = + Revery.UI.Layer.Condition.make((previousEditor, newEditor) => + if (Editor.shouldRender(previousEditor, newEditor)) { + true; + } else { + false; + } + ); + let%component make = ( ~buffer, @@ -187,12 +196,16 @@ let%component make = }) |> React.listToElement; - maybeBbox := Some(bbox)} + maybeBbox := Some(bbox)} onMouseDown onMouseUp onMouseMove @@ -277,5 +290,5 @@ let%component make = {lensElements |> React.listToElement} yankHighlightElement cursors - ; + ; }; diff --git a/src/Feature/Explorer/Feature_Explorer.re b/src/Feature/Explorer/Feature_Explorer.re index cdcd8d3faa..48331dbf1b 100644 --- a/src/Feature/Explorer/Feature_Explorer.re +++ b/src/Feature/Explorer/Feature_Explorer.re @@ -307,6 +307,7 @@ module View = { open Revery.UI; let%component make = ( + ~config, ~isFocused, ~iconTheme, ~languageInfo, @@ -458,6 +459,7 @@ module View = { | Some(explorer) => explorerComponent string = }; let%component make = - (~model, ~theme, ~font: UiFont.t, ~isFocused, ~dispatch, ()) => { + ( + ~config, + ~model, + ~theme, + ~font: UiFont.t, + ~isFocused, + ~dispatch, + (), + ) => { let%hook ({width, installedExpanded, bundledExpanded}, localDispatch) = Hooks.reducer(~initialState=default, reduce); @@ -209,6 +217,7 @@ let%component make = if (Component_InputText.isEmpty(model.searchText)) { [ localDispatch(InstalledTitleClicked)} />, + if (Revery.Debug.isEnabled()) { + Revery.Debug.disable(); + } else { + Revery.Debug.enable(); + } + ); }; // UPDATE @@ -55,6 +65,7 @@ let update = (msg, _model) => (), Effect(Effects.traceToFile(~toMsg=str => LogFileStarted(str))), ) + | ToggleRenderPerformanceView => ((), Effect(Effects.toggleDebugDraw)) } | LogFileStarted(filePath) => ( (), @@ -67,15 +78,23 @@ let update = (msg, _model) => module Commands = { open Feature_Commands.Schema; - let nextEditor = + let logToTraceFile = define( ~category="Debug", ~title="Log to trace file", "oni.debug.startTraceLogging", Command(LogToTraceFile), ); + + let showDebugVisualization = + define( + ~category="Debug", + ~title="Render performance", + "oni.debug.toggleRenderPerformance", + Command(ToggleRenderPerformanceView), + ); }; module Contributions = { - let commands = Commands.[nextEditor]; + let commands = Commands.[logToTraceFile, showDebugVisualization]; }; diff --git a/src/Feature/Pane/DiagnosticsPaneView.re b/src/Feature/Pane/DiagnosticsPaneView.re index 3f841187dd..e2b2f46b21 100644 --- a/src/Feature/Pane/DiagnosticsPaneView.re +++ b/src/Feature/Pane/DiagnosticsPaneView.re @@ -32,6 +32,7 @@ module Styles = { let make = ( + ~config, ~isFocused: bool, ~diagnosticsList: Component_VimTree.model(string, LocationListItem.t), ~theme, @@ -54,6 +55,7 @@ let make = ; } else { | Notifications => }) @@ -881,6 +886,7 @@ module View = { ; } else { ; } else { ; }; Option.value(~default=true); { | FileExplorer => let dispatch = msg => dispatch(Actions.FileExplorer(msg)); { | SCM => { GlobalContext.current().dispatch(Actions.Search(msg)); { | Extensions => let extensionDispatch = msg => dispatch(Actions.Extensions(msg)); "] -authors: [ - "Quentin Hocquet " - "Jane Street Group, LLC " - "Jeremie Dimino " -] -license: "MIT" -homepage: "https://github.com/ocaml-dune/csexp" -doc: "https://ocaml-dune.github.io/csexp/" -bug-reports: "https://github.com/ocaml-dune/csexp/issues" -depends: [ - "dune" {>= "1.11"} - "ocaml" {>= "4.02.3"} - "result" {>= "1.5"} -] -dev-repo: "git+https://github.com/ocaml-dune/csexp.git" -build: [ - ["dune" "subst"] {pinned} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" -# "@runtest" {with-test & ocaml:version >= "4.04"} - "@doc" {with-doc} - ] -] -x-commit-hash: "19a2e7bc171a707059c73d78dd18e4e3ff03ac9b" -url { - src: - "https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz" - checksum: [ - "sha256=f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" - "sha512=ff1bd6a7c6bb3a73ca9ab0506c9ec1f357657deaa9ecc7eb32955817d9b0f266d976af3e2b8fc34c621cb0caf1fde55f9a609dd184e2054f500bf09afeb83026" - ] -} diff --git a/test.esy.lock/opam/csexp.1.4.0/opam b/test.esy.lock/opam/csexp.1.4.0/opam new file mode 100644 index 0000000000..ef29a05aba --- /dev/null +++ b/test.esy.lock/opam/csexp.1.4.0/opam @@ -0,0 +1,58 @@ +opam-version: "2.0" +synopsis: "Parsing and printing of S-expressions in Canonical form" +description: """ + +This library provides minimal support for Canonical S-expressions +[1]. Canonical S-expressions are a binary encoding of S-expressions +that is super simple and well suited for communication between +programs. + +This library only provides a few helpers for simple applications. If +you need more advanced support, such as parsing from more fancy input +sources, you should consider copying the code of this library given +how simple parsing S-expressions in canonical form is. + +To avoid a dependency on a particular S-expression library, the only +module of this library is parameterised by the type of S-expressions. + +[1] https://en.wikipedia.org/wiki/Canonical_S-expressions +""" +maintainer: ["Jeremie Dimino "] +authors: [ + "Quentin Hocquet " + "Jane Street Group, LLC " + "Jeremie Dimino " +] +license: "MIT" +homepage: "https://github.com/ocaml-dune/csexp" +doc: "https://ocaml-dune.github.io/csexp/" +bug-reports: "https://github.com/ocaml-dune/csexp/issues" +depends: [ + "dune" {>= "1.11"} + "ocaml" {>= "4.02.3"} + "result" {>= "1.5"} +] +dev-repo: "git+https://github.com/ocaml-dune/csexp.git" +build: [ + ["dune" "subst"] {pinned} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" +# "@runtest" {with-test & ocaml:version >= "4.04"} + "@doc" {with-doc} + ] +] +x-commit-hash: "0e1b2044c8d1ff187c27cec3e46d9cde14892650" +url { + src: + "https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz" + checksum: [ + "sha256=8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e" + "sha512=604a5094fbbf61f497b342ad0aa8ec25275b2a904cd0c1823fc40daa54a15796b360374ff495c0d8ca3b4c1e6723b2ce37e030857fae131222606de818fb8129" + ] +}