feat(blame): add file blame dialog with git porcelain parsing
This change introduces a new backend command to fetch file blame using git's line-porcelain output and returns structured per-line metadata. The UI adds a BlameDialog that groups lines by commit, highlights uncommitted changes, and styles the dialog to match the updated theme. - Add get_file_blame command and parsing with uncommitted detection - Wire BlameDialog into the explorer file node actions - Add blame UI component and supporting types and styles
This commit is contained in:
@@ -175,6 +175,23 @@ export interface ConflictFile {
|
||||
theirs_size: number | null;
|
||||
}
|
||||
|
||||
export interface GitBlameLine {
|
||||
line_number: number;
|
||||
content: string;
|
||||
commit_hash: string;
|
||||
short_hash: string;
|
||||
author_name: string;
|
||||
author_email: string;
|
||||
author_time: number;
|
||||
summary: string;
|
||||
is_uncommitted: boolean;
|
||||
}
|
||||
|
||||
export interface GitBlameResult {
|
||||
path: string;
|
||||
lines: GitBlameLine[];
|
||||
}
|
||||
|
||||
export interface StoredCredential {
|
||||
username: string;
|
||||
password: string;
|
||||
|
||||
Reference in New Issue
Block a user