UNPKG

git-tweezers

Version:

Advanced git staging tool with hunk and line-level control

29 lines (28 loc) 1 kB
import { type GitDiff } from 'parse-git-diff'; import type { ExtendedLineChange } from '../types/extended-diff.js'; import type { FileInfo } from '../types/hunk-info.js'; export interface ParsedHunk { index: number; header: string; oldStart: number; oldLines: number; newStart: number; newLines: number; changes: ExtendedLineChange[]; } export interface ParsedFile { oldPath: string; newPath: string; hunks: ParsedHunk[]; } export declare class DiffParser { parse(diffText: string): GitDiff; parseFiles(diffText: string): ParsedFile[]; parseFilesWithInfo(diffText: string): FileInfo[]; private getOldPath; private getNewPath; getHunkCount(diffText: string): number; getFileHunkCount(diffText: string, filePath: string): number; extractHunk(diffText: string, filePath: string, hunkIndex: number): ParsedHunk | null; extractLines(diffText: string, filePath: string, startLine: number, endLine: number): ExtendedLineChange[]; }