UNPKG

905 BTypeScriptView Raw
1import '../../';
2
3declare module '../../' {
4 // Based on https://codemirror.net/demo/simplemode.html
5 interface Rule {
6 regex?: string | RegExp | undefined;
7 token?: string | string[] | null | undefined;
8 sol?: boolean | undefined;
9 next?: string | undefined;
10 push?: string | undefined;
11 pop?: boolean | undefined;
12 mode?: {
13 spec: string | ModeSpec<any>;
14 end?: RegExp | undefined;
15 persistent?: boolean | undefined;
16 } | undefined;
17 indent?: boolean | undefined;
18 dedent?: boolean | undefined;
19 dedentIfLineStart?: boolean | undefined;
20 }
21
22 function defineSimpleMode<K extends string>(
23 name: string,
24 // tslint:disable-next-line:no-unnecessary-generics
25 mode: { [P in K]: P extends 'meta' ? Record<string, any> : Rule[] } & { start: Rule[] },
26 ): void;
27}