@@ -507,6 +507,29 @@ async function run(
507507 } ) ;
508508 }
509509
510+ function removePrefix ( str , prefix ) {
511+ if ( str . startsWith ( prefix ) ) {
512+ return str . slice ( prefix . length ) ;
513+ }
514+ return str ;
515+ }
516+
517+ function makeUriAbsoluteIfNeeded ( uri ) {
518+ const termuxRootEncoded =
519+ "content://com.termux.documents/tree/%2Fdata%2Fdata%2Fcom.termux%2Ffiles%2Fhome" ;
520+ const termuxRootDecoded = "/data/data/com.termux/files/home" ;
521+
522+ if ( uri . startsWith ( termuxRootEncoded ) ) {
523+ // Extract subpath after `::` if already absolute
524+ if ( uri . includes ( "::" ) ) return uri ;
525+
526+ const decodedPath = decodeURIComponent ( uri . split ( "tree/" ) [ 1 ] || "" ) ;
527+ return `${ termuxRootEncoded } ::${ decodedPath } /` ;
528+ }
529+
530+ return uri ;
531+ }
532+
510533 function getRelativePath ( ) {
511534 // Get the project url
512535 const projectFolder = addedFolder [ 0 ] ;
@@ -518,13 +541,7 @@ async function run(
518541 }
519542
520543 //make the uri absolute if necessary
521- if (
522- rootFolder ===
523- "content://com.termux.documents/tree/%2Fdata%2Fdata%2Fcom.termux%2Ffiles%2Fhome"
524- ) {
525- rootFolder =
526- "content://com.termux.documents/tree/%2Fdata%2Fdata%2Fcom.termux%2Ffiles%2Fhome::/data/data/com.termux/files/home/" ;
527- }
544+ rootFolder = makeUriAbsoluteIfNeeded ( rootFolder ) ;
528545
529546 console . log ( "rootFolder" , rootFolder ) ;
530547 console . log ( "pathName" , pathName ) ;
@@ -697,4 +714,4 @@ async function run(
697714 }
698715}
699716
700- export default run ;
717+ export default run ;
0 commit comments