Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
This is a mirror of http://www.vim.org/scripts/script.php?script_id=1355 ============================ PHP Documentor for Vim (pdv) Version: 1.1.1 Last Change: 2011-11-19 Author: Tobias Schlitt <firstname.lastname@example.org> License: Provided under the GPL (http://www.gnu.org/copyleft/gpl.html). Copyright 2005-2011 by Tobias Schlitt <email@example.com> Inspired by phpDoc script for Vim by Vidyut Luther (http://www.phpcult.com/). Description: ============ This script provides functions to generate docblocks for your PHP code that conform to the phpDocumentor format. The script currently documents: - Classes - Methods/Functions - Attributes/Properties All of those supporting all PHP 4 and 5 syntax elements. Beside that it allows you to define default values for phpDocumentor tags like @version (I use $Id$ here), @author, @license and so on. For function/method parameters and attributes, the script tries to guess the type as good as possible from PHP5 type hints or default values (array, bool, int, string...). You can use this script by mapping the function PhpDoc() to any key combination. Hit this on the line where the element to document resides and the doc block will be created directly above that line. Installation: ============= For example include into your .vimrc: au BufRead,BufNewFile *.php inoremap <buffer> <C-P> :call PhpDoc()<CR> au BufRead,BufNewFile *.php nnoremap <buffer> <C-P> :call PhpDoc()<CR> au BufRead,BufNewFile *.php vnoremap <buffer> <C-P> :call PhpDocRange()<CR> This will map <ctrl>+p to call the functions to create the docblocks for the item on the line where the cursor is, or in visual mode, any applicable lines within that range. In your .vimrc you can also set the defaults for one or more of the PHP docblock tags: let g:pdv_cfg_Package = 'YourPackage' let g:pdv_cfg_Author = 'Your Name <firstname.lastname@example.org>' In you .vimrc, you can also specify the tags and the order they appear for class docblocks: let g:pdv_cfg_ClassTags = ["package","author","version"] Changelog: ========== Version 1.0.0 ------------- * Created the initial version of this script while playing around with VIM scripting the first time and trying to fix Vidyut's solution, which resulted in a complete rewrite. Version 1.0.1 ------------- * Fixed issues when using tabs instead of spaces. * Fixed some parsing bugs when using a different coding style. Version 1.1.0 ------------- * Fixed bug with call-by-reference parameters. Version 1.1.1 ------------- * Updated implementation to allow for better defaults, handle custom sort order and inclusion of tags for classes * Corrected detection of bool var types * Corrected detection of float var types * Moved to ftplugin and updated usage instructions