Просмотр исходного кода

Merge pull request #8677 from overleaf/td-vim-cm6

CM6 Vim mode fixes plus update CM6 packages to 6.x

GitOrigin-RevId: 54a51d9724ba0c843b079942702103fd7f76741f
Tim Down 4 лет назад
Родитель
Сommit
5707de398d
2 измененных файлов с 302 добавлено и 293 удалено
  1. 288 279
      package-lock.json
  2. 14 14
      services/web/package.json

+ 288 - 279
package-lock.json

@@ -2506,122 +2506,129 @@
       "dev": true
       "dev": true
     },
     },
     "node_modules/@codemirror/autocomplete": {
     "node_modules/@codemirror/autocomplete": {
-      "version": "0.20.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.20.3.tgz",
-      "integrity": "sha512-lYB+NPGP+LEzAudkWhLfMxhTrxtLILGl938w+RcFrGdrIc54A+UgmCoz+McE3IYRFp4xyQcL4uFJwo+93YdgHw==",
+      "version": "6.0.4",
+      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.0.4.tgz",
+      "integrity": "sha512-uP7UodCRykPNwSAN+wYa/AS9gJI/V47echCAXUYgCgBXy3l19nwO7W/d29COtG/dfAsjBOhMDeh3Ms8Y5VZbrA==",
       "dependencies": {
       "dependencies": {
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/common": "^0.16.0"
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0"
+      },
+      "peerDependencies": {
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@codemirror/commands": {
     "node_modules/@codemirror/commands": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.20.0.tgz",
-      "integrity": "sha512-v9L5NNVA+A9R6zaFvaTbxs30kc69F6BkOoiEbeFw4m4I0exmDEKBILN6mK+GksJtvTzGBxvhAPlVFTdQW8GB7Q==",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.0.1.tgz",
+      "integrity": "sha512-iNHDByicYqQjs0Wo1MKGfqNbMYMyhS9WV6EwMVwsHXImlFemgEUC+c5X22bXKBStN3qnwg4fArNZM+gkv22baQ==",
       "dependencies": {
       "dependencies": {
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/common": "^0.16.0"
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@codemirror/lang-css": {
     "node_modules/@codemirror/lang-css": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-0.20.0.tgz",
-      "integrity": "sha512-NvYBkDu5Abvzp3bRnU7oHnz3QGeYLYcMIVlEAExtDw6QLbKn8beObuJLQmQB1TqAk7KJcrMvH0xf73DAF9ICHg==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.0.0.tgz",
+      "integrity": "sha512-jBqc+BTuwhNOTlrimFghLlSrN6iFuE44HULKWoR4qKYObhOIl9Lci1iYj6zMIte1XTQmZguNvjXMyr43LUKwSw==",
       "dependencies": {
       "dependencies": {
-        "@codemirror/autocomplete": "^0.20.0",
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@lezer/css": "^0.16.0"
+        "@codemirror/autocomplete": "^6.0.0",
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@lezer/css": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@codemirror/lang-html": {
     "node_modules/@codemirror/lang-html": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-0.20.0.tgz",
-      "integrity": "sha512-hh/vii8Hw0eoPQy6vacqrrt4FMeLn9cNOG7zPFFOyc+oTl66+FYHgOtWH8b6HysTx0pdTMtpNbBF4tTLMbmP1w==",
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.1.0.tgz",
+      "integrity": "sha512-gA7NmJxqvnhwza05CvR7W/39Ap9r/4Vs9uiC0IeFYo1hSlJzc/8N6Evviz6vTW1x8SpHcRYyqKOf6rpl6LfWtg==",
       "dependencies": {
       "dependencies": {
-        "@codemirror/autocomplete": "^0.20.0",
-        "@codemirror/lang-css": "^0.20.0",
-        "@codemirror/lang-javascript": "^0.20.0",
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@lezer/common": "^0.16.0",
-        "@lezer/html": "^0.16.0"
+        "@codemirror/autocomplete": "^6.0.0",
+        "@codemirror/lang-css": "^6.0.0",
+        "@codemirror/lang-javascript": "^6.0.0",
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@lezer/common": "^1.0.0",
+        "@lezer/html": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@codemirror/lang-javascript": {
     "node_modules/@codemirror/lang-javascript": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-0.20.0.tgz",
-      "integrity": "sha512-Wawq5+o1DlWtsqAyaa9NkiSXNT7geFcfdUael0hIQdM7P23gkQaD+xgZcyQP6QvPxVAdnY4VIWHFzFAqBti+WQ==",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.0.1.tgz",
+      "integrity": "sha512-kjGbBEosl+ozDU5ruDV48w4v3H6KECTFiDjqMLT0KhVwESPfv3wOvnDrTT0uaMOg3YRGnBWsyiIoKHl/tNWWDg==",
       "dependencies": {
       "dependencies": {
-        "@codemirror/autocomplete": "^0.20.0",
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/lint": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/javascript": "^0.16.0"
+        "@codemirror/autocomplete": "^6.0.0",
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/lint": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0",
+        "@lezer/javascript": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@codemirror/lang-markdown": {
     "node_modules/@codemirror/lang-markdown": {
-      "version": "0.20.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-0.20.1.tgz",
-      "integrity": "sha512-m9pAxcreEf5X2S6l+1a07rvac117DHCmOPRPp0/jih1Byif33LkLrSRObrNym/QyeTMEoE6dwLEutYisGrGaUg==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.0.0.tgz",
+      "integrity": "sha512-ozJaO1W4WgGlwWOoYCSYzbVhhM0YM/4lAWLrNsBbmhh5Ztpl0qm4CgEQRl3t8/YcylTZYBIXiskui8sHNGd4dg==",
       "dependencies": {
       "dependencies": {
-        "@codemirror/lang-html": "^0.20.0",
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/common": "^0.16.0",
-        "@lezer/markdown": "^0.16.0"
+        "@codemirror/lang-html": "^6.0.0",
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0",
+        "@lezer/markdown": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@codemirror/language": {
     "node_modules/@codemirror/language": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.20.2.tgz",
-      "integrity": "sha512-WB3Bnuusw0xhVvhBocieYKwJm04SOk5bPoOEYksVHKHcGHFOaYaw+eZVxR4gIqMMcGzOIUil0FsCmFk8yrhHpw==",
-      "dependencies": {
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/common": "^0.16.0",
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.0",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.2.0.tgz",
+      "integrity": "sha512-tabB0Ef/BflwoEmTB4a//WZ9P90UQyne9qWB9YFsmeS4bnEqSys7UpGk/da1URMXhyfuzWCwp+AQNMhvu8SfnA==",
+      "dependencies": {
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0",
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.0.0",
         "style-mod": "^4.0.0"
         "style-mod": "^4.0.0"
       }
       }
     },
     },
     "node_modules/@codemirror/lint": {
     "node_modules/@codemirror/lint": {
-      "version": "0.20.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.20.3.tgz",
-      "integrity": "sha512-06xUScbbspZ8mKoODQCEx6hz1bjaq9m8W8DxdycWARMiiX1wMtfCh/MoHpaL7ws/KUMwlsFFfp2qhm32oaCvVA==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.0.0.tgz",
+      "integrity": "sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==",
       "dependencies": {
       "dependencies": {
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.2",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
         "crelt": "^1.0.5"
         "crelt": "^1.0.5"
       }
       }
     },
     },
     "node_modules/@codemirror/search": {
     "node_modules/@codemirror/search": {
-      "version": "0.20.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.20.1.tgz",
-      "integrity": "sha512-ROe6gRboQU5E4z6GAkNa2kxhXqsGNbeLEisbvzbOeB7nuDYXUZ70vGIgmqPu0tB+1M3F9yWk6W8k2vrFpJaD4Q==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.0.0.tgz",
+      "integrity": "sha512-rL0rd3AhI0TAsaJPUaEwC63KHLO7KL0Z/dYozXj6E7L3wNHRyx7RfE0/j5HsIf912EE5n2PCb4Vg0rGYmDv4UQ==",
       "dependencies": {
       "dependencies": {
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
         "crelt": "^1.0.5"
         "crelt": "^1.0.5"
       }
       }
     },
     },
     "node_modules/@codemirror/state": {
     "node_modules/@codemirror/state": {
-      "version": "0.20.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.20.1.tgz",
-      "integrity": "sha512-ms0tlV5A02OK0pFvTtSUGMLkoarzh1F8mr6jy1cD7ucSC2X/VLHtQCxfhdSEGqTYlQF2hoZtmLv+amqhdgbwjQ=="
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.1.0.tgz",
+      "integrity": "sha512-qbUr94DZTe6/V1VS7LDLz11rM/1t/nJxR1El4I6UaxDEdc0aZZvq6JCLJWiRmUf95NRAnDH6fhXn+PWp9wGCIg=="
     },
     },
     "node_modules/@codemirror/view": {
     "node_modules/@codemirror/view": {
-      "version": "0.20.7",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.20.7.tgz",
-      "integrity": "sha512-pqEPCb9QFTOtHgAH5XU/oVy9UR/Anj6r+tG5CRmkNVcqSKEPmBU05WtN/jxJCFZBXf6HumzWC9ydE4qstO3TxQ==",
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.0.3.tgz",
+      "integrity": "sha512-1gDBymhbx2DZzwnR/rNUu1LiQqjxBJtFiB+4uLR6tHQ6vKhTIwUsP5uZUQ7SM7JxVx3UihMynnTqjcsC+mczZg==",
       "dependencies": {
       "dependencies": {
-        "@codemirror/state": "^0.20.0",
+        "@codemirror/state": "^6.0.0",
         "style-mod": "^4.0.0",
         "style-mod": "^4.0.0",
         "w3c-keyname": "^2.2.4"
         "w3c-keyname": "^2.2.4"
       }
       }
@@ -3809,73 +3816,73 @@
       }
       }
     },
     },
     "node_modules/@lezer/common": {
     "node_modules/@lezer/common": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.16.0.tgz",
-      "integrity": "sha512-H6sPCku+asKWYaNjwfQ1Uvcay9UP1Pdzu4qpy8GtRZ0cKT2AAGnj9MQGiRtY18MDntvhYRJxNGv7FNWOSV/e8A=="
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.0.tgz",
+      "integrity": "sha512-ohydQe+Hb+w4oMDvXzs8uuJd2NoA3D8YDcLiuDsLqH+yflDTPEpgCsWI3/6rH5C3BAedtH1/R51dxENldQceEA=="
     },
     },
     "node_modules/@lezer/css": {
     "node_modules/@lezer/css": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/css/-/css-0.16.0.tgz",
-      "integrity": "sha512-/YjbaCjgAYb7z/yDOpB/8dXdx1pTyXBsfvsZ6qL1jDg5kIjLUdqKmGGupx+xLTbKEdRC7mMUDPDsQPqXs6JJWQ==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.0.0.tgz",
+      "integrity": "sha512-616VqgDKumHmYIuxs3tnX1irEQmoDHgF/TlP4O5ICWwyHwLMErq+8iKVuzTkOdBqvYAVmObqThcDEAaaMJjAdg==",
       "dependencies": {
       "dependencies": {
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.0"
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@lezer/generator": {
     "node_modules/@lezer/generator": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/generator/-/generator-0.16.0.tgz",
-      "integrity": "sha512-dhkChgTGXdgj++0VV/Av1ARNe35Fj5uYuVt7W6g/7cDtHToS1dNn73rUtRb1cRO6kQXaISE/ne1cr3VofyBcng==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@lezer/generator/-/generator-1.1.0.tgz",
+      "integrity": "sha512-o8LRCpckMKzCRn/uSybiZZG/gXNP8ETTutOAD4VOvuSzB91LO/u3vC7j9PBprr1Yq92x1INMKfX6S7a0YI7Sig==",
       "dev": true,
       "dev": true,
       "dependencies": {
       "dependencies": {
-        "@lezer/common": "^0.16.0",
-        "@lezer/lr": "^0.16.0"
+        "@lezer/common": "^1.0.0",
+        "@lezer/lr": "^1.0.0"
       },
       },
       "bin": {
       "bin": {
         "lezer-generator": "dist/lezer-generator.cjs"
         "lezer-generator": "dist/lezer-generator.cjs"
       }
       }
     },
     },
     "node_modules/@lezer/highlight": {
     "node_modules/@lezer/highlight": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-0.16.0.tgz",
-      "integrity": "sha512-iE5f4flHlJ1g1clOStvXNLbORJoiW4Kytso6ubfYzHnaNo/eo5SKhxs4wv/rtvwZQeZrK3we8S9SyA7OGOoRKQ==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.0.0.tgz",
+      "integrity": "sha512-nsCnNtim90UKsB5YxoX65v3GEIw3iCHw9RM2DtdgkiqAbKh9pCdvi8AWNwkYf10Lu6fxNhXPpkpHbW6mihhvJA==",
       "dependencies": {
       "dependencies": {
-        "@lezer/common": "^0.16.0"
+        "@lezer/common": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@lezer/html": {
     "node_modules/@lezer/html": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/html/-/html-0.16.0.tgz",
-      "integrity": "sha512-bkBc0jUwTrpS0VFSM8mTVreapQ+Hh/BQme1Fp9fCDBp2zFYBSKL+B0KpN/0TkJLhP45EdhzwyaY2OIhkqPHCxA==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.0.0.tgz",
+      "integrity": "sha512-wZHBcieArLTxEi198hqRBBHMySzDKo5suWaESdUw0t44IXp01vkSRwX2brG1qBbKdwJ+C6U0iMl00vWNiyAROg==",
       "dependencies": {
       "dependencies": {
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.0"
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@lezer/javascript": {
     "node_modules/@lezer/javascript": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-0.16.0.tgz",
-      "integrity": "sha512-kDcwX3QMFKVd7VJwlYTeTNtcj3/gXQEDa7cQzXXsFMvTGV/RTDq0r8agTpZu0zBc1RUZkVILusd1Cluz3STRqw==",
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.0.1.tgz",
+      "integrity": "sha512-t7fpf3+gi/jiAtW+Gv734TbKdpPg6b8qATH01/jprW9H2oR++Tb688IHwJvZbk9F4GjpCEv86beuHMpUyC1b5g==",
       "dependencies": {
       "dependencies": {
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.0"
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@lezer/lr": {
     "node_modules/@lezer/lr": {
-      "version": "0.16.3",
-      "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.16.3.tgz",
-      "integrity": "sha512-pau7um4eAw94BEuuShUIeQDTf3k4Wt6oIUOYxMmkZgDHdqtIcxWND4LRxi8nI9KuT4I1bXQv67BCapkxt7Ywqw==",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.2.0.tgz",
+      "integrity": "sha512-TgEpfm9br2SX8JwtwKT8HsQZKuFkLRg6g+IRxObk9nVKQLKnkP3oMh+QGcTBL9GQsfQ2ADtKPbj2iGSMf3ytiA==",
       "dependencies": {
       "dependencies": {
-        "@lezer/common": "^0.16.0"
+        "@lezer/common": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@lezer/markdown": {
     "node_modules/@lezer/markdown": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-0.16.0.tgz",
-      "integrity": "sha512-I+UwkCTFz3KpD6en5/yA0CdGqNefJjNrUUhMd5aMq6iDdEXDQjBBUb5jYYYCuSQbwi9icPiFB9ATYLLhwnuYtg==",
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.0.1.tgz",
+      "integrity": "sha512-LlpNWLqes3XQvd8TwpJTHf9ENl4fI6H32xQkMgltUITFMMdQpOASXQtDawWR03yS6hskh4bkhATQbgjdGMoUvA==",
       "dependencies": {
       "dependencies": {
-        "@lezer/common": "^0.16.0",
-        "@lezer/highlight": "^0.16.0"
+        "@lezer/common": "^1.0.0",
+        "@lezer/highlight": "^1.0.0"
       }
       }
     },
     },
     "node_modules/@mapbox/node-pre-gyp": {
     "node_modules/@mapbox/node-pre-gyp": {
@@ -4581,27 +4588,16 @@
       "integrity": "sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg=="
       "integrity": "sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg=="
     },
     },
     "node_modules/@replit/codemirror-emacs": {
     "node_modules/@replit/codemirror-emacs": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@replit/codemirror-emacs/-/codemirror-emacs-0.20.0.tgz",
-      "integrity": "sha512-8ww9XUqzJFs0ividdB3x+0f61JE24++T/R4fI0/y7127I733HzlqlSimistle5s3OhcHkHo+HOMYKnXBjqeX0w==",
-      "peerDependencies": {
-        "@codemirror/autocomplete": "^0.20.0",
-        "@codemirror/commands": "^0.20.0",
-        "@codemirror/search": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.1"
-      }
-    },
-    "node_modules/@replit/codemirror-vim": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@replit/codemirror-vim/-/codemirror-vim-0.20.0.tgz",
-      "integrity": "sha512-PrrmnDjNaogf+n7sWllirxtl2osEugHd2z9bXAegivW8Yn/b9tl0T7auHdnQzG+Ws4CwSsSvXz/3n8B0/YQfzA==",
+      "version": "6.0.1",
+      "resolved": "git+ssh://git@github.com/overleaf/codemirror-emacs.git#90bcadaaaf38ed0d88cf15f0ddb8e868ca253e17",
+      "integrity": "sha512-hw2nW0fQarkKcuG7Myos2SzpjfCfukmfFTJsxQ/y2hcw4DCRLqD53unBJ5L7yz/nhB5PPcLhg2iV5WRgnT9chg==",
+      "license": "MIT",
       "peerDependencies": {
       "peerDependencies": {
-        "@codemirror/commands": "^0.20.0",
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/search": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.1"
+        "@codemirror/autocomplete": "^6.0.4",
+        "@codemirror/commands": "^6.0.1",
+        "@codemirror/search": "^6.0.0",
+        "@codemirror/state": "^6.1.0",
+        "@codemirror/view": "^6.0.3"
       }
       }
     },
     },
     "node_modules/@sentry/browser": {
     "node_modules/@sentry/browser": {
@@ -34545,17 +34541,17 @@
         "@babel/preset-env": "^7.14.5",
         "@babel/preset-env": "^7.14.5",
         "@babel/preset-react": "^7.14.5",
         "@babel/preset-react": "^7.14.5",
         "@babel/preset-typescript": "^7.16.0",
         "@babel/preset-typescript": "^7.16.0",
-        "@codemirror/autocomplete": "^0.20.3",
-        "@codemirror/commands": "^0.20.0",
-        "@codemirror/lang-markdown": "^0.20.1",
-        "@codemirror/language": "^0.20.2",
-        "@codemirror/lint": "^0.20.3",
-        "@codemirror/search": "^0.20.1",
-        "@codemirror/state": "^0.20.1",
-        "@codemirror/view": "^0.20.7",
-        "@lezer/common": "^0.16.0",
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.3",
+        "@codemirror/autocomplete": "^6.0.4",
+        "@codemirror/commands": "^6.0.1",
+        "@codemirror/lang-markdown": "^6.0.0",
+        "@codemirror/language": "^6.2.0",
+        "@codemirror/lint": "^6.0.0",
+        "@codemirror/search": "^6.0.0",
+        "@codemirror/state": "^6.1.0",
+        "@codemirror/view": "^6.0.3",
+        "@lezer/common": "^1.0.0",
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.2.0",
         "@overleaf/logger": "^3.1.0",
         "@overleaf/logger": "^3.1.0",
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/o-error": "^3.4.0",
@@ -34566,8 +34562,8 @@
         "@pollyjs/core": "^4.2.1",
         "@pollyjs/core": "^4.2.1",
         "@pollyjs/persister-fs": "^4.2.1",
         "@pollyjs/persister-fs": "^4.2.1",
         "@reach/tabs": "^0.15.0",
         "@reach/tabs": "^0.15.0",
-        "@replit/codemirror-emacs": "^0.20.0",
-        "@replit/codemirror-vim": "^0.20.0",
+        "@replit/codemirror-emacs": "overleaf/codemirror-emacs#90bcadaaaf38ed0d88cf15f0ddb8e868ca253e17",
+        "@replit/codemirror-vim": "^6.0.1",
         "@sentry/browser": "^6.3.5",
         "@sentry/browser": "^6.3.5",
         "@uppy/core": "^1.15.0",
         "@uppy/core": "^1.15.0",
         "@uppy/dashboard": "^1.11.0",
         "@uppy/dashboard": "^1.11.0",
@@ -34703,7 +34699,7 @@
         "@babel/register": "^7.14.5",
         "@babel/register": "^7.14.5",
         "@cypress/react": "^6.0.0",
         "@cypress/react": "^6.0.0",
         "@juggle/resize-observer": "^3.3.1",
         "@juggle/resize-observer": "^3.3.1",
-        "@lezer/generator": "^0.16.0",
+        "@lezer/generator": "^1.1.0",
         "@testing-library/cypress": "^8.0.3",
         "@testing-library/cypress": "^8.0.3",
         "@testing-library/dom": "^8.13.0",
         "@testing-library/dom": "^8.13.0",
         "@testing-library/react": "^12.1.5",
         "@testing-library/react": "^12.1.5",
@@ -34816,6 +34812,18 @@
         "@hapi/hoek": "^8.3.0"
         "@hapi/hoek": "^8.3.0"
       }
       }
     },
     },
+    "services/web/node_modules/@replit/codemirror-vim": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@replit/codemirror-vim/-/codemirror-vim-6.0.1.tgz",
+      "integrity": "sha512-s0y42dbfg4OzfN3YCld3wtD/Nf/gkJzEa7FD9O/jt42ohrfXvEjdRER3BTDIFCsMZpvJXgjeGQQweMMAsWGNJg==",
+      "peerDependencies": {
+        "@codemirror/commands": "^6.0.0",
+        "@codemirror/language": "^6.1.0",
+        "@codemirror/search": "^6.0.0",
+        "@codemirror/state": "^6.0.1",
+        "@codemirror/view": "^6.0.2"
+      }
+    },
     "services/web/node_modules/@sinonjs/formatio": {
     "services/web/node_modules/@sinonjs/formatio": {
       "version": "3.2.2",
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz",
       "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz",
@@ -37978,122 +37986,123 @@
       "dev": true
       "dev": true
     },
     },
     "@codemirror/autocomplete": {
     "@codemirror/autocomplete": {
-      "version": "0.20.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.20.3.tgz",
-      "integrity": "sha512-lYB+NPGP+LEzAudkWhLfMxhTrxtLILGl938w+RcFrGdrIc54A+UgmCoz+McE3IYRFp4xyQcL4uFJwo+93YdgHw==",
+      "version": "6.0.4",
+      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.0.4.tgz",
+      "integrity": "sha512-uP7UodCRykPNwSAN+wYa/AS9gJI/V47echCAXUYgCgBXy3l19nwO7W/d29COtG/dfAsjBOhMDeh3Ms8Y5VZbrA==",
       "requires": {
       "requires": {
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/common": "^0.16.0"
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0"
       }
       }
     },
     },
     "@codemirror/commands": {
     "@codemirror/commands": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.20.0.tgz",
-      "integrity": "sha512-v9L5NNVA+A9R6zaFvaTbxs30kc69F6BkOoiEbeFw4m4I0exmDEKBILN6mK+GksJtvTzGBxvhAPlVFTdQW8GB7Q==",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.0.1.tgz",
+      "integrity": "sha512-iNHDByicYqQjs0Wo1MKGfqNbMYMyhS9WV6EwMVwsHXImlFemgEUC+c5X22bXKBStN3qnwg4fArNZM+gkv22baQ==",
       "requires": {
       "requires": {
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/common": "^0.16.0"
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0"
       }
       }
     },
     },
     "@codemirror/lang-css": {
     "@codemirror/lang-css": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-0.20.0.tgz",
-      "integrity": "sha512-NvYBkDu5Abvzp3bRnU7oHnz3QGeYLYcMIVlEAExtDw6QLbKn8beObuJLQmQB1TqAk7KJcrMvH0xf73DAF9ICHg==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.0.0.tgz",
+      "integrity": "sha512-jBqc+BTuwhNOTlrimFghLlSrN6iFuE44HULKWoR4qKYObhOIl9Lci1iYj6zMIte1XTQmZguNvjXMyr43LUKwSw==",
       "requires": {
       "requires": {
-        "@codemirror/autocomplete": "^0.20.0",
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@lezer/css": "^0.16.0"
+        "@codemirror/autocomplete": "^6.0.0",
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@lezer/css": "^1.0.0"
       }
       }
     },
     },
     "@codemirror/lang-html": {
     "@codemirror/lang-html": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-0.20.0.tgz",
-      "integrity": "sha512-hh/vii8Hw0eoPQy6vacqrrt4FMeLn9cNOG7zPFFOyc+oTl66+FYHgOtWH8b6HysTx0pdTMtpNbBF4tTLMbmP1w==",
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.1.0.tgz",
+      "integrity": "sha512-gA7NmJxqvnhwza05CvR7W/39Ap9r/4Vs9uiC0IeFYo1hSlJzc/8N6Evviz6vTW1x8SpHcRYyqKOf6rpl6LfWtg==",
       "requires": {
       "requires": {
-        "@codemirror/autocomplete": "^0.20.0",
-        "@codemirror/lang-css": "^0.20.0",
-        "@codemirror/lang-javascript": "^0.20.0",
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@lezer/common": "^0.16.0",
-        "@lezer/html": "^0.16.0"
+        "@codemirror/autocomplete": "^6.0.0",
+        "@codemirror/lang-css": "^6.0.0",
+        "@codemirror/lang-javascript": "^6.0.0",
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@lezer/common": "^1.0.0",
+        "@lezer/html": "^1.0.0"
       }
       }
     },
     },
     "@codemirror/lang-javascript": {
     "@codemirror/lang-javascript": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-0.20.0.tgz",
-      "integrity": "sha512-Wawq5+o1DlWtsqAyaa9NkiSXNT7geFcfdUael0hIQdM7P23gkQaD+xgZcyQP6QvPxVAdnY4VIWHFzFAqBti+WQ==",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.0.1.tgz",
+      "integrity": "sha512-kjGbBEosl+ozDU5ruDV48w4v3H6KECTFiDjqMLT0KhVwESPfv3wOvnDrTT0uaMOg3YRGnBWsyiIoKHl/tNWWDg==",
       "requires": {
       "requires": {
-        "@codemirror/autocomplete": "^0.20.0",
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/lint": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/javascript": "^0.16.0"
+        "@codemirror/autocomplete": "^6.0.0",
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/lint": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0",
+        "@lezer/javascript": "^1.0.0"
       }
       }
     },
     },
     "@codemirror/lang-markdown": {
     "@codemirror/lang-markdown": {
-      "version": "0.20.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-0.20.1.tgz",
-      "integrity": "sha512-m9pAxcreEf5X2S6l+1a07rvac117DHCmOPRPp0/jih1Byif33LkLrSRObrNym/QyeTMEoE6dwLEutYisGrGaUg==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.0.0.tgz",
+      "integrity": "sha512-ozJaO1W4WgGlwWOoYCSYzbVhhM0YM/4lAWLrNsBbmhh5Ztpl0qm4CgEQRl3t8/YcylTZYBIXiskui8sHNGd4dg==",
       "requires": {
       "requires": {
-        "@codemirror/lang-html": "^0.20.0",
-        "@codemirror/language": "^0.20.0",
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/common": "^0.16.0",
-        "@lezer/markdown": "^0.16.0"
+        "@codemirror/lang-html": "^6.0.0",
+        "@codemirror/language": "^6.0.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0",
+        "@lezer/markdown": "^1.0.0"
       }
       }
     },
     },
     "@codemirror/language": {
     "@codemirror/language": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.20.2.tgz",
-      "integrity": "sha512-WB3Bnuusw0xhVvhBocieYKwJm04SOk5bPoOEYksVHKHcGHFOaYaw+eZVxR4gIqMMcGzOIUil0FsCmFk8yrhHpw==",
-      "requires": {
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
-        "@lezer/common": "^0.16.0",
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.0",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.2.0.tgz",
+      "integrity": "sha512-tabB0Ef/BflwoEmTB4a//WZ9P90UQyne9qWB9YFsmeS4bnEqSys7UpGk/da1URMXhyfuzWCwp+AQNMhvu8SfnA==",
+      "requires": {
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
+        "@lezer/common": "^1.0.0",
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.0.0",
         "style-mod": "^4.0.0"
         "style-mod": "^4.0.0"
       }
       }
     },
     },
     "@codemirror/lint": {
     "@codemirror/lint": {
-      "version": "0.20.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.20.3.tgz",
-      "integrity": "sha512-06xUScbbspZ8mKoODQCEx6hz1bjaq9m8W8DxdycWARMiiX1wMtfCh/MoHpaL7ws/KUMwlsFFfp2qhm32oaCvVA==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.0.0.tgz",
+      "integrity": "sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==",
       "requires": {
       "requires": {
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.2",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
         "crelt": "^1.0.5"
         "crelt": "^1.0.5"
       }
       }
     },
     },
     "@codemirror/search": {
     "@codemirror/search": {
-      "version": "0.20.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.20.1.tgz",
-      "integrity": "sha512-ROe6gRboQU5E4z6GAkNa2kxhXqsGNbeLEisbvzbOeB7nuDYXUZ70vGIgmqPu0tB+1M3F9yWk6W8k2vrFpJaD4Q==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.0.0.tgz",
+      "integrity": "sha512-rL0rd3AhI0TAsaJPUaEwC63KHLO7KL0Z/dYozXj6E7L3wNHRyx7RfE0/j5HsIf912EE5n2PCb4Vg0rGYmDv4UQ==",
       "requires": {
       "requires": {
-        "@codemirror/state": "^0.20.0",
-        "@codemirror/view": "^0.20.0",
+        "@codemirror/state": "^6.0.0",
+        "@codemirror/view": "^6.0.0",
         "crelt": "^1.0.5"
         "crelt": "^1.0.5"
       }
       }
     },
     },
     "@codemirror/state": {
     "@codemirror/state": {
-      "version": "0.20.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.20.1.tgz",
-      "integrity": "sha512-ms0tlV5A02OK0pFvTtSUGMLkoarzh1F8mr6jy1cD7ucSC2X/VLHtQCxfhdSEGqTYlQF2hoZtmLv+amqhdgbwjQ=="
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.1.0.tgz",
+      "integrity": "sha512-qbUr94DZTe6/V1VS7LDLz11rM/1t/nJxR1El4I6UaxDEdc0aZZvq6JCLJWiRmUf95NRAnDH6fhXn+PWp9wGCIg=="
     },
     },
     "@codemirror/view": {
     "@codemirror/view": {
-      "version": "0.20.7",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.20.7.tgz",
-      "integrity": "sha512-pqEPCb9QFTOtHgAH5XU/oVy9UR/Anj6r+tG5CRmkNVcqSKEPmBU05WtN/jxJCFZBXf6HumzWC9ydE4qstO3TxQ==",
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.0.3.tgz",
+      "integrity": "sha512-1gDBymhbx2DZzwnR/rNUu1LiQqjxBJtFiB+4uLR6tHQ6vKhTIwUsP5uZUQ7SM7JxVx3UihMynnTqjcsC+mczZg==",
       "requires": {
       "requires": {
-        "@codemirror/state": "^0.20.0",
+        "@codemirror/state": "^6.0.0",
         "style-mod": "^4.0.0",
         "style-mod": "^4.0.0",
         "w3c-keyname": "^2.2.4"
         "w3c-keyname": "^2.2.4"
       }
       }
@@ -39075,70 +39084,70 @@
       }
       }
     },
     },
     "@lezer/common": {
     "@lezer/common": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.16.0.tgz",
-      "integrity": "sha512-H6sPCku+asKWYaNjwfQ1Uvcay9UP1Pdzu4qpy8GtRZ0cKT2AAGnj9MQGiRtY18MDntvhYRJxNGv7FNWOSV/e8A=="
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.0.tgz",
+      "integrity": "sha512-ohydQe+Hb+w4oMDvXzs8uuJd2NoA3D8YDcLiuDsLqH+yflDTPEpgCsWI3/6rH5C3BAedtH1/R51dxENldQceEA=="
     },
     },
     "@lezer/css": {
     "@lezer/css": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/css/-/css-0.16.0.tgz",
-      "integrity": "sha512-/YjbaCjgAYb7z/yDOpB/8dXdx1pTyXBsfvsZ6qL1jDg5kIjLUdqKmGGupx+xLTbKEdRC7mMUDPDsQPqXs6JJWQ==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.0.0.tgz",
+      "integrity": "sha512-616VqgDKumHmYIuxs3tnX1irEQmoDHgF/TlP4O5ICWwyHwLMErq+8iKVuzTkOdBqvYAVmObqThcDEAaaMJjAdg==",
       "requires": {
       "requires": {
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.0"
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.0.0"
       }
       }
     },
     },
     "@lezer/generator": {
     "@lezer/generator": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/generator/-/generator-0.16.0.tgz",
-      "integrity": "sha512-dhkChgTGXdgj++0VV/Av1ARNe35Fj5uYuVt7W6g/7cDtHToS1dNn73rUtRb1cRO6kQXaISE/ne1cr3VofyBcng==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@lezer/generator/-/generator-1.1.0.tgz",
+      "integrity": "sha512-o8LRCpckMKzCRn/uSybiZZG/gXNP8ETTutOAD4VOvuSzB91LO/u3vC7j9PBprr1Yq92x1INMKfX6S7a0YI7Sig==",
       "dev": true,
       "dev": true,
       "requires": {
       "requires": {
-        "@lezer/common": "^0.16.0",
-        "@lezer/lr": "^0.16.0"
+        "@lezer/common": "^1.0.0",
+        "@lezer/lr": "^1.0.0"
       }
       }
     },
     },
     "@lezer/highlight": {
     "@lezer/highlight": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-0.16.0.tgz",
-      "integrity": "sha512-iE5f4flHlJ1g1clOStvXNLbORJoiW4Kytso6ubfYzHnaNo/eo5SKhxs4wv/rtvwZQeZrK3we8S9SyA7OGOoRKQ==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.0.0.tgz",
+      "integrity": "sha512-nsCnNtim90UKsB5YxoX65v3GEIw3iCHw9RM2DtdgkiqAbKh9pCdvi8AWNwkYf10Lu6fxNhXPpkpHbW6mihhvJA==",
       "requires": {
       "requires": {
-        "@lezer/common": "^0.16.0"
+        "@lezer/common": "^1.0.0"
       }
       }
     },
     },
     "@lezer/html": {
     "@lezer/html": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/html/-/html-0.16.0.tgz",
-      "integrity": "sha512-bkBc0jUwTrpS0VFSM8mTVreapQ+Hh/BQme1Fp9fCDBp2zFYBSKL+B0KpN/0TkJLhP45EdhzwyaY2OIhkqPHCxA==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.0.0.tgz",
+      "integrity": "sha512-wZHBcieArLTxEi198hqRBBHMySzDKo5suWaESdUw0t44IXp01vkSRwX2brG1qBbKdwJ+C6U0iMl00vWNiyAROg==",
       "requires": {
       "requires": {
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.0"
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.0.0"
       }
       }
     },
     },
     "@lezer/javascript": {
     "@lezer/javascript": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-0.16.0.tgz",
-      "integrity": "sha512-kDcwX3QMFKVd7VJwlYTeTNtcj3/gXQEDa7cQzXXsFMvTGV/RTDq0r8agTpZu0zBc1RUZkVILusd1Cluz3STRqw==",
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.0.1.tgz",
+      "integrity": "sha512-t7fpf3+gi/jiAtW+Gv734TbKdpPg6b8qATH01/jprW9H2oR++Tb688IHwJvZbk9F4GjpCEv86beuHMpUyC1b5g==",
       "requires": {
       "requires": {
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.0"
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.0.0"
       }
       }
     },
     },
     "@lezer/lr": {
     "@lezer/lr": {
-      "version": "0.16.3",
-      "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.16.3.tgz",
-      "integrity": "sha512-pau7um4eAw94BEuuShUIeQDTf3k4Wt6oIUOYxMmkZgDHdqtIcxWND4LRxi8nI9KuT4I1bXQv67BCapkxt7Ywqw==",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.2.0.tgz",
+      "integrity": "sha512-TgEpfm9br2SX8JwtwKT8HsQZKuFkLRg6g+IRxObk9nVKQLKnkP3oMh+QGcTBL9GQsfQ2ADtKPbj2iGSMf3ytiA==",
       "requires": {
       "requires": {
-        "@lezer/common": "^0.16.0"
+        "@lezer/common": "^1.0.0"
       }
       }
     },
     },
     "@lezer/markdown": {
     "@lezer/markdown": {
-      "version": "0.16.0",
-      "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-0.16.0.tgz",
-      "integrity": "sha512-I+UwkCTFz3KpD6en5/yA0CdGqNefJjNrUUhMd5aMq6iDdEXDQjBBUb5jYYYCuSQbwi9icPiFB9ATYLLhwnuYtg==",
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.0.1.tgz",
+      "integrity": "sha512-LlpNWLqes3XQvd8TwpJTHf9ENl4fI6H32xQkMgltUITFMMdQpOASXQtDawWR03yS6hskh4bkhATQbgjdGMoUvA==",
       "requires": {
       "requires": {
-        "@lezer/common": "^0.16.0",
-        "@lezer/highlight": "^0.16.0"
+        "@lezer/common": "^1.0.0",
+        "@lezer/highlight": "^1.0.0"
       }
       }
     },
     },
     "@mapbox/node-pre-gyp": {
     "@mapbox/node-pre-gyp": {
@@ -42056,20 +42065,20 @@
         "@babel/preset-react": "^7.14.5",
         "@babel/preset-react": "^7.14.5",
         "@babel/preset-typescript": "^7.16.0",
         "@babel/preset-typescript": "^7.16.0",
         "@babel/register": "^7.14.5",
         "@babel/register": "^7.14.5",
-        "@codemirror/autocomplete": "^0.20.3",
-        "@codemirror/commands": "^0.20.0",
-        "@codemirror/lang-markdown": "^0.20.1",
-        "@codemirror/language": "^0.20.2",
-        "@codemirror/lint": "^0.20.3",
-        "@codemirror/search": "^0.20.1",
-        "@codemirror/state": "^0.20.1",
-        "@codemirror/view": "^0.20.7",
+        "@codemirror/autocomplete": "^6.0.4",
+        "@codemirror/commands": "^6.0.1",
+        "@codemirror/lang-markdown": "^6.0.0",
+        "@codemirror/language": "^6.2.0",
+        "@codemirror/lint": "^6.0.0",
+        "@codemirror/search": "^6.0.0",
+        "@codemirror/state": "^6.1.0",
+        "@codemirror/view": "^6.0.3",
         "@cypress/react": "^6.0.0",
         "@cypress/react": "^6.0.0",
         "@juggle/resize-observer": "^3.3.1",
         "@juggle/resize-observer": "^3.3.1",
-        "@lezer/common": "^0.16.0",
-        "@lezer/generator": "^0.16.0",
-        "@lezer/highlight": "^0.16.0",
-        "@lezer/lr": "^0.16.3",
+        "@lezer/common": "^1.0.0",
+        "@lezer/generator": "^1.1.0",
+        "@lezer/highlight": "^1.0.0",
+        "@lezer/lr": "^1.2.0",
         "@overleaf/logger": "^3.1.0",
         "@overleaf/logger": "^3.1.0",
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/metrics": "^4.0.0",
         "@overleaf/o-error": "^3.4.0",
         "@overleaf/o-error": "^3.4.0",
@@ -42080,8 +42089,8 @@
         "@pollyjs/core": "^4.2.1",
         "@pollyjs/core": "^4.2.1",
         "@pollyjs/persister-fs": "^4.2.1",
         "@pollyjs/persister-fs": "^4.2.1",
         "@reach/tabs": "^0.15.0",
         "@reach/tabs": "^0.15.0",
-        "@replit/codemirror-emacs": "^0.20.0",
-        "@replit/codemirror-vim": "^0.20.0",
+        "@replit/codemirror-emacs": "overleaf/codemirror-emacs#90bcadaaaf38ed0d88cf15f0ddb8e868ca253e17",
+        "@replit/codemirror-vim": "^6.0.1",
         "@sentry/browser": "^6.3.5",
         "@sentry/browser": "^6.3.5",
         "@testing-library/cypress": "^8.0.3",
         "@testing-library/cypress": "^8.0.3",
         "@testing-library/dom": "^8.13.0",
         "@testing-library/dom": "^8.13.0",
@@ -42320,6 +42329,12 @@
             "@hapi/hoek": "^8.3.0"
             "@hapi/hoek": "^8.3.0"
           }
           }
         },
         },
