init
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import type { ToolInput } from './useFilePermissionDialog.js'
|
||||
|
||||
export interface FileEdit {
|
||||
old_string: string
|
||||
new_string: string
|
||||
replace_all?: boolean
|
||||
}
|
||||
|
||||
export interface IDEDiffConfig {
|
||||
filePath: string
|
||||
edits?: FileEdit[]
|
||||
editMode?: 'single' | 'multiple'
|
||||
}
|
||||
|
||||
export interface IDEDiffChangeInput {
|
||||
file_path: string
|
||||
edits: FileEdit[]
|
||||
}
|
||||
|
||||
export interface IDEDiffSupport<TInput extends ToolInput> {
|
||||
getConfig(input: TInput): IDEDiffConfig
|
||||
applyChanges(input: TInput, modifiedEdits: FileEdit[]): TInput
|
||||
}
|
||||
|
||||
export function createSingleEditDiffConfig(
|
||||
filePath: string,
|
||||
oldString: string,
|
||||
newString: string,
|
||||
replaceAll?: boolean,
|
||||
): IDEDiffConfig {
|
||||
return {
|
||||
filePath,
|
||||
edits: [
|
||||
{
|
||||
old_string: oldString,
|
||||
new_string: newString,
|
||||
replace_all: replaceAll,
|
||||
},
|
||||
],
|
||||
editMode: 'single',
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user