diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 1ba0bdc4..f2b14066 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,7 +5,7 @@ on: [push, pull_request]
jobs:
build:
name: CI
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
diff --git a/src/basic-languages/sql/keywords.js b/src/basic-languages/sql/keywords.js
index 9573a25f..25c7c771 100644
--- a/src/basic-languages/sql/keywords.js
+++ b/src/basic-languages/sql/keywords.js
@@ -7,6 +7,7 @@ const keywordsSet = new Set();
addArrToSet(keywordsSet, getMicrosoftSQLKeywords());
addArrToSet(keywordsSet, getSQLiteKeywords());
+addArrToSet(keywordsSet, getSnowflakeSQLKeywords());
const keywords = setToArr(keywordsSet);
keywords.sort();
@@ -610,3 +611,104 @@ function getSQLiteKeywords() {
.map((t) => t.trim())
.filter((t) => !!t);
}
+
+function getSnowflakeSQLKeywords() {
+ // https://docs.snowflake.com/en/sql-reference/reserved-keywords
+ return `
+ ACCOUNT
+ ALL
+ ALTER
+ AND
+ ANY
+ AS
+ BETWEEN
+ BY
+ CASE
+ CAST
+ CHECK
+ COLUMN
+ CONNECT
+ CONNECTION
+ CONSTRAINT
+ CREATE
+ CROSS
+ CURRENT
+ CURRENT_DATE
+ CURRENT_TIME
+ CURRENT_TIMESTAMP
+ CURRENT_USER
+ DATABASE
+ DELETE
+ DISTINCT
+ DROP
+ ELSE
+ EXISTS
+ FALSE
+ FOLLOWING
+ FOR
+ FROM
+ FULL
+ GRANT
+ GROUP
+ GSCLUSTER
+ HAVING
+ ILIKE
+ IN
+ INCREMENT
+ INNER
+ INSERT
+ INTERSECT
+ INTO
+ IS
+ ISSUE
+ JOIN
+ LATERAL
+ LEFT
+ LIKE
+ LOCALTIME
+ LOCALTIMESTAMP
+ MINUS
+ NATURAL
+ NOT
+ NULL
+ OF
+ ON
+ OR
+ ORDER
+ ORGANIZATION
+ QUALIFY
+ REGEXP
+ REVOKE
+ RIGHT
+ RLIKE
+ ROW
+ ROWS
+ SAMPLE
+ SCHEMA
+ SELECT
+ SET
+ SOME
+ START
+ TABLE
+ TABLESAMPLE
+ THEN
+ TO
+ TRIGGER
+ TRUE
+ TRY_CAST
+ UNION
+ UNIQUE
+ UPDATE
+ USING
+ VALUES
+ VIEW
+ WHEN
+ WHENEVER
+ WHERE
+ WINDOW
+ WITH
+ `
+ .split(/\r\n|\r|\n/)
+ .map((t) => t.trim())
+ .filter((t) => !!t);
+}
diff --git a/webpack-plugin/package.json b/webpack-plugin/package.json
index 48e5e135..07ac8fed 100644
--- a/webpack-plugin/package.json
+++ b/webpack-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "monaco-editor-webpack-plugin",
- "version": "7.1.0",
+ "version": "7.1.1",
"description": "A webpack plugin for the Monaco Editor",
"main": "out/index.js",
"typings": "./out/index.d.ts",
diff --git a/webpack-plugin/src/index.ts b/webpack-plugin/src/index.ts
index 529dd044..ea8ca293 100644
--- a/webpack-plugin/src/index.ts
+++ b/webpack-plugin/src/index.ts
@@ -296,7 +296,14 @@ function createLoaderRules(
if(/^(\\/\\/)/.test(result)) {
result = window.location.protocol + result
}
- var js = '/*' + label + '*/importScripts("' + result + '");';
+ var js = '/*' + label + '*/';
+ if (typeof import.meta !== 'undefined') {
+ // module worker
+ js += 'import "' + result + '";';
+ } else {
+ // classic worker
+ js += 'importScripts("' + result + '");';
+ }
var blob = new Blob([js], { type: 'application/javascript' });
return URL.createObjectURL(blob);
}
diff --git a/website/src/website/pages/playground/PlaygroundPageContent.tsx b/website/src/website/pages/playground/PlaygroundPageContent.tsx
index 4681b0fb..4b163669 100644
--- a/website/src/website/pages/playground/PlaygroundPageContent.tsx
+++ b/website/src/website/pages/playground/PlaygroundPageContent.tsx
@@ -19,7 +19,6 @@ import { Preview } from "./Preview";
import { SettingsDialog } from "./SettingsDialog";
import { getNpmVersionsSync } from "./getNpmVersionsSync";
import { PlaygroundExample, getPlaygroundExamples } from "./playgroundExamples";
-import { getDefaultSettings, toLoaderConfig } from "./SettingsModel";
@hotComponent(module)
@observer
@@ -85,6 +84,7 @@ export class PlaygroundPageContent extends React.Component<
}
>