Skip to content

Commit 4996b12

Browse files
authored
feat: pass extra codemirror extensions (#289)
1 parent 63feec2 commit 4996b12

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/bundle/Editor.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type {ReactNode} from 'react';
22

3+
import type {Extension as CodemirrorExtension} from '@codemirror/state';
34
import {TextSelection} from 'prosemirror-state';
45
import {EditorView as PMEditorView} from 'prosemirror-view';
56

@@ -135,6 +136,7 @@ export type EditorOptions = Pick<
135136
splitMode?: SplitMode;
136137
renderPreview?: RenderPreview;
137138
preset: EditorPreset;
139+
extraMarkupExtensions?: CodemirrorExtension[];
138140
};
139141

140142
/** @internal */
@@ -147,6 +149,7 @@ export class EditorImpl extends SafeEventEmitter<EventMapInt> implements EditorI
147149
#renderPreview?: RenderPreview;
148150
#wysiwygEditor?: WysiwygEditor;
149151
#markupEditor?: MarkupEditor;
152+
#extraMarkupExtensions?: CodemirrorExtension[];
150153

151154
readonly #preset: EditorPreset;
152155
#allowHTML?: boolean;
@@ -269,6 +272,7 @@ export class EditorImpl extends SafeEventEmitter<EventMapInt> implements EditorI
269272
reactRenderer: this.#renderStorage,
270273
uploadHandler: this.fileUploadHandler,
271274
needImgDimms: this.needToSetDimensionsForUploadedImages,
275+
extraMarkupExtensions: this.#extraMarkupExtensions,
272276
}),
273277
);
274278
}
@@ -302,6 +306,7 @@ export class EditorImpl extends SafeEventEmitter<EventMapInt> implements EditorI
302306
this.#linkifyTlds = opts.linkifyTlds;
303307
this.#allowHTML = opts.allowHTML;
304308
this.#extensions = opts.extensions;
309+
this.#extraMarkupExtensions = opts.extraMarkupExtensions;
305310

306311
this.#renderStorage = opts.renderStorage;
307312
this.#fileUploadHandler = opts.fileUploadHandler;

src/markup/codemirror/create.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export type CreateCodemirrorParams = {
4949
reactRenderer: ReactRenderStorage;
5050
uploadHandler?: FileUploadHandler;
5151
needImgDimms?: boolean;
52+
extraMarkupExtensions?: Extension[];
5253
};
5354

5455
export function createCodemirror(params: CreateCodemirrorParams) {
@@ -61,6 +62,7 @@ export function createCodemirror(params: CreateCodemirrorParams) {
6162
onSubmit,
6263
onChange,
6364
onDocChange,
65+
extraMarkupExtensions,
6466
} = params;
6567

6668
const extensions: Extension[] = [
@@ -125,6 +127,9 @@ export function createCodemirror(params: CreateCodemirrorParams) {
125127
}),
126128
);
127129
}
130+
if (extraMarkupExtensions) {
131+
extensions.push(...extraMarkupExtensions);
132+
}
128133

129134
return new EditorView({
130135
doc,

0 commit comments

Comments
 (0)