git-tweezers
Version:
Advanced git staging tool with hunk and line-level control
38 lines (37 loc) • 1.21 kB
TypeScript
import type { HunkInfo } from '../types/hunk-info.js';
export interface StageOptions {
precise?: boolean;
cwd?: string;
dryRun?: boolean;
}
export declare class StagingService {
private git;
private parser;
private builder;
private cache;
constructor(cwd?: string);
/**
* List all hunks in a file
*/
listHunks(filePath: string, options?: StageOptions): Promise<string[]>;
/**
* List all hunks with full information
*/
listHunksWithInfo(filePath: string, options?: StageOptions): Promise<HunkInfo[]>;
/**
* Stage a specific hunk by index (1-based) or ID
*/
stageHunk(filePath: string, hunkSelector: number | string, options?: StageOptions): Promise<void>;
/**
* Stage specific lines in a file
*/
stageLines(filePath: string, startLine: number, endLine: number, _options?: StageOptions): Promise<void>;
/**
* Stage multiple hunks at once
*/
stageHunks(filePath: string, hunkSelectors: Array<number | string>, options?: StageOptions): Promise<void>;
/**
* Get the count of hunks for a file
*/
getHunkCount(filePath: string, options?: StageOptions): Promise<number>;
}