Today, I released version 0.4.0 of Tifig. The new alpha release contains the following changes:

  • Parser Improvements
    • Added support for the access modifier fileprivate in conformance with SE-0025
    • Now allows most keywords in member references in conformance with SE-0071
    • Moved where clause to end of declarations in conformance with SE-0081
    • Implemented new protocol composition syntax in conformance with SE-0095
    • Added support for the restructured condition clauses in conformance with SE-0099
    • Added support for the access modifier open in conformance with SE-0117
    • Added support for #keyPath expressions
    • Added support for Conditional Compilation Blocks (#if ... #endif­)
    • Improved parsing of patterns
    • Improved parsing of operators
    • Removed the dynamicType keyword in favor of the new type(of:) syntax
    • Lots of bug fixes
  • Indexer Improvements
    The indexer can now handle extension declarations and module imports and should be updated automatically when new files are added or existing files are removed. However, the indexer is still a work in progress and there is a lot of work to be done in this area.
  • Launcher
    The indexer now automatically recognizes the modules of your project. To run a project, it must contain at least one executable module (module that contains a main.swift file). If there are multiple executable modules, Tifig will present a dialog that lets you select the module you would like to run. Additionally, when you edit a Run Configuration, you can change the module to be executed.
  • Other Changes
    The macOS version of Tifig is now signed, which means that there should be no Gatekeeper warnings anymore when you launch Tifig.

As always, you can download the latest version of Tifig from the Download page.