Repository: vscode
Issue: Use AST to detect moves
Labels: feature-request,diff-editor

[Monaco Editor Playground](https://microsoft.github.io/monaco-editor/playground.html?source=v0.44.0-dev-20230918#XQAAAAJTVAAAAAAAAABBqQkHQ5NjdMjwa-jY7SIQ9S7DNlzs5W-mwj0fe1ZCDRFc9ws9XQE0SJE1jc2VKxhaLFIw9vEWSxW3yscz9Systk3Y3lj4dcH2Tvg7M6KfcoCTKaQgK8N-ar_nmgOxNtLcuUptwu8ZWwLIS_lQzYSKhiK9qcWCeEOzfpooCH71rYSTexpwZWkjZTZFowgfKRYo8SLzfkP7az5c0K-_zB-oPKz59rsWrRxjBxuWXmCPDimbxyNb20z5Y_1VhTdhbnPZH7jAyigD0CZtn9SnFePtPMUTznKyIsvd0w88YU4pr2iwnFB0p98iPb9AYm3qGvcwjPvJsoQyu8G9Hzo0he99mADx0XcWf6taZy7-28lCux8hcE_kh_vC77oNEWpZzAkfGGYHBK9v0nGL3sGTpdNCuJV9om7mavRhf88mZWMw1OYt5wIGnFVuKCeFLRALIHuPGYn156tbM6_8LzuW7aPs_V_uMs2DNwnyNGw3PHvzJAnGNMvXjuGDW1KQdFWlEON62BTzugj8NozbJ_QUGfQrP-zjT-TuMqLMTVndhr7BUt2EiufFzh01xe1Szu3ZcHjlky9wkZ0VyIYAqm2Bbcdt5LSl7Ri36cIMLKzfer6Sme711Ya85Zd6X0cy6GUroBEjwCR16agbHNQ8LYyo22r-AO7zQFPdFUeAFbUvQm_diCR-zA_hXp9sfZF8zcBBcUIyIciNcUzoA-fJTHTqVk2q7b7Vy2qDO_JQidVXA-3YH9MGEXvXBT8JJ5z4umyLoDExiOvmDv_IpMb8G4gbX2gD9OZUbbiFByT24kOQ05tAg_5ZCnRmQZEW_pLzzCcMutvng6Zzdi1avgp-Jps9r4dCQyU0jkyDs1C7q1lBdIO6tS2gEM_W_fW5ae1RwzMsVynfAaplqK98rNYF2bTJfMMV1sJt-Jb0Yfj_xql9FkL3QGAQ7nsn80KPFZI1_Mtt1WFl57sI96owd3S4OjkfoIJa1OwcuEUIGiTnhAjbxyNDLq_RIkPnEQt0PQKSSzz3HcHKPoJMOXXRMkdpdt1I0teGa1HL66OAsDpJ36zXdLcx_aYEBVC6xfhppJVyE6RxIYEB27KT9Bg5fhsdGOLfUr-wvA_jJZwYL2JUqtZGdwS6FbQ6UkRxaDXS3RIzi3btUvj2GIZbL-WvDV9XcypzjwT4ptuKcAc9OJYhXBu52GdDuSjjDrPYt3ULalOIOM4ITqgT3juNMuzpejVO05Rx3KIr5LRKf1OJpTzZpzzV1O5sGdWKIJiAJkP85nKegodjC4EN7ujeoGDzozzIhVaQ8-tYLKDXBTCQbvAWwOXHwUMWtdejVBcbiK11Myo5SkA8SaP6DfKsdPccBILW57JfxWSBtAAclaQHZM1-xq_4XG0DAOwg1kCoRNtweYlA8aQdF2v9Yq3WDTMIswfd1NBAZ8_c0tMQN-sGFfiByI8zljuVgr97setCDL2DXpSs7yR72fHt8erut6QlH318YWV8_lGBjGP0wR1Hc4JB7epkNVQO42kI5_bpiquyK2qA6fDTYQsc2RiqzjRDY3m7fqp6plT3tRaof4l1VnWbBHFBRweEMdjk0eTJKAQKa5GzgBSWHyZ66CRKcnHM8QOM4-81eaA0otNwrinYHp-hFs5yfIqntxB8W85a8W5gMQFN1cGi5cMylApAC3oMDGmH09EnSLfDHlLjLfNQd215_QphYKHaFEd7IzDsFmTEhZzOKctcjhrNhCe9WNnafbl3R9y92ZG7eoOZySdIXRZkCJt4fHz7-pSM9tWY_TOpjqKH1kA-HlMZnokcRoRxKevbx4bCUMsGbmTLs0D5syDtz-SxU7bGWU5QdR2ou3TxRvZTSAB5p9kd2_4DdS5E2Gzv8VccTHSBYxy-LCaPvm2RG9QE87vA-LOyqlhPT0tC3jhrzV-ySrBsZpesXEVtmaJuwqHDBYQSvArEGcGCLWz-hr777hoUI0tB-1SClgMwCa-ZH9kmrbX5NgZ01GwuSJefmpPPyugMlvYBoKDp0o16aGMfYYwym0SG-Dp5ZrwV2cjDCFYAZ6oQBzZOgzp4OjTrJAQCFOvWFMRRd4qrqO1Fl9BA83sKb0z3tyDkYJn1GppMEUQKR_E68cQln0YgmQo7WRmQLyseOz_EP0BK_T21465P8GN1HV32sYlBUYYk3BguhX0FO1-jiuUJnmlPslgH-b3_Vh56FW5JUhwNeFKOnwymw5zkqcuV7XmoQldQo-H830Pgn4b2oiOgdsv-t8Qio1wGtLsf8SKpZob8CQhP6l0OvSc5qWQzj4a982zgaW9RDuzOHwPB-ORo2ccwRJMP8exGDEgHa3NMNGzPMXoc5u5ys1qKBO_hUn-Nih_UbCbFkUwbhyqBRqtCQ_GuCrWewRyBqum4q-oogzbBYzCscXBnnMbAazWuHMQm6KqnSLIX0FN_wEO5Nc3LMkF1r-_9zBHV8caZuLOEUzr_-y0GnmOQ3MiJaC7hxTNWt9G5hclhnR372WPopMJRSree-Vf8SIVh8pcSGGOeOJqU_L9wXG3cJ__twEo3l5KCHuXgWzqYMa0j_UCetj4KMJX9AvM-_e5yPQbXLav0yTC2HN9g0zzyr42e46NlGNHxM6JIcBGNXV-1kyiAC7cvivGONx7wxOFtmpeEYtqjVYRWFwQqlAQv91GpWfeEbp2KzlLzvgmSKvbF3kjSgmTKeNFtvzPr-cSMxB_9UvbG5z6s66NW9XoEG9cryVkzXfIh0p0GiH6Yt2CBr5nvNwUiVRuZhivPyudb1I3miKfVKuCEV2j-omtobR87EnBBth4SONKGtvG4s1S--2IBkhsE-YmU20r7kJx2tGJt7AOLnXA9a-LMGcRa8SzZEvdtmdPEX58UjYbzTkPKPnpj67vaAhha2L78q8-XUF7zDa_iE14UOD9F3xk9q7txhxK1D73tSfvm93XeIaOhxXTpeRxAJbCAWTORDNVE8ROI6g1W3klMibT4rllAXdQedU1mSi2lSpnOAawrpCS0irS7so1VS0nN24omRlz-OS_rJjB7Me0Jphm33BnVXJ_tNzti-g1rA0ZJAW4BjdZZcxzXEwBJf8B1VVo0eGR9PS1ljI_OjmdTh2jtIyvk8w0bSdQC-KmQa154zkXGl0nB9NyCMrr5RQ_Ozg-kTE_M1nQSo3KECT7WX15mkYnduhUWlk71vuEmSpdWFFhvI0Ox9ms7EIilov7f-R1DbmlMsgtNhIUVaKiJgPqpVbGH2UYeKftSqXmMxE8mko25BMx6-h-NYRfDegVCCxH3ne7Pcu66RSauYdmN0VpY6_u7fLmQa5yaYEQQI7dG3dGFi48Ix27V_uGztAP28f-INRed15VsD8GQKvDfb2wy6X3E0Prjx6PN6BrFoMvW-O7ZdyPjIfn5A0uIqBzmywyyrtP_ljkTn04mMUUF4-aktKuL1TMf64DivjXFmkS4geTIfDTgFIo2alfmt4fGaRWESfsamwF5o0h6Mar09D_gmJAj5XkwfGN8bGDZVqHduJs2exPbR2jE0pOx0rLa6G1WlMvfm7SJN__u1I9ENRMyY0B7vq8dWPB7DHzwZH_y1rSo7KlzlYtD3i9PQ9euLZ5ilvWj3o7y7Bg-IN1h5k2NxwioGroB_WX4_gChNB9QQL9mPhNm_xjX9UeTPUMD8iLZj5JAd43qghEnN8XR0au0vFCkrhhl-svd9cFaNWEw3RcfNLgwwIc1XKktr7rsNBH7RMp2UAZu8M2NbbAmTwoUvpyjjFz5YJtqLevhzXV-W_0xaCpudkFngTB966qsq8oewq0onffaMXcU4aRktS0uQkjYIGZEPBt5xV0FqP73BXjBWXD56MuV1l8FA31X2UcvFKZb1_XqBHXbQ2xF3nyPRgevhdaeAI0zxfTDSsJMfaouPJaA3tETDq0_lMUVTJGT6PsXMpY19AEACAx8RBChWGvEIHULRnF7TPReVKhDFE-sB29v1pbtRppyy_iWm9tVjihQB3iCZ_Av9j5CEdxNxsAtFDHC2x7VcbimkCIBtEFcJfCcwH9nUZUvSalO_PgwVBtkuLdDoz8ujBMH4Utlb0z1vMCND9JMdeKfDDAtxwQ_Au7D8N2YwJ4fHy5KCbId9CSI915Rn-e3v211AegOeyYkojoa6YbgGtcj7qIlst5zD9vINlMM2nrH9HJ7uC1UHxORQZFX8PJfq4_957h01z-m0q-jue2cZeEyyijflMYjLLqq8W8s3Rv_v5tmMQsxBT8wRh8XhObmFyDsLBRTsgb-pKkdCqHqhT7IjtkfbMEdb4uw78s0nu_dGy9wdp5xbEKllNvO42FRCsdWxe9GbEEmUJFMcFsMXwv-31SklLPqYjoTVOQ2gu92ewRpN_VtxPDZaDjQmDcp4kdRPIvstagU_KUXbFwclLxhdI_gEOHvkX__65S_fA)