Repository: vscode
Issue: Investigate Git Conflict Markers: Git Conflicts Are Bigger
Labels: feature-request,merge-editor

```json
{
    "languageId": "javascript",
    "base": "const { readFileSync } = require('fs');\n\nlet paths = process.argv.slice(2);\nmain(paths);\n\nfunction main(paths) {\n    // print the welcome message\n    printMessage();\n\n    // Compute the number of lines in each file\n    // and print the result\n    let data = getLineCountInfo(paths);\n    console.log(\"Lines: \" + data.totalLineCount);\n}\n\n/**\n * Prints the welcome message\n*/\nfunction printMessage() {\n    console.log(\"Welcome To Line Counter\");\n}\n\n/**\n * @param {string[]} paths\n*/\nfunction getLineCountInfo(paths) {\n    let lineCounts = paths.map(path => ({ path, count: getLinesLength(readFileSync(path, 'utf8')) }));\n    return {\n        totalLineCount: lineCounts.reduce((acc, { count }) => acc + count, 0),\n        lineCounts,\n    };\n}\n\n/**\n * @param {string} str \n */\nfunction getLinesLength(str) {\n    return str.split('\\n').length;\n}",
    "input1": "const { readFileSync, writeFileSync } = require('fs');\n\nconst paths = process.argv.slice(2);\nmain(paths);\n\nfunction main(paths) {\n    // print the welcome message\n    printWelcome();\n\n    // Compute the number of lines in each file\n    // and print the result\n    const data = getLineCountInfo(paths);\n    console.log(\"Total Line Count: \" + data.totalLineCount);\n    writeFileSync('out.json', JSON.stringify(data), 'utf-8');\n}\n\n/**\n * Prints the welcome message\n*/\nfunction printWelcome() {\n    console.log(\"Welcome To Line Counter\");\n}\n\n/**\n * @param {string[]} paths\n*/\nfunction getLineCountInfo(paths) {\n    const lineCounts = paths.map(path => ({ path, count: getLineCount(readFileSync(path, 'utf8')) }));\n    return {\n        totalLineCount: lineCounts.reduce((acc, { count }) => acc + count, 0),\n        lineCounts,\n    };\n}\n\n/**\n * @param {string} str \n */\nfunction getLineCount(str) {\n    return str.split('\\n').length;\n}",
    "input2": "const { readFile } = require('fs');\nconst { promisify } = require('util');\n\nlet paths = process.argv.slice(2);\nmain(paths);\n\nasync function main(paths) {\n    // print the welcome message\n    printHeader();\n\n    // Compute the number of lines in each file\n    // and print the result\n    let data = await getLineCountInfo(paths);\n    console.log(\"Lines: \" + data.totalLineCount);\n}\n\n/**\n * Prints the welcome message\n*/\nfunction printHeader() {\n    console.log(\"Welcome To Line Counter\");\n}\n\n/**\n * @param {string[]} paths\n*/\nasync function getLineCountInfo(paths) {\n    let lineCounts = await Promise.all(\n        paths.map(async path => ({\n            path,\n            count: getLinesLength(await promisify(readFile)(path, 'utf8')) }\n        ))\n    );\n    return {\n        totalLineCount: lineCounts.reduce((acc, { count }) => acc + count, 0),\n        lineCounts,\n    };\n}\n\n/**\n * @param {string} str \n */\nfunction getLinesLength(str) {\n    return str.split('\\n').length;\n}",
    "result": "<<<<<<< c:\\Users\\hdieterichs\\Desktop\\merge-editor-demo\\input1.js\nconst { readFileSync, writeFileSync } = require('fs');\n=======\nconst { readFile } = require('fs');\nconst { promisify } = require('util');\n>>>>>>> c:\\Users\\hdieterichs\\Desktop\\merge-editor-demo\\input2.js\n\nconst paths = process.argv.slice(2);\nmain(paths);\n\nasync function main(paths) {\n    // print the welcome message\n<<<<<<< c:\\Users\\hdieterichs\\Desktop\\merge-editor-demo\\input1.js\n    printWelcome();\n\n    // Compute the number of lines in each file\n    // and print the result\n    const data = getLineCountInfo(paths);\n    console.log(\"Total Line Count: \" + data.totalLineCount);\n    writeFileSync('out.json', JSON.stringify(data), 'utf-8');\n=======\n    printHeader();\n\n    // Compute the number of lines in each file\n    // and print the result\n    let data = await getLineCountInfo(paths);\n    console.log(\"Lines: \" + data.totalLineCount);\n>>>>>>> c:\\Users\\hdieterichs\\Desktop\\merge-editor-demo\\input2.js\n}\n\n/**\n * Prints the welcome message\n*/\n<<<<<<< c:\\Users\\hdieterichs\\Desktop\\merge-editor-demo\\input1.js\nfunction printWelcome() {\n=======\nfunction printHeader() {\n>>>>>>> c:\\Users\\hdieterichs\\Desktop\\merge-editor-demo\\input2.js\n    console.log(\"Welcome To Line Counter\");\n}\n\n/**\n * @param {string[]} paths\n*/\n<<<<<<< c:\\Users\\hdieterichs\\Desktop\\merge-editor-demo\\input1.js\nfunction getLineCountInfo(paths) {\n    const lineCounts = paths.map(path => ({ path, count: getLineCount(readFileSync(path, 'utf8')) }));\n=======\nasync function getLineCountInfo(paths) {\n    let lineCounts = await Promise.all(\n        paths.map(async path => ({\n            path,\n            count: getLinesLength(await promisify(readFile)(path, 'utf8')) }\n        ))\n    );\n>>>>>>> c:\\Users\\hdieterichs\\Desktop\\merge-editor-demo\\input2.js\n    return {\n        totalLineCount: lineCounts.reduce((acc, { count }) => acc + count, 0),\n        lineCounts,\n    };\n}\n\n/**\n * @param {string} str \n */\nfunction getLineCount(str) {\n    return str.split('\\n').length;\n}",
    "initialResult": "/**\n * Prints the welcome message\n*/"
}
```


Git Conflict markers:
![Image](https://user-images.githubusercontent.com/2931520/203073991-4b384df7-8ca5-4b1b-89ad-6ae07e7e6af7.png)


Current Merge Editor:
![Image](https://user-images.githubusercontent.com/2931520/203073970-0c2af247-2fed-4de3-97ab-c754194cdd45.png)