Also, while I'm in here, consolidate typeKeywords into keywords in order to make it easier to keep this in sync with TypeScript going forward. I'm assuming that typeKeywords is not part of Monaco's public API that third-party integrations are supposed to depend on; if it is, then I can undo this.
Fixes: microsoft/monaco-editor#1978
This supports https://github.com/microsoft/monaco-editor/issues/1762.
Note the new Python 3 keywords are:
* `async`
* `await`
* `nonlocal`
I also reorganized the list a bit because it seems like it contains
a mixture of keywords and builtins (and `self`, which is neither...),
so it is helpful to be specific to illustrate how to properly maintain
the list.
Fixes a typo introduced in #101 where the rendered regex was not escaped correctly.
```
$ npm run test
ERROR in ../node_modules/monaco-editor/esm/vs/editor/editor.api.js (include-loader!../node_modules/monaco-editor/esm/vs/editor/editor.api.js) 9:15
Module parse failed: Invalid regular expression: /^((http:)|(https:)|(file:)|(/: Unterminated group (9:15)
File was processed with these loaders:
* ../out/loaders/include.js
You may need an additional loader to handle the result of these loaders.
| var pathPrefix = typeof __webpack_public_path__ === 'string' ? __webpack_public_path__ : "";
| var result = (pathPrefix ? stripTrailingSlash(pathPrefix) + '/' : '') + paths[label];
> if (/^((http:)|(https:)|(file:)|(//))/.test(result)) {
| var currentUrl = String(window.location);
| var currentOrigin = currentUrl.substr(0, currentUrl.length - window.location.hash.length - window.location.search.length - window.location.pathname.length);
@ ./index.js 2:0-77 4:0-13
```
Tested on local.