35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
		
			Executable File
		
	
	
	
	
| 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 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;
 |