+        "@replit/codemirror-vim": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/@replit/codemirror-vim/-/codemirror-vim-6.0.1.tgz",
+          "integrity": "sha512-s0y42dbfg4OzfN3YCld3wtD/Nf/gkJzEa7FD9O/jt42ohrfXvEjdRER3BTDIFCsMZpvJXgjeGQQweMMAsWGNJg==",
+          "requires": {}
+        },
         "@sinonjs/formatio": {
         "@sinonjs/formatio": {
           "version": "3.2.2",
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz",
           "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.2.tgz",
@@ -43978,15 +43993,9 @@
       "integrity": "sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg=="
       "integrity": "sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg=="
     },
     },
     "@replit/codemirror-emacs": {
     "@replit/codemirror-emacs": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@replit/codemirror-emacs/-/codemirror-emacs-0.20.0.tgz",
-      "integrity": "sha512-8ww9XUqzJFs0ividdB3x+0f61JE24++T/R4fI0/y7127I733HzlqlSimistle5s3OhcHkHo+HOMYKnXBjqeX0w==",
-      "requires": {}
-    },
-    "@replit/codemirror-vim": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@replit/codemirror-vim/-/codemirror-vim-0.20.0.tgz",
-      "integrity": "sha512-PrrmnDjNaogf+n7sWllirxtl2osEugHd2z9bXAegivW8Yn/b9tl0T7auHdnQzG+Ws4CwSsSvXz/3n8B0/YQfzA==",
+      "version": "git+ssh://git@github.com/overleaf/codemirror-emacs.git#90bcadaaaf38ed0d88cf15f0ddb8e868ca253e17",
+      "integrity": "sha512-hw2nW0fQarkKcuG7Myos2SzpjfCfukmfFTJsxQ/y2hcw4DCRLqD53unBJ5L7yz/nhB5PPcLhg2iV5WRgnT9chg==",
+      "from": "@replit/codemirror-emacs@overleaf/codemirror-emacs#90bcadaaaf38ed0d88cf15f0ddb8e868ca253e17",
       "requires": {}
       "requires": {}
     },
     },
     "@sentry/browser": {
     "@sentry/browser": {

+ 14 - 14
services/web/package.json

@@ -49,17 +49,17 @@
     "@babel/preset-env": "^7.14.5",
     "@babel/preset-env": "^7.14.5",
     "@babel/preset-react": "^7.14.5",
     "@babel/preset-react": "^7.14.5",
     "@babel/preset-typescript": "^7.16.0",
     "@babel/preset-typescript": "^7.16.0",
-    "@codemirror/autocomplete": "^0.20.3",
-    "@codemirror/commands": "^0.20.0",
-    "@codemirror/lang-markdown": "^0.20.1",
-    "@codemirror/language": "^0.20.2",
-    "@codemirror/lint": "^0.20.3",
-    "@codemirror/search": "^0.20.1",
-    "@codemirror/state": "^0.20.1",
-    "@codemirror/view": "^0.20.7",
-    "@lezer/common": "^0.16.0",
-    "@lezer/highlight": "^0.16.0",
-    "@lezer/lr": "^0.16.3",
+    "@codemirror/autocomplete": "^6.0.4",
+    "@codemirror/commands": "^6.0.1",
+    "@codemirror/lang-markdown": "^6.0.0",
+    "@codemirror/language": "^6.2.0",
+    "@codemirror/lint": "^6.0.0",
+    "@codemirror/search": "^6.0.0",
+    "@codemirror/state": "^6.1.0",
+    "@codemirror/view": "^6.0.3",
+    "@lezer/common": "^1.0.0",
+    "@lezer/highlight": "^1.0.0",
+    "@lezer/lr": "^1.2.0",
     "@overleaf/logger": "^3.1.0",
     "@overleaf/logger": "^3.1.0",
     "@overleaf/metrics": "^4.0.0",
     "@overleaf/metrics": "^4.0.0",
     "@overleaf/o-error": "^3.4.0",
     "@overleaf/o-error": "^3.4.0",
@@ -70,8 +70,8 @@
     "@pollyjs/core": "^4.2.1",
     "@pollyjs/core": "^4.2.1",
     "@pollyjs/persister-fs": "^4.2.1",
     "@pollyjs/persister-fs": "^4.2.1",
     "@reach/tabs": "^0.15.0",
     "@reach/tabs": "^0.15.0",
-    "@replit/codemirror-emacs": "^0.20.0",
-    "@replit/codemirror-vim": "^0.20.0",
+    "@replit/codemirror-emacs": "overleaf/codemirror-emacs#90bcadaaaf38ed0d88cf15f0ddb8e868ca253e17",
+    "@replit/codemirror-vim": "^6.0.1",
     "@sentry/browser": "^6.3.5",
     "@sentry/browser": "^6.3.5",
     "@uppy/core": "^1.15.0",
     "@uppy/core": "^1.15.0",
     "@uppy/dashboard": "^1.11.0",
     "@uppy/dashboard": "^1.11.0",
@@ -207,7 +207,7 @@
     "@babel/register": "^7.14.5",
     "@babel/register": "^7.14.5",
     "@cypress/react": "^6.0.0",
     "@cypress/react": "^6.0.0",
     "@juggle/resize-observer": "^3.3.1",
     "@juggle/resize-observer": "^3.3.1",
-    "@lezer/generator": "^0.16.0",
+    "@lezer/generator": "^1.1.0",
     "@testing-library/cypress": "^8.0.3",
     "@testing-library/cypress": "^8.0.3",
     "@testing-library/dom": "^8.13.0",
     "@testing-library/dom": "^8.13.0",
     "@testing-library/react": "^12.1.5",
     "@testing-library/react": "^12.1.5",