浏览代码

Prepare for 0.23.0

Alexandru Dima 4 年之前
父节点
当前提交
80dcc010ae
共有 5 个文件被更改,包括 192 次插入105 次删除
  1. 5 0
      CHANGELOG.md
  2. 74 76
      package-lock.json
  3. 9 9
      package.json
  4. 52 10
      typedoc/monaco.d.ts
  5. 52 10
      website/playground/monaco.d.ts.txt

+ 5 - 0
CHANGELOG.md

@@ -1,5 +1,10 @@
 # Monaco Editor Changelog
 # Monaco Editor Changelog
 
 
+## [0.23.0] (05.03.2021)
+
+* improves input on Android (using Gboard)
+* automatically switches to high contrast when the OS is using high contrast (doesn't work in Firefox). Can be turned off via `autoDetectHighContrast`.
+
 ## [0.22.3] (01.02.2021)
 ## [0.22.3] (01.02.2021)
 
 
 Fixes a regression where symbol icons used in suggestions or quick outline were missing colors (see https://github.com/microsoft/monaco-editor/issues/2329).
 Fixes a regression where symbol icons used in suggestions or quick outline were missing colors (see https://github.com/microsoft/monaco-editor/issues/2329).

+ 74 - 76
package-lock.json

@@ -582,9 +582,9 @@
       }
       }
     },
     },
     "clean-css": {
     "clean-css": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
-      "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.1.tgz",
+      "integrity": "sha512-GQ6HdEyJN0543mRTA/TkZ7RPoMXGWKq1shs9H86F2kLuixR0RI+xd4JfhJxWUW08FGKQXTKAKpVjKQXu5zkFNA==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "source-map": "~0.6.0"
         "source-map": "~0.6.0"
@@ -1132,9 +1132,9 @@
       },
       },
       "dependencies": {
       "dependencies": {
         "type": {
         "type": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/type/-/type-2.2.0.tgz",
-          "integrity": "sha512-M/u37b4oSGlusaU8ZB96BfFPWQ8MbsZYXB+kXGMiDj6IKinkcNaQvmirBuWj8mAXqP6LYn1rQvbTYum3yPhaOA==",
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/type/-/type-2.3.0.tgz",
+          "integrity": "sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg==",
           "dev": true
           "dev": true
         }
         }
       }
       }
@@ -1673,9 +1673,9 @@
       "dev": true
       "dev": true
     },
     },
     "has-symbols": {
     "has-symbols": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
-      "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
+      "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
       "dev": true
       "dev": true
     },
     },
     "has-value": {
     "has-value": {
@@ -2132,9 +2132,9 @@
       }
       }
     },
     },
     "just-debounce": {
     "just-debounce": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz",
-      "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz",
+      "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==",
       "dev": true
       "dev": true
     },
     },
     "kind-of": {
     "kind-of": {
@@ -2220,9 +2220,9 @@
       }
       }
     },
     },
     "lodash": {
     "lodash": {
-      "version": "4.17.20",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
-      "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
       "dev": true
       "dev": true
     },
     },
     "lodash.sortby": {
     "lodash.sortby": {
@@ -2231,6 +2231,15 @@
       "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
       "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
       "dev": true
       "dev": true
     },
     },
