MCPcopy Create free account
hub / github.com/Acode-Foundation/Acode / renameFile

Function renameFile

src/lib/openFolder.js:625–666  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

623 }
624
625 async function renameFile() {
626 if (isTermuxSafUri(url) && !helpers.isFile(type)) {
627 alert(strings.warning, strings["rename not supported"]);
628 return;
629 }
630 let newName = await prompt(strings.rename, name, "text", {
631 match: config.FILE_NAME_REGEX,
632 required: true,
633 });
634
635 newName = helpers.fixFilename(newName);
636 if (!newName || newName === name) return;
637
638 startLoading();
639 const fs = fsOperation(url);
640 let newUrl;
641
642 if (isTermuxSafUri(url) && helpers.isFile(type)) {
643 // Special handling for Termux SAF content files
644 const newFilePath = Url.join(Url.dirname(url), newName);
645 const content = await fs.readFile();
646 await fsOperation(Url.dirname(url)).createFile(newName, content);
647 await fs.delete();
648 newUrl = newFilePath;
649 } else {
650 newUrl = await fs.renameTo(newName);
651 }
652
653 newName = Url.basename(newUrl);
654 if (helpers.isFile(type)) {
655 let file = editorManager.getFile(url, "uri");
656 if (file) {
657 file.uri = newUrl;
658 file.filename = newName;
659 }
660 } else {
661 helpers.updateUriOfAllActiveFiles(url, newUrl);
662 }
663 FileList.rename(url, newUrl);
664 await refreshRenamedEntryInOpenFolders(url, newUrl);
665 toast(strings.success);
666 }
667
668 async function createNew() {
669 const msg =

Callers 1

execOperationFunction · 0.70

Calls 12

isTermuxSafUriFunction · 0.85
alertFunction · 0.85
fsOperationFunction · 0.85
basenameMethod · 0.80
promptFunction · 0.70
startLoadingFunction · 0.70
createFileMethod · 0.65
deleteMethod · 0.65
getFileMethod · 0.65
renameMethod · 0.65
readFileMethod · 0.45

Tested by

no test coverage detected