Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/lang/ar-ye.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/az-az.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "Bu cihazda kifayət qədər boş yaddaş sahəsi qalmayıb.",
"error-network": "Serverlə əlaqə qurmaq mümkün olmadı. Əlaqəni yoxla və yenidən cəhd et.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/be-by.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/bn-bd.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/cs-cz.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/de-de.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/en-us.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/es-sv.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/fr-fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/he-il.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/hi-in.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/hu-hu.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "Ezen az eszközön nincs elegendő szabad tárhely.",
"error-network": "Nem sikerült kapcsolódni a kiszolgálóhoz. Ellenőrizze az internetkapcsolatát, majd próbálja meg újra.",
"files saved count": "{count} fájl mentve",
"files not saved count": "{count} fájl nem lett mentve"
"files not saved count": "{count} fájl nem lett mentve",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/id-id.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
1 change: 1 addition & 0 deletions src/lang/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -917,6 +917,7 @@ declare type LangStrings = {
"error-network": string;
"files saved count": string;
"files not saved count": string;
"replace all confirm": string;
};

declare var strings: LangStrings;
3 changes: 2 additions & 1 deletion src/lang/ir-fa.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/it-it.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/ja-jp.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/ko-kr.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/ln-ln.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/ml-in.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/mm-unicode.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/mm-zawgyi.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/pl-pl.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/pt-br.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/pu-in.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/ru-ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/tl-ph.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/tr-tr.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/uk-ua.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/uz-uz.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/vi-vn.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/zh-cn.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "此设备的剩余存储空间不足。",
"error-network": "无法连接到服务器。请检查网络连接后重试。",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/zh-hant.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "此裝置的剩餘儲存空間不足。",
"error-network": "無法連線至伺服器。請檢查網路連線後重試。",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
3 changes: 2 additions & 1 deletion src/lang/zh-tw.json
Original file line number Diff line number Diff line change
Expand Up @@ -913,5 +913,6 @@
"error-no-space": "There isn't enough storage space left on this device.",
"error-network": "Couldn't reach the server. Check your connection and try again.",
"files saved count": "Files saved: {count}",
"files not saved count": "Files not saved: {count}"
"files not saved count": "Files not saved: {count}",
"replace all confirm": "Replace {matches} matches in {files} files?"
}
35 changes: 24 additions & 11 deletions src/sidebarApps/searchInFiles/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import autosize from "autosize";
import { getDocText } from "cm/editorUtils";
import Checkbox from "components/checkbox";
import Sidebar, { preventSlide } from "components/sidebar";
import confirm from "dialogs/confirm";
import escapeStringRegexp from "escape-string-regexp";
import Reactive from "html-tag-js/reactive";
import Ref from "html-tag-js/ref";
Expand All @@ -25,6 +26,8 @@ const workers = [];
const results = [];
const filesSearched = [];
const filesReplaced = [];
/** Number of files the current Replace All was confirmed for. */
let filesToReplaceCount = 0;

const $container = Ref();
const $regExp = Ref();
Expand Down Expand Up @@ -365,7 +368,7 @@ async function onWorkerMessage(e) {
const { file, text } = data;
filesReplaced.push(file);
openFile(file.url, {
render: filesSearched.length === filesReplaced.length,
render: filesReplaced.length === filesToReplaceCount,
text,
});
break;
Expand Down Expand Up @@ -795,7 +798,7 @@ function sendNativeSearch(
case "replace-result":
filesReplaced.push(event.file);
openFile(event.file.url, {
render: filesSearched.length === filesReplaced.length,
render: filesReplaced.length === filesToReplaceCount,
text: event.text,
});
break;
Expand Down Expand Up @@ -924,24 +927,34 @@ function withTimeout(promise, ms) {
* Sends a message to the worker threads to perform the replacement.
*/
async function replaceAll() {
terminateWorker();
filesReplaced.length = 0;

// Snapshot everything before the dialog: the search keeps running while it
// is open, so only the files the user was shown may be replaced.
const files = [...filesSearched];
const search = $search.value;
const replace = $replace.value;
const options = getOptions();
if (!search || !replace) return;
const regex = toRegex(search, options);
if (!regex) return;

if (files.length) {
const confirmed = await confirm(
strings.warning,
strings["replace all confirm"]
.replace("{matches}", resultOverview.matchesCount)
.replace("{files}", files.length),
);
if (!confirmed) return;
Comment thread
youssefm1 marked this conversation as resolved.
Resolved
}

terminateWorker();
filesReplaced.length = 0;
filesToReplaceCount = files.length;

replacing = true;
activeReplaceTasks = 0;
const nativeFiles = filesSearched.filter((file) =>
supportsNativeSearch(file.url),
);
const workerFiles = filesSearched.filter(
(file) => !supportsNativeSearch(file.url),
);
const nativeFiles = files.filter((file) => supportsNativeSearch(file.url));
const workerFiles = files.filter((file) => !supportsNativeSearch(file.url));
if (nativeFiles.length) {
activeReplaceTasks += 1;
sendNativeSearch("replace", nativeFiles, search, options, replace);
Expand Down
Loading