From d50b5818acbf70dadba3f62d9dd09a88f6af3a44 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Sat, 6 Jul 2024 21:07:05 -0700 Subject: [PATCH] Move local modules into a folder named Modules. --- {Account => Modules/Account}/.gitignore | 0 .../xcshareddata/xcschemes/Account.xcscheme | 0 .../xcschemes/AccountTests.xcscheme | 0 {Account => Modules/Account}/Package.swift | 0 {Account => Modules/Account}/README.md | 0 .../Account}/Sources/Account/Account.swift | 0 .../Sources/Account/AccountBehaviors.swift | 0 .../Sources/Account/AccountDelegate.swift | 0 .../CloudKitAccountDelegate.swift | 0 .../FeedbinAccountDelegate.swift | 0 .../FeedlyAccountDelegate.swift | 0 .../LocalAccountDelegate.swift | 0 .../NewsBlurAccountDelegate.swift | 0 .../ReaderAPIAccountDelegate.swift | 0 .../Sources/Account/AccountError.swift | 0 .../Sources/Account/AccountManager.swift | 0 .../Sources/Account/AccountMetadata.swift | 0 .../Sources/Account/AccountMetadataFile.swift | 0 .../Sources/Account/AccountSyncError.swift | 0 .../Sources/Account/ArticleFetcher.swift | 0 .../Account/CombinedRefreshProgress.swift | 0 .../Account}/Sources/Account/Container.swift | 0 .../Sources/Account/ContainerIdentifier.swift | 0 .../Sources/Account/ContainerPath.swift | 0 .../Sources/Account/DataExtensions.swift | 0 .../Account}/Sources/Account/Feed.swift | 0 .../Sources/Account/FeedMetadata.swift | 0 .../Sources/Account/FeedMetadataFile.swift | 0 .../Account}/Sources/Account/Folder.swift | 0 .../Account}/Sources/Account/OPMLFile.swift | 0 .../Sources/Account/OPMLNormalizer.swift | 0 .../Account/SingleArticleFetcher.swift | 0 .../Sources/Account/URLRequest+Account.swift | 0 .../Sources/Account/UnreadCountProvider.swift | 0 .../AccountTests/AccountCredentialsTest.swift | 0 ...AccountFeedbinFolderContentsSyncTest.swift | 0 .../AccountFeedbinFolderSyncTest.swift | 0 .../Feedbin/AccountFeedbinSyncTest.swift | 0 ...dsForCollectionFoldersOperationTests.swift | 0 .../FeedlyGetCollectionsOperationTests.swift | 0 ...eedlyGetStreamContentsOperationTests.swift | 0 .../Feedly/FeedlyLogoutOperationTests.swift | 0 ...orCollectionsAsFoldersOperationTests.swift | 0 ...dlySendArticleStatusesOperationTests.swift | 0 .../FeedlySyncAllMockResponseProvider.swift | 0 ...edlySyncStreamContentsOperationTests.swift | 0 .../Feedly/FeedlyTestSupport.swift | 0 .../Feedly/TestGetCollectionsService.swift | 0 .../Feedly/TestGetEntriesService.swift | 0 .../TestGetPagedStreamContentsService.swift | 0 .../Feedly/TestGetPagedStreamIdsService.swift | 0 .../Feedly/TestGetStreamContentsService.swift | 0 .../Feedly/TestGetStreamIdsService.swift | 0 .../Feedly/TestMarkArticlesService.swift | 0 .../JSON/feedly_collections_initial.json | 0 .../JSON/feedly_macintosh_initial.json | 0 .../JSON/feedly_unreads_1000.json | 0 .../JSON/feedly_unreads_initial.json | 0 .../AccountTests/JSON/subscriptions_add.json | 0 .../JSON/subscriptions_initial.json | 0 .../Tests/AccountTests/JSON/taggings_add.json | 0 .../AccountTests/JSON/taggings_delete.json | 0 .../AccountTests/JSON/taggings_initial.json | 0 .../Tests/AccountTests/JSON/tags_add.json | 0 .../Tests/AccountTests/JSON/tags_delete.json | 0 .../Tests/AccountTests/JSON/tags_initial.json | 0 .../AccountTests/TestAccountManager.swift | 0 .../Tests/AccountTests/TestTransport.swift | 0 .../Account}/Tests/LinuxMain.swift | 0 .../AppKitExtras}/.gitignore | 0 .../xcschemes/AppKitExtras.xcscheme | 0 .../xcschemes/AppKitExtrasTests.xcscheme | 0 .../AppKitExtras}/Package.swift | 0 .../Sources/AppKitExtras/FourCharCode.swift | 0 .../Sources/AppKitExtras/Keyboard.swift | 0 .../KeyboardDelegateProtocol.swift | 0 .../AppKitExtras/NSAppearance+RSCore.swift | 0 .../NSAppleEventDescriptor+RSCore.swift | 0 .../Sources/AppKitExtras/NSImage+RSCore.swift | 0 .../AppKitExtras/NSMenu+Extensions.swift | 0 .../AppKitExtras/NSOutlineView+RSCore.swift | 0 .../AppKitExtras/NSPasteboard+RSCore.swift | 0 .../AppKitExtras/NSResponder-Extensions.swift | 0 .../AppKitExtras/NSTableView+RSCore.swift | 0 .../AppKitExtras/NSToolbar+RSCore.swift | 0 .../Sources/AppKitExtras/NSView+RSCore.swift | 0 .../AppKitExtras/NSWindow-Extensions.swift | 0 .../NSWindowController+RSCore.swift | 0 .../AppKitExtras/PasteboardWriterOwner.swift | 0 .../Sources/AppKitExtras/RSToolbarItem.swift | 0 .../AppKitExtras/URLPasteboardWriter.swift | 0 .../Sources/AppKitExtras/UserApp.swift | 0 .../NSMenuExtensionsTests.swift | 0 .../ArticleExtractor}/.gitignore | 0 .../ArticleExtractor}/Package.swift | 0 .../ArticleExtractor/ArticleExtractor.swift | 0 .../ArticleExtractor/ExtractedArticle.swift | 0 .../ArticleExtractorTests.swift | 0 {Articles => Modules/Articles}/.gitignore | 0 .../xcshareddata/xcschemes/Articles.xcscheme | 0 {Articles => Modules/Articles}/Package.swift | 0 {Articles => Modules/Articles}/README.md | 0 .../Articles}/Sources/Articles/Article.swift | 0 .../Sources/Articles/ArticleStatus.swift | 0 .../Articles}/Sources/Articles/Author.swift | 0 .../Sources/Articles/DatabaseID.swift | 0 .../ArticlesDatabase}/.gitignore | 0 .../xcschemes/ArticlesDatabase.xcscheme | 0 .../ArticlesDatabase}/Package.swift | 0 .../ArticlesDatabase}/README.md | 0 .../ArticlesDatabase/ArticlesDatabase.swift | 0 .../ArticlesDatabase/ArticlesTable.swift | 0 .../ArticlesDatabase/AuthorsTable.swift | 0 .../Sources/ArticlesDatabase/Constants.swift | 0 .../Extensions/Article+Database.swift | 0 .../Extensions/ArticleStatus+Database.swift | 0 .../Extensions/Author+Database.swift | 0 .../Extensions/DatabaseObject+Database.swift | 0 .../Extensions/ParsedArticle+Database.swift | 0 .../RelatedObjectsMap+Database.swift | 0 .../ArticlesDatabase/SearchTable.swift | 0 .../ArticlesDatabase/StatusesTable.swift | 0 .../CloudKitSync}/.gitignore | 0 .../xcschemes/CloudKitSync.xcscheme | 0 .../CloudKitSync}/Package.swift | 0 .../CloudKitSync/CKRecord+Extensions.swift | 0 .../CloudKitSync/CloudKitAccountZone.swift | 0 .../CloudKitArticleStatusUpdate.swift | 0 .../CloudKitSync/CloudKitArticlesZone.swift | 0 .../CloudKitArticlesZoneDelegate.swift | 0 .../Sources/CloudKitSync/CloudKitError.swift | 0 .../CloudKitReceiveStatusOperation.swift | 0 .../CloudKitRemoteNotificationOperation.swift | 0 .../CloudKitSendStatusOperation.swift | 0 .../Sources/CloudKitSync/CloudKitZone.swift | 0 .../CloudKitSync/CloudKitZoneResult.swift | 0 .../CloudKitSync/MainThreadOperation.swift | 0 .../MainThreadOperationQueue.swift | 0 .../CloudKitSyncTests/CloudKitSyncTests.swift | 0 .../CommonErrors}/.gitignore | 0 .../xcschemes/CommonErrors.xcscheme | 0 .../CommonErrors}/Package.swift | 0 .../Sources/CommonErrors/CommonError.swift | 0 .../CommonErrorsTests/CommonErrorsTests.swift | 0 {Core => Modules/Core}/.gitignore | 0 .../xcshareddata/xcschemes/Core.xcscheme | 0 .../xcshareddata/xcschemes/CoreTests.xcscheme | 0 {Core => Modules/Core}/Package.swift | 0 .../Core}/Sources/Core/AppConfig.swift | 0 .../Core}/Sources/Core/BatchUpdate.swift | 0 .../Core}/Sources/Core/BinaryDiskCache.swift | 0 .../Core}/Sources/Core/CoalescingQueue.swift | 0 .../Core}/Sources/Core/DataFile.swift | 0 .../Sources/Core/DisplayNameProvider.swift | 0 .../Core}/Sources/Core/MacroProcessor.swift | 0 .../Sources/Core/OPMLRepresentable.swift | 0 .../Core}/Sources/Core/Platform.swift | 0 .../Sources/Core/RSAppMovementMonitor.swift | 0 .../Core}/Sources/Core/RSImage.swift | 0 .../Core}/Sources/Core/Renamable.swift | 0 .../Sources/Core/SendToBlogEditorApp.swift | 0 .../Core}/Sources/Core/SendToCommand.swift | 0 .../Core}/Sources/Core/UndoableCommand.swift | 0 ...ndeterminateProgressWindowController.swift | 0 .../AppKit/WebViewWindowController.swift | 0 .../Resources/IndeterminateProgressWindow.xib | 0 .../CoreResources/Resources/WebViewWindow.xib | 0 .../Tests/CoreTests/MacroProcessorTests.swift | 0 {Database => Modules/Database}/.gitignore | 0 {Database => Modules/Database}/Package.swift | 0 .../Database}/Sources/Database/Database.swift | 0 .../Sources/Database/DatabaseObject.swift | 0 .../Database/DatabaseObjectCache.swift | 0 .../Sources/Database/FMDatabase+Extras.swift | 0 .../Sources/Database/FMResultSet+Extras.swift | 0 .../Related Objects/DatabaseLookupTable.swift | 0 .../DatabaseRelatedObjectsTable.swift | 0 .../Related Objects/RelatedObjectIDsMap.swift | 0 .../Related Objects/RelatedObjectsMap.swift | 0 .../Tests/DatabaseTests/DatabaseTests.swift | 0 {FMDB => Modules/FMDB}/.gitignore | 0 {FMDB => Modules/FMDB}/Package.swift | 0 .../FMDB}/Sources/FMDB/FMDatabase+RSExtras.h | 0 .../FMDB}/Sources/FMDB/FMDatabase+RSExtras.m | 0 .../FMDB}/Sources/FMDB/FMDatabase.h | 0 .../FMDB}/Sources/FMDB/FMDatabase.m | 0 .../FMDB}/Sources/FMDB/FMDatabaseAdditions.h | 0 .../FMDB}/Sources/FMDB/FMDatabaseAdditions.m | 0 .../FMDB}/Sources/FMDB/FMResultSet+RSExtras.h | 0 .../FMDB}/Sources/FMDB/FMResultSet+RSExtras.m | 0 .../FMDB}/Sources/FMDB/FMResultSet.h | 0 .../FMDB}/Sources/FMDB/FMResultSet.m | 0 .../FMDB}/Sources/FMDB/NSString+RSDatabase.h | 0 .../FMDB}/Sources/FMDB/NSString+RSDatabase.m | 0 .../FMDB}/Sources/FMDB/include/FMDatabase.h | 0 .../FMDB}/Tests/FMDBTests/FMDBTests.swift | 0 .../FeedDownloader}/.gitignore | 0 .../xcschemes/FeedDownloader.xcscheme | 0 .../FeedDownloader}/Package.swift | 0 .../FeedDownloader/FeedDownloader.swift | 0 .../FeedDownloaderTests.swift | 0 {FeedFinder => Modules/FeedFinder}/.gitignore | 0 .../xcschemes/FeedFinder.xcscheme | 0 .../FeedFinder}/Package.swift | 0 .../Sources/FeedFinder/FeedFinder.swift | 0 .../Sources/FeedFinder/FeedSpecifier.swift | 0 .../Sources/FeedFinder/HTMLFeedFinder.swift | 0 .../FeedFinderTests/FeedFinderTests.swift | 0 {Feedbin => Modules/Feedbin}/.gitignore | 0 .../xcshareddata/xcschemes/Feedbin.xcscheme | 0 {Feedbin => Modules/Feedbin}/Package.swift | 0 .../Sources/Feedbin/FeedbinAPICaller.swift | 0 .../Sources/Feedbin/FeedbinDate.swift | 0 .../Sources/Feedbin/FeedbinEntry.swift | 0 .../Sources/Feedbin/FeedbinImportResult.swift | 0 .../Sources/Feedbin/FeedbinStarredEntry.swift | 0 .../Sources/Feedbin/FeedbinSubscription.swift | 0 .../Feedbin}/Sources/Feedbin/FeedbinTag.swift | 0 .../Sources/Feedbin/FeedbinTagging.swift | 0 .../Sources/Feedbin/FeedbinUnreadEntry.swift | 0 .../Tests/FeedbinTests/FeedbinTests.swift | 0 {Feedly => Modules/Feedly}/.gitignore | 0 .../xcshareddata/xcschemes/Feedly.xcscheme | 12 ++ {Feedly => Modules/Feedly}/Package.swift | 0 .../Sources/Feedly/FeedlyAPICaller.swift | 0 .../Feedly/FeedlyAccountDelegateError.swift | 0 .../Feedly}/Sources/Feedly/FeedlyModel.swift | 0 .../Sources/Feedly/FeedlyUtilities.swift | 0 .../Feedly}/Sources/Feedly/OAuth/OAuth.swift | 0 .../OAuthAuthorizationClient+Feedly.swift | 0 .../OAuthRefreshAccessTokenRequest.swift | 0 .../FeedlyCollectionParserTests.swift | 0 .../FeedlyTests/FeedlyEntryParserTests.swift | 0 .../FeedlyTests/FeedlyFeedParserTests.swift | 0 .../FeedlyTests/FeedlyResourceIDTests.swift | 0 .../FeedlyTextSanitizationTests.swift | 0 .../FeedlyTests/FeedlyUtilitiesTests.swift | 0 .../FoundationExtras}/.gitignore | 0 .../FoundationExtras}/Package.swift | 0 .../FoundationExtras/Array+Extensions.swift | 0 .../Calendar+Extensions.swift | 0 .../FoundationExtras/Data+RSCore.swift | 0 .../FoundationExtras/Date+Extensions.swift | 0 .../FoundationExtras/FileManager+RSCore.swift | 0 .../Sources/FoundationExtras/Geometry.swift | 0 .../FoundationExtras/Set+Extensions.swift | 0 .../FoundationExtras/String+RSCore.swift | 0 .../ArrayExtensionsTests.swift | 0 .../CalendarExtensionsTests.swift | 0 {Images => Modules/Images}/.gitignore | 0 .../xcshareddata/xcschemes/Images.xcscheme | 0 {Images => Modules/Images}/Package.swift | 0 .../Images/AuthorAvatarDownloader.swift | 0 .../Sources/Images/Favicons/ColorHash.swift | 0 .../Images/Favicons/FaviconDownloader.swift | 0 .../Images/Favicons/FaviconGenerator.swift | 0 .../Images/Favicons/FaviconURLFinder.swift | 0 .../Favicons/SingleFaviconDownloader.swift | 0 .../Images/FeaturedImageDownloader.swift | 0 .../Sources/Images/FeedIconDownloader.swift | 0 .../Images}/Sources/Images/IconImage.swift | 0 .../Sources/Images/ImageDownloader.swift | 0 .../Images/RSHTMLMetadata+Extension.swift | 0 .../Sources/Images/RSImage-Extensions.swift | 0 .../Tests/ImagesTests/ImagesTests.swift | 0 .../LocalAccount}/.gitignore | 0 .../LocalAccount}/Package.swift | 0 .../LocalAccount/InitialFeedDownloader.swift | 0 .../LocalAccountTests/LocalAccountTests.swift | 0 {NewsBlur => Modules/NewsBlur}/.gitignore | 0 .../xcshareddata/xcschemes/NewsBlur.xcscheme | 0 {NewsBlur => Modules/NewsBlur}/Package.swift | 0 .../NewsBlur/Models/NewsBlurFeed.swift | 0 .../NewsBlur/Models/NewsBlurFeedChange.swift | 0 .../Models/NewsBlurFolderChange.swift | 0 .../Models/NewsBlurGenericCodingKeys.swift | 0 .../Models/NewsBlurLoginResponse.swift | 0 .../NewsBlur/Models/NewsBlurStory.swift | 0 .../NewsBlur/Models/NewsBlurStoryHash.swift | 0 .../Models/NewsBlurStoryStatusChange.swift | 0 .../NewsBlur/NewsBlurAPICaller+Internal.swift | 0 .../Sources/NewsBlur/NewsBlurAPICaller.swift | 0 .../NewsBlur/URLRequest+NewsBlur.swift | 0 .../Tests/NewsBlurTests/NewsBlurTests.swift | 0 {Parser => Modules/Parser}/.gitignore | 0 ...5AEA6FC6-AD2F-413E-9746-2017D27E25CE.plist | 0 .../ParserTests.xcbaseline/Info.plist | 0 .../xcshareddata/xcschemes/Parser.xcscheme | 0 .../xcschemes/ParserTests.xcscheme | 0 {Parser => Modules/Parser}/Package.swift | 0 .../Sources/Parser/Feeds/FeedParser.swift | 0 .../Parser/Feeds/FeedParserError.swift | 0 .../Sources/Parser/Feeds/FeedType.swift | 0 .../Parser/Feeds/JSON/JSONFeedParser.swift | 0 .../Parser/Feeds/JSON/RSSInJSONParser.swift | 0 .../Parser/Feeds/ParsedAttachment.swift | 0 .../Sources/Parser/Feeds/ParsedAuthor.swift | 0 .../Sources/Parser/Feeds/ParsedFeed.swift | 0 .../Sources/Parser/Feeds/ParsedHub.swift | 0 .../Sources/Parser/Feeds/ParsedItem.swift | 0 .../Sources/Parser/Feeds/XML/AtomParser.swift | 0 .../Feeds/XML/RSParsedFeedTransformer.swift | 0 .../Sources/Parser/Feeds/XML/RSSParser.swift | 0 .../Sources/Parser/JSON/JSONTypes.swift | 0 .../Sources/Parser/JSON/JSONUtilities.swift | 0 .../Sources/Parser/ParserData+Parser.swift | 0 .../Parser/RSHTMLMetadata+Parser.swift | 0 .../Parser/Utilities/String+RSParser.swift | 0 .../Tests/ParserTests/AtomParserTests.swift | 0 .../ParserTests/EntityDecodingTests.swift | 0 .../ParserTests/FeedParserTypeTests.swift | 0 .../Tests/ParserTests/HTMLLinkTests.swift | 0 .../Tests/ParserTests/HTMLMetadataTests.swift | 0 .../Parser}/Tests/ParserTests/Info.plist | 0 .../ParserTests/JSONFeedParserTests.swift | 0 .../Parser}/Tests/ParserTests/OPMLTests.swift | 0 .../Tests/ParserTests/ParserTests.swift | 0 .../Tests/ParserTests/RSDateParserTests.swift | 0 .../ParserTests/RSSInJSONParserTests.swift | 0 .../Tests/ParserTests/RSSParserTests.swift | 0 .../Tests/ParserTests/Resources/3960.json | 0 .../Tests/ParserTests/Resources/489.rss | 0 .../ParserTests/Resources/4fsodonline.atom | 0 .../ParserTests/Resources/DaringFireball.atom | 0 .../ParserTests/Resources/DaringFireball.html | 0 .../ParserTests/Resources/DaringFireball.json | 0 .../ParserTests/Resources/DaringFireball.rss | 0 .../Tests/ParserTests/Resources/EMarley.rss | 0 .../ParserTests/Resources/KatieFloyd.rss | 0 .../ParserTests/Resources/OneFootTsunami.atom | 0 .../ParserTests/Resources/ScriptingNews.json | 0 .../Tests/ParserTests/Resources/Subs.opml | 0 .../Resources/SubsNoTitleAttributes.opml | 0 .../Resources/YouTubeTheVolvoRocks.html | 0 .../Tests/ParserTests/Resources/aktuality.rss | 0 .../Resources/allthis-partial.json | 0 .../Tests/ParserTests/Resources/allthis.atom | 0 .../Tests/ParserTests/Resources/allthis.json | 0 .../Tests/ParserTests/Resources/atp.rss | 0 .../Tests/ParserTests/Resources/authors.json | 0 .../Tests/ParserTests/Resources/bio.rdf | 0 .../Tests/ParserTests/Resources/cloudblog.rss | 0 .../Tests/ParserTests/Resources/coco.html | 0 .../Tests/ParserTests/Resources/curt.json | 0 .../ParserTests/Resources/dcrainmaker.xml | 0 .../ParserTests/Resources/donthitsave.xml | 0 .../Resources/expertopinionent.atom | 0 .../Tests/ParserTests/Resources/furbo.html | 0 .../ParserTests/Resources/inessential.html | 0 .../ParserTests/Resources/inessential.json | 0 .../Tests/ParserTests/Resources/kc0011.rss | 0 .../Tests/ParserTests/Resources/livemint.xml | 0 .../Tests/ParserTests/Resources/macworld.rss | 0 .../Tests/ParserTests/Resources/manton.rss | 0 .../Tests/ParserTests/Resources/monkeydom.rss | 0 .../Tests/ParserTests/Resources/natasha.xml | 0 .../Tests/ParserTests/Resources/phpxml.rss | 0 .../Tests/ParserTests/Resources/pxlnv.json | 0 .../Tests/ParserTests/Resources/rose.json | 0 .../Tests/ParserTests/Resources/russcox.atom | 0 .../ParserTests/Resources/scriptingNews.rss | 0 .../ParserTests/Resources/sixcolors.html | 0 .../ParserTests/Resources/theomnishow.rss | 0 {ParserObjc => Modules/ParserObjC}/.gitignore | 0 .../ParserObjC}/Package.swift | 0 .../Sources/ParserObjC/FeedParser.h | 0 .../Sources/ParserObjC/NSData+RSParser.h | 0 .../Sources/ParserObjC/NSData+RSParser.m | 0 .../Sources/ParserObjC/NSString+RSParser.h | 0 .../Sources/ParserObjC/NSString+RSParser.m | 0 .../Sources/ParserObjC/ParserData.h | 0 .../Sources/ParserObjC/ParserData.m | 0 .../Sources/ParserObjC/RSAtomParser.h | 0 .../Sources/ParserObjC/RSAtomParser.m | 0 .../Sources/ParserObjC/RSDateParser.h | 0 .../Sources/ParserObjC/RSDateParser.m | 0 .../Sources/ParserObjC/RSHTMLLinkParser.h | 0 .../Sources/ParserObjC/RSHTMLLinkParser.m | 0 .../Sources/ParserObjC/RSHTMLMetadata.h | 0 .../Sources/ParserObjC/RSHTMLMetadata.m | 0 .../Sources/ParserObjC/RSHTMLMetadataParser.h | 0 .../Sources/ParserObjC/RSHTMLMetadataParser.m | 0 .../Sources/ParserObjC/RSHTMLTag.h | 0 .../Sources/ParserObjC/RSHTMLTag.m | 0 .../Sources/ParserObjC/RSOPMLAttributes.h | 0 .../Sources/ParserObjC/RSOPMLAttributes.m | 0 .../Sources/ParserObjC/RSOPMLDocument.h | 0 .../Sources/ParserObjC/RSOPMLDocument.m | 0 .../Sources/ParserObjC/RSOPMLError.h | 0 .../Sources/ParserObjC/RSOPMLError.m | 0 .../Sources/ParserObjC/RSOPMLFeedSpecifier.h | 0 .../Sources/ParserObjC/RSOPMLFeedSpecifier.m | 0 .../Sources/ParserObjC/RSOPMLItem.h | 0 .../Sources/ParserObjC/RSOPMLItem.m | 0 .../Sources/ParserObjC/RSOPMLParser.h | 0 .../Sources/ParserObjC/RSOPMLParser.m | 0 .../Sources/ParserObjC/RSParsedArticle.h | 0 .../Sources/ParserObjC/RSParsedArticle.m | 0 .../Sources/ParserObjC/RSParsedAuthor.h | 0 .../Sources/ParserObjC/RSParsedAuthor.m | 0 .../Sources/ParserObjC/RSParsedEnclosure.h | 0 .../Sources/ParserObjC/RSParsedEnclosure.m | 0 .../Sources/ParserObjC/RSParsedFeed.h | 0 .../Sources/ParserObjC/RSParsedFeed.m | 0 .../Sources/ParserObjC/RSParserInternal.h | 0 .../Sources/ParserObjC/RSParserInternal.m | 0 .../Sources/ParserObjC/RSRSSParser.h | 0 .../Sources/ParserObjC/RSRSSParser.m | 0 .../Sources/ParserObjC/RSSAXHTMLParser.h | 0 .../Sources/ParserObjC/RSSAXHTMLParser.m | 0 .../Sources/ParserObjC/RSSAXParser.h | 0 .../Sources/ParserObjC/RSSAXParser.m | 0 .../Sources/ParserObjC/include/RSParser.h | 0 {ReaderAPI => Modules/ReaderAPI}/.gitignore | 0 .../ReaderAPI}/Package.swift | 0 .../Sources/ReaderAPI/ReaderAPICaller.swift | 0 .../Sources/ReaderAPI/ReaderAPIEntry.swift | 0 .../Sources/ReaderAPI/ReaderAPIError.swift | 0 .../ReaderAPI/ReaderAPISubscription.swift | 0 .../Sources/ReaderAPI/ReaderAPITag.swift | 0 .../Sources/ReaderAPI/ReaderAPITagging.swift | 0 .../ReaderAPI/ReaderAPIUnreadEntry.swift | 0 .../Sources/ReaderAPI/ReaderAPIVariant.swift | 0 .../ReaderAPI/URLRequest+ReaderAPI.swift | 0 .../Tests/ReaderAPITests/ReaderAPITests.swift | 0 {Secrets => Modules/Secrets}/.gitignore | 0 {Secrets => Modules/Secrets}/Package.swift | 0 {Secrets => Modules/Secrets}/README.md | 0 .../Sources/Secrets/Credentials.swift | 0 .../Sources/Secrets/CredentialsManager.swift | 0 .../Sources/Secrets/SecretsProvider.swift | 0 .../SyncDatabase}/.gitignore | 0 .../xcschemes/SyncDatabase.xcscheme | 0 .../SyncDatabase}/Package.swift | 0 .../SyncDatabase}/README.md | 0 .../Sources/SyncDatabase/Constants.swift | 0 .../Sources/SyncDatabase/SyncDatabase.swift | 0 .../Sources/SyncDatabase/SyncStatus.swift | 0 .../SyncDatabase/SyncStatusTable.swift | 0 {Tree => Modules/Tree}/.gitignore | 0 .../xcshareddata/xcschemes/Tree.xcscheme | 0 .../xcshareddata/xcschemes/TreeTests.xcscheme | 0 {Tree => Modules/Tree}/Package.swift | 0 .../Sources/Tree/NSOutlineView+RSTree.swift | 0 .../Tree}/Sources/Tree/Node.swift | 0 .../Tree}/Sources/Tree/NodePath.swift | 0 .../Tree}/Sources/Tree/RSTree.swift | 0 .../Tree/RootNodeRepresentedObject.swift | 0 .../Tree}/Sources/Tree/TreeController.swift | 0 .../Tree}/Tests/TreeTests/NodeTests.swift | 0 .../UIKitExtras}/.gitignore | 0 .../UIKitExtras}/Package.swift | 0 .../Sources/UIKitExtras/Animations.swift | 0 .../UIKitExtras/NonIntrinsicButton.swift | 0 .../UIKitExtras/NonIntrinsicImageView.swift | 0 .../UIKitExtras/NonIntrinsicLabel.swift | 0 .../UIKitExtras/RoundedProgressView.swift | 0 .../UIKitExtras/String+Extensions.swift | 0 .../Sources/UIKitExtras/TickMarkSlider.swift | 0 .../UIKitExtras/UIResponder+RSCore.swift | 0 .../UIKitExtras/UITableView+Extensions.swift | 0 .../Sources/UIKitExtras/UIView+RSCore.swift | 0 .../UIKitExtras/UIViewController+RSCore.swift | 0 .../UIKitExtrasTests/UIKitExtrasTests.swift | 0 {Web => Modules/Web}/.gitignore | 0 .../xcode/xcshareddata/xcschemes/Web.xcscheme | 0 {Web => Modules/Web}/Package.swift | 0 .../Web}/Sources/Web/Dictionary+Web.swift | 0 .../Web}/Sources/Web/DownloadObject.swift | 0 .../Web}/Sources/Web/DownloadProgress.swift | 0 .../Web}/Sources/Web/DownloadSession.swift | 0 .../Sources/Web/HTTPConditionalGetInfo.swift | 0 .../Web}/Sources/Web/HTTPDateInfo.swift | 0 .../Web}/Sources/Web/HTTPLinkPagingInfo.swift | 0 .../Web}/Sources/Web/HTTPMethod.swift | 0 .../Web}/Sources/Web/HTTPRequestHeader.swift | 0 .../Web}/Sources/Web/HTTPResponseCode.swift | 0 .../Web}/Sources/Web/HTTPResponseHeader.swift | 0 .../Web}/Sources/Web/MacWebBrowser.swift | 0 .../Web}/Sources/Web/MimeType.swift | 0 .../Web}/Sources/Web/OneShotDownload.swift | 0 .../Web}/Sources/Web/Reachability.swift | 0 .../Web}/Sources/Web/URL+RSWeb.swift | 0 .../Sources/Web/URLComponents+RSWeb.swift | 0 .../Web}/Sources/Web/URLResponse+RSWeb.swift | 0 .../Web}/Sources/Web/URLScheme.swift | 0 .../Web}/Sources/Web/UserAgent.swift | 0 .../Sources/Web/WebServices/Transport.swift | 0 .../Web/WebServices/TransportJSON.swift | 0 .../Tests/WebTests/DictionaryWebTests.swift | 0 NetNewsWire.xcodeproj/project.pbxproj | 116 ++++++++++-------- 491 files changed, 76 insertions(+), 52 deletions(-) rename {Account => Modules/Account}/.gitignore (100%) rename {Account => Modules/Account}/.swiftpm/xcode/xcshareddata/xcschemes/Account.xcscheme (100%) rename {Account => Modules/Account}/.swiftpm/xcode/xcshareddata/xcschemes/AccountTests.xcscheme (100%) rename {Account => Modules/Account}/Package.swift (100%) rename {Account => Modules/Account}/README.md (100%) rename {Account => Modules/Account}/Sources/Account/Account.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountBehaviors.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountDelegate.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountDelegates/CloudKitAccountDelegate.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountDelegates/FeedbinAccountDelegate.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountDelegates/FeedlyAccountDelegate.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountDelegates/LocalAccountDelegate.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountDelegates/NewsBlurAccountDelegate.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountDelegates/ReaderAPIAccountDelegate.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountError.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountManager.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountMetadata.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountMetadataFile.swift (100%) rename {Account => Modules/Account}/Sources/Account/AccountSyncError.swift (100%) rename {Account => Modules/Account}/Sources/Account/ArticleFetcher.swift (100%) rename {Account => Modules/Account}/Sources/Account/CombinedRefreshProgress.swift (100%) rename {Account => Modules/Account}/Sources/Account/Container.swift (100%) rename {Account => Modules/Account}/Sources/Account/ContainerIdentifier.swift (100%) rename {Account => Modules/Account}/Sources/Account/ContainerPath.swift (100%) rename {Account => Modules/Account}/Sources/Account/DataExtensions.swift (100%) rename {Account => Modules/Account}/Sources/Account/Feed.swift (100%) rename {Account => Modules/Account}/Sources/Account/FeedMetadata.swift (100%) rename {Account => Modules/Account}/Sources/Account/FeedMetadataFile.swift (100%) rename {Account => Modules/Account}/Sources/Account/Folder.swift (100%) rename {Account => Modules/Account}/Sources/Account/OPMLFile.swift (100%) rename {Account => Modules/Account}/Sources/Account/OPMLNormalizer.swift (100%) rename {Account => Modules/Account}/Sources/Account/SingleArticleFetcher.swift (100%) rename {Account => Modules/Account}/Sources/Account/URLRequest+Account.swift (100%) rename {Account => Modules/Account}/Sources/Account/UnreadCountProvider.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/AccountCredentialsTest.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedbin/AccountFeedbinFolderContentsSyncTest.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedbin/AccountFeedbinFolderSyncTest.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedbin/AccountFeedbinSyncTest.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/FeedlyCreateFeedsForCollectionFoldersOperationTests.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/FeedlyGetCollectionsOperationTests.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/FeedlyGetStreamContentsOperationTests.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/FeedlyLogoutOperationTests.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/FeedlyMirrorCollectionsAsFoldersOperationTests.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/FeedlySendArticleStatusesOperationTests.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/FeedlySyncAllMockResponseProvider.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/FeedlySyncStreamContentsOperationTests.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/FeedlyTestSupport.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/TestGetCollectionsService.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/TestGetEntriesService.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/TestGetPagedStreamContentsService.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/TestGetPagedStreamIdsService.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/TestGetStreamContentsService.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/TestGetStreamIdsService.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/Feedly/TestMarkArticlesService.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/feedly_collections_initial.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/feedly_macintosh_initial.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/feedly_unreads_1000.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/feedly_unreads_initial.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/subscriptions_add.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/subscriptions_initial.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/taggings_add.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/taggings_delete.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/taggings_initial.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/tags_add.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/tags_delete.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/JSON/tags_initial.json (100%) rename {Account => Modules/Account}/Tests/AccountTests/TestAccountManager.swift (100%) rename {Account => Modules/Account}/Tests/AccountTests/TestTransport.swift (100%) rename {Account => Modules/Account}/Tests/LinuxMain.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/.gitignore (100%) rename {AppKitExtras => Modules/AppKitExtras}/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtras.xcscheme (100%) rename {AppKitExtras => Modules/AppKitExtras}/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtrasTests.xcscheme (100%) rename {AppKitExtras => Modules/AppKitExtras}/Package.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/FourCharCode.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/Keyboard.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/KeyboardDelegateProtocol.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSAppearance+RSCore.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSAppleEventDescriptor+RSCore.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSImage+RSCore.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSMenu+Extensions.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSOutlineView+RSCore.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSPasteboard+RSCore.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSResponder-Extensions.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSTableView+RSCore.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSToolbar+RSCore.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSView+RSCore.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSWindow-Extensions.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/NSWindowController+RSCore.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/PasteboardWriterOwner.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/RSToolbarItem.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/URLPasteboardWriter.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Sources/AppKitExtras/UserApp.swift (100%) rename {AppKitExtras => Modules/AppKitExtras}/Tests/AppKitExtrasTests/NSMenuExtensionsTests.swift (100%) rename {ArticleExtractor => Modules/ArticleExtractor}/.gitignore (100%) rename {ArticleExtractor => Modules/ArticleExtractor}/Package.swift (100%) rename {ArticleExtractor => Modules/ArticleExtractor}/Sources/ArticleExtractor/ArticleExtractor.swift (100%) rename {ArticleExtractor => Modules/ArticleExtractor}/Sources/ArticleExtractor/ExtractedArticle.swift (100%) rename {ArticleExtractor => Modules/ArticleExtractor}/Tests/ArticleExtractorTests/ArticleExtractorTests.swift (100%) rename {Articles => Modules/Articles}/.gitignore (100%) rename {Articles => Modules/Articles}/.swiftpm/xcode/xcshareddata/xcschemes/Articles.xcscheme (100%) rename {Articles => Modules/Articles}/Package.swift (100%) rename {Articles => Modules/Articles}/README.md (100%) rename {Articles => Modules/Articles}/Sources/Articles/Article.swift (100%) rename {Articles => Modules/Articles}/Sources/Articles/ArticleStatus.swift (100%) rename {Articles => Modules/Articles}/Sources/Articles/Author.swift (100%) rename {Articles => Modules/Articles}/Sources/Articles/DatabaseID.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/.gitignore (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/.swiftpm/xcode/xcshareddata/xcschemes/ArticlesDatabase.xcscheme (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Package.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/README.md (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/ArticlesDatabase.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/ArticlesTable.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/AuthorsTable.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/Constants.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/Extensions/Article+Database.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/Extensions/ArticleStatus+Database.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/Extensions/Author+Database.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/Extensions/DatabaseObject+Database.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/Extensions/ParsedArticle+Database.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/Extensions/RelatedObjectsMap+Database.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/SearchTable.swift (100%) rename {ArticlesDatabase => Modules/ArticlesDatabase}/Sources/ArticlesDatabase/StatusesTable.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/.gitignore (100%) rename {CloudKitSync => Modules/CloudKitSync}/.swiftpm/xcode/xcshareddata/xcschemes/CloudKitSync.xcscheme (100%) rename {CloudKitSync => Modules/CloudKitSync}/Package.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CKRecord+Extensions.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitAccountZone.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitArticleStatusUpdate.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitArticlesZone.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitArticlesZoneDelegate.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitError.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitReceiveStatusOperation.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitRemoteNotificationOperation.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitSendStatusOperation.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitZone.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/CloudKitZoneResult.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/MainThreadOperation.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Sources/CloudKitSync/MainThreadOperationQueue.swift (100%) rename {CloudKitSync => Modules/CloudKitSync}/Tests/CloudKitSyncTests/CloudKitSyncTests.swift (100%) rename {CommonErrors => Modules/CommonErrors}/.gitignore (100%) rename {CommonErrors => Modules/CommonErrors}/.swiftpm/xcode/xcshareddata/xcschemes/CommonErrors.xcscheme (100%) rename {CommonErrors => Modules/CommonErrors}/Package.swift (100%) rename {CommonErrors => Modules/CommonErrors}/Sources/CommonErrors/CommonError.swift (100%) rename {CommonErrors => Modules/CommonErrors}/Tests/CommonErrorsTests/CommonErrorsTests.swift (100%) rename {Core => Modules/Core}/.gitignore (100%) rename {Core => Modules/Core}/.swiftpm/xcode/xcshareddata/xcschemes/Core.xcscheme (100%) rename {Core => Modules/Core}/.swiftpm/xcode/xcshareddata/xcschemes/CoreTests.xcscheme (100%) rename {Core => Modules/Core}/Package.swift (100%) rename {Core => Modules/Core}/Sources/Core/AppConfig.swift (100%) rename {Core => Modules/Core}/Sources/Core/BatchUpdate.swift (100%) rename {Core => Modules/Core}/Sources/Core/BinaryDiskCache.swift (100%) rename {Core => Modules/Core}/Sources/Core/CoalescingQueue.swift (100%) rename {Core => Modules/Core}/Sources/Core/DataFile.swift (100%) rename {Core => Modules/Core}/Sources/Core/DisplayNameProvider.swift (100%) rename {Core => Modules/Core}/Sources/Core/MacroProcessor.swift (100%) rename {Core => Modules/Core}/Sources/Core/OPMLRepresentable.swift (100%) rename {Core => Modules/Core}/Sources/Core/Platform.swift (100%) rename {Core => Modules/Core}/Sources/Core/RSAppMovementMonitor.swift (100%) rename {Core => Modules/Core}/Sources/Core/RSImage.swift (100%) rename {Core => Modules/Core}/Sources/Core/Renamable.swift (100%) rename {Core => Modules/Core}/Sources/Core/SendToBlogEditorApp.swift (100%) rename {Core => Modules/Core}/Sources/Core/SendToCommand.swift (100%) rename {Core => Modules/Core}/Sources/Core/UndoableCommand.swift (100%) rename {Core => Modules/Core}/Sources/CoreResources/AppKit/IndeterminateProgressWindowController.swift (100%) rename {Core => Modules/Core}/Sources/CoreResources/AppKit/WebViewWindowController.swift (100%) rename {Core => Modules/Core}/Sources/CoreResources/Resources/IndeterminateProgressWindow.xib (100%) rename {Core => Modules/Core}/Sources/CoreResources/Resources/WebViewWindow.xib (100%) rename {Core => Modules/Core}/Tests/CoreTests/MacroProcessorTests.swift (100%) rename {Database => Modules/Database}/.gitignore (100%) rename {Database => Modules/Database}/Package.swift (100%) rename {Database => Modules/Database}/Sources/Database/Database.swift (100%) rename {Database => Modules/Database}/Sources/Database/DatabaseObject.swift (100%) rename {Database => Modules/Database}/Sources/Database/DatabaseObjectCache.swift (100%) rename {Database => Modules/Database}/Sources/Database/FMDatabase+Extras.swift (100%) rename {Database => Modules/Database}/Sources/Database/FMResultSet+Extras.swift (100%) rename {Database => Modules/Database}/Sources/Database/Related Objects/DatabaseLookupTable.swift (100%) rename {Database => Modules/Database}/Sources/Database/Related Objects/DatabaseRelatedObjectsTable.swift (100%) rename {Database => Modules/Database}/Sources/Database/Related Objects/RelatedObjectIDsMap.swift (100%) rename {Database => Modules/Database}/Sources/Database/Related Objects/RelatedObjectsMap.swift (100%) rename {Database => Modules/Database}/Tests/DatabaseTests/DatabaseTests.swift (100%) rename {FMDB => Modules/FMDB}/.gitignore (100%) rename {FMDB => Modules/FMDB}/Package.swift (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMDatabase+RSExtras.h (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMDatabase+RSExtras.m (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMDatabase.h (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMDatabase.m (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMDatabaseAdditions.h (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMDatabaseAdditions.m (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMResultSet+RSExtras.h (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMResultSet+RSExtras.m (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMResultSet.h (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/FMResultSet.m (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/NSString+RSDatabase.h (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/NSString+RSDatabase.m (100%) rename {FMDB => Modules/FMDB}/Sources/FMDB/include/FMDatabase.h (100%) rename {FMDB => Modules/FMDB}/Tests/FMDBTests/FMDBTests.swift (100%) rename {FeedDownloader => Modules/FeedDownloader}/.gitignore (100%) rename {FeedDownloader => Modules/FeedDownloader}/.swiftpm/xcode/xcshareddata/xcschemes/FeedDownloader.xcscheme (100%) rename {FeedDownloader => Modules/FeedDownloader}/Package.swift (100%) rename {FeedDownloader => Modules/FeedDownloader}/Sources/FeedDownloader/FeedDownloader.swift (100%) rename {FeedDownloader => Modules/FeedDownloader}/Tests/FeedDownloaderTests/FeedDownloaderTests.swift (100%) rename {FeedFinder => Modules/FeedFinder}/.gitignore (100%) rename {FeedFinder => Modules/FeedFinder}/.swiftpm/xcode/xcshareddata/xcschemes/FeedFinder.xcscheme (100%) rename {FeedFinder => Modules/FeedFinder}/Package.swift (100%) rename {FeedFinder => Modules/FeedFinder}/Sources/FeedFinder/FeedFinder.swift (100%) rename {FeedFinder => Modules/FeedFinder}/Sources/FeedFinder/FeedSpecifier.swift (100%) rename {FeedFinder => Modules/FeedFinder}/Sources/FeedFinder/HTMLFeedFinder.swift (100%) rename {FeedFinder => Modules/FeedFinder}/Tests/FeedFinderTests/FeedFinderTests.swift (100%) rename {Feedbin => Modules/Feedbin}/.gitignore (100%) rename {Feedbin => Modules/Feedbin}/.swiftpm/xcode/xcshareddata/xcschemes/Feedbin.xcscheme (100%) rename {Feedbin => Modules/Feedbin}/Package.swift (100%) rename {Feedbin => Modules/Feedbin}/Sources/Feedbin/FeedbinAPICaller.swift (100%) rename {Feedbin => Modules/Feedbin}/Sources/Feedbin/FeedbinDate.swift (100%) rename {Feedbin => Modules/Feedbin}/Sources/Feedbin/FeedbinEntry.swift (100%) rename {Feedbin => Modules/Feedbin}/Sources/Feedbin/FeedbinImportResult.swift (100%) rename {Feedbin => Modules/Feedbin}/Sources/Feedbin/FeedbinStarredEntry.swift (100%) rename {Feedbin => Modules/Feedbin}/Sources/Feedbin/FeedbinSubscription.swift (100%) rename {Feedbin => Modules/Feedbin}/Sources/Feedbin/FeedbinTag.swift (100%) rename {Feedbin => Modules/Feedbin}/Sources/Feedbin/FeedbinTagging.swift (100%) rename {Feedbin => Modules/Feedbin}/Sources/Feedbin/FeedbinUnreadEntry.swift (100%) rename {Feedbin => Modules/Feedbin}/Tests/FeedbinTests/FeedbinTests.swift (100%) rename {Feedly => Modules/Feedly}/.gitignore (100%) rename {Feedly => Modules/Feedly}/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme (84%) rename {Feedly => Modules/Feedly}/Package.swift (100%) rename {Feedly => Modules/Feedly}/Sources/Feedly/FeedlyAPICaller.swift (100%) rename {Feedly => Modules/Feedly}/Sources/Feedly/FeedlyAccountDelegateError.swift (100%) rename {Feedly => Modules/Feedly}/Sources/Feedly/FeedlyModel.swift (100%) rename {Feedly => Modules/Feedly}/Sources/Feedly/FeedlyUtilities.swift (100%) rename {Feedly => Modules/Feedly}/Sources/Feedly/OAuth/OAuth.swift (100%) rename {Feedly => Modules/Feedly}/Sources/Feedly/OAuth/OAuthAuthorizationClient+Feedly.swift (100%) rename {Feedly => Modules/Feedly}/Sources/Feedly/OAuth/OAuthRefreshAccessTokenRequest.swift (100%) rename {Feedly => Modules/Feedly}/Tests/FeedlyTests/FeedlyCollectionParserTests.swift (100%) rename {Feedly => Modules/Feedly}/Tests/FeedlyTests/FeedlyEntryParserTests.swift (100%) rename {Feedly => Modules/Feedly}/Tests/FeedlyTests/FeedlyFeedParserTests.swift (100%) rename {Feedly => Modules/Feedly}/Tests/FeedlyTests/FeedlyResourceIDTests.swift (100%) rename {Feedly => Modules/Feedly}/Tests/FeedlyTests/FeedlyTextSanitizationTests.swift (100%) rename {Feedly => Modules/Feedly}/Tests/FeedlyTests/FeedlyUtilitiesTests.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/.gitignore (100%) rename {FoundationExtras => Modules/FoundationExtras}/Package.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Sources/FoundationExtras/Array+Extensions.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Sources/FoundationExtras/Calendar+Extensions.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Sources/FoundationExtras/Data+RSCore.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Sources/FoundationExtras/Date+Extensions.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Sources/FoundationExtras/FileManager+RSCore.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Sources/FoundationExtras/Geometry.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Sources/FoundationExtras/Set+Extensions.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Sources/FoundationExtras/String+RSCore.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Tests/FoundationExtrasTests/ArrayExtensionsTests.swift (100%) rename {FoundationExtras => Modules/FoundationExtras}/Tests/FoundationExtrasTests/CalendarExtensionsTests.swift (100%) rename {Images => Modules/Images}/.gitignore (100%) rename {Images => Modules/Images}/.swiftpm/xcode/xcshareddata/xcschemes/Images.xcscheme (100%) rename {Images => Modules/Images}/Package.swift (100%) rename {Images => Modules/Images}/Sources/Images/AuthorAvatarDownloader.swift (100%) rename {Images => Modules/Images}/Sources/Images/Favicons/ColorHash.swift (100%) rename {Images => Modules/Images}/Sources/Images/Favicons/FaviconDownloader.swift (100%) rename {Images => Modules/Images}/Sources/Images/Favicons/FaviconGenerator.swift (100%) rename {Images => Modules/Images}/Sources/Images/Favicons/FaviconURLFinder.swift (100%) rename {Images => Modules/Images}/Sources/Images/Favicons/SingleFaviconDownloader.swift (100%) rename {Images => Modules/Images}/Sources/Images/FeaturedImageDownloader.swift (100%) rename {Images => Modules/Images}/Sources/Images/FeedIconDownloader.swift (100%) rename {Images => Modules/Images}/Sources/Images/IconImage.swift (100%) rename {Images => Modules/Images}/Sources/Images/ImageDownloader.swift (100%) rename {Images => Modules/Images}/Sources/Images/RSHTMLMetadata+Extension.swift (100%) rename {Images => Modules/Images}/Sources/Images/RSImage-Extensions.swift (100%) rename {Images => Modules/Images}/Tests/ImagesTests/ImagesTests.swift (100%) rename {LocalAccount => Modules/LocalAccount}/.gitignore (100%) rename {LocalAccount => Modules/LocalAccount}/Package.swift (100%) rename {LocalAccount => Modules/LocalAccount}/Sources/LocalAccount/InitialFeedDownloader.swift (100%) rename {LocalAccount => Modules/LocalAccount}/Tests/LocalAccountTests/LocalAccountTests.swift (100%) rename {NewsBlur => Modules/NewsBlur}/.gitignore (100%) rename {NewsBlur => Modules/NewsBlur}/.swiftpm/xcode/xcshareddata/xcschemes/NewsBlur.xcscheme (100%) rename {NewsBlur => Modules/NewsBlur}/Package.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/Models/NewsBlurFeed.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/Models/NewsBlurFeedChange.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/Models/NewsBlurFolderChange.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/Models/NewsBlurGenericCodingKeys.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/Models/NewsBlurLoginResponse.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/Models/NewsBlurStory.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/Models/NewsBlurStoryHash.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/Models/NewsBlurStoryStatusChange.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/NewsBlurAPICaller+Internal.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/NewsBlurAPICaller.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Sources/NewsBlur/URLRequest+NewsBlur.swift (100%) rename {NewsBlur => Modules/NewsBlur}/Tests/NewsBlurTests/NewsBlurTests.swift (100%) rename {Parser => Modules/Parser}/.gitignore (100%) rename {Parser => Modules/Parser}/.swiftpm/xcode/xcshareddata/xcbaselines/ParserTests.xcbaseline/5AEA6FC6-AD2F-413E-9746-2017D27E25CE.plist (100%) rename {Parser => Modules/Parser}/.swiftpm/xcode/xcshareddata/xcbaselines/ParserTests.xcbaseline/Info.plist (100%) rename {Parser => Modules/Parser}/.swiftpm/xcode/xcshareddata/xcschemes/Parser.xcscheme (100%) rename {Parser => Modules/Parser}/.swiftpm/xcode/xcshareddata/xcschemes/ParserTests.xcscheme (100%) rename {Parser => Modules/Parser}/Package.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/FeedParser.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/FeedParserError.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/FeedType.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/JSON/JSONFeedParser.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/JSON/RSSInJSONParser.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/ParsedAttachment.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/ParsedAuthor.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/ParsedFeed.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/ParsedHub.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/ParsedItem.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/XML/AtomParser.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/XML/RSParsedFeedTransformer.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Feeds/XML/RSSParser.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/JSON/JSONTypes.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/JSON/JSONUtilities.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/ParserData+Parser.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/RSHTMLMetadata+Parser.swift (100%) rename {Parser => Modules/Parser}/Sources/Parser/Utilities/String+RSParser.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/AtomParserTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/EntityDecodingTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/FeedParserTypeTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/HTMLLinkTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/HTMLMetadataTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Info.plist (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/JSONFeedParserTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/OPMLTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/ParserTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/RSDateParserTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/RSSInJSONParserTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/RSSParserTests.swift (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/3960.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/489.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/4fsodonline.atom (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/DaringFireball.atom (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/DaringFireball.html (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/DaringFireball.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/DaringFireball.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/EMarley.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/KatieFloyd.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/OneFootTsunami.atom (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/ScriptingNews.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/Subs.opml (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/SubsNoTitleAttributes.opml (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/YouTubeTheVolvoRocks.html (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/aktuality.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/allthis-partial.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/allthis.atom (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/allthis.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/atp.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/authors.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/bio.rdf (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/cloudblog.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/coco.html (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/curt.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/dcrainmaker.xml (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/donthitsave.xml (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/expertopinionent.atom (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/furbo.html (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/inessential.html (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/inessential.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/kc0011.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/livemint.xml (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/macworld.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/manton.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/monkeydom.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/natasha.xml (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/phpxml.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/pxlnv.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/rose.json (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/russcox.atom (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/scriptingNews.rss (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/sixcolors.html (100%) rename {Parser => Modules/Parser}/Tests/ParserTests/Resources/theomnishow.rss (100%) rename {ParserObjc => Modules/ParserObjC}/.gitignore (100%) rename {ParserObjc => Modules/ParserObjC}/Package.swift (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/FeedParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/NSData+RSParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/NSData+RSParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/NSString+RSParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/NSString+RSParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/ParserData.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/ParserData.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSAtomParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSAtomParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSDateParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSDateParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSHTMLLinkParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSHTMLLinkParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSHTMLMetadata.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSHTMLMetadata.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSHTMLMetadataParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSHTMLMetadataParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSHTMLTag.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSHTMLTag.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLAttributes.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLAttributes.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLDocument.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLDocument.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLError.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLError.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLFeedSpecifier.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLFeedSpecifier.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLItem.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLItem.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSOPMLParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParsedArticle.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParsedArticle.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParsedAuthor.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParsedAuthor.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParsedEnclosure.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParsedEnclosure.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParsedFeed.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParsedFeed.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParserInternal.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSParserInternal.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSRSSParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSRSSParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSSAXHTMLParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSSAXHTMLParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSSAXParser.h (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/RSSAXParser.m (100%) rename {ParserObjc => Modules/ParserObjC}/Sources/ParserObjC/include/RSParser.h (100%) rename {ReaderAPI => Modules/ReaderAPI}/.gitignore (100%) rename {ReaderAPI => Modules/ReaderAPI}/Package.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Sources/ReaderAPI/ReaderAPICaller.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Sources/ReaderAPI/ReaderAPIEntry.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Sources/ReaderAPI/ReaderAPIError.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Sources/ReaderAPI/ReaderAPISubscription.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Sources/ReaderAPI/ReaderAPITag.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Sources/ReaderAPI/ReaderAPITagging.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Sources/ReaderAPI/ReaderAPIUnreadEntry.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Sources/ReaderAPI/ReaderAPIVariant.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Sources/ReaderAPI/URLRequest+ReaderAPI.swift (100%) rename {ReaderAPI => Modules/ReaderAPI}/Tests/ReaderAPITests/ReaderAPITests.swift (100%) rename {Secrets => Modules/Secrets}/.gitignore (100%) rename {Secrets => Modules/Secrets}/Package.swift (100%) rename {Secrets => Modules/Secrets}/README.md (100%) rename {Secrets => Modules/Secrets}/Sources/Secrets/Credentials.swift (100%) rename {Secrets => Modules/Secrets}/Sources/Secrets/CredentialsManager.swift (100%) rename {Secrets => Modules/Secrets}/Sources/Secrets/SecretsProvider.swift (100%) rename {SyncDatabase => Modules/SyncDatabase}/.gitignore (100%) rename {SyncDatabase => Modules/SyncDatabase}/.swiftpm/xcode/xcshareddata/xcschemes/SyncDatabase.xcscheme (100%) rename {SyncDatabase => Modules/SyncDatabase}/Package.swift (100%) rename {SyncDatabase => Modules/SyncDatabase}/README.md (100%) rename {SyncDatabase => Modules/SyncDatabase}/Sources/SyncDatabase/Constants.swift (100%) rename {SyncDatabase => Modules/SyncDatabase}/Sources/SyncDatabase/SyncDatabase.swift (100%) rename {SyncDatabase => Modules/SyncDatabase}/Sources/SyncDatabase/SyncStatus.swift (100%) rename {SyncDatabase => Modules/SyncDatabase}/Sources/SyncDatabase/SyncStatusTable.swift (100%) rename {Tree => Modules/Tree}/.gitignore (100%) rename {Tree => Modules/Tree}/.swiftpm/xcode/xcshareddata/xcschemes/Tree.xcscheme (100%) rename {Tree => Modules/Tree}/.swiftpm/xcode/xcshareddata/xcschemes/TreeTests.xcscheme (100%) rename {Tree => Modules/Tree}/Package.swift (100%) rename {Tree => Modules/Tree}/Sources/Tree/NSOutlineView+RSTree.swift (100%) rename {Tree => Modules/Tree}/Sources/Tree/Node.swift (100%) rename {Tree => Modules/Tree}/Sources/Tree/NodePath.swift (100%) rename {Tree => Modules/Tree}/Sources/Tree/RSTree.swift (100%) rename {Tree => Modules/Tree}/Sources/Tree/RootNodeRepresentedObject.swift (100%) rename {Tree => Modules/Tree}/Sources/Tree/TreeController.swift (100%) rename {Tree => Modules/Tree}/Tests/TreeTests/NodeTests.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/.gitignore (100%) rename {UIKitExtras => Modules/UIKitExtras}/Package.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/Animations.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/NonIntrinsicButton.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/NonIntrinsicImageView.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/NonIntrinsicLabel.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/RoundedProgressView.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/String+Extensions.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/TickMarkSlider.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/UIResponder+RSCore.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/UITableView+Extensions.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/UIView+RSCore.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Sources/UIKitExtras/UIViewController+RSCore.swift (100%) rename {UIKitExtras => Modules/UIKitExtras}/Tests/UIKitExtrasTests/UIKitExtrasTests.swift (100%) rename {Web => Modules/Web}/.gitignore (100%) rename {Web => Modules/Web}/.swiftpm/xcode/xcshareddata/xcschemes/Web.xcscheme (100%) rename {Web => Modules/Web}/Package.swift (100%) rename {Web => Modules/Web}/Sources/Web/Dictionary+Web.swift (100%) rename {Web => Modules/Web}/Sources/Web/DownloadObject.swift (100%) rename {Web => Modules/Web}/Sources/Web/DownloadProgress.swift (100%) rename {Web => Modules/Web}/Sources/Web/DownloadSession.swift (100%) rename {Web => Modules/Web}/Sources/Web/HTTPConditionalGetInfo.swift (100%) rename {Web => Modules/Web}/Sources/Web/HTTPDateInfo.swift (100%) rename {Web => Modules/Web}/Sources/Web/HTTPLinkPagingInfo.swift (100%) rename {Web => Modules/Web}/Sources/Web/HTTPMethod.swift (100%) rename {Web => Modules/Web}/Sources/Web/HTTPRequestHeader.swift (100%) rename {Web => Modules/Web}/Sources/Web/HTTPResponseCode.swift (100%) rename {Web => Modules/Web}/Sources/Web/HTTPResponseHeader.swift (100%) rename {Web => Modules/Web}/Sources/Web/MacWebBrowser.swift (100%) rename {Web => Modules/Web}/Sources/Web/MimeType.swift (100%) rename {Web => Modules/Web}/Sources/Web/OneShotDownload.swift (100%) rename {Web => Modules/Web}/Sources/Web/Reachability.swift (100%) rename {Web => Modules/Web}/Sources/Web/URL+RSWeb.swift (100%) rename {Web => Modules/Web}/Sources/Web/URLComponents+RSWeb.swift (100%) rename {Web => Modules/Web}/Sources/Web/URLResponse+RSWeb.swift (100%) rename {Web => Modules/Web}/Sources/Web/URLScheme.swift (100%) rename {Web => Modules/Web}/Sources/Web/UserAgent.swift (100%) rename {Web => Modules/Web}/Sources/Web/WebServices/Transport.swift (100%) rename {Web => Modules/Web}/Sources/Web/WebServices/TransportJSON.swift (100%) rename {Web => Modules/Web}/Tests/WebTests/DictionaryWebTests.swift (100%) diff --git a/Account/.gitignore b/Modules/Account/.gitignore similarity index 100% rename from Account/.gitignore rename to Modules/Account/.gitignore diff --git a/Account/.swiftpm/xcode/xcshareddata/xcschemes/Account.xcscheme b/Modules/Account/.swiftpm/xcode/xcshareddata/xcschemes/Account.xcscheme similarity index 100% rename from Account/.swiftpm/xcode/xcshareddata/xcschemes/Account.xcscheme rename to Modules/Account/.swiftpm/xcode/xcshareddata/xcschemes/Account.xcscheme diff --git a/Account/.swiftpm/xcode/xcshareddata/xcschemes/AccountTests.xcscheme b/Modules/Account/.swiftpm/xcode/xcshareddata/xcschemes/AccountTests.xcscheme similarity index 100% rename from Account/.swiftpm/xcode/xcshareddata/xcschemes/AccountTests.xcscheme rename to Modules/Account/.swiftpm/xcode/xcshareddata/xcschemes/AccountTests.xcscheme diff --git a/Account/Package.swift b/Modules/Account/Package.swift similarity index 100% rename from Account/Package.swift rename to Modules/Account/Package.swift diff --git a/Account/README.md b/Modules/Account/README.md similarity index 100% rename from Account/README.md rename to Modules/Account/README.md diff --git a/Account/Sources/Account/Account.swift b/Modules/Account/Sources/Account/Account.swift similarity index 100% rename from Account/Sources/Account/Account.swift rename to Modules/Account/Sources/Account/Account.swift diff --git a/Account/Sources/Account/AccountBehaviors.swift b/Modules/Account/Sources/Account/AccountBehaviors.swift similarity index 100% rename from Account/Sources/Account/AccountBehaviors.swift rename to Modules/Account/Sources/Account/AccountBehaviors.swift diff --git a/Account/Sources/Account/AccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/CloudKitAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/CloudKitAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/CloudKitAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/CloudKitAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/FeedbinAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/FeedbinAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/FeedbinAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/FeedbinAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/FeedlyAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/FeedlyAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/FeedlyAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/FeedlyAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/LocalAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/LocalAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/LocalAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/LocalAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/NewsBlurAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/NewsBlurAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/NewsBlurAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/NewsBlurAccountDelegate.swift diff --git a/Account/Sources/Account/AccountDelegates/ReaderAPIAccountDelegate.swift b/Modules/Account/Sources/Account/AccountDelegates/ReaderAPIAccountDelegate.swift similarity index 100% rename from Account/Sources/Account/AccountDelegates/ReaderAPIAccountDelegate.swift rename to Modules/Account/Sources/Account/AccountDelegates/ReaderAPIAccountDelegate.swift diff --git a/Account/Sources/Account/AccountError.swift b/Modules/Account/Sources/Account/AccountError.swift similarity index 100% rename from Account/Sources/Account/AccountError.swift rename to Modules/Account/Sources/Account/AccountError.swift diff --git a/Account/Sources/Account/AccountManager.swift b/Modules/Account/Sources/Account/AccountManager.swift similarity index 100% rename from Account/Sources/Account/AccountManager.swift rename to Modules/Account/Sources/Account/AccountManager.swift diff --git a/Account/Sources/Account/AccountMetadata.swift b/Modules/Account/Sources/Account/AccountMetadata.swift similarity index 100% rename from Account/Sources/Account/AccountMetadata.swift rename to Modules/Account/Sources/Account/AccountMetadata.swift diff --git a/Account/Sources/Account/AccountMetadataFile.swift b/Modules/Account/Sources/Account/AccountMetadataFile.swift similarity index 100% rename from Account/Sources/Account/AccountMetadataFile.swift rename to Modules/Account/Sources/Account/AccountMetadataFile.swift diff --git a/Account/Sources/Account/AccountSyncError.swift b/Modules/Account/Sources/Account/AccountSyncError.swift similarity index 100% rename from Account/Sources/Account/AccountSyncError.swift rename to Modules/Account/Sources/Account/AccountSyncError.swift diff --git a/Account/Sources/Account/ArticleFetcher.swift b/Modules/Account/Sources/Account/ArticleFetcher.swift similarity index 100% rename from Account/Sources/Account/ArticleFetcher.swift rename to Modules/Account/Sources/Account/ArticleFetcher.swift diff --git a/Account/Sources/Account/CombinedRefreshProgress.swift b/Modules/Account/Sources/Account/CombinedRefreshProgress.swift similarity index 100% rename from Account/Sources/Account/CombinedRefreshProgress.swift rename to Modules/Account/Sources/Account/CombinedRefreshProgress.swift diff --git a/Account/Sources/Account/Container.swift b/Modules/Account/Sources/Account/Container.swift similarity index 100% rename from Account/Sources/Account/Container.swift rename to Modules/Account/Sources/Account/Container.swift diff --git a/Account/Sources/Account/ContainerIdentifier.swift b/Modules/Account/Sources/Account/ContainerIdentifier.swift similarity index 100% rename from Account/Sources/Account/ContainerIdentifier.swift rename to Modules/Account/Sources/Account/ContainerIdentifier.swift diff --git a/Account/Sources/Account/ContainerPath.swift b/Modules/Account/Sources/Account/ContainerPath.swift similarity index 100% rename from Account/Sources/Account/ContainerPath.swift rename to Modules/Account/Sources/Account/ContainerPath.swift diff --git a/Account/Sources/Account/DataExtensions.swift b/Modules/Account/Sources/Account/DataExtensions.swift similarity index 100% rename from Account/Sources/Account/DataExtensions.swift rename to Modules/Account/Sources/Account/DataExtensions.swift diff --git a/Account/Sources/Account/Feed.swift b/Modules/Account/Sources/Account/Feed.swift similarity index 100% rename from Account/Sources/Account/Feed.swift rename to Modules/Account/Sources/Account/Feed.swift diff --git a/Account/Sources/Account/FeedMetadata.swift b/Modules/Account/Sources/Account/FeedMetadata.swift similarity index 100% rename from Account/Sources/Account/FeedMetadata.swift rename to Modules/Account/Sources/Account/FeedMetadata.swift diff --git a/Account/Sources/Account/FeedMetadataFile.swift b/Modules/Account/Sources/Account/FeedMetadataFile.swift similarity index 100% rename from Account/Sources/Account/FeedMetadataFile.swift rename to Modules/Account/Sources/Account/FeedMetadataFile.swift diff --git a/Account/Sources/Account/Folder.swift b/Modules/Account/Sources/Account/Folder.swift similarity index 100% rename from Account/Sources/Account/Folder.swift rename to Modules/Account/Sources/Account/Folder.swift diff --git a/Account/Sources/Account/OPMLFile.swift b/Modules/Account/Sources/Account/OPMLFile.swift similarity index 100% rename from Account/Sources/Account/OPMLFile.swift rename to Modules/Account/Sources/Account/OPMLFile.swift diff --git a/Account/Sources/Account/OPMLNormalizer.swift b/Modules/Account/Sources/Account/OPMLNormalizer.swift similarity index 100% rename from Account/Sources/Account/OPMLNormalizer.swift rename to Modules/Account/Sources/Account/OPMLNormalizer.swift diff --git a/Account/Sources/Account/SingleArticleFetcher.swift b/Modules/Account/Sources/Account/SingleArticleFetcher.swift similarity index 100% rename from Account/Sources/Account/SingleArticleFetcher.swift rename to Modules/Account/Sources/Account/SingleArticleFetcher.swift diff --git a/Account/Sources/Account/URLRequest+Account.swift b/Modules/Account/Sources/Account/URLRequest+Account.swift similarity index 100% rename from Account/Sources/Account/URLRequest+Account.swift rename to Modules/Account/Sources/Account/URLRequest+Account.swift diff --git a/Account/Sources/Account/UnreadCountProvider.swift b/Modules/Account/Sources/Account/UnreadCountProvider.swift similarity index 100% rename from Account/Sources/Account/UnreadCountProvider.swift rename to Modules/Account/Sources/Account/UnreadCountProvider.swift diff --git a/Account/Tests/AccountTests/AccountCredentialsTest.swift b/Modules/Account/Tests/AccountTests/AccountCredentialsTest.swift similarity index 100% rename from Account/Tests/AccountTests/AccountCredentialsTest.swift rename to Modules/Account/Tests/AccountTests/AccountCredentialsTest.swift diff --git a/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderContentsSyncTest.swift b/Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderContentsSyncTest.swift similarity index 100% rename from Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderContentsSyncTest.swift rename to Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderContentsSyncTest.swift diff --git a/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderSyncTest.swift b/Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderSyncTest.swift similarity index 100% rename from Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderSyncTest.swift rename to Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinFolderSyncTest.swift diff --git a/Account/Tests/AccountTests/Feedbin/AccountFeedbinSyncTest.swift b/Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinSyncTest.swift similarity index 100% rename from Account/Tests/AccountTests/Feedbin/AccountFeedbinSyncTest.swift rename to Modules/Account/Tests/AccountTests/Feedbin/AccountFeedbinSyncTest.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyCreateFeedsForCollectionFoldersOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyCreateFeedsForCollectionFoldersOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyCreateFeedsForCollectionFoldersOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyCreateFeedsForCollectionFoldersOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyGetCollectionsOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyGetCollectionsOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyGetCollectionsOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyGetCollectionsOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyGetStreamContentsOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyGetStreamContentsOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyGetStreamContentsOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyGetStreamContentsOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyLogoutOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyLogoutOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyLogoutOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyLogoutOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyMirrorCollectionsAsFoldersOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyMirrorCollectionsAsFoldersOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyMirrorCollectionsAsFoldersOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyMirrorCollectionsAsFoldersOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlySendArticleStatusesOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlySendArticleStatusesOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlySendArticleStatusesOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlySendArticleStatusesOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlySyncAllMockResponseProvider.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlySyncAllMockResponseProvider.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlySyncAllMockResponseProvider.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlySyncAllMockResponseProvider.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlySyncStreamContentsOperationTests.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlySyncStreamContentsOperationTests.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlySyncStreamContentsOperationTests.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlySyncStreamContentsOperationTests.swift diff --git a/Account/Tests/AccountTests/Feedly/FeedlyTestSupport.swift b/Modules/Account/Tests/AccountTests/Feedly/FeedlyTestSupport.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/FeedlyTestSupport.swift rename to Modules/Account/Tests/AccountTests/Feedly/FeedlyTestSupport.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetCollectionsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetCollectionsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetCollectionsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetCollectionsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetEntriesService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetEntriesService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetEntriesService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetEntriesService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetPagedStreamContentsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetPagedStreamContentsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetPagedStreamContentsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetPagedStreamContentsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetPagedStreamIdsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetPagedStreamIdsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetPagedStreamIdsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetPagedStreamIdsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetStreamContentsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetStreamContentsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetStreamContentsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetStreamContentsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestGetStreamIdsService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestGetStreamIdsService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestGetStreamIdsService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestGetStreamIdsService.swift diff --git a/Account/Tests/AccountTests/Feedly/TestMarkArticlesService.swift b/Modules/Account/Tests/AccountTests/Feedly/TestMarkArticlesService.swift similarity index 100% rename from Account/Tests/AccountTests/Feedly/TestMarkArticlesService.swift rename to Modules/Account/Tests/AccountTests/Feedly/TestMarkArticlesService.swift diff --git a/Account/Tests/AccountTests/JSON/feedly_collections_initial.json b/Modules/Account/Tests/AccountTests/JSON/feedly_collections_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/feedly_collections_initial.json rename to Modules/Account/Tests/AccountTests/JSON/feedly_collections_initial.json diff --git a/Account/Tests/AccountTests/JSON/feedly_macintosh_initial.json b/Modules/Account/Tests/AccountTests/JSON/feedly_macintosh_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/feedly_macintosh_initial.json rename to Modules/Account/Tests/AccountTests/JSON/feedly_macintosh_initial.json diff --git a/Account/Tests/AccountTests/JSON/feedly_unreads_1000.json b/Modules/Account/Tests/AccountTests/JSON/feedly_unreads_1000.json similarity index 100% rename from Account/Tests/AccountTests/JSON/feedly_unreads_1000.json rename to Modules/Account/Tests/AccountTests/JSON/feedly_unreads_1000.json diff --git a/Account/Tests/AccountTests/JSON/feedly_unreads_initial.json b/Modules/Account/Tests/AccountTests/JSON/feedly_unreads_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/feedly_unreads_initial.json rename to Modules/Account/Tests/AccountTests/JSON/feedly_unreads_initial.json diff --git a/Account/Tests/AccountTests/JSON/subscriptions_add.json b/Modules/Account/Tests/AccountTests/JSON/subscriptions_add.json similarity index 100% rename from Account/Tests/AccountTests/JSON/subscriptions_add.json rename to Modules/Account/Tests/AccountTests/JSON/subscriptions_add.json diff --git a/Account/Tests/AccountTests/JSON/subscriptions_initial.json b/Modules/Account/Tests/AccountTests/JSON/subscriptions_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/subscriptions_initial.json rename to Modules/Account/Tests/AccountTests/JSON/subscriptions_initial.json diff --git a/Account/Tests/AccountTests/JSON/taggings_add.json b/Modules/Account/Tests/AccountTests/JSON/taggings_add.json similarity index 100% rename from Account/Tests/AccountTests/JSON/taggings_add.json rename to Modules/Account/Tests/AccountTests/JSON/taggings_add.json diff --git a/Account/Tests/AccountTests/JSON/taggings_delete.json b/Modules/Account/Tests/AccountTests/JSON/taggings_delete.json similarity index 100% rename from Account/Tests/AccountTests/JSON/taggings_delete.json rename to Modules/Account/Tests/AccountTests/JSON/taggings_delete.json diff --git a/Account/Tests/AccountTests/JSON/taggings_initial.json b/Modules/Account/Tests/AccountTests/JSON/taggings_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/taggings_initial.json rename to Modules/Account/Tests/AccountTests/JSON/taggings_initial.json diff --git a/Account/Tests/AccountTests/JSON/tags_add.json b/Modules/Account/Tests/AccountTests/JSON/tags_add.json similarity index 100% rename from Account/Tests/AccountTests/JSON/tags_add.json rename to Modules/Account/Tests/AccountTests/JSON/tags_add.json diff --git a/Account/Tests/AccountTests/JSON/tags_delete.json b/Modules/Account/Tests/AccountTests/JSON/tags_delete.json similarity index 100% rename from Account/Tests/AccountTests/JSON/tags_delete.json rename to Modules/Account/Tests/AccountTests/JSON/tags_delete.json diff --git a/Account/Tests/AccountTests/JSON/tags_initial.json b/Modules/Account/Tests/AccountTests/JSON/tags_initial.json similarity index 100% rename from Account/Tests/AccountTests/JSON/tags_initial.json rename to Modules/Account/Tests/AccountTests/JSON/tags_initial.json diff --git a/Account/Tests/AccountTests/TestAccountManager.swift b/Modules/Account/Tests/AccountTests/TestAccountManager.swift similarity index 100% rename from Account/Tests/AccountTests/TestAccountManager.swift rename to Modules/Account/Tests/AccountTests/TestAccountManager.swift diff --git a/Account/Tests/AccountTests/TestTransport.swift b/Modules/Account/Tests/AccountTests/TestTransport.swift similarity index 100% rename from Account/Tests/AccountTests/TestTransport.swift rename to Modules/Account/Tests/AccountTests/TestTransport.swift diff --git a/Account/Tests/LinuxMain.swift b/Modules/Account/Tests/LinuxMain.swift similarity index 100% rename from Account/Tests/LinuxMain.swift rename to Modules/Account/Tests/LinuxMain.swift diff --git a/AppKitExtras/.gitignore b/Modules/AppKitExtras/.gitignore similarity index 100% rename from AppKitExtras/.gitignore rename to Modules/AppKitExtras/.gitignore diff --git a/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtras.xcscheme b/Modules/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtras.xcscheme similarity index 100% rename from AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtras.xcscheme rename to Modules/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtras.xcscheme diff --git a/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtrasTests.xcscheme b/Modules/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtrasTests.xcscheme similarity index 100% rename from AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtrasTests.xcscheme rename to Modules/AppKitExtras/.swiftpm/xcode/xcshareddata/xcschemes/AppKitExtrasTests.xcscheme diff --git a/AppKitExtras/Package.swift b/Modules/AppKitExtras/Package.swift similarity index 100% rename from AppKitExtras/Package.swift rename to Modules/AppKitExtras/Package.swift diff --git a/AppKitExtras/Sources/AppKitExtras/FourCharCode.swift b/Modules/AppKitExtras/Sources/AppKitExtras/FourCharCode.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/FourCharCode.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/FourCharCode.swift diff --git a/AppKitExtras/Sources/AppKitExtras/Keyboard.swift b/Modules/AppKitExtras/Sources/AppKitExtras/Keyboard.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/Keyboard.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/Keyboard.swift diff --git a/AppKitExtras/Sources/AppKitExtras/KeyboardDelegateProtocol.swift b/Modules/AppKitExtras/Sources/AppKitExtras/KeyboardDelegateProtocol.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/KeyboardDelegateProtocol.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/KeyboardDelegateProtocol.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSAppearance+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSAppearance+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSAppearance+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSAppearance+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSAppleEventDescriptor+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSAppleEventDescriptor+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSAppleEventDescriptor+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSAppleEventDescriptor+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSImage+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSImage+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSImage+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSImage+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSMenu+Extensions.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSMenu+Extensions.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSMenu+Extensions.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSMenu+Extensions.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSOutlineView+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSOutlineView+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSOutlineView+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSOutlineView+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSPasteboard+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSPasteboard+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSPasteboard+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSPasteboard+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSResponder-Extensions.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSResponder-Extensions.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSResponder-Extensions.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSResponder-Extensions.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSTableView+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSTableView+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSTableView+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSTableView+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSToolbar+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSToolbar+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSToolbar+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSToolbar+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSView+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSView+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSView+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSView+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSWindow-Extensions.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSWindow-Extensions.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSWindow-Extensions.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSWindow-Extensions.swift diff --git a/AppKitExtras/Sources/AppKitExtras/NSWindowController+RSCore.swift b/Modules/AppKitExtras/Sources/AppKitExtras/NSWindowController+RSCore.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/NSWindowController+RSCore.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/NSWindowController+RSCore.swift diff --git a/AppKitExtras/Sources/AppKitExtras/PasteboardWriterOwner.swift b/Modules/AppKitExtras/Sources/AppKitExtras/PasteboardWriterOwner.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/PasteboardWriterOwner.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/PasteboardWriterOwner.swift diff --git a/AppKitExtras/Sources/AppKitExtras/RSToolbarItem.swift b/Modules/AppKitExtras/Sources/AppKitExtras/RSToolbarItem.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/RSToolbarItem.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/RSToolbarItem.swift diff --git a/AppKitExtras/Sources/AppKitExtras/URLPasteboardWriter.swift b/Modules/AppKitExtras/Sources/AppKitExtras/URLPasteboardWriter.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/URLPasteboardWriter.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/URLPasteboardWriter.swift diff --git a/AppKitExtras/Sources/AppKitExtras/UserApp.swift b/Modules/AppKitExtras/Sources/AppKitExtras/UserApp.swift similarity index 100% rename from AppKitExtras/Sources/AppKitExtras/UserApp.swift rename to Modules/AppKitExtras/Sources/AppKitExtras/UserApp.swift diff --git a/AppKitExtras/Tests/AppKitExtrasTests/NSMenuExtensionsTests.swift b/Modules/AppKitExtras/Tests/AppKitExtrasTests/NSMenuExtensionsTests.swift similarity index 100% rename from AppKitExtras/Tests/AppKitExtrasTests/NSMenuExtensionsTests.swift rename to Modules/AppKitExtras/Tests/AppKitExtrasTests/NSMenuExtensionsTests.swift diff --git a/ArticleExtractor/.gitignore b/Modules/ArticleExtractor/.gitignore similarity index 100% rename from ArticleExtractor/.gitignore rename to Modules/ArticleExtractor/.gitignore diff --git a/ArticleExtractor/Package.swift b/Modules/ArticleExtractor/Package.swift similarity index 100% rename from ArticleExtractor/Package.swift rename to Modules/ArticleExtractor/Package.swift diff --git a/ArticleExtractor/Sources/ArticleExtractor/ArticleExtractor.swift b/Modules/ArticleExtractor/Sources/ArticleExtractor/ArticleExtractor.swift similarity index 100% rename from ArticleExtractor/Sources/ArticleExtractor/ArticleExtractor.swift rename to Modules/ArticleExtractor/Sources/ArticleExtractor/ArticleExtractor.swift diff --git a/ArticleExtractor/Sources/ArticleExtractor/ExtractedArticle.swift b/Modules/ArticleExtractor/Sources/ArticleExtractor/ExtractedArticle.swift similarity index 100% rename from ArticleExtractor/Sources/ArticleExtractor/ExtractedArticle.swift rename to Modules/ArticleExtractor/Sources/ArticleExtractor/ExtractedArticle.swift diff --git a/ArticleExtractor/Tests/ArticleExtractorTests/ArticleExtractorTests.swift b/Modules/ArticleExtractor/Tests/ArticleExtractorTests/ArticleExtractorTests.swift similarity index 100% rename from ArticleExtractor/Tests/ArticleExtractorTests/ArticleExtractorTests.swift rename to Modules/ArticleExtractor/Tests/ArticleExtractorTests/ArticleExtractorTests.swift diff --git a/Articles/.gitignore b/Modules/Articles/.gitignore similarity index 100% rename from Articles/.gitignore rename to Modules/Articles/.gitignore diff --git a/Articles/.swiftpm/xcode/xcshareddata/xcschemes/Articles.xcscheme b/Modules/Articles/.swiftpm/xcode/xcshareddata/xcschemes/Articles.xcscheme similarity index 100% rename from Articles/.swiftpm/xcode/xcshareddata/xcschemes/Articles.xcscheme rename to Modules/Articles/.swiftpm/xcode/xcshareddata/xcschemes/Articles.xcscheme diff --git a/Articles/Package.swift b/Modules/Articles/Package.swift similarity index 100% rename from Articles/Package.swift rename to Modules/Articles/Package.swift diff --git a/Articles/README.md b/Modules/Articles/README.md similarity index 100% rename from Articles/README.md rename to Modules/Articles/README.md diff --git a/Articles/Sources/Articles/Article.swift b/Modules/Articles/Sources/Articles/Article.swift similarity index 100% rename from Articles/Sources/Articles/Article.swift rename to Modules/Articles/Sources/Articles/Article.swift diff --git a/Articles/Sources/Articles/ArticleStatus.swift b/Modules/Articles/Sources/Articles/ArticleStatus.swift similarity index 100% rename from Articles/Sources/Articles/ArticleStatus.swift rename to Modules/Articles/Sources/Articles/ArticleStatus.swift diff --git a/Articles/Sources/Articles/Author.swift b/Modules/Articles/Sources/Articles/Author.swift similarity index 100% rename from Articles/Sources/Articles/Author.swift rename to Modules/Articles/Sources/Articles/Author.swift diff --git a/Articles/Sources/Articles/DatabaseID.swift b/Modules/Articles/Sources/Articles/DatabaseID.swift similarity index 100% rename from Articles/Sources/Articles/DatabaseID.swift rename to Modules/Articles/Sources/Articles/DatabaseID.swift diff --git a/ArticlesDatabase/.gitignore b/Modules/ArticlesDatabase/.gitignore similarity index 100% rename from ArticlesDatabase/.gitignore rename to Modules/ArticlesDatabase/.gitignore diff --git a/ArticlesDatabase/.swiftpm/xcode/xcshareddata/xcschemes/ArticlesDatabase.xcscheme b/Modules/ArticlesDatabase/.swiftpm/xcode/xcshareddata/xcschemes/ArticlesDatabase.xcscheme similarity index 100% rename from ArticlesDatabase/.swiftpm/xcode/xcshareddata/xcschemes/ArticlesDatabase.xcscheme rename to Modules/ArticlesDatabase/.swiftpm/xcode/xcshareddata/xcschemes/ArticlesDatabase.xcscheme diff --git a/ArticlesDatabase/Package.swift b/Modules/ArticlesDatabase/Package.swift similarity index 100% rename from ArticlesDatabase/Package.swift rename to Modules/ArticlesDatabase/Package.swift diff --git a/ArticlesDatabase/README.md b/Modules/ArticlesDatabase/README.md similarity index 100% rename from ArticlesDatabase/README.md rename to Modules/ArticlesDatabase/README.md diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesDatabase.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesDatabase.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/ArticlesDatabase.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesDatabase.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesTable.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesTable.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/ArticlesTable.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/ArticlesTable.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/AuthorsTable.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/AuthorsTable.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/AuthorsTable.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/AuthorsTable.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Constants.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Constants.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Constants.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Constants.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Article+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Article+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Article+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Article+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ArticleStatus+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ArticleStatus+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ArticleStatus+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ArticleStatus+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Author+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Author+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Author+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/Author+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/DatabaseObject+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/DatabaseObject+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/DatabaseObject+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/DatabaseObject+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ParsedArticle+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ParsedArticle+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ParsedArticle+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/ParsedArticle+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/RelatedObjectsMap+Database.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/RelatedObjectsMap+Database.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/Extensions/RelatedObjectsMap+Database.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/Extensions/RelatedObjectsMap+Database.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/SearchTable.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/SearchTable.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/SearchTable.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/SearchTable.swift diff --git a/ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift b/Modules/ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift similarity index 100% rename from ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift rename to Modules/ArticlesDatabase/Sources/ArticlesDatabase/StatusesTable.swift diff --git a/CloudKitSync/.gitignore b/Modules/CloudKitSync/.gitignore similarity index 100% rename from CloudKitSync/.gitignore rename to Modules/CloudKitSync/.gitignore diff --git a/CloudKitSync/.swiftpm/xcode/xcshareddata/xcschemes/CloudKitSync.xcscheme b/Modules/CloudKitSync/.swiftpm/xcode/xcshareddata/xcschemes/CloudKitSync.xcscheme similarity index 100% rename from CloudKitSync/.swiftpm/xcode/xcshareddata/xcschemes/CloudKitSync.xcscheme rename to Modules/CloudKitSync/.swiftpm/xcode/xcshareddata/xcschemes/CloudKitSync.xcscheme diff --git a/CloudKitSync/Package.swift b/Modules/CloudKitSync/Package.swift similarity index 100% rename from CloudKitSync/Package.swift rename to Modules/CloudKitSync/Package.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CKRecord+Extensions.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CKRecord+Extensions.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CKRecord+Extensions.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CKRecord+Extensions.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitAccountZone.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitAccountZone.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitAccountZone.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitAccountZone.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitArticleStatusUpdate.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticleStatusUpdate.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitArticleStatusUpdate.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticleStatusUpdate.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZone.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZone.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZone.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZone.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZoneDelegate.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZoneDelegate.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZoneDelegate.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitArticlesZoneDelegate.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitError.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitError.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitError.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitError.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitReceiveStatusOperation.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitReceiveStatusOperation.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitReceiveStatusOperation.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitReceiveStatusOperation.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitRemoteNotificationOperation.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitRemoteNotificationOperation.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitRemoteNotificationOperation.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitRemoteNotificationOperation.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitSendStatusOperation.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitSendStatusOperation.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitSendStatusOperation.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitSendStatusOperation.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitZone.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitZone.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitZone.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitZone.swift diff --git a/CloudKitSync/Sources/CloudKitSync/CloudKitZoneResult.swift b/Modules/CloudKitSync/Sources/CloudKitSync/CloudKitZoneResult.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/CloudKitZoneResult.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/CloudKitZoneResult.swift diff --git a/CloudKitSync/Sources/CloudKitSync/MainThreadOperation.swift b/Modules/CloudKitSync/Sources/CloudKitSync/MainThreadOperation.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/MainThreadOperation.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/MainThreadOperation.swift diff --git a/CloudKitSync/Sources/CloudKitSync/MainThreadOperationQueue.swift b/Modules/CloudKitSync/Sources/CloudKitSync/MainThreadOperationQueue.swift similarity index 100% rename from CloudKitSync/Sources/CloudKitSync/MainThreadOperationQueue.swift rename to Modules/CloudKitSync/Sources/CloudKitSync/MainThreadOperationQueue.swift diff --git a/CloudKitSync/Tests/CloudKitSyncTests/CloudKitSyncTests.swift b/Modules/CloudKitSync/Tests/CloudKitSyncTests/CloudKitSyncTests.swift similarity index 100% rename from CloudKitSync/Tests/CloudKitSyncTests/CloudKitSyncTests.swift rename to Modules/CloudKitSync/Tests/CloudKitSyncTests/CloudKitSyncTests.swift diff --git a/CommonErrors/.gitignore b/Modules/CommonErrors/.gitignore similarity index 100% rename from CommonErrors/.gitignore rename to Modules/CommonErrors/.gitignore diff --git a/CommonErrors/.swiftpm/xcode/xcshareddata/xcschemes/CommonErrors.xcscheme b/Modules/CommonErrors/.swiftpm/xcode/xcshareddata/xcschemes/CommonErrors.xcscheme similarity index 100% rename from CommonErrors/.swiftpm/xcode/xcshareddata/xcschemes/CommonErrors.xcscheme rename to Modules/CommonErrors/.swiftpm/xcode/xcshareddata/xcschemes/CommonErrors.xcscheme diff --git a/CommonErrors/Package.swift b/Modules/CommonErrors/Package.swift similarity index 100% rename from CommonErrors/Package.swift rename to Modules/CommonErrors/Package.swift diff --git a/CommonErrors/Sources/CommonErrors/CommonError.swift b/Modules/CommonErrors/Sources/CommonErrors/CommonError.swift similarity index 100% rename from CommonErrors/Sources/CommonErrors/CommonError.swift rename to Modules/CommonErrors/Sources/CommonErrors/CommonError.swift diff --git a/CommonErrors/Tests/CommonErrorsTests/CommonErrorsTests.swift b/Modules/CommonErrors/Tests/CommonErrorsTests/CommonErrorsTests.swift similarity index 100% rename from CommonErrors/Tests/CommonErrorsTests/CommonErrorsTests.swift rename to Modules/CommonErrors/Tests/CommonErrorsTests/CommonErrorsTests.swift diff --git a/Core/.gitignore b/Modules/Core/.gitignore similarity index 100% rename from Core/.gitignore rename to Modules/Core/.gitignore diff --git a/Core/.swiftpm/xcode/xcshareddata/xcschemes/Core.xcscheme b/Modules/Core/.swiftpm/xcode/xcshareddata/xcschemes/Core.xcscheme similarity index 100% rename from Core/.swiftpm/xcode/xcshareddata/xcschemes/Core.xcscheme rename to Modules/Core/.swiftpm/xcode/xcshareddata/xcschemes/Core.xcscheme diff --git a/Core/.swiftpm/xcode/xcshareddata/xcschemes/CoreTests.xcscheme b/Modules/Core/.swiftpm/xcode/xcshareddata/xcschemes/CoreTests.xcscheme similarity index 100% rename from Core/.swiftpm/xcode/xcshareddata/xcschemes/CoreTests.xcscheme rename to Modules/Core/.swiftpm/xcode/xcshareddata/xcschemes/CoreTests.xcscheme diff --git a/Core/Package.swift b/Modules/Core/Package.swift similarity index 100% rename from Core/Package.swift rename to Modules/Core/Package.swift diff --git a/Core/Sources/Core/AppConfig.swift b/Modules/Core/Sources/Core/AppConfig.swift similarity index 100% rename from Core/Sources/Core/AppConfig.swift rename to Modules/Core/Sources/Core/AppConfig.swift diff --git a/Core/Sources/Core/BatchUpdate.swift b/Modules/Core/Sources/Core/BatchUpdate.swift similarity index 100% rename from Core/Sources/Core/BatchUpdate.swift rename to Modules/Core/Sources/Core/BatchUpdate.swift diff --git a/Core/Sources/Core/BinaryDiskCache.swift b/Modules/Core/Sources/Core/BinaryDiskCache.swift similarity index 100% rename from Core/Sources/Core/BinaryDiskCache.swift rename to Modules/Core/Sources/Core/BinaryDiskCache.swift diff --git a/Core/Sources/Core/CoalescingQueue.swift b/Modules/Core/Sources/Core/CoalescingQueue.swift similarity index 100% rename from Core/Sources/Core/CoalescingQueue.swift rename to Modules/Core/Sources/Core/CoalescingQueue.swift diff --git a/Core/Sources/Core/DataFile.swift b/Modules/Core/Sources/Core/DataFile.swift similarity index 100% rename from Core/Sources/Core/DataFile.swift rename to Modules/Core/Sources/Core/DataFile.swift diff --git a/Core/Sources/Core/DisplayNameProvider.swift b/Modules/Core/Sources/Core/DisplayNameProvider.swift similarity index 100% rename from Core/Sources/Core/DisplayNameProvider.swift rename to Modules/Core/Sources/Core/DisplayNameProvider.swift diff --git a/Core/Sources/Core/MacroProcessor.swift b/Modules/Core/Sources/Core/MacroProcessor.swift similarity index 100% rename from Core/Sources/Core/MacroProcessor.swift rename to Modules/Core/Sources/Core/MacroProcessor.swift diff --git a/Core/Sources/Core/OPMLRepresentable.swift b/Modules/Core/Sources/Core/OPMLRepresentable.swift similarity index 100% rename from Core/Sources/Core/OPMLRepresentable.swift rename to Modules/Core/Sources/Core/OPMLRepresentable.swift diff --git a/Core/Sources/Core/Platform.swift b/Modules/Core/Sources/Core/Platform.swift similarity index 100% rename from Core/Sources/Core/Platform.swift rename to Modules/Core/Sources/Core/Platform.swift diff --git a/Core/Sources/Core/RSAppMovementMonitor.swift b/Modules/Core/Sources/Core/RSAppMovementMonitor.swift similarity index 100% rename from Core/Sources/Core/RSAppMovementMonitor.swift rename to Modules/Core/Sources/Core/RSAppMovementMonitor.swift diff --git a/Core/Sources/Core/RSImage.swift b/Modules/Core/Sources/Core/RSImage.swift similarity index 100% rename from Core/Sources/Core/RSImage.swift rename to Modules/Core/Sources/Core/RSImage.swift diff --git a/Core/Sources/Core/Renamable.swift b/Modules/Core/Sources/Core/Renamable.swift similarity index 100% rename from Core/Sources/Core/Renamable.swift rename to Modules/Core/Sources/Core/Renamable.swift diff --git a/Core/Sources/Core/SendToBlogEditorApp.swift b/Modules/Core/Sources/Core/SendToBlogEditorApp.swift similarity index 100% rename from Core/Sources/Core/SendToBlogEditorApp.swift rename to Modules/Core/Sources/Core/SendToBlogEditorApp.swift diff --git a/Core/Sources/Core/SendToCommand.swift b/Modules/Core/Sources/Core/SendToCommand.swift similarity index 100% rename from Core/Sources/Core/SendToCommand.swift rename to Modules/Core/Sources/Core/SendToCommand.swift diff --git a/Core/Sources/Core/UndoableCommand.swift b/Modules/Core/Sources/Core/UndoableCommand.swift similarity index 100% rename from Core/Sources/Core/UndoableCommand.swift rename to Modules/Core/Sources/Core/UndoableCommand.swift diff --git a/Core/Sources/CoreResources/AppKit/IndeterminateProgressWindowController.swift b/Modules/Core/Sources/CoreResources/AppKit/IndeterminateProgressWindowController.swift similarity index 100% rename from Core/Sources/CoreResources/AppKit/IndeterminateProgressWindowController.swift rename to Modules/Core/Sources/CoreResources/AppKit/IndeterminateProgressWindowController.swift diff --git a/Core/Sources/CoreResources/AppKit/WebViewWindowController.swift b/Modules/Core/Sources/CoreResources/AppKit/WebViewWindowController.swift similarity index 100% rename from Core/Sources/CoreResources/AppKit/WebViewWindowController.swift rename to Modules/Core/Sources/CoreResources/AppKit/WebViewWindowController.swift diff --git a/Core/Sources/CoreResources/Resources/IndeterminateProgressWindow.xib b/Modules/Core/Sources/CoreResources/Resources/IndeterminateProgressWindow.xib similarity index 100% rename from Core/Sources/CoreResources/Resources/IndeterminateProgressWindow.xib rename to Modules/Core/Sources/CoreResources/Resources/IndeterminateProgressWindow.xib diff --git a/Core/Sources/CoreResources/Resources/WebViewWindow.xib b/Modules/Core/Sources/CoreResources/Resources/WebViewWindow.xib similarity index 100% rename from Core/Sources/CoreResources/Resources/WebViewWindow.xib rename to Modules/Core/Sources/CoreResources/Resources/WebViewWindow.xib diff --git a/Core/Tests/CoreTests/MacroProcessorTests.swift b/Modules/Core/Tests/CoreTests/MacroProcessorTests.swift similarity index 100% rename from Core/Tests/CoreTests/MacroProcessorTests.swift rename to Modules/Core/Tests/CoreTests/MacroProcessorTests.swift diff --git a/Database/.gitignore b/Modules/Database/.gitignore similarity index 100% rename from Database/.gitignore rename to Modules/Database/.gitignore diff --git a/Database/Package.swift b/Modules/Database/Package.swift similarity index 100% rename from Database/Package.swift rename to Modules/Database/Package.swift diff --git a/Database/Sources/Database/Database.swift b/Modules/Database/Sources/Database/Database.swift similarity index 100% rename from Database/Sources/Database/Database.swift rename to Modules/Database/Sources/Database/Database.swift diff --git a/Database/Sources/Database/DatabaseObject.swift b/Modules/Database/Sources/Database/DatabaseObject.swift similarity index 100% rename from Database/Sources/Database/DatabaseObject.swift rename to Modules/Database/Sources/Database/DatabaseObject.swift diff --git a/Database/Sources/Database/DatabaseObjectCache.swift b/Modules/Database/Sources/Database/DatabaseObjectCache.swift similarity index 100% rename from Database/Sources/Database/DatabaseObjectCache.swift rename to Modules/Database/Sources/Database/DatabaseObjectCache.swift diff --git a/Database/Sources/Database/FMDatabase+Extras.swift b/Modules/Database/Sources/Database/FMDatabase+Extras.swift similarity index 100% rename from Database/Sources/Database/FMDatabase+Extras.swift rename to Modules/Database/Sources/Database/FMDatabase+Extras.swift diff --git a/Database/Sources/Database/FMResultSet+Extras.swift b/Modules/Database/Sources/Database/FMResultSet+Extras.swift similarity index 100% rename from Database/Sources/Database/FMResultSet+Extras.swift rename to Modules/Database/Sources/Database/FMResultSet+Extras.swift diff --git a/Database/Sources/Database/Related Objects/DatabaseLookupTable.swift b/Modules/Database/Sources/Database/Related Objects/DatabaseLookupTable.swift similarity index 100% rename from Database/Sources/Database/Related Objects/DatabaseLookupTable.swift rename to Modules/Database/Sources/Database/Related Objects/DatabaseLookupTable.swift diff --git a/Database/Sources/Database/Related Objects/DatabaseRelatedObjectsTable.swift b/Modules/Database/Sources/Database/Related Objects/DatabaseRelatedObjectsTable.swift similarity index 100% rename from Database/Sources/Database/Related Objects/DatabaseRelatedObjectsTable.swift rename to Modules/Database/Sources/Database/Related Objects/DatabaseRelatedObjectsTable.swift diff --git a/Database/Sources/Database/Related Objects/RelatedObjectIDsMap.swift b/Modules/Database/Sources/Database/Related Objects/RelatedObjectIDsMap.swift similarity index 100% rename from Database/Sources/Database/Related Objects/RelatedObjectIDsMap.swift rename to Modules/Database/Sources/Database/Related Objects/RelatedObjectIDsMap.swift diff --git a/Database/Sources/Database/Related Objects/RelatedObjectsMap.swift b/Modules/Database/Sources/Database/Related Objects/RelatedObjectsMap.swift similarity index 100% rename from Database/Sources/Database/Related Objects/RelatedObjectsMap.swift rename to Modules/Database/Sources/Database/Related Objects/RelatedObjectsMap.swift diff --git a/Database/Tests/DatabaseTests/DatabaseTests.swift b/Modules/Database/Tests/DatabaseTests/DatabaseTests.swift similarity index 100% rename from Database/Tests/DatabaseTests/DatabaseTests.swift rename to Modules/Database/Tests/DatabaseTests/DatabaseTests.swift diff --git a/FMDB/.gitignore b/Modules/FMDB/.gitignore similarity index 100% rename from FMDB/.gitignore rename to Modules/FMDB/.gitignore diff --git a/FMDB/Package.swift b/Modules/FMDB/Package.swift similarity index 100% rename from FMDB/Package.swift rename to Modules/FMDB/Package.swift diff --git a/FMDB/Sources/FMDB/FMDatabase+RSExtras.h b/Modules/FMDB/Sources/FMDB/FMDatabase+RSExtras.h similarity index 100% rename from FMDB/Sources/FMDB/FMDatabase+RSExtras.h rename to Modules/FMDB/Sources/FMDB/FMDatabase+RSExtras.h diff --git a/FMDB/Sources/FMDB/FMDatabase+RSExtras.m b/Modules/FMDB/Sources/FMDB/FMDatabase+RSExtras.m similarity index 100% rename from FMDB/Sources/FMDB/FMDatabase+RSExtras.m rename to Modules/FMDB/Sources/FMDB/FMDatabase+RSExtras.m diff --git a/FMDB/Sources/FMDB/FMDatabase.h b/Modules/FMDB/Sources/FMDB/FMDatabase.h similarity index 100% rename from FMDB/Sources/FMDB/FMDatabase.h rename to Modules/FMDB/Sources/FMDB/FMDatabase.h diff --git a/FMDB/Sources/FMDB/FMDatabase.m b/Modules/FMDB/Sources/FMDB/FMDatabase.m similarity index 100% rename from FMDB/Sources/FMDB/FMDatabase.m rename to Modules/FMDB/Sources/FMDB/FMDatabase.m diff --git a/FMDB/Sources/FMDB/FMDatabaseAdditions.h b/Modules/FMDB/Sources/FMDB/FMDatabaseAdditions.h similarity index 100% rename from FMDB/Sources/FMDB/FMDatabaseAdditions.h rename to Modules/FMDB/Sources/FMDB/FMDatabaseAdditions.h diff --git a/FMDB/Sources/FMDB/FMDatabaseAdditions.m b/Modules/FMDB/Sources/FMDB/FMDatabaseAdditions.m similarity index 100% rename from FMDB/Sources/FMDB/FMDatabaseAdditions.m rename to Modules/FMDB/Sources/FMDB/FMDatabaseAdditions.m diff --git a/FMDB/Sources/FMDB/FMResultSet+RSExtras.h b/Modules/FMDB/Sources/FMDB/FMResultSet+RSExtras.h similarity index 100% rename from FMDB/Sources/FMDB/FMResultSet+RSExtras.h rename to Modules/FMDB/Sources/FMDB/FMResultSet+RSExtras.h diff --git a/FMDB/Sources/FMDB/FMResultSet+RSExtras.m b/Modules/FMDB/Sources/FMDB/FMResultSet+RSExtras.m similarity index 100% rename from FMDB/Sources/FMDB/FMResultSet+RSExtras.m rename to Modules/FMDB/Sources/FMDB/FMResultSet+RSExtras.m diff --git a/FMDB/Sources/FMDB/FMResultSet.h b/Modules/FMDB/Sources/FMDB/FMResultSet.h similarity index 100% rename from FMDB/Sources/FMDB/FMResultSet.h rename to Modules/FMDB/Sources/FMDB/FMResultSet.h diff --git a/FMDB/Sources/FMDB/FMResultSet.m b/Modules/FMDB/Sources/FMDB/FMResultSet.m similarity index 100% rename from FMDB/Sources/FMDB/FMResultSet.m rename to Modules/FMDB/Sources/FMDB/FMResultSet.m diff --git a/FMDB/Sources/FMDB/NSString+RSDatabase.h b/Modules/FMDB/Sources/FMDB/NSString+RSDatabase.h similarity index 100% rename from FMDB/Sources/FMDB/NSString+RSDatabase.h rename to Modules/FMDB/Sources/FMDB/NSString+RSDatabase.h diff --git a/FMDB/Sources/FMDB/NSString+RSDatabase.m b/Modules/FMDB/Sources/FMDB/NSString+RSDatabase.m similarity index 100% rename from FMDB/Sources/FMDB/NSString+RSDatabase.m rename to Modules/FMDB/Sources/FMDB/NSString+RSDatabase.m diff --git a/FMDB/Sources/FMDB/include/FMDatabase.h b/Modules/FMDB/Sources/FMDB/include/FMDatabase.h similarity index 100% rename from FMDB/Sources/FMDB/include/FMDatabase.h rename to Modules/FMDB/Sources/FMDB/include/FMDatabase.h diff --git a/FMDB/Tests/FMDBTests/FMDBTests.swift b/Modules/FMDB/Tests/FMDBTests/FMDBTests.swift similarity index 100% rename from FMDB/Tests/FMDBTests/FMDBTests.swift rename to Modules/FMDB/Tests/FMDBTests/FMDBTests.swift diff --git a/FeedDownloader/.gitignore b/Modules/FeedDownloader/.gitignore similarity index 100% rename from FeedDownloader/.gitignore rename to Modules/FeedDownloader/.gitignore diff --git a/FeedDownloader/.swiftpm/xcode/xcshareddata/xcschemes/FeedDownloader.xcscheme b/Modules/FeedDownloader/.swiftpm/xcode/xcshareddata/xcschemes/FeedDownloader.xcscheme similarity index 100% rename from FeedDownloader/.swiftpm/xcode/xcshareddata/xcschemes/FeedDownloader.xcscheme rename to Modules/FeedDownloader/.swiftpm/xcode/xcshareddata/xcschemes/FeedDownloader.xcscheme diff --git a/FeedDownloader/Package.swift b/Modules/FeedDownloader/Package.swift similarity index 100% rename from FeedDownloader/Package.swift rename to Modules/FeedDownloader/Package.swift diff --git a/FeedDownloader/Sources/FeedDownloader/FeedDownloader.swift b/Modules/FeedDownloader/Sources/FeedDownloader/FeedDownloader.swift similarity index 100% rename from FeedDownloader/Sources/FeedDownloader/FeedDownloader.swift rename to Modules/FeedDownloader/Sources/FeedDownloader/FeedDownloader.swift diff --git a/FeedDownloader/Tests/FeedDownloaderTests/FeedDownloaderTests.swift b/Modules/FeedDownloader/Tests/FeedDownloaderTests/FeedDownloaderTests.swift similarity index 100% rename from FeedDownloader/Tests/FeedDownloaderTests/FeedDownloaderTests.swift rename to Modules/FeedDownloader/Tests/FeedDownloaderTests/FeedDownloaderTests.swift diff --git a/FeedFinder/.gitignore b/Modules/FeedFinder/.gitignore similarity index 100% rename from FeedFinder/.gitignore rename to Modules/FeedFinder/.gitignore diff --git a/FeedFinder/.swiftpm/xcode/xcshareddata/xcschemes/FeedFinder.xcscheme b/Modules/FeedFinder/.swiftpm/xcode/xcshareddata/xcschemes/FeedFinder.xcscheme similarity index 100% rename from FeedFinder/.swiftpm/xcode/xcshareddata/xcschemes/FeedFinder.xcscheme rename to Modules/FeedFinder/.swiftpm/xcode/xcshareddata/xcschemes/FeedFinder.xcscheme diff --git a/FeedFinder/Package.swift b/Modules/FeedFinder/Package.swift similarity index 100% rename from FeedFinder/Package.swift rename to Modules/FeedFinder/Package.swift diff --git a/FeedFinder/Sources/FeedFinder/FeedFinder.swift b/Modules/FeedFinder/Sources/FeedFinder/FeedFinder.swift similarity index 100% rename from FeedFinder/Sources/FeedFinder/FeedFinder.swift rename to Modules/FeedFinder/Sources/FeedFinder/FeedFinder.swift diff --git a/FeedFinder/Sources/FeedFinder/FeedSpecifier.swift b/Modules/FeedFinder/Sources/FeedFinder/FeedSpecifier.swift similarity index 100% rename from FeedFinder/Sources/FeedFinder/FeedSpecifier.swift rename to Modules/FeedFinder/Sources/FeedFinder/FeedSpecifier.swift diff --git a/FeedFinder/Sources/FeedFinder/HTMLFeedFinder.swift b/Modules/FeedFinder/Sources/FeedFinder/HTMLFeedFinder.swift similarity index 100% rename from FeedFinder/Sources/FeedFinder/HTMLFeedFinder.swift rename to Modules/FeedFinder/Sources/FeedFinder/HTMLFeedFinder.swift diff --git a/FeedFinder/Tests/FeedFinderTests/FeedFinderTests.swift b/Modules/FeedFinder/Tests/FeedFinderTests/FeedFinderTests.swift similarity index 100% rename from FeedFinder/Tests/FeedFinderTests/FeedFinderTests.swift rename to Modules/FeedFinder/Tests/FeedFinderTests/FeedFinderTests.swift diff --git a/Feedbin/.gitignore b/Modules/Feedbin/.gitignore similarity index 100% rename from Feedbin/.gitignore rename to Modules/Feedbin/.gitignore diff --git a/Feedbin/.swiftpm/xcode/xcshareddata/xcschemes/Feedbin.xcscheme b/Modules/Feedbin/.swiftpm/xcode/xcshareddata/xcschemes/Feedbin.xcscheme similarity index 100% rename from Feedbin/.swiftpm/xcode/xcshareddata/xcschemes/Feedbin.xcscheme rename to Modules/Feedbin/.swiftpm/xcode/xcshareddata/xcschemes/Feedbin.xcscheme diff --git a/Feedbin/Package.swift b/Modules/Feedbin/Package.swift similarity index 100% rename from Feedbin/Package.swift rename to Modules/Feedbin/Package.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinAPICaller.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinAPICaller.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinAPICaller.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinAPICaller.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinDate.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinDate.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinDate.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinDate.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinEntry.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinEntry.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinEntry.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinEntry.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinImportResult.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinImportResult.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinImportResult.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinImportResult.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinStarredEntry.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinStarredEntry.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinStarredEntry.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinStarredEntry.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinSubscription.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinSubscription.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinSubscription.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinSubscription.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinTag.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinTag.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinTag.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinTag.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinTagging.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinTagging.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinTagging.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinTagging.swift diff --git a/Feedbin/Sources/Feedbin/FeedbinUnreadEntry.swift b/Modules/Feedbin/Sources/Feedbin/FeedbinUnreadEntry.swift similarity index 100% rename from Feedbin/Sources/Feedbin/FeedbinUnreadEntry.swift rename to Modules/Feedbin/Sources/Feedbin/FeedbinUnreadEntry.swift diff --git a/Feedbin/Tests/FeedbinTests/FeedbinTests.swift b/Modules/Feedbin/Tests/FeedbinTests/FeedbinTests.swift similarity index 100% rename from Feedbin/Tests/FeedbinTests/FeedbinTests.swift rename to Modules/Feedbin/Tests/FeedbinTests/FeedbinTests.swift diff --git a/Feedly/.gitignore b/Modules/Feedly/.gitignore similarity index 100% rename from Feedly/.gitignore rename to Modules/Feedly/.gitignore diff --git a/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme b/Modules/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme similarity index 84% rename from Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme rename to Modules/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme index ea291e35c..7e0083fe3 100644 --- a/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme +++ b/Modules/Feedly/.swiftpm/xcode/xcshareddata/xcschemes/Feedly.xcscheme @@ -29,6 +29,18 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" shouldAutocreateTestPlan = "YES"> + + + + + +