Skip to content

Commit ad9ce27

Browse files
authored
feat: add autocompletionConfig to markupConfig (#325)
1 parent a50d8a7 commit ad9ce27

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/bundle/Editor.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ export type MarkupConfig = {
123123
* See more https://codemirror.net/docs/ref/#state.EditorState.languageDataAt
124124
*/
125125
languageData?: YfmLangOptions['languageData'];
126+
/** Config for @codemirror/autocomplete https://codemirror.net/docs/ref/#autocomplete.autocompletion%5Econfig */
127+
autocompletion?: CreateCodemirrorParams['autocompletion'];
126128
};
127129

128130
export type EscapeConfig = {
@@ -310,6 +312,7 @@ export class EditorImpl extends SafeEventEmitter<EventMapInt> implements EditorI
310312
disabledExtensions: this.#markupConfig.disabledExtensions,
311313
keymaps: this.#markupConfig.keymaps,
312314
yfmLangOptions: {languageData: this.#markupConfig.languageData},
315+
autocompletion: this.#markupConfig.autocompletion,
313316
receiver: this,
314317
}),
315318
);

src/markup/codemirror/create.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ import {type YfmLangOptions, yfmLang} from './yfm';
4343

4444
export type {YfmLangOptions};
4545

46+
type Autocompletion = Parameters<typeof autocompletion>[0];
47+
4648
export type CreateCodemirrorParams = {
4749
doc: EditorViewConfig['doc'];
4850
placeholderText: string;
@@ -61,6 +63,7 @@ export type CreateCodemirrorParams = {
6163
keymaps?: readonly KeyBinding[];
6264
receiver?: Receiver<EventMap>;
6365
yfmLangOptions?: YfmLangOptions;
66+
autocompletion?: Autocompletion;
6467
};
6568

6669
export function createCodemirror(params: CreateCodemirrorParams) {
@@ -78,6 +81,7 @@ export function createCodemirror(params: CreateCodemirrorParams) {
7881
keymaps = [],
7982
receiver,
8083
yfmLangOptions,
84+
autocompletion: autocompletionConfig,
8185
} = params;
8286

8387
const extensions: Extension[] = [gravityTheme, placeholder(placeholderText)];
@@ -126,7 +130,7 @@ export function createCodemirror(params: CreateCodemirrorParams) {
126130
...(disabledExtensions.history ? [] : historyKeymap),
127131
...keymaps,
128132
]),
129-
autocompletion(),
133+
autocompletion(autocompletionConfig),
130134
yfmLang(yfmLangOptions),
131135
ReactRendererFacet.of(reactRenderer),
132136
PairingCharactersExtension,

0 commit comments

Comments
 (0)