{"id":13794363,"url":"https://github.com/shalamowww/imp","last_synced_at":"2025-05-12T21:30:54.903Z","repository":{"id":204207063,"uuid":"99221853","full_name":"shalamowww/Imp","owner":"shalamowww","description":"A simple Xcode extension for sorting import statements","archived":false,"fork":false,"pushed_at":"2018-02-28T23:18:46.000Z","size":927,"stargazers_count":27,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-18T08:56:52.312Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shalamowww.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-08-03T10:39:38.000Z","updated_at":"2024-08-12T20:31:59.000Z","dependencies_parsed_at":"2024-01-07T06:20:09.795Z","dependency_job_id":"66c2679f-bced-4695-9cc1-2674cb020988","html_url":"https://github.com/shalamowww/Imp","commit_stats":null,"previous_names":["shalamowww/imp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shalamowww%2FImp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shalamowww%2FImp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shalamowww%2FImp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shalamowww%2FImp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shalamowww","download_url":"https://codeload.github.com/shalamowww/Imp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253824985,"owners_count":21970112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T23:00:39.659Z","updated_at":"2025-05-12T21:30:54.425Z","avatar_url":"https://github.com/shalamowww.png","language":"Swift","funding_links":[],"categories":["The list"],"sub_categories":["Formatters"],"readme":"# Imp 😈\nImp is a tiny yet useful Xcode extension, which allows you to sort import declarations and remove duplicates. Sorting import statements is a good quality coding practice and Imp is here to help you.\n\n**Tame the Imp by binding a key in Xcode preferences**\n\n## Supported languages\nObjective-C, Swift\n\n## Features\n\n- [x] Basic import sorting\n- [x] The class header on top, separated by new line\n- [x] Split frameworks and headers imports\n- [x] Remove duplicates\n- [x] Sorting selected lines\n- [ ] Cut empty lines among imports\n- [ ] More flexible settings\n\nIf you have an idea for a new feature, please file an issue and tell me more.\n\n## Installation\n\n### Demo way\nClone and Run the project with Xcode 8+ (make sure the App and the Extension are signed with your developer account)\n\n### Right way\n1. Open ``Imp.xcodeproj``\n2. Sign both the Application and the Extension using your own developer account\n3. Product \u003e Archive\n4. Right click archive \u003e Show in Finder\n5. Right click archive \u003e Show Package Contents\n6. Open Products, Applications\n7. Drag ``Imp.app`` to your Applications folder\n8. Run ``Imp.app`` and close it (the app need to be run at least once)\n9. Go to System Preferences -\u003e Extensions and check if ``Imp Tools`` is enabled in Xcode Source Editor section (or ``Imp`` in All section)\n10. ``Imp Tools`` should now be available from Xcode's Editor menu\n11. Bind a key for ``Sort imports`` command\n12. Find a Large Class with many messy imports\n13. Hit the key and enjoy the magic!\n\n## Settings\nJust run ``Imp`` from your Applications folder. No need in restarting Xcode to apply the changes!\n\n## How to uninstall\n1. Disable the extension in System Preferences\n2. Delete the App from Applications folder\n3. Feel sorry\n\n## Known limitations (objC)\nImp doesn’t like messy code and may think that the first @implementation (or @interface, in case no implementation found) he founds is the class you are working with. Xcode doesn’t provide any information on the current file, so little fella has to guess it. It will affect the header which will (or will not) be popped to top with “own header on top” setting.\n\n## Thank you\nFor any questions or feedbacks, feel free to contact me directly via Telegram: @alexxxander\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshalamowww%2Fimp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshalamowww%2Fimp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshalamowww%2Fimp/lists"}