我需要实现一个自定义的 git merge bash,我希望它像 VS Code 的“接受两者”功能一样。 VS Code 是否使用一些 utils 或 AST 解析工具?
希望有人能告诉我一些想法,我需要在我的自定义 git merge 驱动程序 bash 中实现“接受两者”功能
您想要的是在
https://github.com/microsoft/vscode/blob/main/extensions/merge-conflict/src/commandHandler.ts中跟踪
merge-conflict.accept.both
。它将引导您到 https://github.com/microsoft/vscode/blob/main/extensions/merge-conflict/src/documentMergeConflict.ts中的
applyEdit
,这似乎只是做了一个简单的串联。至于它如何获取当前和传入的文本,请参见https://github.com/microsoft/vscode/blob/main/extensions/merge-conflict/src/documentTracker.ts中的
getConflictsOrEmpty
,它指向 scanDocument
在https://github.com/microsoft/vscode/blob/main/extensions/merge-conflict/src/mergeConflictParser.ts(即它从文档中解析出内容)。