From d29286f9e34a02d694efa8bb4e6f2ffe66cd7ceb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 11 May 2025 11:27:27 +0300 Subject: [PATCH] chore(code): reintroduce placeholder --- apps/client/src/widgets/type_widgets/editable_code.ts | 2 +- packages/codemirror/src/index.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/client/src/widgets/type_widgets/editable_code.ts b/apps/client/src/widgets/type_widgets/editable_code.ts index da33bcc0e..5bc9bc65e 100644 --- a/apps/client/src/widgets/type_widgets/editable_code.ts +++ b/apps/client/src/widgets/type_widgets/editable_code.ts @@ -44,6 +44,7 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { getExtraOpts(): Partial { return { + placeholder: t("editable_code.placeholder"), onContentChanged: () => this.spacedUpdate.scheduleUpdate() } } @@ -55,7 +56,6 @@ export default class EditableCodeTypeWidget extends AbstractCodeTypeWidget { // gutters: ["CodeMirror-lint-markers"], // tabindex: 300, // dragDrop: false, // with true the editor inlines dropped files which is not what we expect - // placeholder: t("editable_code.placeholder") // }; // } diff --git a/packages/codemirror/src/index.ts b/packages/codemirror/src/index.ts index 74e9a2ed4..0a3b8989d 100644 --- a/packages/codemirror/src/index.ts +++ b/packages/codemirror/src/index.ts @@ -1,5 +1,5 @@ import { defaultKeymap, indentWithTab } from "@codemirror/commands"; -import { EditorView, keymap, lineNumbers, ViewUpdate, type EditorViewConfig, type KeyBinding } from "@codemirror/view"; +import { EditorView, keymap, lineNumbers, placeholder, ViewUpdate, type EditorViewConfig, type KeyBinding } from "@codemirror/view"; import { defaultHighlightStyle, StreamLanguage, syntaxHighlighting } from "@codemirror/language"; import { Compartment } from "@codemirror/state"; import byMimeType from "./syntax_highlighting.js"; @@ -7,6 +7,7 @@ import byMimeType from "./syntax_highlighting.js"; type ContentChangedListener = () => void; export interface EditorConfig extends EditorViewConfig { + placeholder?: string; onContentChanged?: ContentChangedListener; } @@ -31,6 +32,10 @@ export default class CodeMirror extends EditorView { extensions = [...extensions, ...config.extensions]; } + if (config.placeholder) { + extensions.push(placeholder(config.placeholder)); + } + if (config.onContentChanged) { extensions.push(EditorView.updateListener.of((v) => this.#onDocumentUpdated(v))); }