summaryrefslogtreecommitdiff
path: root/node_modules/yaml/dist/stringify/foldFlowLines.d.ts
blob: 58f8c7b60ea8729b70195c54817365f69540f3a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
export declare const FOLD_FLOW = "flow";
export declare const FOLD_BLOCK = "block";
export declare const FOLD_QUOTED = "quoted";
/**
 * `'block'` prevents more-indented lines from being folded;
 * `'quoted'` allows for `\` escapes, including escaped newlines
 */
export declare type FoldMode = 'flow' | 'block' | 'quoted';
export interface FoldOptions {
    /**
     * Accounts for leading contents on the first line, defaulting to
     * `indent.length`
     */
    indentAtStart?: number;
    /** Default: `80` */
    lineWidth?: number;
    /**
     * Allow highly indented lines to stretch the line width or indent content
     * from the start.
     *
     * Default: `20`
     */
    minContentWidth?: number;
    /** Called once if the text is folded */
    onFold?: () => void;
    /** Called once if any line of text exceeds lineWidth characters */
    onOverflow?: () => void;
}
/**
 * Tries to keep input at up to `lineWidth` characters, splitting only on spaces
 * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are
 * terminated with `\n` and started with `indent`.
 */
export declare function foldFlowLines(text: string, indent: string, mode?: FoldMode, { indentAtStart, lineWidth, minContentWidth, onFold, onOverflow }?: FoldOptions): string;