GithubHelp home page GithubHelp logo

jez500 / drupal-phpstorm-live-templates Goto Github PK

View Code? Open in Web Editor NEW

This project forked from djebbz/drupal-phpstorm-live-templates

0.0 3.0 0.0 466 KB

PHPSTorm Live Templates (aka code snippets) for Drupal 7

Perl 100.00%

drupal-phpstorm-live-templates's Introduction

PHPStorm Live Templates for Drupal 7 and Drupal 8

What ? Why ?

Lazy programmers (i.e. every programmer) like to use code snippets. The goal is to write less code and program faster. IDE's (or text editors like VIM) allow the use of such snippets to write for us commonly used functions.

The purpose of these Live Templates is to provide Drupal devs such templates for Drupal hooks. It was generated using a Perl script that basically create PHPStorm Live Templates from *.api.php files in Drupal /includes and /modules directories. The output is a bit raw, so it needs some love and polish.

Quick and easy install

  1. Download and copy the xml file(s) from this repo to your templates folder:
  • Windows: <your home directory>\.<product name><version number>\config\templates
  • Linux: ~\.<product name><version number>\config\templates
  • OS X: ~/Library/Preferences/<product name><version number>/templates

e.g. ~/Library/Preferences/PhpStorm2016.2/templates on OS X for PhpStorm 2016

  1. Restart PhpStorm.

  2. To see all templates, go to Preferences->Live Templates and expand the Template Group.

How to use

While editing, use CMD + J (osX) or CTRL + J to start inserting a live template. Type h_HOOKNAME<tab> for short version, hook_HOOKNAME<tab> for annoted version (with core comments).

The hook should be completed as you would see in the api docs.

How to use the script generator (optional)

The script generator allows you to create live templates by scanning the .api.php files that exist in your drupal project. It looks for functions starting with function hook_ and uses that to build the live templates.

You need Perl in your machine. This script was written under Debian Linux, so it may need some adaptations for others OS's.

Type these commands :

$ cd /path/to/drupal  
$ find . -name \*.php | xargs grep -l '^function hook_' | xargs /path/to/parse_drupal_api.pl > ~/.WebIde10/config/templates/user.xml

License

Copyright (C) 2011 Jeremie Le Hen [email protected]

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Credits

Props to Jeremie Le Hen who wrote the Perl script that generated the templates.
Special thanks to blup for the original idea and work (VIM snippets for Drupal)

Drupal 8 templates added by Jeremy Graham

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.