From 037ac1681ba7868b63f05ff2d863f37cfb8fa626 Mon Sep 17 00:00:00 2001 From: zoobestik Date: Fri, 27 Sep 2019 17:49:39 +0300 Subject: [PATCH 1/5] feat(editor): use google-modes for syntax highlight --- package.json | 3 +++ src/executable-code/index.js | 3 ++- webpack.config.js | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 71dcf55d..6a2a3559 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "babel-plugin-async-to-promises": "^1.0.5", "ci-publish": "^1.3.1", "codemirror": "^5.48.4", + "codemirror-grammar-mode": "^0.1.9", "css-loader": "2.1.1", "debounce": "^1.2.0", "deepmerge": "^1.5.0", @@ -32,7 +33,9 @@ "fast-async": "7", "flatten": "^1.0.2", "github-markdown-css": "^3.0.1", + "google_modes": "git+https://github.com/codemirror/google-modes.git", "html-webpack-plugin": "^3.2.0", + "imports-loader": "^0.8.0", "is-empty-object": "^1.1.1", "markdown-it": "^8.4.2", "markdown-it-highlightjs": "^3.0.0", diff --git a/src/executable-code/index.js b/src/executable-code/index.js index cec26ac9..155ecd7e 100644 --- a/src/executable-code/index.js +++ b/src/executable-code/index.js @@ -15,6 +15,7 @@ import 'codemirror/addon/comment/continuecomment' import 'codemirror/mode/javascript/javascript'; import 'codemirror/mode/shell/shell'; import 'codemirror/mode/swift/swift'; +import 'google_modes/dist/kotlin'; import merge from 'deepmerge'; import Set from 'es6-set/polyfill'; import defaultConfig, {API_URLS} from '../config'; @@ -51,7 +52,7 @@ const ATTRIBUTES = { const MODES = { JAVA: "text/x-java", - KOTLIN: "text/x-kotlin", + KOTLIN: "google-kotlin", JS: "text/javascript", GROOVY: "text/x-groovy", XML: "text/html", diff --git a/webpack.config.js b/webpack.config.js index 19e8cd16..466834d2 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -38,6 +38,10 @@ module.exports = (params = {}) => { include: path.resolve(__dirname, 'src'), loader: 'babel-loader' }, + { + test: require.resolve("codemirror-grammar-mode"), + use: "imports-loader?CodeMirror=codemirror" + }, { test: /\.monk$/, loader: 'monkberry-loader' From f9c708b8a47d3e8e035febcc37e39736a135e58f Mon Sep 17 00:00:00 2001 From: zoobestik Date: Thu, 26 Sep 2019 12:44:57 +0300 Subject: [PATCH 2/5] docs(examples): add kotlin string literals --- examples.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples.md b/examples.md index 39247e11..7c1383a7 100644 --- a/examples.md +++ b/examples.md @@ -43,7 +43,7 @@ Turns into: class Contact(val id: Int, var email: String) fun main(args: Array) { - val contact = Contact(1, "mary@gmail.com") + val contact = Contact(1, "mary@gmail.com $args, ${args.size}") println(contact.id) } ``` @@ -59,7 +59,7 @@ You can also change the playground theme or disable run button using `theme` and ```kotlin fun main(args: Array) { - println("Hello World!") + println("Hello World! $args, ${args.size}") } ``` @@ -71,7 +71,7 @@ Or theme `darcula` ```kotlin fun main(args: Array) { - println("Hello World!") + println("Hello World! $args, ${args.size}") } ``` From 6a14a2c2f43d9b7a1cf82393b4c8115a0bb2182d Mon Sep 17 00:00:00 2001 From: zoobestik Date: Fri, 27 Sep 2019 17:56:46 +0300 Subject: [PATCH 3/5] fixup! feat(editor): use google-modes for syntax highlight --- yarn.lock | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/yarn.lock b/yarn.lock index ca2a4727..d164d226 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1584,6 +1584,16 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +codemirror-grammar-mode@^0.1.9: + version "0.1.9" + resolved "https://registry.yarnpkg.com/codemirror-grammar-mode/-/codemirror-grammar-mode-0.1.9.tgz#2cd4f376bb5b8ed05071f5f471389aef47f0332d" + integrity sha512-F9EQ8aE2QU7Uo3rvGMs05DpAqN3muNAMvJcw27usxdyPLw7vWhHeUIuTAzo0541vDLV+JaoJItWbGo3QmMBmFw== + +codemirror@^5.42.2: + version "5.49.0" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.49.0.tgz#adedbffcc81091e4a0334bcb96b1ae3b7ada5e3f" + integrity sha512-Hyzr0HToBdZpLBN9dYFO/KlJAsKH37/cXVHPAqa+imml0R92tb9AkmsvjnXL+SluEvjjdfkDgRjc65NG5jnMYA== + codemirror@^5.48.4: version "5.48.4" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.48.4.tgz#4210fbe92be79a88f0eea348fab3ae78da85ce47" @@ -2923,6 +2933,12 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" +"google_modes@git+https://github.com/codemirror/google-modes.git": + version "1.0.0" + resolved "git+https://github.com/codemirror/google-modes.git#85a10b3b46b921708a049cc643c27f4a1b4db404" + dependencies: + codemirror "^5.42.2" + got@^5.0.0: version "5.7.1" resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" @@ -3266,6 +3282,14 @@ import-local@^2.0.0: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" +imports-loader@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.8.0.tgz#030ea51b8ca05977c40a3abfd9b4088fe0be9a69" + integrity sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ== + dependencies: + loader-utils "^1.0.2" + source-map "^0.6.1" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" From 4466d6aa2e4e8bc99b4a9dc58815c163db1f5a3d Mon Sep 17 00:00:00 2001 From: zoobestik Date: Fri, 27 Sep 2019 18:17:27 +0300 Subject: [PATCH 4/5] fixup! docs(examples): add kotlin string literals --- examples.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples.md b/examples.md index 7c1383a7..19f9d5c2 100644 --- a/examples.md +++ b/examples.md @@ -30,8 +30,8 @@ For instance following block of Kotlin code: class Contact(val id: Int, var email: String) fun main(args: Array) { - val contact = Contact(1, "mary@gmail.com") - println(contact.id) + val contact = Contact(1, "mary@gmail.com $args, ${args.size}") + println(contact.id) } ``` From 385c7af2d957bd393d3158fabf2b1e5e3caded95 Mon Sep 17 00:00:00 2001 From: zoobestik Date: Sat, 28 Sep 2019 00:28:42 +0300 Subject: [PATCH 5/5] fixup! feat(editor): use google-modes for syntax highlight --- package.json | 3 +++ yarn.lock | 7 +------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6a2a3559..6a87c472 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,9 @@ "files": [ "dist" ], + "resolutions": { + "**/codemirror": "^5.48.4" + }, "devDependencies": { "@babel/cli": "^7.4.4", "@babel/core": "~7.4.4", diff --git a/yarn.lock b/yarn.lock index d164d226..7846a1e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1589,12 +1589,7 @@ codemirror-grammar-mode@^0.1.9: resolved "https://registry.yarnpkg.com/codemirror-grammar-mode/-/codemirror-grammar-mode-0.1.9.tgz#2cd4f376bb5b8ed05071f5f471389aef47f0332d" integrity sha512-F9EQ8aE2QU7Uo3rvGMs05DpAqN3muNAMvJcw27usxdyPLw7vWhHeUIuTAzo0541vDLV+JaoJItWbGo3QmMBmFw== -codemirror@^5.42.2: - version "5.49.0" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.49.0.tgz#adedbffcc81091e4a0334bcb96b1ae3b7ada5e3f" - integrity sha512-Hyzr0HToBdZpLBN9dYFO/KlJAsKH37/cXVHPAqa+imml0R92tb9AkmsvjnXL+SluEvjjdfkDgRjc65NG5jnMYA== - -codemirror@^5.48.4: +codemirror@^5.42.2, codemirror@^5.48.4: version "5.48.4" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.48.4.tgz#4210fbe92be79a88f0eea348fab3ae78da85ce47" integrity sha512-pUhZXDQ6qXSpWdwlgAwHEkd4imA0kf83hINmUEzJpmG80T/XLtDDEzZo8f6PQLuRCcUQhmzqqIo3ZPTRaWByRA==