+    "lru-cache": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+      "dev": true,
+      "requires": {
+        "yallist": "^3.0.2"
+      }
+    },
     "lunr": {
     "lunr": {
       "version": "2.3.9",
       "version": "2.3.9",
       "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
       "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
@@ -2268,9 +2277,9 @@
       }
       }
     },
     },
     "marked": {
     "marked": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.0.tgz",
-      "integrity": "sha512-NqRSh2+LlN2NInpqTQnS614Y/3NkVMFFU6sJlRFEpxJ/LHuK/qJECH7/fXZjk4VZstPW/Pevjil/VtSONsLc7Q==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.1.tgz",
+      "integrity": "sha512-5+/fKgMv2hARmMW7DOpykr2iLhl0NgjyELk5yn92iE7z8Se1IS9n3UsFm86hFXIkvMBmVxki8+ckcpjBeyo/hw==",
       "dev": true
       "dev": true
     },
     },
     "matchdep": {
     "matchdep": {
@@ -2330,18 +2339,18 @@
       }
       }
     },
     },
     "mime-db": {
     "mime-db": {
-      "version": "1.45.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz",
-      "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==",
+      "version": "1.46.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz",
+      "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==",
       "dev": true
       "dev": true
     },
     },
     "mime-types": {
     "mime-types": {
-      "version": "2.1.28",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz",
-      "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==",
+      "version": "2.1.29",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz",
+      "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
-        "mime-db": "1.45.0"
+        "mime-db": "1.46.0"
       }
       }
     },
     },
     "minimatch": {
     "minimatch": {
@@ -2381,39 +2390,39 @@
       }
       }
     },
     },
     "monaco-css": {
     "monaco-css": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/monaco-css/-/monaco-css-3.2.0.tgz",
-      "integrity": "sha512-za3VHIsUY+wpQnXa7CDE5m5devEXAGp1Zr9OBd8mLBIC3PbD0TKKKK3wLZCBRWWkU+U2vLO81rSH3V0hXo7yGQ==",
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/monaco-css/-/monaco-css-3.3.0.tgz",
+      "integrity": "sha512-wq/7SbRAIkKoJ/w6WBnAgByZywMgeB06rRy6ooKjUT+vZB6Hmlv04qqrl3swqnCVmE/B0GCJa8Cho1D1UbuiBQ==",
       "dev": true
       "dev": true
     },
     },
     "monaco-editor-core": {
     "monaco-editor-core": {
-      "version": "0.22.3",
-      "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.22.3.tgz",
-      "integrity": "sha512-QUA8fbVz769QBR5Xp8vKJngJM35PRvMuqDjVSsM5IJfWwwVEsQAKu/8SUD3jcEHfnE4YgQfeLktapBwJvWntgw==",
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.23.0.tgz",
+      "integrity": "sha512-1LHVpCHp+FErFdUjwzal1muTe+hUkR5CfXAxzua//eHB31bHdWVe15OJPEPS3/rxmfQtl9wZqJdHi4FcGz2zog==",
       "dev": true
       "dev": true
     },
     },
     "monaco-html": {
     "monaco-html": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/monaco-html/-/monaco-html-3.2.0.tgz",
-      "integrity": "sha512-04Dhfa/okj1fwz6ikCVbb3DGoNJBcFU5/vfCR4R6bMgrjeRl+UpgoSktB9NubXU1Ja0yP+BVMQI/SUQMZXRjzQ==",
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/monaco-html/-/monaco-html-3.3.0.tgz",
+      "integrity": "sha512-bLVfZFHAMMg+0KsEPXMybj3hK8Kb4ZUNRqlHTXQou18kRUP1Eas+7JKXaUQissJYKCc4+g7tHnlZCnyFIkZ60A==",
       "dev": true
       "dev": true
     },
     },
     "monaco-json": {
     "monaco-json": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/monaco-json/-/monaco-json-3.3.0.tgz",
-      "integrity": "sha512-g5CFn+kmmNce09MHD/F/6/AAfue9hXqNVXS2BazUvsHlLXwUFD4S0GwnOqKhjymXNjfpbCqL1t2dLMwI5AM+SA==",
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/monaco-json/-/monaco-json-3.4.0.tgz",
+      "integrity": "sha512-B2Zv5pRRNtE6EWr/RIbGj4v4RA78DkMIDRXmXPGDzDmeNBPPye7qoU4jZJiKEuOXR2T6fRv0puTuWCarfd9Afg==",
       "dev": true
       "dev": true
     },
     },
     "monaco-languages": {
     "monaco-languages": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/monaco-languages/-/monaco-languages-2.2.0.tgz",
-      "integrity": "sha512-KPZxWF9OwkKej4WRDiCvveoMhiEzMoCvx1ZNsn7XCAeXzako0dLZUtOAr69JiUNdfxPTZSsNLsKpOlK7haQNYQ==",
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/monaco-languages/-/monaco-languages-2.3.0.tgz",
+      "integrity": "sha512-gER/vKpIUH2kKhWEWRDojMuI6cm4S7Dl9jSYNFUfToOB8uIxoWSZUJCm2FH+ECnUZmnLs6O2fNONKQQ6JCoa/g==",
       "dev": true
       "dev": true
     },
     },
     "monaco-typescript": {
     "monaco-typescript": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/monaco-typescript/-/monaco-typescript-4.2.0.tgz",
-      "integrity": "sha512-kYX5pYpaanpeHLQWD0pFe3w/bYwYGdr2yKU0GGxQi+7+cdhMjg84cOrYOUfS51HBeVAE9jVXfpqlnVZbmny7+A==",
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/monaco-typescript/-/monaco-typescript-4.3.1.tgz",
+      "integrity": "sha512-4720k9LoaiRZjvKG1ZCsmYVahwhWVn05c9S+LmXwgg9bYqroBmuGd+5LpzOi/JAg7Hf9D3/OwTAeljM5BSozqA==",
       "dev": true
       "dev": true
     },
     },
     "ms": {
     "ms": {
@@ -2626,23 +2635,6 @@
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "lru-cache": "^5.1.1"
         "lru-cache": "^5.1.1"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
-          "requires": {
-            "yallist": "^3.0.2"
-          }
-        },
-        "yallist": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
-        }
       }
       }
     },
     },
     "optionator": {
     "optionator": {
@@ -3720,40 +3712,40 @@
       "dev": true
       "dev": true
     },
     },
     "typedoc": {
     "typedoc": {
-      "version": "0.20.25",
-      "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.20.25.tgz",
-      "integrity": "sha512-ZQZnjJPrt0rjp216gp6FQC1QC4ojcoKikhfOJ/51CqaJunVDilRLlIO5tCGWj1tzlYYT9eOGhJv7MF3t7rxSmw==",
+      "version": "0.20.29",
+      "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.20.29.tgz",
+      "integrity": "sha512-IyzrbtwNAXtylUJn41FbopQsNSQ1jcM6lUhDL/REOFo31G3Q9fsniZUQP+tIcTX5JaCntRdw3PTMZTQPV52low==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
         "colors": "^1.4.0",
         "colors": "^1.4.0",
         "fs-extra": "^9.1.0",
         "fs-extra": "^9.1.0",
-        "handlebars": "^4.7.6",
-        "lodash": "^4.17.20",
+        "handlebars": "^4.7.7",
+        "lodash": "^4.17.21",
         "lunr": "^2.3.9",
         "lunr": "^2.3.9",
-        "marked": "^2.0.0",
+        "marked": "^2.0.1",
         "minimatch": "^3.0.0",
         "minimatch": "^3.0.0",
         "progress": "^2.0.3",
         "progress": "^2.0.3",
         "shelljs": "^0.8.4",
         "shelljs": "^0.8.4",
         "shiki": "^0.9.2",
         "shiki": "^0.9.2",
-        "typedoc-default-themes": "^0.12.7"
+        "typedoc-default-themes": "^0.12.8"
       }
       }
     },
     },
     "typedoc-default-themes": {
     "typedoc-default-themes": {
-      "version": "0.12.7",
-      "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.7.tgz",
-      "integrity": "sha512-0XAuGEqID+gon1+fhi4LycOEFM+5Mvm2PjwaiVZNAzU7pn3G2DEpsoXnFOPlLDnHY6ZW0BY0nO7ur9fHOFkBLQ==",
+      "version": "0.12.8",
+      "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.8.tgz",
+      "integrity": "sha512-tyjyDTKy/JLnBSwvhoqd99VIjrP33SdOtwcMD32b+OqnrjZWe8HmZECbfBoacqoxjHd58gfeNw6wA7uvqWFa4w==",
       "dev": true
       "dev": true
     },
     },
     "typescript": {
     "typescript": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
-      "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",
+      "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==",
       "dev": true
       "dev": true
     },
     },
     "uglify-js": {
     "uglify-js": {
-      "version": "3.12.8",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.8.tgz",
-      "integrity": "sha512-fvBeuXOsvqjecUtF/l1dwsrrf5y2BCUk9AOJGzGcm6tE7vegku5u/YvqjyDaAGr422PLoLnrxg3EnRvTqsdC1w==",
+      "version": "3.13.0",
+      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.0.tgz",
+      "integrity": "sha512-TWYSWa9T2pPN4DIJYbU9oAjQx+5qdV5RUDxwARg8fmJZrD/V27Zj0JngW5xg1DFz42G0uDYl2XhzF6alSzD62w==",
       "dev": true,
       "dev": true,
       "optional": true
       "optional": true
     },
     },
