GithubHelp home page GithubHelp logo

hahahaaa / peckham Goto Github PK

View Code? Open in Web Editor NEW

This project forked from markohlebar/peckham

0.0 1.0 0.0 2.93 MB

Add #import-s from anywhere in the code.

License: MIT License

Objective-C 99.93% Ruby 0.07%

peckham's Introduction

Peckham

Xcode plugin that simplifies adding #import-s.

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 the keyword of your import
  • use or keys to navigate
  • press or double click to add an import

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

peckham's People

Contributors

markohlebar avatar allewun avatar igotit avatar bumaociyuan avatar dsmatter avatar cojoj avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.