Skip to content

v1.3.0

Pre-release
Pre-release

Choose a tag to compare

@philocalyst philocalyst released this 25 Apr 15:50

What's new

Added

  • --app option to infat list for listing document types handled by a given application.
  • New InfatError.conflictingOptions to enforce that exactly one of --app or --ext is provided.
  • Enhanced UTI-derivation errors via InfatError.couldNotDeriveUTI, including the offending extension in the message.

Changed

  • Refactored the list command to use two exclusive @Option parameters (--app, --ext) with XOR validation.
  • Switched PList parsing to DictionaryPList(url:) and UTI lookup to UTType(filenameExtension:).
  • Replaced ad-hoc print calls with logger.info for consistent, leveled logging.
  • Renamed deriveUTIFromExtension(extention:) to deriveUTIFromExtension(ext:) for clarity and consistency.

Fixed

  • Corrected typos in FileSystemUtilities.deriveUTIFromExtension signature and related debug messages.
  • Fixed FileManager existence checks for Info.plist by using the correct path property.
  • Resolved parsing discrepancies in listTypesForApp to ensure accurate reading of CFBundleDocumentTypes.

Classes are a hamstrung feature that I will not ship until I can get some better handling of the errors in the space. Use this release if you know their limitations.