(dialog, input)
| 2768 | |
| 2769 | if (!filePath) { |
| 2770 | container.innerHTML = '<div class="path-tree-item">No path available</div>'; |
| 2771 | return; |
| 2772 | } |
| 2773 | |
| 2774 | const pathInfo = parsePath(filePath); |
| 2775 | if (!pathInfo) { |
| 2776 | container.innerHTML = '<div class="path-tree-item">Invalid path</div>'; |
| 2777 | return; |
| 2778 | } |
| 2779 | |
| 2780 | let html = ''; |
| 2781 | |
| 2782 | if (pathInfo.isZipEntry) { |
| 2783 | // Handle zip entry paths |
| 2784 | const { zipPath, zipSegments, entrySegments, fileName } = pathInfo.pathSegments; |
| 2785 | |
| 2786 | // Build zip file path tree |
| 2787 | let currentPath = ''; |
| 2788 | zipSegments.forEach((segment, index) => { |
| 2789 | if (index === 0) { |
| 2790 | currentPath = segment; |
| 2791 | } else { |
| 2792 | const separator = currentPath.includes(':') ? '\\' : '/'; |
| 2793 | currentPath += separator + segment; |
| 2794 | } |
| 2795 | const isLastZipSegment = index === zipSegments.length - 1; |
| 2796 | const indent = '---'.repeat(index); |
| 2797 | const indentClass = `path-tree-indent`; |
| 2798 |
no outgoing calls
no test coverage detected