diff --git a/CodeEdit/Features/Documents/CodeFileDocument.swift b/CodeEdit/Features/Documents/CodeFileDocument.swift index 22e50451e4..23d23bbb8a 100644 --- a/CodeEdit/Features/Documents/CodeFileDocument.swift +++ b/CodeEdit/Features/Documents/CodeFileDocument.swift @@ -54,13 +54,9 @@ final class CodeFileDocument: NSDocument, ObservableObject { /// Document-specific overridden line wrap preference. @Published var wrapLines: Bool? - /// The type of data this document contains. + /// The type of data this file document contains. /// - /// If for example, the file ends with `.py`, its type is a text file. - /// Or if it ends with `.png`, then it is an image. - /// Same goes for PDF and video formats. - /// - /// Also, if the text content is not empty, it is a text file. + /// If its text content is not nil, a `text` UTType is returned. /// /// - Note: The UTType doesn't necessarily mean the file extension, it can be the MIME /// type or any other form of data representation. diff --git a/CodeEdit/Features/Editor/Views/NonTextFileView.swift b/CodeEdit/Features/Editor/Views/NonTextFileView.swift index f067313f58..3ff4a30f18 100644 --- a/CodeEdit/Features/Editor/Views/NonTextFileView.swift +++ b/CodeEdit/Features/Editor/Views/NonTextFileView.swift @@ -24,17 +24,16 @@ struct NonTextFileView: View { Group { if let fileURL = fileDocument.fileURL { - - switch fileDocument.utType { - case .some(.image): - ImageFileView(fileURL) - .modifier(UpdateStatusBarInfo(withURL: fileURL)) - - case .some(.pdf): - PDFFileView(fileURL) - .modifier(UpdateStatusBarInfo(withURL: fileURL)) - - default: + if let utType = fileDocument.utType { + + if utType.conforms(to: .image) { + ImageFileView(fileURL) + .modifier(UpdateStatusBarInfo(withURL: fileURL)) + } else if utType.conforms(to: .pdf) { + PDFFileView(fileURL) + .modifier(UpdateStatusBarInfo(withURL: fileURL)) + } + } else { AnyFileView(fileURL) .modifier(UpdateStatusBarInfo(withURL: fileURL)) }