ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Alphpetize

by foxxyz ALL

PHP Method Sorting Plugin for Sublime Text 2 and 3

Details

  • 2015.12.28.06.59.11
  • github.​com
  • github.​com
  • 8 years ago
  • 37 minutes ago
  • 11 years ago

Installs

  • Total 4K
  • Win 2K
  • Mac 1K
  • Linux 584
May 13 May 12 May 11 May 10 May 9 May 8 May 7 May 6 May 5 May 4 May 3 May 2 May 1 Apr 30 Apr 29 Apr 28 Apr 27 Apr 26 Apr 25 Apr 24 Apr 23 Apr 22 Apr 21 Apr 20 Apr 19 Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11 Apr 10 Apr 9 Apr 8 Apr 7 Apr 6 Apr 5 Apr 4 Apr 3 Apr 2 Apr 1 Mar 31 Mar 30 Mar 29
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

Alphpetize for Sublime

Dealing with large volumes of unorganized code? Do you have Organizational OCD like me? Party people, your dreams have now been fulfilled.

The Alphpetize plugin for Sublime Text scans your PHP file for class methods and organizes them by visibility and function name.

Installation

Using Sublime Package Control

If you are using the Sublime Package Manager, you can install Alphpetize by selecting Package Control: Install Package under the Sublime Text > Preferences > Package Control menu item. Type Alphpetize and install!

With Git

Clone the package into your Sublime Text 2/3 Packages directory:

git clone https://github.com/foxxyz/sublime_alphpetize.git Alphpetize

Without Git

Grab the source from Github, copy the whole directory into the Packages directory and rename it to “Alphpetize”.

Package Directory locations:

  • OSX: ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/
  • Linux: ~/.Sublime\ Text\ 2/Packages/ or ~/.config/sublime-text-2/Packages/
  • Windows: %APPDATA%/Sublime Text 2/Packages/

The locations for Sublime Text 3 should be identical, disregarding the version number change. The plugin should be picked up automatically. If not, restart Sublime Text.

Usage

After installation, select Sort Methods from the Edit menu.

Example

Consider the following file:

class Test {

    private function bottom() {

    }

    /**
     * This function rocks
     * @return void
     */
    public function middle() {

    }

    public function atTheTop() {

    }

    protected function leaveMe() {

    }

}

After running Alphpetize, it should look at follows:

class Test {
    public function atTheTop() {

    }

    /**
     * This function rocks
     * @return void
     */
    public function middle() {

    }

    protected function leaveMe() {

    }

    private function bottom() {

    }    
}

And yes, Alphpetize can also handle files with multiple class definitions.

What about static methods?

Static methods are placed at the top of their visibility group.

What about comments?

DocBlocks and single //-style comments preceding their functions will be preserved during sorting.

What about traits and interfaces?

Methods defined inside of traits and interfaces are also sorted.

What about everything else?

Anything else found floating in-between function definitions will be collected at the top of the class.

Testing

Tests can be run using the nice UnitTesting plugin in Package Control.