@@ -4152,6 +4144,12 @@
       "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==",
       "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==",
       "dev": true
       "dev": true
     },
     },
+    "yallist": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+      "dev": true
+    },
     "yargs": {
     "yargs": {
       "version": "7.1.1",
       "version": "7.1.1",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz",

+ 9 - 9
package.json

@@ -19,18 +19,18 @@
     "url": "https://github.com/Microsoft/monaco-editor"
     "url": "https://github.com/Microsoft/monaco-editor"
   },
   },
   "devDependencies": {
   "devDependencies": {
-    "clean-css": "^4.2.3",
+    "clean-css": "^5.1.1",
     "event-stream": "4.0.1",
     "event-stream": "4.0.1",
     "gulp": "^4.0.2",
     "gulp": "^4.0.2",
-    "monaco-css": "3.2.0",
-    "monaco-editor-core": "0.22.3",
-    "monaco-html": "3.2.0",
-    "monaco-json": "3.3.0",
-    "monaco-languages": "2.2.0",
-    "monaco-typescript": "4.2.0",
+    "monaco-css": "3.3.0",
+    "monaco-editor-core": "0.23.0",
+    "monaco-html": "3.3.0",
+    "monaco-json": "3.4.0",
+    "monaco-languages": "2.3.0",
+    "monaco-typescript": "4.3.1",
     "rimraf": "^3.0.2",
     "rimraf": "^3.0.2",
-    "typedoc": "^0.20.25",
-    "typescript": "4.1.3",
+    "typedoc": "^0.20.29",
+    "typescript": "4.2.3",
     "uncss": "^0.17.3",
     "uncss": "^0.17.3",
     "vinyl": "^2.2.1",
     "vinyl": "^2.2.1",
     "yaserver": "^0.3.0"
     "yaserver": "^0.3.0"

+ 52 - 10
typedoc/monaco.d.ts

@@ -1158,9 +1158,15 @@ declare namespace monaco.editor {
          * Theme to be used for rendering.
          * Theme to be used for rendering.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * You can create custom themes via `monaco.editor.defineTheme`.
          * You can create custom themes via `monaco.editor.defineTheme`.
-         * To switch a theme, use `monaco.editor.setTheme`
+         * To switch a theme, use `monaco.editor.setTheme`.
+         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
          */
          */
         theme?: string;
         theme?: string;
+        /**
+         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
+         * Defaults to true.
+         */
+        autoDetectHighContrast?: boolean;
     }
     }
 
 
     /**
     /**
@@ -1185,9 +1191,15 @@ declare namespace monaco.editor {
          * Initial theme to be used for rendering.
          * Initial theme to be used for rendering.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * You can create custom themes via `monaco.editor.defineTheme`.
          * You can create custom themes via `monaco.editor.defineTheme`.
-         * To switch a theme, use `monaco.editor.setTheme`
+         * To switch a theme, use `monaco.editor.setTheme`.
+         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
          */
          */
         theme?: string;
         theme?: string;
+        /**
+         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
+         * Defaults to true.
+         */
+        autoDetectHighContrast?: boolean;
         /**
         /**
          * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
          * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
          * the accessibility help dialog in the editor.
          * the accessibility help dialog in the editor.
@@ -1205,9 +1217,15 @@ declare namespace monaco.editor {
          * Initial theme to be used for rendering.
          * Initial theme to be used for rendering.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * You can create custom themes via `monaco.editor.defineTheme`.
          * You can create custom themes via `monaco.editor.defineTheme`.
-         * To switch a theme, use `monaco.editor.setTheme`
+         * To switch a theme, use `monaco.editor.setTheme`.
+         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
          */
          */
         theme?: string;
         theme?: string;
+        /**
+         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
+         * Defaults to true.
+         */
+        autoDetectHighContrast?: boolean;
     }
     }
 
 
     export interface IStandaloneCodeEditor extends ICodeEditor {
     export interface IStandaloneCodeEditor extends ICodeEditor {
@@ -3252,6 +3270,14 @@ declare namespace monaco.editor {
          * Control the wrapping of the diff editor.
          * Control the wrapping of the diff editor.
          */
          */
         diffWordWrap?: 'off' | 'on' | 'inherit';
         diffWordWrap?: 'off' | 'on' | 'inherit';
+        /**
+         * Aria label for original editor.
+         */
+        originalAriaLabel?: string;
+        /**
+         * Aria label for modifed editor.
+         */
+        modifiedAriaLabel?: string;
     }
     }
 
 
     /**
     /**
@@ -4085,12 +4111,12 @@ declare namespace monaco.editor {
         accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
         accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
         accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
         accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
         ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
         ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
-        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, EditorAutoClosingStrategy>;
-        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, EditorAutoClosingOvertypeStrategy>;
-        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, EditorAutoClosingStrategy>;
+        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
+        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
+        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
         autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
         autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
         automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
         automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
-        autoSurround: IEditorOption<EditorOption.autoSurround, EditorAutoSurroundStrategy>;
+        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
         stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
         stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
         codeLens: IEditorOption<EditorOption.codeLens, boolean>;
         codeLens: IEditorOption<EditorOption.codeLens, boolean>;
         codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
         codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
@@ -6415,9 +6441,16 @@ declare namespace monaco.languages {
         resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
         resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
     }
     }
 
 
+    export enum InlineHintKind {
+        Other = 0,
+        Type = 1,
+        Parameter = 2
+    }
+
     export interface InlineHint {
     export interface InlineHint {
         text: string;
         text: string;
         range: IRange;
         range: IRange;
+        kind: InlineHintKind;
         description?: string | IMarkdownString;
         description?: string | IMarkdownString;
         whitespaceBefore?: boolean;
         whitespaceBefore?: boolean;
         whitespaceAfter?: boolean;
         whitespaceAfter?: boolean;
@@ -6510,6 +6543,10 @@ declare namespace monaco.languages {
          * Defaults to false
          * Defaults to false
          */
          */
         includeLF?: boolean;
         includeLF?: boolean;
+        /**
+         * Other keys that can be referred to by the tokenizer.
+         */
+        [key: string]: any;
     }
     }
 
 
     /**
     /**
@@ -6801,15 +6838,20 @@ declare namespace monaco.languages.typescript {
     export interface Diagnostic extends DiagnosticRelatedInformation {
     export interface Diagnostic extends DiagnosticRelatedInformation {
         /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
         /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
         reportsUnnecessary?: {};
         reportsUnnecessary?: {};
+        reportsDeprecated?: {};
         source?: string;
         source?: string;
         relatedInformation?: DiagnosticRelatedInformation[];
         relatedInformation?: DiagnosticRelatedInformation[];
     }
     }
-    interface DiagnosticRelatedInformation {
+    export interface DiagnosticRelatedInformation {
         /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
         /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
         category: 0 | 1 | 2 | 3;
         category: 0 | 1 | 2 | 3;
         code: number;
         code: number;
-        /** TypeScriptWorker removes this to avoid serializing circular JSON structures. */
-        file: undefined;
+        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
+        file:
+            | {
+                    fileName: string;
+              }
+            | undefined;
         start: number | undefined;
         start: number | undefined;
         length: number | undefined;
         length: number | undefined;
         messageText: string | DiagnosticMessageChain;
         messageText: string | DiagnosticMessageChain;

