GithubHelp home page GithubHelp logo

mrhyh / peckham Goto Github PK

View Code? Open in Web Editor NEW

This project forked from markohlebar/peckham

0.0 2.0 0.0 2.95 MB

Add #import-s from anywhere in the code.

License: MIT License

Objective-C 99.92% Ruby 0.08%

peckham's Introduction

Peckham

CI Status

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 or paste 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

clementpadovani avatar markohlebar avatar allewun avatar cotsog avatar igotit avatar bumaociyuan avatar dsmatter avatar cojoj avatar readmecritic avatar

Watchers

James Cloos avatar 与狼共舞 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.