85 lines
1.6 KiB
TypeScript
85 lines
1.6 KiB
TypeScript
|
|
export type DiffLineParts = {
|
||
|
|
prefix: string;
|
||
|
|
content: string;
|
||
|
|
};
|
||
|
|
|
||
|
|
export enum LineType {
|
||
|
|
INSERT = "insert",
|
||
|
|
DELETE = "delete",
|
||
|
|
CONTEXT = "context"
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface DiffLineDeleted {
|
||
|
|
type: LineType.DELETE;
|
||
|
|
oldNumber: number;
|
||
|
|
newNumber: undefined;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface DiffLineInserted {
|
||
|
|
type: LineType.INSERT;
|
||
|
|
oldNumber: undefined;
|
||
|
|
newNumber: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface DiffLineContext {
|
||
|
|
type: LineType.CONTEXT;
|
||
|
|
oldNumber: number;
|
||
|
|
newNumber: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
export type DiffLine = (DiffLineDeleted | DiffLineInserted | DiffLineContext) & {
|
||
|
|
content: string;
|
||
|
|
};
|
||
|
|
|
||
|
|
export interface DiffBlock {
|
||
|
|
oldStartLine: number;
|
||
|
|
oldStartLine2?: number;
|
||
|
|
newStartLine: number;
|
||
|
|
header: string;
|
||
|
|
lines: DiffLine[];
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface DiffFileName {
|
||
|
|
oldName: string;
|
||
|
|
newName: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface DiffFile extends DiffFileName {
|
||
|
|
addedLines: number;
|
||
|
|
deletedLines: number;
|
||
|
|
isCombined: boolean;
|
||
|
|
isGitDiff: boolean;
|
||
|
|
language: string;
|
||
|
|
blocks: DiffBlock[];
|
||
|
|
oldMode?: string | string[];
|
||
|
|
newMode?: string;
|
||
|
|
deletedFileMode?: string;
|
||
|
|
newFileMode?: string;
|
||
|
|
isDeleted?: boolean;
|
||
|
|
isNew?: boolean;
|
||
|
|
isCopy?: boolean;
|
||
|
|
isRename?: boolean;
|
||
|
|
isBinary?: boolean;
|
||
|
|
unchangedPercentage?: number;
|
||
|
|
changedPercentage?: number;
|
||
|
|
checksumBefore?: string | string[];
|
||
|
|
checksumAfter?: string;
|
||
|
|
mode?: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export enum OutputFormatType {
|
||
|
|
LINE_BY_LINE = "line-by-line",
|
||
|
|
SIDE_BY_SIDE = "side-by-side"
|
||
|
|
}
|
||
|
|
|
||
|
|
export enum LineMatchingType {
|
||
|
|
LINES = "lines",
|
||
|
|
WORDS = "words",
|
||
|
|
NONE = "none"
|
||
|
|
}
|
||
|
|
|
||
|
|
export enum DiffStyleType {
|
||
|
|
WORD = "word",
|
||
|
|
CHAR = "char"
|
||
|
|
}
|