Skip to content
Merged
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 @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/be-by.json
Original file line number Diff line number Diff line change
Expand Up @@ -499,5 +499,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/bn-bd.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/cs-cz.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/de-de.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Entwicklermodus",
"info-developermode": "Aktivieren Sie die Entwicklertools (Eruda) zum Debuggen von Plugins und Überprüfen des App-Status. Der Inspektor wird beim Start der App initialisiert.",
"developer mode enabled": "Entwicklermodus aktiviert. Verwenden Sie die Befehlspalette, um den Inspektor umzuschalten (Strg+Umschalt+I).",
"developer mode disabled": "Entwicklermodus deaktiviert"
"developer mode disabled": "Entwicklermodus deaktiviert",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/en-us.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/es-sv.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/fr-fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/he-il.json
Original file line number Diff line number Diff line change
Expand Up @@ -499,5 +499,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/hi-in.json
Original file line number Diff line number Diff line change
Expand Up @@ -499,5 +499,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/hu-hu.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Fejlesztői mód",
"info-developermode": "Engedélyezze a fejlesztői eszközöket (Eruda) a bővítmények hibakereséséhez és az alkalmazás állapotának megfigyeléséhez. A megfigyelő az alkalmazás indításakor előkészítődik.",
"developer mode enabled": "Fejlesztői mód engedélyezve. A parancspaletta használatával kapcsolhatja be/ki a megfigyelőt (Ctrl+Shift+I).",
"developer mode disabled": "Fejlesztői mód letiltva"
"developer mode disabled": "Fejlesztői mód letiltva",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/id-id.json
Original file line number Diff line number Diff line change
Expand Up @@ -499,5 +499,6 @@
"developer mode": "Mode Pengembang",
"info-developermode": "Aktifkan alat pengembang (Eruda) untuk men-debug plugin dan memeriksa status aplikasi. Inspektor akan diinisialisasi saat aplikasi dimulai.",
"developer mode enabled": "Mode pengembang diaktifkan. Gunakan palet perintah untuk mengaktifkan/menonaktifkan inspektor (Ctrl+Shift+I).",
"developer mode disabled": "Mode pengembang dinonaktifkan"
"developer mode disabled": "Mode pengembang dinonaktifkan",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/ir-fa.json
Original file line number Diff line number Diff line change
Expand Up @@ -499,5 +499,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/it-it.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/ja-jp.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/ko-kr.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/ml-in.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/mm-unicode.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/mm-zawgyi.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/pl-pl.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/pt-br.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/pu-in.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/ru-ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/tl-ph.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/tr-tr.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/uk-ua.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Режим розробника",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/uz-uz.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/vi-vn.json
Original file line number Diff line number Diff line change
Expand Up @@ -499,5 +499,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/zh-cn.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/zh-hant.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
3 changes: 2 additions & 1 deletion src/lang/zh-tw.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,5 +498,6 @@
"developer mode": "Developer Mode",
"info-developermode": "Enable developer tools (Eruda) for debugging plugins and inspecting app state. Inspector will be initialized on app start.",
"developer mode enabled": "Developer mode enabled. Use command palette to toggle inspector (Ctrl+Shift+I).",
"developer mode disabled": "Developer mode disabled"
"developer mode disabled": "Developer mode disabled",
"copy relative path": "Copy Relative Path"
}
69 changes: 66 additions & 3 deletions src/lib/openFolder.js
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,11 @@ async function handleContextmenu(type, url, name, $target) {
const cancel = `${strings.cancel}${clipBoard ? ` (${strings[clipBoard.action]})` : ""}`;
const COPY = ["copy", strings.copy, "copy"];
const CUT = ["cut", strings.cut, "cut"];
const COPY_RELATIVE_PATH = [
"copy-relative-path",
strings["copy relative path"],
"attach_file",
];
const REMOVE = ["delete", strings.delete, "delete"];
const RENAME = ["rename", strings.rename, "edit"];
const PASTE = ["paste", strings.paste, "paste", !!clipBoard];
Expand All @@ -329,7 +334,7 @@ async function handleContextmenu(type, url, name, $target) {
let options;

if (helpers.isFile(type)) {
options = [COPY, CUT, RENAME, REMOVE];
options = [COPY, CUT, COPY_RELATIVE_PATH, RENAME, REMOVE];
if (
url.toLowerCase().endsWith(".zip") &&
(await fsOperation(
Expand All @@ -339,7 +344,7 @@ async function handleContextmenu(type, url, name, $target) {
options.push(INSTALL_PLUGIN);
}
} else if (helpers.isDir(type)) {
options = [COPY, CUT, REMOVE, RENAME];
options = [COPY, CUT, COPY_RELATIVE_PATH, REMOVE, RENAME];

if (clipBoard.url != null) {
options.push(PASTE);
Expand Down Expand Up @@ -397,7 +402,7 @@ async function handleContextmenu(type, url, name, $target) {
* @param {string} name Name of file or folder
*/
function execOperation(type, action, url, $target, name) {
const { clipBoard, $node, remove } = openFolder.find(url);
const { clipBoard, $node, remove, url: rootUrl } = openFolder.find(url);
const startLoading = () => $node.$title.classList.add("loading");
const stopLoading = () => $node.$title.classList.remove("loading");

Expand Down Expand Up @@ -436,6 +441,9 @@ function execOperation(type, action, url, $target, name) {

case "open-in-terminal":
return openInTerminal();

case "copy-relative-path":
return copyRelativePath();
}

async function installPlugin() {
Expand All @@ -454,6 +462,61 @@ function execOperation(type, action, url, $target, name) {
}
}

async function copyRelativePath() {
try {
// Validate inputs
if (!url) {
console.error("File path not available");
return;
}

if (!rootUrl) {
console.error("Root folder not found");
return;
}

let relativePath;

// Try using Url.pathname for protocol-based URLs
const rootPath = Url.pathname(rootUrl);
const targetPath = Url.pathname(url);

if (rootPath && targetPath) {
// Both pathnames extracted successfully
relativePath = Path.convertToRelative(rootPath, targetPath);
} else {
// Fallback: Use simple string comparison for URIs where pathname extraction fails
const cleanRoot = rootUrl.endsWith("/")
? rootUrl.slice(0, -1)
: rootUrl;
const cleanTarget = url.endsWith("/") ? url.slice(0, -1) : url;

// Check if target URL starts with root URL
if (cleanTarget.startsWith(cleanRoot)) {
relativePath = cleanTarget.slice(cleanRoot.length + 1);
} else {
// If not a child path, just use basename
relativePath = Url.basename(url);
}
}

if (!relativePath) {
console.error("Unable to calculate relative path");
return;
}

if (cordova.plugins.clipboard) {
cordova.plugins.clipboard.copy(relativePath);
toast(strings.success || "Relative path copied to clipboard");
} else {
console.error("Clipboard not available");
toast("Clipboard not available");
}
} catch (error) {
console.error("Failed to copy relative path:", error);
}
}

async function openInTerminal() {
try {
const prootPath = convertToProotPath(url);
Expand Down