+ 52 - 10
website/playground/monaco.d.ts.txt

@@ -1158,9 +1158,15 @@ declare namespace monaco.editor {
          * Theme to be used for rendering.
          * Theme to be used for rendering.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * You can create custom themes via `monaco.editor.defineTheme`.
          * You can create custom themes via `monaco.editor.defineTheme`.
-         * To switch a theme, use `monaco.editor.setTheme`
+         * To switch a theme, use `monaco.editor.setTheme`.
+         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
          */
          */
         theme?: string;
         theme?: string;
+        /**
+         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
+         * Defaults to true.
+         */
+        autoDetectHighContrast?: boolean;
     }
     }
 
 
     /**
     /**
@@ -1185,9 +1191,15 @@ declare namespace monaco.editor {
          * Initial theme to be used for rendering.
          * Initial theme to be used for rendering.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * You can create custom themes via `monaco.editor.defineTheme`.
          * You can create custom themes via `monaco.editor.defineTheme`.
-         * To switch a theme, use `monaco.editor.setTheme`
+         * To switch a theme, use `monaco.editor.setTheme`.
+         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
          */
          */
         theme?: string;
         theme?: string;
+        /**
+         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
+         * Defaults to true.
+         */
+        autoDetectHighContrast?: boolean;
         /**
         /**
          * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
          * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
          * the accessibility help dialog in the editor.
          * the accessibility help dialog in the editor.
@@ -1205,9 +1217,15 @@ declare namespace monaco.editor {
          * Initial theme to be used for rendering.
          * Initial theme to be used for rendering.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          * You can create custom themes via `monaco.editor.defineTheme`.
          * You can create custom themes via `monaco.editor.defineTheme`.
-         * To switch a theme, use `monaco.editor.setTheme`
+         * To switch a theme, use `monaco.editor.setTheme`.
+         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
          */
          */
         theme?: string;
         theme?: string;
