source dump of claude code
at main 89 lines 9.7 kB view raw
1import { c as _c } from "react/compiler-runtime"; 2import * as React from 'react'; 3import { useMemo } from 'react'; 4import { useTerminalSize } from '../../../hooks/useTerminalSize.js'; 5import { Box, NoSelect, Text } from '../../../ink.js'; 6import { intersperse } from '../../../utils/array.js'; 7import { getPatchForDisplay } from '../../../utils/diff.js'; 8import { HighlightedCode } from '../../HighlightedCode.js'; 9import { StructuredDiff } from '../../StructuredDiff.js'; 10type Props = { 11 file_path: string; 12 content: string; 13 fileExists: boolean; 14 oldContent: string; 15}; 16export function FileWriteToolDiff(t0) { 17 const $ = _c(15); 18 const { 19 file_path, 20 content, 21 fileExists, 22 oldContent 23 } = t0; 24 const { 25 columns 26 } = useTerminalSize(); 27 let t1; 28 bb0: { 29 if (!fileExists) { 30 t1 = null; 31 break bb0; 32 } 33 let t2; 34 if ($[0] !== content || $[1] !== file_path || $[2] !== oldContent) { 35 t2 = getPatchForDisplay({ 36 filePath: file_path, 37 fileContents: oldContent, 38 edits: [{ 39 old_string: oldContent, 40 new_string: content, 41 replace_all: false 42 }] 43 }); 44 $[0] = content; 45 $[1] = file_path; 46 $[2] = oldContent; 47 $[3] = t2; 48 } else { 49 t2 = $[3]; 50 } 51 t1 = t2; 52 } 53 const hunks = t1; 54 let t2; 55 if ($[4] !== content) { 56 t2 = content.split("\n")[0] ?? null; 57 $[4] = content; 58 $[5] = t2; 59 } else { 60 t2 = $[5]; 61 } 62 const firstLine = t2; 63 let t3; 64 if ($[6] !== columns || $[7] !== content || $[8] !== file_path || $[9] !== firstLine || $[10] !== hunks || $[11] !== oldContent) { 65 t3 = hunks ? intersperse(hunks.map(_ => <StructuredDiff key={_.newStart} patch={_} dim={false} filePath={file_path} firstLine={firstLine} fileContent={oldContent} width={columns - 2} />), _temp) : <HighlightedCode code={content || "(No content)"} filePath={file_path} />; 66 $[6] = columns; 67 $[7] = content; 68 $[8] = file_path; 69 $[9] = firstLine; 70 $[10] = hunks; 71 $[11] = oldContent; 72 $[12] = t3; 73 } else { 74 t3 = $[12]; 75 } 76 let t4; 77 if ($[13] !== t3) { 78 t4 = <Box flexDirection="column"><Box borderColor="subtle" borderStyle="dashed" flexDirection="column" borderLeft={false} borderRight={false} paddingX={1}>{t3}</Box></Box>; 79 $[13] = t3; 80 $[14] = t4; 81 } else { 82 t4 = $[14]; 83 } 84 return t4; 85} 86function _temp(i) { 87 return <NoSelect fromLeftEdge={true} key={`ellipsis-${i}`}><Text dimColor={true}>...</Text></NoSelect>; 88} 89//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJ1c2VUZXJtaW5hbFNpemUiLCJCb3giLCJOb1NlbGVjdCIsIlRleHQiLCJpbnRlcnNwZXJzZSIsImdldFBhdGNoRm9yRGlzcGxheSIsIkhpZ2hsaWdodGVkQ29kZSIsIlN0cnVjdHVyZWREaWZmIiwiUHJvcHMiLCJmaWxlX3BhdGgiLCJjb250ZW50IiwiZmlsZUV4aXN0cyIsIm9sZENvbnRlbnQiLCJGaWxlV3JpdGVUb29sRGlmZiIsInQwIiwiJCIsIl9jIiwiY29sdW1ucyIsInQxIiwiYmIwIiwidDIiLCJmaWxlUGF0aCIsImZpbGVDb250ZW50cyIsImVkaXRzIiwib2xkX3N0cmluZyIsIm5ld19zdHJpbmciLCJyZXBsYWNlX2FsbCIsImh1bmtzIiwic3BsaXQiLCJmaXJzdExpbmUiLCJ0MyIsIm1hcCIsIl8iLCJuZXdTdGFydCIsIl90ZW1wIiwidDQiLCJwYWRkaW5nWCIsImkiXSwic291cmNlcyI6WyJGaWxlV3JpdGVUb29sRGlmZi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUZXJtaW5hbFNpemUgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUZXJtaW5hbFNpemUuanMnXG5pbXBvcnQgeyBCb3gsIE5vU2VsZWN0LCBUZXh0IH0gZnJvbSAnLi4vLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHsgaW50ZXJzcGVyc2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hcnJheS5qcydcbmltcG9ydCB7IGdldFBhdGNoRm9yRGlzcGxheSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RpZmYuanMnXG5pbXBvcnQgeyBIaWdobGlnaHRlZENvZGUgfSBmcm9tICcuLi8uLi9IaWdobGlnaHRlZENvZGUuanMnXG5pbXBvcnQgeyBTdHJ1Y3R1cmVkRGlmZiB9IGZyb20gJy4uLy4uL1N0cnVjdHVyZWREaWZmLmpzJ1xuXG50eXBlIFByb3BzID0ge1xuICBmaWxlX3BhdGg6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgZmlsZUV4aXN0czogYm9vbGVhblxuICBvbGRDb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZpbGVXcml0ZVRvb2xEaWZmKHtcbiAgZmlsZV9wYXRoLFxuICBjb250ZW50LFxuICBmaWxlRXhpc3RzLFxuICBvbGRDb250ZW50LFxufTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCB7IGNvbHVtbnMgfSA9IHVzZVRlcm1pbmFsU2l6ZSgpXG4gIGNvbnN0IGh1bmtzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFmaWxlRXhpc3RzKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICByZXR1cm4gZ2V0UGF0Y2hGb3JEaXNwbGF5KHtcbiAgICAgIGZpbGVQYXRoOiBmaWxlX3BhdGgsXG4gICAgICBmaWxlQ29udGVudHM6IG9sZENvbnRlbnQsXG4gICAgICBlZGl0czogW1xuICAgICAgICB7XG4gICAgICAgICAgb2xkX3N0cmluZzogb2xkQ29udGVudCxcbiAgICAgICAgICBuZXdfc3RyaW5nOiBjb250ZW50LFxuICAgICAgICAgIHJlcGxhY2VfYWxsOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcbiAgfSwgW2ZpbGVFeGlzdHMsIGZpbGVfcGF0aCwgb2xkQ29udGVudCwgY29udGVudF0pXG5cbiAgY29uc3QgZmlyc3RMaW5lID0gY29udGVudC5zcGxpdCgnXFxuJylbMF0gPz8gbnVsbFxuICBjb25zdCBwYWRkaW5nWCA9IDFcblxuICByZXR1cm4gKFxuICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgPEJveFxuICAgICAgICBib3JkZXJDb2xvcj1cInN1YnRsZVwiXG4gICAgICAgIGJvcmRlclN0eWxlPVwiZGFzaGVkXCJcbiAgICAgICAgZmxleERpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgIGJvcmRlckxlZnQ9e2ZhbHNlfVxuICAgICAgICBib3JkZXJSaWdodD17ZmFsc2V9XG4gICAgICAgIHBhZGRpbmdYPXtwYWRkaW5nWH1cbiAgICAgID5cbiAgICAgICAge2h1bmtzID8gKFxuICAgICAgICAgIGludGVyc3BlcnNlKFxuICAgICAgICAgICAgaHVua3MubWFwKF8gPT4gKFxuICAgICAgICAgICAgICA8U3RydWN0dXJlZERpZmZcbiAgICAgICAgICAgICAgICBrZXk9e18ubmV3U3RhcnR9XG4gICAgICAgICAgICAgICAgcGF0Y2g9e199XG4gICAgICAgICAgICAgICAgZGltPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBmaWxlUGF0aD17ZmlsZV9wYXRofVxuICAgICAgICAgICAgICAgIGZpcnN0TGluZT17Zmlyc3RMaW5lfVxuICAgICAgICAgICAgICAgIGZpbGVDb250ZW50PXtvbGRDb250ZW50fVxuICAgICAgICAgICAgICAgIHdpZHRoPXtjb2x1bW5zIC0gMiAqIHBhZGRpbmdYfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBpID0+IChcbiAgICAgICAgICAgICAgPE5vU2VsZWN0IGZyb21MZWZ0RWRnZSBrZXk9e2BlbGxpcHNpcy0ke2l9YH0+XG4gICAgICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+Li4uPC9UZXh0PlxuICAgICAgICAgICAgICA8L05vU2VsZWN0PlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApXG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEhpZ2hsaWdodGVkQ29kZVxuICAgICAgICAgICAgY29kZT17Y29udGVudCB8fCAnKE5vIGNvbnRlbnQpJ31cbiAgICAgICAgICAgIGZpbGVQYXRoPXtmaWxlX3BhdGh9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvQm94PlxuICAgIDwvQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FB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