From e211ef60275615f638a09b2c1052b361790aa07e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Alejos?= Date: Thu, 5 Sep 2024 12:25:24 -0400 Subject: [PATCH] Add python language support in codemirror (#2772) Co-authored-by: Andres Alejos --- .../live_editor/codemirror/languages.js | 8 ++++ assets/package-lock.json | 47 +++++++++++++++++++ assets/package.json | 1 + 3 files changed, 56 insertions(+) diff --git a/assets/js/hooks/cell_editor/live_editor/codemirror/languages.js b/assets/js/hooks/cell_editor/live_editor/codemirror/languages.js index fa89d79f8..e10f9a720 100644 --- a/assets/js/hooks/cell_editor/live_editor/codemirror/languages.js +++ b/assets/js/hooks/cell_editor/live_editor/codemirror/languages.js @@ -9,6 +9,7 @@ import { json } from "@codemirror/lang-json"; import { xml } from "@codemirror/lang-xml"; import { css } from "@codemirror/lang-css"; import { html } from "@codemirror/lang-html"; +import { python } from "@codemirror/lang-python"; import { yaml } from "@codemirror/lang-yaml"; import { javascript } from "@codemirror/lang-javascript"; import { erlang } from "@codemirror/legacy-modes/mode/erlang"; @@ -30,6 +31,11 @@ const sqlDesc = LanguageDescription.of({ support: sql(), }); +const pythonDesc = LanguageDescription.of({ + name: "Python", + support: python(), +}); + const yamlDesc = LanguageDescription.of({ name: "YAML", support: yaml(), @@ -73,6 +79,7 @@ const markdownDesc = LanguageDescription.of({ elixirDesc, erlangDesc, sqlDesc, + pythonDesc, yamlDesc, jsonDesc, xmlDesc, @@ -88,6 +95,7 @@ export const languages = [ elixirDesc, erlangDesc, sqlDesc, + pythonDesc, yamlDesc, jsonDesc, xmlDesc, diff --git a/assets/package-lock.json b/assets/package-lock.json index 38cdfb733..8f9c27c3a 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -12,6 +12,7 @@ "@codemirror/lang-javascript": "^6.2.1", "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-markdown": "^6.2.3", + "@codemirror/lang-python": "^6.1.6", "@codemirror/lang-sql": "^6.5.5", "@codemirror/lang-xml": "^6.0.2", "@codemirror/lang-yaml": "^6.1.1", @@ -1884,6 +1885,19 @@ "@lezer/markdown": "^1.0.0" } }, + "node_modules/@codemirror/lang-python": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@codemirror/lang-python/-/lang-python-6.1.6.tgz", + "integrity": "sha512-ai+01WfZhWqM92UqjnvorkxosZ2aq2u28kHvr+N3gu012XqY2CThD67JPMHnGceRfXPDBmn1HnyqowdpF57bNg==", + "license": "MIT", + "dependencies": { + "@codemirror/autocomplete": "^6.3.2", + "@codemirror/language": "^6.8.0", + "@codemirror/state": "^6.0.0", + "@lezer/common": "^1.2.1", + "@lezer/python": "^1.1.4" + } + }, "node_modules/@codemirror/lang-sql": { "version": "6.6.4", "resolved": "https://registry.npmjs.org/@codemirror/lang-sql/-/lang-sql-6.6.4.tgz", @@ -3190,6 +3204,17 @@ "@lezer/highlight": "^1.0.0" } }, + "node_modules/@lezer/python": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/@lezer/python/-/python-1.1.14.tgz", + "integrity": "sha512-ykDOb2Ti24n76PJsSa4ZoDF0zH12BSw1LGfQXCYJhJyOGiFTfGaX0Du66Ze72R+u/P35U+O6I9m8TFXov1JzsA==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, "node_modules/@lezer/xml": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@lezer/xml/-/xml-1.0.4.tgz", @@ -16179,6 +16204,18 @@ "@lezer/markdown": "^1.0.0" } }, + "@codemirror/lang-python": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@codemirror/lang-python/-/lang-python-6.1.6.tgz", + "integrity": "sha512-ai+01WfZhWqM92UqjnvorkxosZ2aq2u28kHvr+N3gu012XqY2CThD67JPMHnGceRfXPDBmn1HnyqowdpF57bNg==", + "requires": { + "@codemirror/autocomplete": "^6.3.2", + "@codemirror/language": "^6.8.0", + "@codemirror/state": "^6.0.0", + "@lezer/common": "^1.2.1", + "@lezer/python": "^1.1.4" + } + }, "@codemirror/lang-sql": { "version": "6.6.4", "resolved": "https://registry.npmjs.org/@codemirror/lang-sql/-/lang-sql-6.6.4.tgz", @@ -17079,6 +17116,16 @@ "@lezer/highlight": "^1.0.0" } }, + "@lezer/python": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/@lezer/python/-/python-1.1.14.tgz", + "integrity": "sha512-ykDOb2Ti24n76PJsSa4ZoDF0zH12BSw1LGfQXCYJhJyOGiFTfGaX0Du66Ze72R+u/P35U+O6I9m8TFXov1JzsA==", + "requires": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, "@lezer/xml": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@lezer/xml/-/xml-1.0.4.tgz", diff --git a/assets/package.json b/assets/package.json index cf758d676..54ac0aa3a 100644 --- a/assets/package.json +++ b/assets/package.json @@ -16,6 +16,7 @@ "@codemirror/lang-javascript": "^6.2.1", "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-markdown": "^6.2.3", + "@codemirror/lang-python": "^6.1.6", "@codemirror/lang-sql": "^6.5.5", "@codemirror/lang-xml": "^6.0.2", "@codemirror/lang-yaml": "^6.1.1",