Browse Source

Add "whole word" option to CM6 search (#9140)

GitOrigin-RevId: bb56c38adca601856a505ad435cc2728efd2b40d
Alf Eaton 3 years ago
parent
commit
91bf3378a5

+ 26 - 24
package-lock.json

@@ -2509,9 +2509,9 @@
       "dev": true
     },
     "node_modules/@codemirror/autocomplete": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.2.0.tgz",
-      "integrity": "sha512-yNCm2CEE4kE4L2Sf7WeyCej1Q3951ccaCWfomrlBkoERKCss+TzuEeqGe5VnAJTEybLy1yzf1BdMUY/988bfpg==",
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.3.0.tgz",
+      "integrity": "sha512-4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==",
       "dependencies": {
         "@codemirror/language": "^6.0.0",
         "@codemirror/state": "^6.0.0",
@@ -2612,9 +2612,9 @@
       }
     },
     "node_modules/@codemirror/search": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.2.0.tgz",
-      "integrity": "sha512-FVhpUvPFUJe8lg2EQJTTcF4RNI9d/OC3PVitvOfhv5OuY7ZgtMfJl22o5eMkzOEsUY2Wxe7BKGLpe2UI5Wq3PQ==",
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.2.1.tgz",
+      "integrity": "sha512-Q1JgUSBjQZRPIddlXzad/AVDigdhriLxQNFyP0gfrDTq6LDHNhr95U/tW3bpVssGenkaLzujtu/7XoK4kyvL3g==",
       "dependencies": {
         "@codemirror/state": "^6.0.0",
         "@codemirror/view": "^6.0.0",
@@ -2627,9 +2627,9 @@
       "integrity": "sha512-Mxff85Hp5va+zuj+H748KbubXjrinX/k28lj43H14T2D0+4kuvEFIEIO7hCEcvBT8ubZyIelt9yGOjj2MWOEQA=="
     },
     "node_modules/@codemirror/view": {
-      "version": "6.2.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.2.4.tgz",
-      "integrity": "sha512-Zc5qDv+CD2ubWs6ShGJL0tf4y2w5vObdg7Eus0ouhg9g5lrvsAnwO9PvavDZdK4bpH6O+cnNDRhFlvDuieXo/g==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.2.5.tgz",
+      "integrity": "sha512-4kVS3RZi3nkPNfG2X/7+2L8IhoJv6dJ9yJz4KUlw4rwxI8OmVCKJzC/jnJqp+bVNOml+oA3gSF1kX2VvOiI72Q==",
       "dependencies": {
         "@codemirror/state": "^6.0.0",
         "style-mod": "^4.0.0",
@@ -32193,6 +32193,7 @@
         "@overleaf/settings": "^3.0.0",
         "async": "^3.2.2",
         "body-parser": "^1.19.0",
+        "bson": "^1.1.4",
         "bunyan": "^1.8.15",
         "celebrate": "^13.0.4",
         "express": "^4.17.1",
@@ -34792,14 +34793,14 @@
         "@babel/preset-env": "^7.14.5",
         "@babel/preset-react": "^7.14.5",
         "@babel/preset-typescript": "^7.16.0",
-        "@codemirror/autocomplete": "^6.2.0",
+        "@codemirror/autocomplete": "^6.3.0",
         "@codemirror/commands": "^6.1.0",
         "@codemirror/lang-markdown": "^6.0.1",
         "@codemirror/language": "^6.2.1",
         "@codemirror/lint": "^6.0.0",
-        "@codemirror/search": "^6.2.0",
+        "@codemirror/search": "^6.2.1",
         "@codemirror/state": "^6.1.2",
-        "@codemirror/view": "^6.2.4",
+        "@codemirror/view": "^6.2.5",
         "@lezer/common": "^1.0.1",
         "@lezer/highlight": "^1.1.0",
         "@lezer/lr": "^1.2.3",
@@ -38225,9 +38226,9 @@
       "dev": true
     },
     "@codemirror/autocomplete": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.2.0.tgz",
-      "integrity": "sha512-yNCm2CEE4kE4L2Sf7WeyCej1Q3951ccaCWfomrlBkoERKCss+TzuEeqGe5VnAJTEybLy1yzf1BdMUY/988bfpg==",
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.3.0.tgz",
+      "integrity": "sha512-4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==",
       "requires": {
         "@codemirror/language": "^6.0.0",
         "@codemirror/state": "^6.0.0",
@@ -38322,9 +38323,9 @@
       }
     },
     "@codemirror/search": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.2.0.tgz",
