summaryrefslogtreecommitdiff
path: root/Hutch/Views/Repositories/FileTreeView.swift
Commit message (Collapse)AuthorAgeFilesLines
* Rewrite file viewer with pinned gutter, syntax highlighting, and toolbarChristian Cleberg2026-04-011-50/+516
| | | | | | | | | | | | | | | | | | | | | | Replace the SwiftUI-only CodeFileTextView with a UIViewRepresentable backed by CodeFileUIView. The previous approach could not support a fixed line number gutter while independently scrolling code content horizontally. Changes: - Gutter is pinned outside the horizontal scroll view and never scrolls left - Vertical scroll is handled by a single outer UIScrollView shared by both the gutter and code content, keeping them in sync - Line numbers are right-aligned in a fixed-width gutter calculated from the total line count - Syntax highlighting via Splash for .swift files, with plain monospaced rendering as fallback for unsupported file types - Wrap toggle persisted via AppStorage (wrapRepositoryFileLines) - Bottom toolbar replaces the floating Share button, adding Copy All and Wrap toggle actions - Copy All shows a brief checkmark confirmation that resets after 2 seconds - Font fixed at SFMono-Regular 12pt, not scaled with Dynamic Type Implements: https://todo.sr.ht/~ccleberg/Hutch/7
* chore: rename unused entry param to _ in textBlobViewChristian Cleberg2026-03-241-2/+2
|
* lazily load file blobs from repository tree viewsChristian Cleberg2026-03-181-1/+1
|
* v1.0Christian Cleberg2026-03-171-0/+446