diff --git a/.eslintrc.json b/.eslintrc.json index d86f6103a7dd3..ceb3f8e373d63 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -260,6 +260,7 @@ "worker_threads", "xterm", "xterm-addon-canvas", + "xterm-addon-ligatures", "xterm-addon-search", "xterm-addon-serialize", "xterm-addon-unicode11", diff --git a/build/.webignore b/build/.webignore index 1a5b3ee2c1009..8f462d55f7005 100644 --- a/build/.webignore +++ b/build/.webignore @@ -23,6 +23,9 @@ xterm/src/** xterm-addon-canvas/src/** xterm-addon-canvas/out/** +xterm-addon-ligatures/src/** +xterm-addon-ligatures/out/** + xterm-addon-search/src/** xterm-addon-search/out/** xterm-addon-search/fixtures/** diff --git a/package.json b/package.json index f8cfd0e725aba..ab41ce3806856 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "code-oss-dev", "version": "1.71.0", - "distro": "eb23fca20abeeed869f14d2581658864b99ba1e2", + "distro": "c36ad55489967d920ebc707ad9b5950e1b53a690", "author": { "name": "Microsoft Corporation" }, @@ -86,12 +86,13 @@ "vscode-proxy-agent": "^0.12.0", "vscode-regexpp": "^3.1.0", "vscode-textmate": "7.0.1", - "xterm": "5.0.0-beta.32", - "xterm-addon-canvas": "0.2.0-beta.15", - "xterm-addon-search": "0.10.0-beta.3", - "xterm-addon-serialize": "0.8.0-beta.3", - "xterm-addon-unicode11": "0.4.0-beta.3", - "xterm-addon-webgl": "0.13.0-beta.32", + "xterm": "5.0.0-beta.34", + "xterm-addon-canvas": "0.2.0-beta.17", + "xterm-addon-ligatures": "0.6.0-beta.23", + "xterm-addon-search": "0.10.0-beta.5", + "xterm-addon-serialize": "0.8.0-beta.5", + "xterm-addon-unicode11": "0.4.0-beta.5", + "xterm-addon-webgl": "0.13.0-beta.34", "xterm-headless": "5.0.0-beta.5", "yauzl": "^2.9.2", "yazl": "^2.4.3" diff --git a/remote/package.json b/remote/package.json index 68e36b12bc915..416fded2c12f2 100644 --- a/remote/package.json +++ b/remote/package.json @@ -24,12 +24,13 @@ "vscode-proxy-agent": "^0.12.0", "vscode-regexpp": "^3.1.0", "vscode-textmate": "7.0.1", - "xterm": "5.0.0-beta.32", - "xterm-addon-canvas": "0.2.0-beta.15", - "xterm-addon-search": "0.10.0-beta.3", - "xterm-addon-serialize": "0.8.0-beta.3", - "xterm-addon-unicode11": "0.4.0-beta.3", - "xterm-addon-webgl": "0.13.0-beta.32", + "xterm": "5.0.0-beta.34", + "xterm-addon-canvas": "0.2.0-beta.17", + "xterm-addon-ligatures": "0.6.0-beta.23", + "xterm-addon-search": "0.10.0-beta.5", + "xterm-addon-serialize": "0.8.0-beta.5", + "xterm-addon-unicode11": "0.4.0-beta.5", + "xterm-addon-webgl": "0.13.0-beta.34", "xterm-headless": "5.0.0-beta.5", "yauzl": "^2.9.2", "yazl": "^2.4.3" diff --git a/remote/web/package.json b/remote/web/package.json index 17c98d4f00b21..4ad08731125cb 100644 --- a/remote/web/package.json +++ b/remote/web/package.json @@ -11,10 +11,11 @@ "tas-client-umd": "0.1.6", "vscode-oniguruma": "1.6.1", "vscode-textmate": "7.0.1", - "xterm": "5.0.0-beta.32", - "xterm-addon-canvas": "0.2.0-beta.15", - "xterm-addon-search": "0.10.0-beta.3", - "xterm-addon-unicode11": "0.4.0-beta.3", - "xterm-addon-webgl": "0.13.0-beta.32" + "xterm": "5.0.0-beta.34", + "xterm-addon-canvas": "0.2.0-beta.17", + "xterm-addon-ligatures": "0.6.0-beta.23", + "xterm-addon-search": "0.10.0-beta.5", + "xterm-addon-unicode11": "0.4.0-beta.5", + "xterm-addon-webgl": "0.13.0-beta.34" } } diff --git a/remote/web/yarn.lock b/remote/web/yarn.lock index 352fc68499b0b..f80f07580ec85 100644 --- a/remote/web/yarn.lock +++ b/remote/web/yarn.lock @@ -48,16 +48,62 @@ resolved "https://registry.yarnpkg.com/@vscode/vscode-languagedetection/-/vscode-languagedetection-1.0.21.tgz#89b48f293f6aa3341bb888c1118d16ff13b032d3" integrity sha512-zSUH9HYCw5qsCtd7b31yqkpaCU6jhtkKLkvOOA8yTrIRfBSOFb8PPhgmMicD7B/m+t4PwOJXzU1XDtrM9Fd3/g== +font-finder@^1.0.3, font-finder@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/font-finder/-/font-finder-1.1.0.tgz#2bff2b2762acba720239c8bec898a96daae90858" + integrity sha512-wpCL2uIbi6GurJbU7ZlQ3nGd61Ho+dSU6U83/xJT5UPFfN35EeCW/rOtS+5k+IuEZu2SYmHzDIPL9eA5tSYRAw== + dependencies: + get-system-fonts "^2.0.0" + promise-stream-reader "^1.0.1" + +font-ligatures@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/font-ligatures/-/font-ligatures-1.4.1.tgz#e8c9df7cf6bee80c0cca4a9a578618c7b1f5d8de" + integrity sha512-7W6zlfyhvCqShZ5ReUWqmSd9vBaUudW0Hxis+tqUjtHhsPU+L3Grf8mcZAtCiXHTzorhwdRTId2WeH/88gdFkw== + dependencies: + font-finder "^1.0.3" + lru-cache "^6.0.0" + opentype.js "^0.8.0" + +get-system-fonts@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-system-fonts/-/get-system-fonts-2.0.2.tgz#7ada3cc41322daf17c204a6f07c6588341cbc9cb" + integrity sha512-zzlgaYnHMIEgHRrfC7x0Qp0Ylhw/sHpM6MHXeVBTYIsvGf5GpbnClB+Q6rAPdn+0gd2oZZIo6Tj3EaWrt4VhDQ== + jschardet@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882" integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ== +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +opentype.js@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/opentype.js/-/opentype.js-0.8.0.tgz#acabcfa1642fbe894a3e4d759e43ba694e02bd35" + integrity sha512-FQHR4oGP+a0m/f6yHoRpBOIbn/5ZWxKd4D/djHVJu8+KpBTYrJda0b7mLcgDEMWXE9xBCJm+qb0yv6FcvPjukg== + dependencies: + tiny-inflate "^1.0.2" + +promise-stream-reader@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-stream-reader/-/promise-stream-reader-1.0.1.tgz#4e793a79c9d49a73ccd947c6da9c127f12923649" + integrity sha512-Tnxit5trUjBAqqZCGWwjyxhmgMN4hGrtpW3Oc/tRI4bpm/O2+ej72BB08l6JBnGQgVDGCLvHFGjGgQS6vzhwXg== + tas-client-umd@0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/tas-client-umd/-/tas-client-umd-0.1.6.tgz#a0cf70a68f50d406773457630666224f0eb545a6" integrity sha512-eOz5IK4cuNmSZI9QlqlT0FdvgfnnHDB6rjqleFaYAbzYE4RdJzYNiM28zFIXgmOVEgESvfabMFxG8WX5M4z3HA== +tiny-inflate@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" + integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== + vscode-oniguruma@1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz#2bf4dfcfe3dd2e56eb549a3068c8ee39e6c30ce5" @@ -68,27 +114,40 @@ vscode-textmate@7.0.1: resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-7.0.1.tgz#8118a32b02735dccd14f893b495fa5389ad7de79" integrity sha512-zQ5U/nuXAAMsh691FtV0wPz89nSkHbs+IQV8FDk+wew9BlSDhf4UmWGlWJfTR2Ti6xZv87Tj5fENzKf6Qk7aLw== -xterm-addon-canvas@0.2.0-beta.15: - version "0.2.0-beta.15" - resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.2.0-beta.15.tgz#de863e46410b1de357b153abf1984227777760e4" - integrity sha512-E1pNCDSVTINchwWLysZ9ZD/BPv1WLGV52xRHB00US1PHHELbhtvms+6dZ44WZEDXhtfpptRZ1VBx+QpvfJIuvw== - -xterm-addon-search@0.10.0-beta.3: - version "0.10.0-beta.3" - resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.10.0-beta.3.tgz#5194434d86105637c71f6f20139a9d0b5c1a956a" - integrity sha512-UeGm/ymnp7HUYJJtsP0D+bljOWbdk3MctcLJ+0jv8AmU6YlAzJFtouvYSQrD5SAMyht5CRsvjzFgqic9X02JYg== - -xterm-addon-unicode11@0.4.0-beta.3: - version "0.4.0-beta.3" - resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.3.tgz#f350184155fafd5ad0d6fbf31d13e6ca7dea1efa" - integrity sha512-FryZAVwbUjKTmwXnm1trch/2XO60F5JsDvOkZhzobV1hm10sFLVuZpFyHXiUx7TFeeFsvNP+S77LAtWoeT5z+Q== - -xterm-addon-webgl@0.13.0-beta.32: - version "0.13.0-beta.32" - resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.13.0-beta.32.tgz#ae7335f788ae611733e03f6ca38280ab7b86d212" - integrity sha512-xOudNzYXaRh9QZ+IigXM5EB3bM8l3/F8F35EpJRYvvsylVxiB6Km8X8l7+nxlWt+uYdnHZs0ka2rvtL8kOP/uw== - -xterm@5.0.0-beta.32: - version "5.0.0-beta.32" - resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.0.0-beta.32.tgz#62bb9902429c0055fd2fd85c9eecfbf1756ed31c" - integrity sha512-OAM1GaBs/chK63Cr86XbVhfVCLLXLpNxxFrv3RK9xoyb9dwiY3gaMxK9jeGzTnrbGLWJb+k5nxaC0rx2YsHvUA== +xterm-addon-canvas@0.2.0-beta.17: + version "0.2.0-beta.17" + resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.2.0-beta.17.tgz#e84a86530b20bd3edcce16b4566f346cd186ab4d" + integrity sha512-2ukPdCA92VTFYQRE56ylzvI3cfaQYDWd/Mc4jlEItI6sV/EA5RnUbbP+2sFIx0JlmHK6nVYXXNY2p6QRB7MRew== + +xterm-addon-ligatures@0.6.0-beta.23: + version "0.6.0-beta.23" + resolved "https://registry.yarnpkg.com/xterm-addon-ligatures/-/xterm-addon-ligatures-0.6.0-beta.23.tgz#e71b9e2f165883dbff6e17c82e3f39f1e902f6db" + integrity sha512-Hom+MBfRE0PxuvZ2C5qdRhTAmBvCYem3AiIbRMraz/kQeBR9O3ZJl4DbEhuXNwrmU9d5A8eUllLJuqNvnlYSbw== + dependencies: + font-finder "^1.1.0" + font-ligatures "^1.4.1" + +xterm-addon-search@0.10.0-beta.5: + version "0.10.0-beta.5" + resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.10.0-beta.5.tgz#a2cb16bda4ddf8783b80433155ad94f5822271f8" + integrity sha512-kjog7cm1iEZ2XyQFVs3KAvoI2pKoX0cq2WWjL0FuXYXpKQ9vXmfrWSR7PiJ6zpTIRvr6UtaSGKhmZVHLNA79WA== + +xterm-addon-unicode11@0.4.0-beta.5: + version "0.4.0-beta.5" + resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.5.tgz#3900e66f10d2e506133b61d7421aab6878d32665" + integrity sha512-+g+fuxAd/tkCEJ/jhdnebXKtdPrhsu4VKWNnB/3qM35GbuGQOasmYFYnKL+HYZMpbQ6YqeZcXTVg/wnCTttz0g== + +xterm-addon-webgl@0.13.0-beta.34: + version "0.13.0-beta.34" + resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.13.0-beta.34.tgz#95f57c1bfd1d0f533584746594b676bab7bfd5af" + integrity sha512-hWYC/WAQL67DSN0Z8bbxV+UresJWQaFthAa1oQCubqK5tjEyHbzU06W9ZICdYvvDzxde685HIZ/K7hY4Eco8SA== + +xterm@5.0.0-beta.34: + version "5.0.0-beta.34" + resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.0.0-beta.34.tgz#893d855b7429b0c836c807ef4425fd3abba5e648" + integrity sha512-253G3+L81wr1qk1n07AZV74qc8tfOgbHgTQiszoB2pyL3LmQ5cIOI4YGL5ZnONwusFbGEZTlUbNrNh8uoO+J8g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== diff --git a/remote/yarn.lock b/remote/yarn.lock index 5e5938f14a928..c226b174aa4b7 100644 --- a/remote/yarn.lock +++ b/remote/yarn.lock @@ -261,6 +261,23 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +font-finder@^1.0.3, font-finder@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/font-finder/-/font-finder-1.1.0.tgz#2bff2b2762acba720239c8bec898a96daae90858" + integrity sha512-wpCL2uIbi6GurJbU7ZlQ3nGd61Ho+dSU6U83/xJT5UPFfN35EeCW/rOtS+5k+IuEZu2SYmHzDIPL9eA5tSYRAw== + dependencies: + get-system-fonts "^2.0.0" + promise-stream-reader "^1.0.1" + +font-ligatures@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/font-ligatures/-/font-ligatures-1.4.1.tgz#e8c9df7cf6bee80c0cca4a9a578618c7b1f5d8de" + integrity sha512-7W6zlfyhvCqShZ5ReUWqmSd9vBaUudW0Hxis+tqUjtHhsPU+L3Grf8mcZAtCiXHTzorhwdRTId2WeH/88gdFkw== + dependencies: + font-finder "^1.0.3" + lru-cache "^6.0.0" + opentype.js "^0.8.0" + fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" @@ -280,6 +297,11 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +get-system-fonts@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-system-fonts/-/get-system-fonts-2.0.2.tgz#7ada3cc41322daf17c204a6f07c6588341cbc9cb" + integrity sha512-zzlgaYnHMIEgHRrfC7x0Qp0Ylhw/sHpM6MHXeVBTYIsvGf5GpbnClB+Q6rAPdn+0gd2oZZIo6Tj3EaWrt4VhDQ== + github-from-package@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" @@ -498,6 +520,13 @@ once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" +opentype.js@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/opentype.js/-/opentype.js-0.8.0.tgz#acabcfa1642fbe894a3e4d759e43ba694e02bd35" + integrity sha512-FQHR4oGP+a0m/f6yHoRpBOIbn/5ZWxKd4D/djHVJu8+KpBTYrJda0b7mLcgDEMWXE9xBCJm+qb0yv6FcvPjukg== + dependencies: + tiny-inflate "^1.0.2" + pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -527,6 +556,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +promise-stream-reader@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-stream-reader/-/promise-stream-reader-1.0.1.tgz#4e793a79c9d49a73ccd947c6da9c127f12923649" + integrity sha512-Tnxit5trUjBAqqZCGWwjyxhmgMN4hGrtpW3Oc/tRI4bpm/O2+ej72BB08l6JBnGQgVDGCLvHFGjGgQS6vzhwXg== + proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" @@ -721,6 +755,11 @@ tas-client-umd@0.1.6: resolved "https://registry.yarnpkg.com/tas-client-umd/-/tas-client-umd-0.1.6.tgz#a0cf70a68f50d406773457630666224f0eb545a6" integrity sha512-eOz5IK4cuNmSZI9QlqlT0FdvgfnnHDB6rjqleFaYAbzYE4RdJzYNiM28zFIXgmOVEgESvfabMFxG8WX5M4z3HA== +tiny-inflate@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" + integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -788,40 +827,48 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -xterm-addon-canvas@0.2.0-beta.15: - version "0.2.0-beta.15" - resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.2.0-beta.15.tgz#de863e46410b1de357b153abf1984227777760e4" - integrity sha512-E1pNCDSVTINchwWLysZ9ZD/BPv1WLGV52xRHB00US1PHHELbhtvms+6dZ44WZEDXhtfpptRZ1VBx+QpvfJIuvw== +xterm-addon-canvas@0.2.0-beta.17: + version "0.2.0-beta.17" + resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.2.0-beta.17.tgz#e84a86530b20bd3edcce16b4566f346cd186ab4d" + integrity sha512-2ukPdCA92VTFYQRE56ylzvI3cfaQYDWd/Mc4jlEItI6sV/EA5RnUbbP+2sFIx0JlmHK6nVYXXNY2p6QRB7MRew== + +xterm-addon-ligatures@0.6.0-beta.23: + version "0.6.0-beta.23" + resolved "https://registry.yarnpkg.com/xterm-addon-ligatures/-/xterm-addon-ligatures-0.6.0-beta.23.tgz#e71b9e2f165883dbff6e17c82e3f39f1e902f6db" + integrity sha512-Hom+MBfRE0PxuvZ2C5qdRhTAmBvCYem3AiIbRMraz/kQeBR9O3ZJl4DbEhuXNwrmU9d5A8eUllLJuqNvnlYSbw== + dependencies: + font-finder "^1.1.0" + font-ligatures "^1.4.1" -xterm-addon-search@0.10.0-beta.3: - version "0.10.0-beta.3" - resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.10.0-beta.3.tgz#5194434d86105637c71f6f20139a9d0b5c1a956a" - integrity sha512-UeGm/ymnp7HUYJJtsP0D+bljOWbdk3MctcLJ+0jv8AmU6YlAzJFtouvYSQrD5SAMyht5CRsvjzFgqic9X02JYg== +xterm-addon-search@0.10.0-beta.5: + version "0.10.0-beta.5" + resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.10.0-beta.5.tgz#a2cb16bda4ddf8783b80433155ad94f5822271f8" + integrity sha512-kjog7cm1iEZ2XyQFVs3KAvoI2pKoX0cq2WWjL0FuXYXpKQ9vXmfrWSR7PiJ6zpTIRvr6UtaSGKhmZVHLNA79WA== -xterm-addon-serialize@0.8.0-beta.3: - version "0.8.0-beta.3" - resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.8.0-beta.3.tgz#47ade3fedacbb75bd26e63cfe0120586623e0e4f" - integrity sha512-gvfempZCYuAhLqN4O6fA2TuoavPjOxFKlh8hLcOzPackiLUhwKr1jQpDXcnq8VgqUiGgb+XNZpPEbI0Q7EhTgA== +xterm-addon-serialize@0.8.0-beta.5: + version "0.8.0-beta.5" + resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.8.0-beta.5.tgz#3d2f3be173f4f1c31ae7bf25179e8ecddf2b33b2" + integrity sha512-rkSUaO1XBcy3ipScZMA5PrOKu/DfXo8XC/V7hZlhMiBNbZKlbk2rFb3X0FB1f07hw7oEkHLjuIJEY5Qtxfe9/w== -xterm-addon-unicode11@0.4.0-beta.3: - version "0.4.0-beta.3" - resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.3.tgz#f350184155fafd5ad0d6fbf31d13e6ca7dea1efa" - integrity sha512-FryZAVwbUjKTmwXnm1trch/2XO60F5JsDvOkZhzobV1hm10sFLVuZpFyHXiUx7TFeeFsvNP+S77LAtWoeT5z+Q== +xterm-addon-unicode11@0.4.0-beta.5: + version "0.4.0-beta.5" + resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.5.tgz#3900e66f10d2e506133b61d7421aab6878d32665" + integrity sha512-+g+fuxAd/tkCEJ/jhdnebXKtdPrhsu4VKWNnB/3qM35GbuGQOasmYFYnKL+HYZMpbQ6YqeZcXTVg/wnCTttz0g== -xterm-addon-webgl@0.13.0-beta.32: - version "0.13.0-beta.32" - resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.13.0-beta.32.tgz#ae7335f788ae611733e03f6ca38280ab7b86d212" - integrity sha512-xOudNzYXaRh9QZ+IigXM5EB3bM8l3/F8F35EpJRYvvsylVxiB6Km8X8l7+nxlWt+uYdnHZs0ka2rvtL8kOP/uw== +xterm-addon-webgl@0.13.0-beta.34: + version "0.13.0-beta.34" + resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.13.0-beta.34.tgz#95f57c1bfd1d0f533584746594b676bab7bfd5af" + integrity sha512-hWYC/WAQL67DSN0Z8bbxV+UresJWQaFthAa1oQCubqK5tjEyHbzU06W9ZICdYvvDzxde685HIZ/K7hY4Eco8SA== xterm-headless@5.0.0-beta.5: version "5.0.0-beta.5" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.0.0-beta.5.tgz#e29b6c5081f31f887122b7263ba996b0c46b3c22" integrity sha512-CMQ1+prBNF92oBMeZzc2rfTcmOaCGfwwSaoPYNTjyziZT6mZsEg7amajYkb0YAnqJ29MFm4kPGZbU78/dX4k2A== -xterm@5.0.0-beta.32: - version "5.0.0-beta.32" - resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.0.0-beta.32.tgz#62bb9902429c0055fd2fd85c9eecfbf1756ed31c" - integrity sha512-OAM1GaBs/chK63Cr86XbVhfVCLLXLpNxxFrv3RK9xoyb9dwiY3gaMxK9jeGzTnrbGLWJb+k5nxaC0rx2YsHvUA== +xterm@5.0.0-beta.34: + version "5.0.0-beta.34" + resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.0.0-beta.34.tgz#893d855b7429b0c836c807ef4425fd3abba5e648" + integrity sha512-253G3+L81wr1qk1n07AZV74qc8tfOgbHgTQiszoB2pyL3LmQ5cIOI4YGL5ZnONwusFbGEZTlUbNrNh8uoO+J8g== yallist@^4.0.0: version "4.0.0" diff --git a/scripts/update-xterm.js b/scripts/update-xterm.js index bc57493590248..cac3bbd928c75 100644 --- a/scripts/update-xterm.js +++ b/scripts/update-xterm.js @@ -9,6 +9,7 @@ const path = require('path'); const moduleNames = [ 'xterm', 'xterm-addon-canvas', + 'xterm-addon-ligatures', 'xterm-addon-search', 'xterm-addon-unicode11', 'xterm-addon-webgl' @@ -42,6 +43,12 @@ function getLatestModuleVersion(moduleName) { '5.0.0-beta.4', ].includes(e)); } + if (moduleName === 'xterm-addon-ligatures') { + versions = versions.filter(e => ![ + '5.0.0-beta.1', + '5.0.0-beta.2', + ].includes(e)); + } resolve(versions[versions.length - 1]); }); }); diff --git a/src/bootstrap-window.js b/src/bootstrap-window.js index 61ca6dd847798..1958556af215b 100644 --- a/src/bootstrap-window.js +++ b/src/bootstrap-window.js @@ -137,6 +137,7 @@ 'vscode-oniguruma': `${baseNodeModulesPath}/vscode-oniguruma/release/main.js`, 'xterm': `${baseNodeModulesPath}/xterm/lib/xterm.js`, 'xterm-addon-canvas': `${baseNodeModulesPath}/xterm-addon-canvas/lib/xterm-addon-canvas.js`, + 'xterm-addon-ligatures': `${baseNodeModulesPath}/xterm-addon-ligatures/lib/xterm-addon-ligatures.js`, 'xterm-addon-search': `${baseNodeModulesPath}/xterm-addon-search/lib/xterm-addon-search.js`, 'xterm-addon-unicode11': `${baseNodeModulesPath}/xterm-addon-unicode11/lib/xterm-addon-unicode11.js`, 'xterm-addon-webgl': `${baseNodeModulesPath}/xterm-addon-webgl/lib/xterm-addon-webgl.js`, @@ -151,7 +152,7 @@ // which has a fallback to using node.js `require` // (node.js enabled renderers only) if (!safeProcess.sandboxed) { - loaderConfig.amdModulesPattern = /(^vs\/)|(^vscode-textmate$)|(^vscode-oniguruma$)|(^xterm$)|(^xterm-addon-canvas$)|(^xterm-addon-search$)|(^xterm-addon-unicode11$)|(^xterm-addon-webgl$)|(^@vscode\/iconv-lite-umd$)|(^jschardet$)|(^@vscode\/vscode-languagedetection$)|(^vscode-regexp-languagedetection$)|(^tas-client-umd$)/; + loaderConfig.amdModulesPattern = /(^vs\/)|(^vscode-textmate$)|(^vscode-oniguruma$)|(^xterm$)|(^xterm-addon-canvas$)|(^xterm-addon-ligatures$)|(^xterm-addon-search$)|(^xterm-addon-unicode11$)|(^xterm-addon-webgl$)|(^@vscode\/iconv-lite-umd$)|(^jschardet$)|(^@vscode\/vscode-languagedetection$)|(^vscode-regexp-languagedetection$)|(^tas-client-umd$)/; } // Signal before require.config() diff --git a/src/main.js b/src/main.js index c53900217a453..a8874eb8bcfbe 100644 --- a/src/main.js +++ b/src/main.js @@ -218,6 +218,10 @@ function configureCommandlineSwitchesSync(cliArgs) { } }); + // TODO: Remove this when we update to Electron 20 as font access is enabled by default in Chromium 104 + // Enable Font Access API (eg. for terminal ligatures) + app.commandLine.appendSwitch('enable-features', 'FontAccess'); + // Support JS Flags const jsFlags = getJSFlags(cliArgs); if (jsFlags) { diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index b13a6098ddda7..25117ee36b5be 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -161,7 +161,7 @@ export class CodeApplication extends Disposable { return allowedPermissionsInWebview.has(permission); } - return false; + return permission === 'font-access'; }); //#endregion diff --git a/src/vs/platform/protocol/electron-main/protocolMainService.ts b/src/vs/platform/protocol/electron-main/protocolMainService.ts index b6ef8e8018c06..8cab1cff21f19 100644 --- a/src/vs/platform/protocol/electron-main/protocolMainService.ts +++ b/src/vs/platform/protocol/electron-main/protocolMainService.ts @@ -24,7 +24,7 @@ export class ProtocolMainService extends Disposable implements IProtocolMainServ declare readonly _serviceBrand: undefined; private readonly validRoots = TernarySearchTree.forPaths(!isLinux); - private readonly validExtensions = new Set(['.svg', '.png', '.jpg', '.jpeg', '.gif', '.bmp', '.webp']); // https://github.com/microsoft/vscode/issues/119384 + private readonly validExtensions = new Set(['.svg', '.png', '.jpg', '.jpeg', '.gif', '.bmp', '.webp', '.oft', '.ttf']); // https://github.com/microsoft/vscode/issues/119384 constructor( @INativeEnvironmentService environmentService: INativeEnvironmentService, diff --git a/src/vs/platform/terminal/common/terminal.ts b/src/vs/platform/terminal/common/terminal.ts index 80633905e94fd..0beab37111831 100644 --- a/src/vs/platform/terminal/common/terminal.ts +++ b/src/vs/platform/terminal/common/terminal.ts @@ -63,6 +63,7 @@ export const enum TerminalSettingId { FastScrollSensitivity = 'terminal.integrated.fastScrollSensitivity', MouseWheelScrollSensitivity = 'terminal.integrated.mouseWheelScrollSensitivity', BellDuration = 'terminal.integrated.bellDuration', + ExperimentalFontLigatures = 'terminal.integrated.experimental.fontLigatures', FontWeight = 'terminal.integrated.fontWeight', FontWeightBold = 'terminal.integrated.fontWeightBold', CursorBlinking = 'terminal.integrated.cursorBlinking', diff --git a/src/vs/workbench/contrib/terminal/browser/media/terminal.css b/src/vs/workbench/contrib/terminal/browser/media/terminal.css index b186c032261ab..e4c636cf1baa2 100644 --- a/src/vs/workbench/contrib/terminal/browser/media/terminal.css +++ b/src/vs/workbench/contrib/terminal/browser/media/terminal.css @@ -158,10 +158,6 @@ width: auto !important; } -.monaco-workbench .pane-body.integrated-terminal { - font-variant-ligatures: none; -} - .monaco-workbench .pane-body.integrated-terminal .split-view-view { box-sizing: border-box; overflow: hidden; diff --git a/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts b/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts index 302dc530b1780..63a53e68823dd 100644 --- a/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts +++ b/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts @@ -5,6 +5,7 @@ import type { IBuffer, IMarker, ITheme, Terminal as RawXtermTerminal } from 'xterm'; import type { CanvasAddon as CanvasAddonType } from 'xterm-addon-canvas'; +import type { LigaturesAddon as LigaturesAddonType } from 'xterm-addon-ligatures'; import type { ISearchOptions, SearchAddon as SearchAddonType } from 'xterm-addon-search'; import type { Unicode11Addon as Unicode11AddonType } from 'xterm-addon-unicode11'; import type { WebglAddon as WebglAddonType } from 'xterm-addon-webgl'; @@ -45,6 +46,7 @@ const NUMBER_OF_FRAMES_TO_MEASURE = 20; const SMOOTH_SCROLL_DURATION = 125; let CanvasAddon: typeof CanvasAddonType; +let LigaturesAddon: typeof LigaturesAddonType; let SearchAddon: typeof SearchAddonType; let SerializeAddon: typeof SerializeAddonType; let Unicode11Addon: typeof Unicode11AddonType; @@ -94,6 +96,7 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II // Optional addons private _canvasAddon?: CanvasAddonType; + private _ligaturesAddon?: LigaturesAddonType; private _searchAddon?: SearchAddonType; private _unicode11Addon?: Unicode11AddonType; private _webglAddon?: WebglAddonType; @@ -246,6 +249,10 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II } else if (this._shouldLoadCanvas()) { this._enableCanvasRenderer(); } + // Enable addons + if (this._configHelper.config.experimental.fontLigatures) { + this._enableLigatures(); + } // Screen must be created at this point as xterm.open is called return this._container.querySelector('.xterm-screen')!; } @@ -269,6 +276,8 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II this.raw.options.wordSeparator = config.wordSeparators; this.raw.options.customGlyphs = config.customGlyphs; this.raw.options.smoothScrollDuration = config.smoothScrolling ? SMOOTH_SCROLL_DURATION : 0; + + // WebGL addon if (this._shouldLoadWebgl()) { this._enableWebglRenderer(); } else { @@ -279,6 +288,13 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II this._disposeOfCanvasRenderer(); } } + + // Ligatures addon + if (config.experimental.fontLigatures) { + this._enableLigatures(); + } else { + this._disableLigatures(); + } } private _shouldLoadWebgl(): boolean { @@ -521,6 +537,13 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II return CanvasAddon; } + protected async _getLigaturesAddonConstructor(): Promise { + if (!LigaturesAddon) { + LigaturesAddon = (await import('xterm-addon-ligatures')).LigaturesAddon; + } + return LigaturesAddon; + } + protected async _getSearchAddonConstructor(): Promise { if (!SearchAddon) { SearchAddon = (await import('xterm-addon-search')).SearchAddon; @@ -620,6 +643,20 @@ export class XtermTerminal extends DisposableStore implements IXtermTerminal, II }; } + private async _enableLigatures(): Promise { + if (!this.raw.element || this._ligaturesAddon) { + return; + } + const LigaturesAddon = await this._getLigaturesAddonConstructor(); + this._ligaturesAddon = new LigaturesAddon(); + this.raw.loadAddon(this._ligaturesAddon); + } + + private _disableLigatures() { + this._ligaturesAddon?.dispose(); + this._ligaturesAddon = undefined; + } + private _getXtermTheme(theme?: IColorTheme): ITheme { if (!theme) { theme = this._themeService.getColorTheme(); diff --git a/src/vs/workbench/contrib/terminal/common/terminal.ts b/src/vs/workbench/contrib/terminal/common/terminal.ts index 4552c855bc679..5d8fb7333a0cc 100644 --- a/src/vs/workbench/contrib/terminal/common/terminal.ts +++ b/src/vs/workbench/contrib/terminal/common/terminal.ts @@ -251,7 +251,6 @@ export interface ITerminalConfiguration { minimumContrastRatio: number; mouseWheelScrollSensitivity: number; sendKeybindingsToShell: boolean; - // fontLigatures: boolean; fontSize: number; letterSpacing: number; lineHeight: number; @@ -303,6 +302,9 @@ export interface ITerminalConfiguration { decorationsEnabled: boolean; }; smoothScrolling: boolean; + experimental: { + fontLigatures: boolean; + }; } export const DEFAULT_LOCAL_ECHO_EXCLUDE: ReadonlyArray = ['vim', 'vi', 'nano', 'tmux']; diff --git a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts index 790e1777020ad..307e167ffed61 100644 --- a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts +++ b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts @@ -160,12 +160,11 @@ const terminalConfiguration: IConfigurationNode = { markdownDescription: localize('terminal.integrated.fontFamily', "Controls the font family of the terminal, this defaults to {0}'s value.", '`#editor.fontFamily#`'), type: 'string' }, - // TODO: Support font ligatures - // 'terminal.integrated.fontLigatures': { - // 'description': localize('terminal.integrated.fontLigatures', "Controls whether font ligatures are enabled in the terminal."), - // 'type': 'boolean', - // 'default': false - // }, + [TerminalSettingId.ExperimentalFontLigatures]: { + 'description': localize('terminal.integrated.fontLigatures', "Controls whether font ligatures are enabled in the terminal."), + 'type': 'boolean', + 'default': false + }, [TerminalSettingId.FontSize]: { description: localize('terminal.integrated.fontSize', "Controls the font size in pixels of the terminal."), type: 'number', diff --git a/yarn.lock b/yarn.lock index f53cbf6caf3f9..e37f53b7d9d2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4634,6 +4634,23 @@ flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: inherits "^2.0.3" readable-stream "^2.3.6" +font-finder@^1.0.3, font-finder@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/font-finder/-/font-finder-1.1.0.tgz#2bff2b2762acba720239c8bec898a96daae90858" + integrity sha512-wpCL2uIbi6GurJbU7ZlQ3nGd61Ho+dSU6U83/xJT5UPFfN35EeCW/rOtS+5k+IuEZu2SYmHzDIPL9eA5tSYRAw== + dependencies: + get-system-fonts "^2.0.0" + promise-stream-reader "^1.0.1" + +font-ligatures@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/font-ligatures/-/font-ligatures-1.4.1.tgz#e8c9df7cf6bee80c0cca4a9a578618c7b1f5d8de" + integrity sha512-7W6zlfyhvCqShZ5ReUWqmSd9vBaUudW0Hxis+tqUjtHhsPU+L3Grf8mcZAtCiXHTzorhwdRTId2WeH/88gdFkw== + dependencies: + font-finder "^1.0.3" + lru-cache "^6.0.0" + opentype.js "^0.8.0" + for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -4864,6 +4881,11 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" +get-system-fonts@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-system-fonts/-/get-system-fonts-2.0.2.tgz#7ada3cc41322daf17c204a6f07c6588341cbc9cb" + integrity sha512-zzlgaYnHMIEgHRrfC7x0Qp0Ylhw/sHpM6MHXeVBTYIsvGf5GpbnClB+Q6rAPdn+0gd2oZZIo6Tj3EaWrt4VhDQ== + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -7785,6 +7807,13 @@ only@~0.0.2: resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= +opentype.js@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/opentype.js/-/opentype.js-0.8.0.tgz#acabcfa1642fbe894a3e4d759e43ba694e02bd35" + integrity sha512-FQHR4oGP+a0m/f6yHoRpBOIbn/5ZWxKd4D/djHVJu8+KpBTYrJda0b7mLcgDEMWXE9xBCJm+qb0yv6FcvPjukg== + dependencies: + tiny-inflate "^1.0.2" + opn@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/opn/-/opn-6.0.0.tgz#3c5b0db676d5f97da1233d1ed42d182bc5a27d2d" @@ -8668,6 +8697,11 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +promise-stream-reader@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-stream-reader/-/promise-stream-reader-1.0.1.tgz#4e793a79c9d49a73ccd947c6da9c127f12923649" + integrity sha512-Tnxit5trUjBAqqZCGWwjyxhmgMN4hGrtpW3Oc/tRI4bpm/O2+ej72BB08l6JBnGQgVDGCLvHFGjGgQS6vzhwXg== + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -10313,6 +10347,11 @@ timsort@^0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= +tiny-inflate@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" + integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -11365,40 +11404,48 @@ xtend@~2.1.1: dependencies: object-keys "~0.4.0" -xterm-addon-canvas@0.2.0-beta.15: - version "0.2.0-beta.15" - resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.2.0-beta.15.tgz#de863e46410b1de357b153abf1984227777760e4" - integrity sha512-E1pNCDSVTINchwWLysZ9ZD/BPv1WLGV52xRHB00US1PHHELbhtvms+6dZ44WZEDXhtfpptRZ1VBx+QpvfJIuvw== +xterm-addon-canvas@0.2.0-beta.17: + version "0.2.0-beta.17" + resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.2.0-beta.17.tgz#e84a86530b20bd3edcce16b4566f346cd186ab4d" + integrity sha512-2ukPdCA92VTFYQRE56ylzvI3cfaQYDWd/Mc4jlEItI6sV/EA5RnUbbP+2sFIx0JlmHK6nVYXXNY2p6QRB7MRew== + +xterm-addon-ligatures@0.6.0-beta.23: + version "0.6.0-beta.23" + resolved "https://registry.yarnpkg.com/xterm-addon-ligatures/-/xterm-addon-ligatures-0.6.0-beta.23.tgz#e71b9e2f165883dbff6e17c82e3f39f1e902f6db" + integrity sha512-Hom+MBfRE0PxuvZ2C5qdRhTAmBvCYem3AiIbRMraz/kQeBR9O3ZJl4DbEhuXNwrmU9d5A8eUllLJuqNvnlYSbw== + dependencies: + font-finder "^1.1.0" + font-ligatures "^1.4.1" -xterm-addon-search@0.10.0-beta.3: - version "0.10.0-beta.3" - resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.10.0-beta.3.tgz#5194434d86105637c71f6f20139a9d0b5c1a956a" - integrity sha512-UeGm/ymnp7HUYJJtsP0D+bljOWbdk3MctcLJ+0jv8AmU6YlAzJFtouvYSQrD5SAMyht5CRsvjzFgqic9X02JYg== +xterm-addon-search@0.10.0-beta.5: + version "0.10.0-beta.5" + resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.10.0-beta.5.tgz#a2cb16bda4ddf8783b80433155ad94f5822271f8" + integrity sha512-kjog7cm1iEZ2XyQFVs3KAvoI2pKoX0cq2WWjL0FuXYXpKQ9vXmfrWSR7PiJ6zpTIRvr6UtaSGKhmZVHLNA79WA== -xterm-addon-serialize@0.8.0-beta.3: - version "0.8.0-beta.3" - resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.8.0-beta.3.tgz#47ade3fedacbb75bd26e63cfe0120586623e0e4f" - integrity sha512-gvfempZCYuAhLqN4O6fA2TuoavPjOxFKlh8hLcOzPackiLUhwKr1jQpDXcnq8VgqUiGgb+XNZpPEbI0Q7EhTgA== +xterm-addon-serialize@0.8.0-beta.5: + version "0.8.0-beta.5" + resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.8.0-beta.5.tgz#3d2f3be173f4f1c31ae7bf25179e8ecddf2b33b2" + integrity sha512-rkSUaO1XBcy3ipScZMA5PrOKu/DfXo8XC/V7hZlhMiBNbZKlbk2rFb3X0FB1f07hw7oEkHLjuIJEY5Qtxfe9/w== -xterm-addon-unicode11@0.4.0-beta.3: - version "0.4.0-beta.3" - resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.3.tgz#f350184155fafd5ad0d6fbf31d13e6ca7dea1efa" - integrity sha512-FryZAVwbUjKTmwXnm1trch/2XO60F5JsDvOkZhzobV1hm10sFLVuZpFyHXiUx7TFeeFsvNP+S77LAtWoeT5z+Q== +xterm-addon-unicode11@0.4.0-beta.5: + version "0.4.0-beta.5" + resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.5.tgz#3900e66f10d2e506133b61d7421aab6878d32665" + integrity sha512-+g+fuxAd/tkCEJ/jhdnebXKtdPrhsu4VKWNnB/3qM35GbuGQOasmYFYnKL+HYZMpbQ6YqeZcXTVg/wnCTttz0g== -xterm-addon-webgl@0.13.0-beta.32: - version "0.13.0-beta.32" - resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.13.0-beta.32.tgz#ae7335f788ae611733e03f6ca38280ab7b86d212" - integrity sha512-xOudNzYXaRh9QZ+IigXM5EB3bM8l3/F8F35EpJRYvvsylVxiB6Km8X8l7+nxlWt+uYdnHZs0ka2rvtL8kOP/uw== +xterm-addon-webgl@0.13.0-beta.34: + version "0.13.0-beta.34" + resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.13.0-beta.34.tgz#95f57c1bfd1d0f533584746594b676bab7bfd5af" + integrity sha512-hWYC/WAQL67DSN0Z8bbxV+UresJWQaFthAa1oQCubqK5tjEyHbzU06W9ZICdYvvDzxde685HIZ/K7hY4Eco8SA== xterm-headless@5.0.0-beta.5: version "5.0.0-beta.5" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.0.0-beta.5.tgz#e29b6c5081f31f887122b7263ba996b0c46b3c22" integrity sha512-CMQ1+prBNF92oBMeZzc2rfTcmOaCGfwwSaoPYNTjyziZT6mZsEg7amajYkb0YAnqJ29MFm4kPGZbU78/dX4k2A== -xterm@5.0.0-beta.32: - version "5.0.0-beta.32" - resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.0.0-beta.32.tgz#62bb9902429c0055fd2fd85c9eecfbf1756ed31c" - integrity sha512-OAM1GaBs/chK63Cr86XbVhfVCLLXLpNxxFrv3RK9xoyb9dwiY3gaMxK9jeGzTnrbGLWJb+k5nxaC0rx2YsHvUA== +xterm@5.0.0-beta.34: + version "5.0.0-beta.34" + resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.0.0-beta.34.tgz#893d855b7429b0c836c807ef4425fd3abba5e648" + integrity sha512-253G3+L81wr1qk1n07AZV74qc8tfOgbHgTQiszoB2pyL3LmQ5cIOI4YGL5ZnONwusFbGEZTlUbNrNh8uoO+J8g== y18n@^3.2.1: version "3.2.2"