-      "integrity": "sha512-FVhpUvPFUJe8lg2EQJTTcF4RNI9d/OC3PVitvOfhv5OuY7ZgtMfJl22o5eMkzOEsUY2Wxe7BKGLpe2UI5Wq3PQ==",
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.2.1.tgz",
+      "integrity": "sha512-Q1JgUSBjQZRPIddlXzad/AVDigdhriLxQNFyP0gfrDTq6LDHNhr95U/tW3bpVssGenkaLzujtu/7XoK4kyvL3g==",
       "requires": {
         "@codemirror/state": "^6.0.0",
         "@codemirror/view": "^6.0.0",
@@ -38337,9 +38338,9 @@
       "integrity": "sha512-Mxff85Hp5va+zuj+H748KbubXjrinX/k28lj43H14T2D0+4kuvEFIEIO7hCEcvBT8ubZyIelt9yGOjj2MWOEQA=="
     },
     "@codemirror/view": {
-      "version": "6.2.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.2.4.tgz",
-      "integrity": "sha512-Zc5qDv+CD2ubWs6ShGJL0tf4y2w5vObdg7Eus0ouhg9g5lrvsAnwO9PvavDZdK4bpH6O+cnNDRhFlvDuieXo/g==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.2.5.tgz",
+      "integrity": "sha512-4kVS3RZi3nkPNfG2X/7+2L8IhoJv6dJ9yJz4KUlw4rwxI8OmVCKJzC/jnJqp+bVNOml+oA3gSF1kX2VvOiI72Q==",
       "requires": {
         "@codemirror/state": "^6.0.0",
         "style-mod": "^4.0.0",
@@ -40134,6 +40135,7 @@
         "@overleaf/settings": "^3.0.0",
         "async": "^3.2.2",
         "body-parser": "^1.19.0",
+        "bson": "^1.1.4",
         "bunyan": "^1.8.15",
         "celebrate": "^13.0.4",
         "chai": "^4.3.6",
@@ -42393,14 +42395,14 @@
         "@babel/preset-react": "^7.14.5",
         "@babel/preset-typescript": "^7.16.0",
         "@babel/register": "^7.14.5",
-        "@codemirror/autocomplete": "^6.2.0",
+        "@codemirror/autocomplete": "^6.3.0",
         "@codemirror/commands": "^6.1.0",
         "@codemirror/lang-markdown": "^6.0.1",
         "@codemirror/language": "^6.2.1",
         "@codemirror/lint": "^6.0.0",
-        "@codemirror/search": "^6.2.0",
+        "@codemirror/search": "^6.2.1",
         "@codemirror/state": "^6.1.2",
-        "@codemirror/view": "^6.2.4",
+        "@codemirror/view": "^6.2.5",
         "@cypress/react": "^6.0.0",
         "@juggle/resize-observer": "^3.3.1",
         "@lezer/common": "^1.0.1",

+ 1 - 0
services/web/frontend/extracted-translations.json

@@ -538,6 +538,7 @@
   "search_replace_all": "",
   "search_replace_with": "",
   "search_search_for": "",
+  "search_whole_word": "",
   "select_a_file": "",
   "select_a_project": "",
   "select_all_projects": "",

+ 1 - 0
services/web/locales/en.json

@@ -1726,6 +1726,7 @@
   "search_replace_with": "Replace with",
   "search_replace_all": "Replace All",
   "search_search_for": "Search for",
+  "search_whole_word": "Whole word",
   "go_to_account_settings": "Go to Account Settings",
   "keep_your_account_safe": "Keep your account safe",
   "primary_email_check_question": "Is <0>__email__</0> still your email address?",

+ 3 - 3
services/web/package.json

@@ -67,14 +67,14 @@
     "@babel/preset-env": "^7.14.5",
     "@babel/preset-react": "^7.14.5",
     "@babel/preset-typescript": "^7.16.0",
-    "@codemirror/autocomplete": "^6.2.0",
+    "@codemirror/autocomplete": "^6.3.0",
     "@codemirror/commands": "^6.1.0",
     "@codemirror/lang-markdown": "^6.0.1",
     "@codemirror/language": "^6.2.1",
     "@codemirror/lint": "^6.0.0",
-    "@codemirror/search": "^6.2.0",
+    "@codemirror/search": "^6.2.1",
     "@codemirror/state": "^6.1.2",
-    "@codemirror/view": "^6.2.4",
+    "@codemirror/view": "^6.2.5",
     "@lezer/common": "^1.0.1",
     "@lezer/highlight": "^1.1.0",
     "@lezer/lr": "^1.2.3",