mirror of
http://10.0.2.1:3031/sauer/claude-code.git
synced 2026-06-30 16:16:58 +10:00
124 lines
12 KiB
TypeScript
124 lines
12 KiB
TypeScript
|
|
import { c as _c } from "react/compiler-runtime";
|
||
|
|
import type { StructuredPatchHunk } from 'diff';
|
||
|
|
import * as React from 'react';
|
||
|
|
import { useTerminalSize } from '../hooks/useTerminalSize.js';
|
||
|
|
import { Box, Text } from '../ink.js';
|
||
|
|
import { count } from '../utils/array.js';
|
||
|
|
import { MessageResponse } from './MessageResponse.js';
|
||
|
|
import { StructuredDiffList } from './StructuredDiffList.js';
|
||
|
|
type Props = {
|
||
|
|
filePath: string;
|
||
|
|
structuredPatch: StructuredPatchHunk[];
|
||
|
|
firstLine: string | null;
|
||
|
|
fileContent?: string;
|
||
|
|
style?: 'condensed';
|
||
|
|
verbose: boolean;
|
||
|
|
previewHint?: string;
|
||
|
|
};
|
||
|
|
export function FileEditToolUpdatedMessage(t0) {
|
||
|
|
const $ = _c(22);
|
||
|
|
const {
|
||
|
|
filePath,
|
||
|
|
structuredPatch,
|
||
|
|
firstLine,
|
||
|
|
fileContent,
|
||
|
|
style,
|
||
|
|
verbose,
|
||
|
|
previewHint
|
||
|
|
} = t0;
|
||
|
|
const {
|
||
|
|
columns
|
||
|
|
} = useTerminalSize();
|
||
|
|
const numAdditions = structuredPatch.reduce(_temp2, 0);
|
||
|
|
const numRemovals = structuredPatch.reduce(_temp4, 0);
|
||
|
|
let t1;
|
||
|
|
if ($[0] !== numAdditions) {
|
||
|
|
t1 = numAdditions > 0 ? <>Added <Text bold={true}>{numAdditions}</Text>{" "}{numAdditions > 1 ? "lines" : "line"}</> : null;
|
||
|
|
$[0] = numAdditions;
|
||
|
|
$[1] = t1;
|
||
|
|
} else {
|
||
|
|
t1 = $[1];
|
||
|
|
}
|
||
|
|
const t2 = numAdditions > 0 && numRemovals > 0 ? ", " : null;
|
||
|
|
let t3;
|
||
|
|
if ($[2] !== numAdditions || $[3] !== numRemovals) {
|
||
|
|
t3 = numRemovals > 0 ? <>{numAdditions === 0 ? "R" : "r"}emoved <Text bold={true}>{numRemovals}</Text>{" "}{numRemovals > 1 ? "lines" : "line"}</> : null;
|
||
|
|
$[2] = numAdditions;
|
||
|
|
$[3] = numRemovals;
|
||
|
|
$[4] = t3;
|
||
|
|
} else {
|
||
|
|
t3 = $[4];
|
||
|
|
}
|
||
|
|
let t4;
|
||
|
|
if ($[5] !== t1 || $[6] !== t2 || $[7] !== t3) {
|
||
|
|
t4 = <Text>{t1}{t2}{t3}</Text>;
|
||
|
|
$[5] = t1;
|
||
|
|
$[6] = t2;
|
||
|
|
$[7] = t3;
|
||
|
|
$[8] = t4;
|
||
|
|
} else {
|
||
|
|
t4 = $[8];
|
||
|
|
}
|
||
|
|
const text = t4;
|
||
|
|
if (previewHint) {
|
||
|
|
if (style !== "condensed" && !verbose) {
|
||
|
|
let t5;
|
||
|
|
if ($[9] !== previewHint) {
|
||
|
|
t5 = <MessageResponse><Text dimColor={true}>{previewHint}</Text></MessageResponse>;
|
||
|
|
$[9] = previewHint;
|
||
|
|
$[10] = t5;
|
||
|
|
} else {
|
||
|
|
t5 = $[10];
|
||
|
|
}
|
||
|
|
return t5;
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
if (style === "condensed" && !verbose) {
|
||
|
|
return text;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
let t5;
|
||
|
|
if ($[11] !== text) {
|
||
|
|
t5 = <Text>{text}</Text>;
|
||
|
|
$[11] = text;
|
||
|
|
$[12] = t5;
|
||
|
|
} else {
|
||
|
|
t5 = $[12];
|
||
|
|
}
|
||
|
|
const t6 = columns - 12;
|
||
|
|
let t7;
|
||
|
|
if ($[13] !== fileContent || $[14] !== filePath || $[15] !== firstLine || $[16] !== structuredPatch || $[17] !== t6) {
|
||
|
|
t7 = <StructuredDiffList hunks={structuredPatch} dim={false} width={t6} filePath={filePath} firstLine={firstLine} fileContent={fileContent} />;
|
||
|
|
$[13] = fileContent;
|
||
|
|
$[14] = filePath;
|
||
|
|
$[15] = firstLine;
|
||
|
|
$[16] = structuredPatch;
|
||
|
|
$[17] = t6;
|
||
|
|
$[18] = t7;
|
||
|
|
} else {
|
||
|
|
t7 = $[18];
|
||
|
|
}
|
||
|
|
let t8;
|
||
|
|
if ($[19] !== t5 || $[20] !== t7) {
|
||
|
|
t8 = <MessageResponse><Box flexDirection="column">{t5}{t7}</Box></MessageResponse>;
|
||
|
|
$[19] = t5;
|
||
|
|
$[20] = t7;
|
||
|
|
$[21] = t8;
|
||
|
|
} else {
|
||
|
|
t8 = $[21];
|
||
|
|
}
|
||
|
|
return t8;
|
||
|
|
}
|
||
|
|
function _temp4(acc_0, hunk_0) {
|
||
|
|
return acc_0 + count(hunk_0.lines, _temp3);
|
||
|
|
}
|
||
|
|
function _temp3(__0) {
|
||
|
|
return __0.startsWith("-");
|
||
|
|
}
|
||
|
|
function _temp2(acc, hunk) {
|
||
|
|
return acc + count(hunk.lines, _temp);
|
||
|
|
}
|
||
|
|
function _temp(_) {
|
||
|
|
return _.startsWith("+");
|
||
|
|
}
|
||
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdHJ1Y3R1cmVkUGF0Y2hIdW5rIiwiUmVhY3QiLCJ1c2VUZXJtaW5hbFNpemUiLCJCb3giLCJUZXh0IiwiY291bnQiLCJNZXNzYWdlUmVzcG9uc2UiLCJTdHJ1Y3R1cmVkRGlmZkxpc3QiLCJQcm9wcyIsImZpbGVQYXRoIiwic3RydWN0dXJlZFBhdGNoIiwiZmlyc3RMaW5lIiwiZmlsZUNvbnRlbnQiLCJzdHlsZSIsInZlcmJvc2UiLCJwcmV2aWV3SGludCIsIkZpbGVFZGl0VG9vbFVwZGF0ZWRNZXNzYWdlIiwidDAiLCIkIiwiX2MiLCJjb2x1bW5zIiwibnVtQWRkaXRpb25zIiwicmVkdWNlIiwiX3RlbXAyIiwibnVtUmVtb3ZhbHMiLCJfdGVtcDQiLCJ0MSIsInQyIiwidDMiLCJ0NCIsInRleHQiLCJ0NSIsInQ2IiwidDciLCJ0OCIsImFjY18wIiwiaHVua18wIiwiYWNjIiwiaHVuayIsImxpbmVzIiwiX3RlbXAzIiwiX18wIiwiXyIsInN0YXJ0c1dpdGgiLCJfdGVtcCJdLCJzb3VyY2VzIjpbIkZpbGVFZGl0VG9vbFVwZGF0ZWRNZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0cnVjdHVyZWRQYXRjaEh1bmsgfSBmcm9tICdkaWZmJ1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUZXJtaW5hbFNpemUgfSBmcm9tICcuLi9ob29rcy91c2VUZXJtaW5hbFNpemUuanMnXG5pbXBvcnQgeyBCb3gsIFRleHQgfSBmcm9tICcuLi9pbmsuanMnXG5pbXBvcnQgeyBjb3VudCB9IGZyb20gJy4uL3V0aWxzL2FycmF5LmpzJ1xuaW1wb3J0IHsgTWVzc2FnZVJlc3BvbnNlIH0gZnJvbSAnLi9NZXNzYWdlUmVzcG9uc2UuanMnXG5pbXBvcnQgeyBTdHJ1Y3R1cmVkRGlmZkxpc3QgfSBmcm9tICcuL1N0cnVjdHVyZWREaWZmTGlzdC5qcydcblxudHlwZSBQcm9wcyA9IHtcbiAgZmlsZVBhdGg6IHN0cmluZ1xuICBzdHJ1Y3R1cmVkUGF0Y2g6IFN0cnVjdHVyZWRQYXRjaEh1bmtbXVxuICBmaXJzdExpbmU6IHN0cmluZyB8IG51bGxcbiAgZmlsZUNvbnRlbnQ/OiBzdHJpbmdcbiAgc3R5bGU/OiAnY29uZGVuc2VkJ1xuICB2ZXJib3NlOiBib29sZWFuXG4gIHByZXZpZXdIaW50Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBGaWxlRWRpdFRvb2xVcGRhdGVkTWVzc2FnZSh7XG4gIGZpbGVQYXRoLFxuICBzdHJ1Y3R1cmVkUGF0Y2gsXG4gIGZpcnN0TGluZSxcbiAgZmlsZUNvbnRlbnQsXG4gIHN0eWxlLFxuICB2ZXJib3NlLFxuICBwcmV2aWV3SGludCxcbn06IFByb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgeyBjb2x1bW5zIH0gPSB1c2VUZXJtaW5hbFNpemUoKVxuICBjb25zdCBudW1BZGRpdGlvbnMgPSBzdHJ1Y3R1cmVkUGF0Y2gucmVkdWNlKFxuICAgIChhY2MsIGh1bmspID0+IGFjYyArIGNvdW50KGh1bmsubGluZXMsIF8gPT4gXy5zdGFydHNXaXRoKCcrJykpLFxuICAgIDAsXG4gIClcbiAgY29uc3QgbnVtUmVtb3ZhbHMgPSBzdHJ1Y3R1cmVkUGF0Y2gucmVkdWNlKFxuICAgIChhY2MsIGh1bmspID0+IGFjYyArIGNvdW50KGh1bmsubGluZXMsIF8gPT4gXy5zdGFydHNXaXRoKCctJykpLFxuICAgIDAsXG4gIClcblxuICBjb25zdCB0ZXh0ID0gKFxuICAgIDxUZXh0PlxuICAgICAge251bUFkZGl0aW9ucyA+IDAgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgQWRkZWQgPFRleHQgYm9sZD57bnVtQWRkaXRpb25zfTwvVGV4dD57JyAnfVxuICAgICAgICAgIHtudW1BZGRpdGlvbnMgPiAxID8gJ2xpbmVzJyA6ICdsaW5lJ31cbiAgICAgICAgPC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtudW1BZGRpdGlvbnMgPiAwICYmIG51bVJlbW92YWxzID4gMCA/ICcsICcgOiBudWxsfVxuICAgICAge251bVJlbW92YWxzID4gMCA/IChcbiAgICAgICAgPD5cbiAgICAgICAgICB7bnVtQWRkaXRpb25zID09PSAwID8gJ1InIDogJ3InfWVtb3ZlZCA8VGV4dCBib2xkPntudW1SZW1vdmFsc308L1RleHQ+eycgJ31cbiAgICAgICAgICB7bnVtUmVtb3ZhbHMgPiAxID8gJ2xpbmVzJyA6ICdsaW5lJ31cbiAgICAgICAgPC8+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1RleHQ+XG4gIClcblxuICAvLyBQbGFuIGZpbGVzOiBpbnZlcnQgY29uZGVuc2VkIGJlaGF2aW9yXG4gIC8vIC0gUmVndWxhciBtb2RlOiBqdXN0IHNob3cgdGhlIGhpbnQgKHVzZXIgY2FuIHR5cGUgL3BsYW4gdG8gc2VlIGZ1bGwgY29udGVudClcbiAgLy8gLSBDb25kZW5zZWQgbW9kZSAoc3ViYWdlbnQgdmlldyk6IHNob3cgdGhlIGRpZmZcbiAgaWYgKHByZXZpZXdIaW50KSB7XG4gICAgaWYgKHN0eWxlICE9PSAnY29uZGVuc2VkJyAmJiAhdmVyYm9zZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPE1lc3NhZ2VSZXNwb25zZT5cbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj57cHJldmlld0hpbnR9PC9UZXh0PlxuICAgICAgICA8L01lc3NhZ2VSZXNwb25zZT5cbiAgICAgIClcbiAgICB9XG4gIH0gZWxzZSBpZiAoc3R5bGUgPT09ICdjb25kZW5zZWQnICYmICF2ZXJib3NlKSB7XG4gICAgcmV0dXJuIHRleHRcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPE1lc3NhZ2VSZXNwb25zZT5cbiAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICA8VGV4dD57dGV4dH08L1RleHQ+XG4gICAgICAgIDxTdHJ1Y3R1cmVkRGlmZkxpc3RcbiAgICAgICAgICBodW5rcz17c3RydWN0dXJlZFBhdGNofVxuICAgICAgICAgIGRpbT17ZmFsc2V9XG4gICAgICAgICAgd2lkdGg9e2NvbHVtbnMgLSAxMn1cbiAgICAgICAgICBmaWxlUGF0aD17ZmlsZVBhdGh9XG4gICAgICAgICAgZmlyc3RMaW5lPXtmaXJzdExpbmV9XG4gICAgICAgICAgZmlsZUNvbnRlbnQ9e2ZpbGVDb250ZW50fVxuICAgICAgICAvPlxuICAgICAgPC9Cb3g+XG4gICAgPC9NZXNzYWdlUmVzcG9uc2U+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLGNBQWNBLG1CQUFtQixRQUFRLE1BQU07QUFDL0MsT0FBTyxLQUFLQyxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxlQUFlLFFBQVEsNkJBQTZCO0FBQzdELFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLFdBQVc7QUF
|