+        /**
+         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
+         * Defaults to true.
+         */
+        autoDetectHighContrast?: boolean;
     }
     }
 
 
     export interface IStandaloneCodeEditor extends ICodeEditor {
     export interface IStandaloneCodeEditor extends ICodeEditor {
@@ -3252,6 +3270,14 @@ declare namespace monaco.editor {
          * Control the wrapping of the diff editor.
          * Control the wrapping of the diff editor.
          */
          */
         diffWordWrap?: 'off' | 'on' | 'inherit';
         diffWordWrap?: 'off' | 'on' | 'inherit';
+        /**
+         * Aria label for original editor.
+         */
+        originalAriaLabel?: string;
+        /**
+         * Aria label for modifed editor.
+         */
+        modifiedAriaLabel?: string;
     }
     }
 
 
     /**
     /**
@@ -4085,12 +4111,12 @@ declare namespace monaco.editor {
         accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
         accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
         accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
         accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
         ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
         ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
-        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, EditorAutoClosingStrategy>;
-        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, EditorAutoClosingOvertypeStrategy>;
-        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, EditorAutoClosingStrategy>;
+        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
+        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
+        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
         autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
         autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
         automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
         automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
-        autoSurround: IEditorOption<EditorOption.autoSurround, EditorAutoSurroundStrategy>;
+        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
         stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
         stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
         codeLens: IEditorOption<EditorOption.codeLens, boolean>;
         codeLens: IEditorOption<EditorOption.codeLens, boolean>;
         codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
         codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
@@ -6415,9 +6441,16 @@ declare namespace monaco.languages {
         resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
         resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
     }
     }
 
 
+    export enum InlineHintKind {
+        Other = 0,
+        Type = 1,
+        Parameter = 2
+    }
+
     export interface InlineHint {
     export interface InlineHint {
         text: string;
         text: string;
         range: IRange;
         range: IRange;
+        kind: InlineHintKind;
         description?: string | IMarkdownString;
         description?: string | IMarkdownString;
         whitespaceBefore?: boolean;
         whitespaceBefore?: boolean;
         whitespaceAfter?: boolean;
         whitespaceAfter?: boolean;
@@ -6510,6 +6543,10 @@ declare namespace monaco.languages {
          * Defaults to false
          * Defaults to false
          */
          */
         includeLF?: boolean;
         includeLF?: boolean;
+        /**
+         * Other keys that can be referred to by the tokenizer.
+         */
+        [key: string]: any;
     }
     }
 
 
     /**
     /**
@@ -6801,15 +6838,20 @@ declare namespace monaco.languages.typescript {
     export interface Diagnostic extends DiagnosticRelatedInformation {
     export interface Diagnostic extends DiagnosticRelatedInformation {
         /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
         /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
         reportsUnnecessary?: {};
         reportsUnnecessary?: {};
+        reportsDeprecated?: {};
         source?: string;
         source?: string;
         relatedInformation?: DiagnosticRelatedInformation[];
         relatedInformation?: DiagnosticRelatedInformation[];
     }
     }
-    interface DiagnosticRelatedInformation {
+    export interface DiagnosticRelatedInformation {
         /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
         /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
         category: 0 | 1 | 2 | 3;
         category: 0 | 1 | 2 | 3;
         code: number;
         code: number;
-        /** TypeScriptWorker removes this to avoid serializing circular JSON structures. */
-        file: undefined;
+        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
+        file:
+            | {
+                    fileName: string;
+              }
+            | undefined;
         start: number | undefined;
         start: number | undefined;
         length: number | undefined;
         length: number | undefined;
         messageText: string | DiagnosticMessageChain;
         messageText: string | DiagnosticMessageChain;