From 3b8238c2e222a6537b19b8901198b7e369e8319a Mon Sep 17 00:00:00 2001 From: Gina Wu <42229107+ginazhouhuiwu@users.noreply.github.com> Date: Mon, 1 Jul 2024 04:44:50 -0700 Subject: [PATCH] Add c/cpp code support (#8665) * Add c/cpp code support * lint * add changeset --------- Co-authored-by: gradio-pr-bot --- .changeset/light-gifts-pull.md | 6 ++++++ gradio/components/code.py | 4 ++++ js/code/shared/Download.svelte | 4 +++- js/code/shared/language.ts | 11 +++++++++++ 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 .changeset/light-gifts-pull.md diff --git a/.changeset/light-gifts-pull.md b/.changeset/light-gifts-pull.md new file mode 100644 index 000000000000..e7d11522cdea --- /dev/null +++ b/.changeset/light-gifts-pull.md @@ -0,0 +1,6 @@ +--- +"@gradio/code": minor +"gradio": minor +--- + +feat:Add c/cpp code support diff --git a/gradio/components/code.py b/gradio/components/code.py index f14d1ba27c07..e396d502059d 100644 --- a/gradio/components/code.py +++ b/gradio/components/code.py @@ -22,6 +22,8 @@ class Code(Component): languages = [ "python", + "c", + "cpp", "markdown", "json", "html", @@ -60,6 +62,8 @@ def __init__( value: str | Callable | tuple[str] | None = None, language: Literal[ "python", + "c", + "cpp", "markdown", "json", "html", diff --git a/js/code/shared/Download.svelte b/js/code/shared/Download.svelte index 5639c0a800c0..aefdd499e57b 100644 --- a/js/code/shared/Download.svelte +++ b/js/code/shared/Download.svelte @@ -27,7 +27,9 @@ dockerfile: "dockerfile", sh: "sh", shell: "sh", - r: "r" + r: "r", + c: "c", + cpp: "cpp" }; return exts[type] || "txt"; diff --git a/js/code/shared/language.ts b/js/code/shared/language.ts index a265b6d1d673..a4492bfd815c 100644 --- a/js/code/shared/language.ts +++ b/js/code/shared/language.ts @@ -1,9 +1,12 @@ import type { Extension } from "@codemirror/state"; import { StreamLanguage } from "@codemirror/language"; import { sql } from "@codemirror/legacy-modes/mode/sql"; +import { _ } from "svelte-i18n"; const possible_langs = [ "python", + "c", + "cpp", "markdown", "json", "html", @@ -35,6 +38,14 @@ const sql_dialects = [ const lang_map: Record Promise) | undefined> = { python: () => import("@codemirror/lang-python").then((m) => m.python()), + c: () => + import("@codemirror/legacy-modes/mode/clike").then((m) => + StreamLanguage.define(m.c) + ), + cpp: () => + import("@codemirror/legacy-modes/mode/clike").then((m) => + StreamLanguage.define(m.cpp) + ), markdown: async () => { const [md, frontmatter] = await Promise.all([ import("@codemirror/lang-markdown"),