All Projects → markohlebar → Peckham

markohlebar / Peckham

Licence: mit
Add #import-s from anywhere in the code.

Projects that are alternatives of or similar to Peckham

Amappexporttoipa Xcode Plugin
AMAppExportToIPA-Xcode-Plugin is a simple Xcode plugin to export .app to .ipa file.
Stars: ✭ 185 (-74.27%)
Mutual labels:  xcode, xcode-plugin
Showingithub
Xcode plugin to open the GitHub page of the commit of the currently selected line in the editor window.
Stars: ✭ 243 (-66.2%)
Mutual labels:  xcode, xcode-plugin
Xcodeequatablegenerator
Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection.
Stars: ✭ 188 (-73.85%)
Mutual labels:  xcode, xcode-plugin
Ammethod2implement
Xcode plugin to generate implement code for the selected method and const string.
Stars: ✭ 148 (-79.42%)
Mutual labels:  xcode, xcode-plugin
Xcode Wakatime
Xcode plugin for automatic time tracking and metrics generated from your programming activity.
Stars: ✭ 360 (-49.93%)
Mutual labels:  xcode, xcode-plugin
Xcodeplugintool
🎧a easy way use plugins after Xcode upgraded
Stars: ✭ 174 (-75.8%)
Mutual labels:  xcode, xcode-plugin
Awesome Xcode Extensions
Awesome native Xcode extensions.
Stars: ✭ 2,628 (+265.51%)
Mutual labels:  xcode, xcode-plugin
Swimat
An Xcode formatter plug-in to format your swift code.
Stars: ✭ 1,388 (+93.05%)
Mutual labels:  xcode, xcode-plugin
Scxcodeswitchexpander
Xcode plugin that enables switch cases autocompletion
Stars: ✭ 662 (-7.93%)
Mutual labels:  xcode, xcode-plugin
Clangformat Xcode
Xcode plug-in to to use clang-format from in Xcode and consistently format your code with Clang
Stars: ✭ 2,852 (+296.66%)
Mutual labels:  xcode, xcode-plugin
Nef Plugin
🔌 an Xcode extension to use nef features easily
Stars: ✭ 144 (-79.97%)
Mutual labels:  xcode, xcode-plugin
Swiftai
SwiftAI, write Swift code smart. SwiftAI can generate Model class from JSON now. Codable and HandyJSON is supported. More features will be add.
Stars: ✭ 470 (-34.63%)
Mutual labels:  xcode, xcode-plugin
Timliu Ios
iOS开发常用三方库、插件、知名博客等等
Stars: ✭ 10,898 (+1415.72%)
Mutual labels:  xcode, xcode-plugin
Luft
The Xcode Plugin that helps you write lighter view controllers
Stars: ✭ 179 (-75.1%)
Mutual labels:  xcode, xcode-plugin
Xcode developer disk images
Stars: ✭ 125 (-82.61%)
Mutual labels:  xcode, xcode-plugin
Linex
Feature packed Xcode extension
Stars: ✭ 210 (-70.79%)
Mutual labels:  xcode, xcode-plugin
Xfunnyeditor
Xcode plugin to display an image on the background of the editor
Stars: ✭ 92 (-87.2%)
Mutual labels:  xcode, xcode-plugin
Snowonder
🔮 Magical import declarations formatter for Xcode
Stars: ✭ 100 (-86.09%)
Mutual labels:  xcode, xcode-plugin
Dxxcodeconsoleunicodeplugin
转换Xcode控制台中一些不可阅读的字符,比如 \u22AD 这种
Stars: ✭ 268 (-62.73%)
Mutual labels:  xcode, xcode-plugin
Tulsi
An Xcode Project Generator For Bazel
Stars: ✭ 365 (-49.24%)
Mutual labels:  xcode, xcode-plugin

Peckham

CI Status

Xcode plugin that simplifies adding #import-s.

Important

Xcode plugins are no longer supported since Xcode 8. If you're looking for an Xcode App Extension, check out

Import☝️

Peckham.gif

Installation Guide

Alcatraz

  • install Alcatraz and search for Peckham

Manual Labour

  • clone the repository or download .zip
  • open Peckham.xcodeproj
  • build Peckham target
  • restart Xcode

User guide

  • ⌘ + ctrl + P to invoke the popup
  • start typing or paste the keyword of your import
  • use or keys to navigate
  • press or double click to add an import

Advanced

  • fuzzy search => type mvc to find a ModelViewController
  • copy paste => ⌘ + C the class name and then ⌘ + V after opening Peckham

History

Originally the plugin was supposed to handle adding / removing imports on the fly, which soon proved to be a more difficult task than I originally imagined, and took me on an exploration path of Clang libtooling and other cool stuff. I recently decided that I would instead make a GUI popup for adding an #import which seems to be a better approach to the problem in the first place. The code base contains a lot of parts that were originally meant to parse the code and make a tree (similar to Clang's AST) to find the #import statements in text. Due to performance reasons, this was dumped in favor of regex-es.

Roadmap

There are several things that are to be added to the project

  • faster algorithm to find the header files associated with a certain target
  • adding frameworks to the selected target build phases as soon as you add an #import in your file
  • @import support

Known Issues

  • the search includes the whole path of the header
  • the table cell highlights the wrong piece of string
  • user headers are not really handled properly
  • there is an issue with header duplication (especially visible with CocoaPods)

Contributing

  • check issues section
  • branch from develop and PR to develop
  • use gitflow for creating a feature branch

Dependencies

License

MIT, see LICENSE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].