summaryrefslogtreecommitdiffstats
path: root/ftplugin
diff options
context:
space:
mode:
Diffstat (limited to 'ftplugin')
-rw-r--r--ftplugin/php.vim202
-rw-r--r--ftplugin/php/doc.vim547
2 files changed, 0 insertions, 749 deletions
diff --git a/ftplugin/php.vim b/ftplugin/php.vim
deleted file mode 100644
index 1ecdb2b3..00000000
--- a/ftplugin/php.vim
+++ /dev/null
@@ -1,202 +0,0 @@
-" File: php.vim
-" Description: PHP Integration for VIM plugin
-" This file is a considerable fork of the original
-" PDV written by Tobias Schlitt <toby@php.net>.
-" Maintainer: Steve Francia <piv@spf13.com> <http://spf13.com>
-" Version: 0.9
-" Last Change: 7th January 2012
-"
-"
-" Section: script init stuff {{{1
-if exists("loaded_piv")
- finish
-endif
-let loaded_piv = 1
-
-"
-" Function: s:InitVariable() function {{{2
-" This function is used to initialise a given variable to a given value. The
-" variable is only initialised if it does not exist prior
-"
-" Args:
-" -var: the name of the var to be initialised
-" -value: the value to initialise var to
-"
-" Returns:
-" 1 if the var is set, 0 otherwise
-function s:InitVariable(var, value)
- if !exists(a:var)
- exec 'let ' . a:var . ' = ' . "'" . a:value . "'"
- return 1
- endif
- return 0
-endfunction
-
-
-" {{{ Settings
-" First the global PHP configuration
-let php_sql_query=1 " to highlight SQL syntax in strings
-let php_htmlInStrings=1 " to highlight HTML in string
-let php_noShortTags = 1 " to disable short tags
-let php_folding = 1 "to enable folding for classes and functions
-let PHP_autoformatcomment = 1
-let php_sync_method = -1
-
-" Section: variable init calls {{{2
-call s:InitVariable("g:load_doxygen_syntax", 1)
-call s:InitVariable("g:syntax_extra_php", 'doxygen')
-call s:InitVariable("g:syntax_extra_inc", 'doxygen')
-call s:InitVariable("g:PIVCreateDefaultMappings", 1)
-call s:InitVariable("g:PIVPearStyle", 0)
-call s:InitVariable("g:PIVAutoClose", 0)
-
-" Auto expand tabs to spaces
-setlocal expandtab
-setlocal autoindent " Auto indent after a {
-setlocal smartindent
-
-" Linewidth to 79, because of the formatoptions this is only valid for
-" comments
-setlocal textwidth=79
-
-setlocal nowrap " Do not wrap lines automatically
-
-" Correct indentation after opening a phpdocblock and automatic * on every
-" line
-setlocal formatoptions=qroct
-
-" Use php syntax check when doing :make
-setlocal makeprg=php\ -l\ %
-
-" Use errorformat for parsing PHP error output
-setlocal errorformat=%m\ in\ %f\ on\ line\ %l
-
-" Switch syntax highlighting on, if it was not
-if !exists("g:syntax_on") | syntax on | endif
-
-"setlocal keywordprg=pman " Use pman for manual pages
-
-" }}} Settings
-
-" {{{ Command mappings
-nnoremap <silent> <plug>PIVphpDocSingle :call PhpDocSingle()<CR>
-vnoremap <silent> <plug>PIVphpDocRange :call PhpDocRange()<CR>
-vnoremap <silent> <plug>PIVphpAlign :call PhpAlign()<CR>
-"inoremap <buffer> <leader>d :call PhpDocSingle()<CR>i
-
-" Map ; to "add ; to the end of the line, when missing"
-"noremap <buffer> ; :s/\([^;]\)$/\1;/<cr>
-
-" Map <ctrl>+p to single line mode documentation (in insert and command mode)
-"inoremap <buffer> <leader>d :call PhpDocSingle()<CR>i
-"nnoremap <buffer> <leader>d :call PhpDocSingle()<CR>
-" Map <ctrl>+p to multi line mode documentation (in visual mode)
-"vnoremap <buffer> <leader>d :call PhpDocRange()<CR>
-
-" Map <CTRL>-H to search phpm for the function name currently under the cursor (insert mode only)
-inoremap <buffer> <C-H> <ESC>:!phpm <C-R>=expand("<cword>")<CR><CR>
-
-" }}}
-
-" {{{ Automatic close char mapping
-if g:PIVAutoClose
- if g:PIVPearStyle
- inoremap <buffer> { {<CR>}<C-O>O
- inoremap <buffer> ( ( )<LEFT><LEFT>
- else
- inoremap { {<CR>}<C-O>O
- inoremap ( ()<LEFT>
- endif
-
- inoremap <buffer> [ []<LEFT>
- inoremap <buffer> " ""<LEFT>
- inoremap <buffer> ' ''<LEFT>
-endif
-" }}} Automatic close char mapping
-
-
-" {{{ Wrap visual selections with chars
-
-vnoremap <buffer> ( "zdi(<C-R>z)<ESC>
-vnoremap <buffer> { "zdi{<C-R>z}<ESC>
-vnoremap <buffer> [ "zdi[<C-R>z]<ESC>
-vnoremap <buffer> ' "zdi'<C-R>z'<ESC>
-" Removed in favor of register addressing
-" :vnoremap " "zdi"<C-R>z"<ESC>
-
-" }}} Wrap visual selections with chars
-
-" {{{ Dictionary completion
-setlocal dictionary-=$VIMRUNTIME/bundle/PIV/misc/funclist.txt dictionary+=$VIMRUNTIME/bundle/PIV/misc/funclist.txt
-
-" Use the dictionary completion
-setlocal complete-=k complete+=k
-
-" }}} Dictionary completion
-
-" {{{ Alignment
-
-func! PhpAlign() range
- let l:paste = &g:paste
- let &g:paste = 0
-
- let l:line = a:firstline
- let l:endline = a:lastline
- let l:maxlength = 0
- while l:line <= l:endline
- " Skip comment lines
- if getline (l:line) =~ '^\s*\/\/.*$'
- let l:line = l:line + 1
- continue
- endif
- " \{-\} matches ungreed *
- let l:index = substitute (getline (l:line), '^\s*\(.\{-\}\)\s*\S\{0,1}=\S\{0,1\}\s.*$', '\1', "")
- let l:indexlength = strlen (l:index)
- let l:maxlength = l:indexlength > l:maxlength ? l:indexlength : l:maxlength
- let l:line = l:line + 1
- endwhile
-
- let l:line = a:firstline
- let l:format = "%s%-" . l:maxlength . "s %s %s"
-
- while l:line <= l:endline
- if getline (l:line) =~ '^\s*\/\/.*$'
- let l:line = l:line + 1
- continue
- endif
- let l:linestart = substitute (getline (l:line), '^\(\s*\).*', '\1', "")
- let l:linekey = substitute (getline (l:line), '^\s*\(.\{-\}\)\s*\(\S\{0,1}=\S\{0,1\}\)\s\(.*\)$', '\1', "")
- let l:linesep = substitute (getline (l:line), '^\s*\(.\{-\}\)\s*\(\S\{0,1}=\S\{0,1\}\)\s\(.*\)$', '\2', "")
- let l:linevalue = substitute (getline (l:line), '^\s*\(.\{-\}\)\s*\(\S\{0,1}=\S\{0,1\}\)\s\(.*\)$', '\3', "")
-
- let l:newline = printf (l:format, l:linestart, l:linekey, l:linesep, l:linevalue)
- call setline (l:line, l:newline)
- let l:line = l:line + 1
- endwhile
- let &g:paste = l:paste
-endfunc
-
-" }}}
-
-function! s:CreateNMap(target, combo)
- if !hasmapto(a:target, 'n')
- exec 'nmap ' . a:combo . ' ' . a:target
- endif
-endfunction
-
-function! s:CreateVMap(target, combo)
- if !hasmapto(a:target, 'v')
- exec 'vmap ' . a:combo . ' ' . a:target
- endif
-endfunction
-
-function! s:CreateMaps(target, combo)
- call s:CreateNMap(a:target,a:combo)
- call s:CreateVMap(a:target,a:combo)
-endfunction
-
-if g:PIVCreateDefaultMappings
- call s:CreateNMap('<plug>PIVphpDocSingle', ',pd')
- call s:CreateVMap('<plug>PIVphpDocRange', ',pd')
- call s:CreateMaps('<plug>PIVphpAlign ', ',pa')
-endif
diff --git a/ftplugin/php/doc.vim b/ftplugin/php/doc.vim
deleted file mode 100644
index 0137d68b..00000000
--- a/ftplugin/php/doc.vim
+++ /dev/null
@@ -1,547 +0,0 @@
-" PDV (phpDocumentor for Vim)
-" ===========================
-"
-" Version: 1.1.3
-"
-" Copyright 2005 by Tobias Schlitt <toby@php.net>
-" Inspired by phpDoc script for Vim by Vidyut Luther (http://www.phpcult.com/).
-"
-
-" modified by kevin olson (acidjazz@gmail.com) - 03/19/2009
-" - added folding support
-"
-" Provided under the GPL (http://www.gnu.org/copyleft/gpl.html).
-"
-" This script provides functions to generate phpDocumentor conform
-" documentation blocks for your PHP code. The script currently
-" documents:
-"
-" - Classes
-" - Methods/Functions
-" - Attributes
-"
-" 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:
-"
-" source ~/.vim/php-doc.vim
-" imap <C-o> :set paste<CR>:call PhpDoc()<CR>:set nopaste<CR>i
-"
-" This includes the script and maps the combination <ctrl>+o (only in
-" insert mode) to the doc function.
-"
-" 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.
-" * Fixed bug with call-by-reference parameters.
-" * ATTENTION: This version already has code for the next version 1.1.0,
-" which is propably not working!
-"
-" Version 1.1.0 (preview)
-" -------------
-" * Added foldmarker generation.
-"
-
-" Version 1.1.2
-" -------------
-" * Completed foldmarker commenting for functions
-"
-
-
-
-if has ("user_commands")
-
-" {{{ Globals
-
-" After phpDoc standard
-let g:pdv_cfg_CommentHead = "/**"
-let g:pdv_cfg_Comment1 = " * "
-let g:pdv_cfg_Commentn = " * "
-let g:pdv_cfg_CommentTail = " */"
-let g:pdv_cfg_CommentEnd = "/* }}} */"
-let g:pdv_cfg_CommentSingle = "//"
-
-" Default values
-let g:pdv_cfg_Type = "mixed"
-" let g:pdv_cfg_Package = "Framework"
-let g:pdv_cfg_Package = "Webdav"
-let g:pdv_cfg_Version = "//autogen//"
-let g:pdv_cfg_Author = ""
-let g:pdv_cfg_Copyright = "Copyright (c) 2010 All rights reserved."
-let g:pdv_cfg_License = "PHP Version 3.0 {@link http://www.php.net/license/3_0.txt}"
-
-let g:pdv_cfg_ReturnVal = "void"
-
-" Whether to create @uses tags for implementation of interfaces and inheritance
-let g:pdv_cfg_Uses = 1
-
-" Options
-" :set paste before documenting (1|0)? Recommended.
-let g:pdv_cfg_paste = 1
-
-" Whether for PHP5 code PHP4 tags should be set, like @access,... (1|0)?
-let g:pdv_cfg_php4always = 1
-
-" Whether to guess scopes after PEAR coding standards:
-" $_foo/_bar() == <private|protected> (1|0)?
-let g:pdv_cfg_php4guess = 1
-
-" If you selected 1 for the last value, this scope identifier will be used for
-" the identifiers having an _ in the first place.
-let g:pdv_cfg_php4guessval = "protected"
-
-"
-" Regular expressions
-"
-
-let g:pdv_re_comment = ' *\*/ *'
-
-" (private|protected|public)
-let g:pdv_re_scope = '\(private\|protected\|public\)'
-" (static)
-let g:pdv_re_static = '\(static\)'
-" (abstract)
-let g:pdv_re_abstract = '\(abstract\)'
-" (final)
-let g:pdv_re_final = '\(final\)'
-
-" [:space:]*(private|protected|public|static|abstract)*[:space:]+[:identifier:]+\([:params:]\)
-let g:pdv_re_func = '^\s*\([a-zA-Z ]*\)function\s\+\([^ (]\+\)\s*(\s*\(.*\)\s*)\s*[{;]\?$'
-let g:pdv_re_funcend = '^\s*}$'
-" [:typehint:]*[:space:]*$[:identifier]\([:space:]*=[:space:]*[:value:]\)?
-let g:pdv_re_param = ' *\([^ &]*\) *&\?\$\([A-Za-z_][A-Za-z0-9_]*\) *=\? *\(.*\)\?$'
-
-" [:space:]*(private|protected|public\)[:space:]*$[:identifier:]+\([:space:]*=[:space:]*[:value:]+\)*;
-let g:pdv_re_attribute = '^\s*\(\(private\|public\|protected\|var\|static\)\+\)\s*\$\([^ ;=]\+\)[ =]*\(.*\);\?$'
-
-" [:spacce:]*(abstract|final|)[:space:]*(class|interface)+[:space:]+\(extends ([:identifier:])\)?[:space:]*\(implements ([:identifier:][, ]*)+\)?
-let g:pdv_re_class = '^\s*\([a-zA-Z]*\)\s*\(interface\|class\)\s*\([^ ]\+\)\s*\(extends\)\?\s*\([a-zA-Z0-9]*\)\?\s*\(implements*\)\? *\([a-zA-Z0-9_ ,]*\)\?.*$'
-
-let g:pdv_re_array = "^array *(.*"
-let g:pdv_re_float = '^[0-9.]\+'
-let g:pdv_re_int = '^[0-9]\+$'
-let g:pdv_re_string = "['\"].*"
-let g:pdv_re_bool = "[true false]"
-
-let g:pdv_re_indent = '^\s*'
-
-" Shortcuts for editing the text:
-let g:pdv_cfg_BOL = "norm! o"
-let g:pdv_cfg_EOL = ""
-
-" }}}
-
- " {{{ PhpDocSingle()
- " Document a single line of code ( does not check if doc block already exists )
-
-func! PhpDocSingle()
- let l:endline = line(".") + 1
- call PhpDoc()
- exe "norm! " . l:endline . "G$"
-endfunc
-
-" }}}
- " {{{ PhpDocRange()
- " Documents a whole range of code lines ( does not add defualt doc block to
- " unknown types of lines ). Skips elements where a docblock is already
- " present.
-func! PhpDocRange() range
- let l:line = a:firstline
- let l:endLine = a:lastline
- let l:elementName = ""
- while l:line <= l:endLine
- " TODO: Replace regex check for existing doc with check more lines
- " above...
- if (getline(l:line) =~ g:pdv_re_func || getline(l:line) =~ g:pdv_re_attribute || getline(l:line) =~ g:pdv_re_class) && getline(l:line - 1) !~ g:pdv_re_comment
- let l:docLines = 0
- " Ensure we are on the correct line to run PhpDoc()
- exe "norm! " . l:line . "G$"
- " No matter what, this returns the element name
- let l:elementName = PhpDoc()
- let l:endLine = l:endLine + (line(".") - l:line) + 1
- let l:line = line(".") + 1
- endif
- let l:line = l:line + 1
- endwhile
-endfunc
-
- " }}}
-" {{{ PhpDocFold()
-
-" func! PhpDocFold(name)
-" let l:startline = line(".")
-" let l:currentLine = l:startLine
-" let l:commentHead = escape(g:pdv_cfg_CommentHead, "*.");
-" let l:txtBOL = g:pdv_cfg_BOL . matchstr(l:name, '^\s*')
-" " Search above for comment start
-" while (l:currentLine > 1)
-" if (matchstr(l:commentHead, getline(l:currentLine)))
-" break;
-" endif
-" let l:currentLine = l:currentLine + 1
-" endwhile
-" " Goto 1 line above and open a newline
-" exe "norm! " . (l:currentLine - 1) . "Go\<ESC>"
-" " Write the fold comment
-" exe l:txtBOL . g:pdv_cfg_CommentSingle . " {"."{{ " . a:name . g:pdv_cfg_EOL
-" " Add another newline below that
-" exe "norm! o\<ESC>"
-" " Search for our comment line
-" let l:currentLine = line(".")
-" while (l:currentLine <= line("$"))
-" " HERE!!!!
-" endwhile
-"
-"
-" endfunc
-
-
-" }}}
-
-" {{{ PhpDoc()
-
-func! PhpDoc()
- " Needed for my .vimrc: Switch off all other enhancements while generating docs
- let l:paste = &g:paste
- let &g:paste = g:pdv_cfg_paste == 1 ? 1 : &g:paste
-
- let l:line = getline(".")
- let l:result = ""
-
- if l:line =~ g:pdv_re_func
- let l:result = PhpDocFunc()
-
- elseif l:line =~ g:pdv_re_funcend
- let l:result = PhpDocFuncEnd()
-
- elseif l:line =~ g:pdv_re_attribute
- let l:result = PhpDocVar()
-
- elseif l:line =~ g:pdv_re_class
- let l:result = PhpDocClass()
-
- else
- let l:result = PhpDocDefault()
-
- endif
-
-" if g:pdv_cfg_folds == 1
-" PhpDocFolds(l:result)
-" endif
-
- let &g:paste = l:paste
-
- return l:result
-endfunc
-
-" }}}
-
-" {{{ PhpDocFuncEnd()
-func! PhpDocFuncEnd()
-
- call append(line('.'), matchstr(getline('.'), '^\s*') . g:pdv_cfg_CommentEnd)
-endfunc
-" }}}
-" {{{ PhpDocFuncEndAuto()
-func! PhpDocFuncEndAuto()
-
-
- call search('{')
- call searchpair('{', '', '}')
- call append(line('.'), matchstr(getline('.'), '^\s*') . g:pdv_cfg_CommentEnd)
-
-endfunc
-" }}}
-
-" {{{ PhpDocFunc()
-
-func! PhpDocFunc()
- " Line for the comment to begin
- let commentline = line (".") - 1
-
- let l:name = substitute (getline ("."), '^\(.*\)\/\/.*$', '\1', "")
-
- "exe g:pdv_cfg_BOL . "DEBUG:" . name. g:pdv_cfg_EOL
-
- " First some things to make it more easy for us:
- " tab -> space && space+ -> space
- " let l:name = substitute (l:name, '\t', ' ', "")
- " Orphan. We're now using \s everywhere...
-
- " Now we have to split DECL in three parts:
- " \[(skopemodifier\)]\(funcname\)\(parameters\)
- let l:indent = matchstr(l:name, g:pdv_re_indent)
-
- let l:modifier = substitute (l:name, g:pdv_re_func, '\1', "g")
- let l:funcname = substitute (l:name, g:pdv_re_func, '\2', "g")
- let l:parameters = substitute (l:name, g:pdv_re_func, '\3', "g") . ","
- let l:params = substitute (l:name, g:pdv_re_func, '\3', "g")
- let l:sparams = substitute (l:params, '[$ ]', '', "g")
- let l:scope = PhpDocScope(l:modifier, l:funcname)
- let l:static = g:pdv_cfg_php4always == 1 ? matchstr(l:modifier, g:pdv_re_static) : ""
- let l:abstract = g:pdv_cfg_php4always == 1 ? matchstr(l:modifier, g:pdv_re_abstract) : ""
- let l:final = g:pdv_cfg_php4always == 1 ? matchstr(l:modifier, g:pdv_re_final) : ""
-
- exe "norm! " . commentline . "G$"
-
- " Local indent
- let l:txtBOL = g:pdv_cfg_BOL . l:indent
-
- exec l:txtBOL . "/* " . l:scope ." ". funcname . "(" . l:params . ") {{" . "{ */ " . g:pdv_cfg_EOL
-
- exe l:txtBOL . g:pdv_cfg_CommentHead . g:pdv_cfg_EOL
- " added folding
- exe l:txtBOL . g:pdv_cfg_Comment1 . funcname . g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Commentn . g:pdv_cfg_EOL
-
- while (l:parameters != ",") && (l:parameters != "")
- " Save 1st parameter
- let _p = substitute (l:parameters, '\([^,]*\) *, *\(.*\)', '\1', "")
- " Remove this one from list
- let l:parameters = substitute (l:parameters, '\([^,]*\) *, *\(.*\)', '\2', "")
- " PHP5 type hint?
- let l:paramtype = substitute (_p, g:pdv_re_param, '\1', "")
- " Parameter name
- let l:paramname = substitute (_p, g:pdv_re_param, '\2', "")
- " Parameter default
- let l:paramdefault = substitute (_p, g:pdv_re_param, '\3', "")
-
- if l:paramtype == ""
- let l:paramtype = PhpDocType(l:paramdefault)
- endif
-
- if l:paramtype != ""
- let l:paramtype = " " . l:paramtype
- endif
- exe l:txtBOL . g:pdv_cfg_Commentn . "@param" . l:paramtype . " $" . l:paramname . " " . g:pdv_cfg_EOL
- endwhile
-
- if l:static != ""
- exe l:txtBOL . g:pdv_cfg_Commentn . "@static" . g:pdv_cfg_EOL
- endif
- if l:abstract != ""
- exe l:txtBOL . g:pdv_cfg_Commentn . "@abstract" . g:pdv_cfg_EOL
- endif
- if l:final != ""
- exe l:txtBOL . g:pdv_cfg_Commentn . "@final" . g:pdv_cfg_EOL
- endif
- if l:scope != ""
- exe l:txtBOL . g:pdv_cfg_Commentn . "@access " . l:scope . g:pdv_cfg_EOL
- endif
- exe l:txtBOL . g:pdv_cfg_Commentn . "@return " . g:pdv_cfg_ReturnVal . g:pdv_cfg_EOL
-
- " Close the comment block.
- exe l:txtBOL . g:pdv_cfg_CommentTail . g:pdv_cfg_EOL
-
- return l:modifier ." ". l:funcname . PhpDocFuncEndAuto()
-endfunc
-
-" }}}
- " {{{ PhpDocVar()
-
-func! PhpDocVar()
- " Line for the comment to begin
- let commentline = line (".") - 1
-
- let l:name = substitute (getline ("."), '^\(.*\)\/\/.*$', '\1', "")
-
- " Now we have to split DECL in three parts:
- " \[(skopemodifier\)]\(funcname\)\(parameters\)
- " let l:name = substitute (l:name, '\t', ' ', "")
- " Orphan. We're now using \s everywhere...
-
- let l:indent = matchstr(l:name, g:pdv_re_indent)
-
- let l:modifier = substitute (l:name, g:pdv_re_attribute, '\1', "g")
- let l:varname = substitute (l:name, g:pdv_re_attribute, '\3', "g")
- let l:default = substitute (l:name, g:pdv_re_attribute, '\4', "g")
- let l:scope = PhpDocScope(l:modifier, l:varname)
-
- let l:static = g:pdv_cfg_php4always == 1 ? matchstr(l:modifier, g:pdv_re_static) : ""
-
- let l:type = PhpDocType(l:default)
-
- exe "norm! " . commentline . "G$"
-
- " Local indent
- let l:txtBOL = g:pdv_cfg_BOL . l:indent
-
- exe l:txtBOL . g:pdv_cfg_CommentHead . g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Comment1 . l:varname . " " . g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Commentn . g:pdv_cfg_EOL
- if l:static != ""
- exe l:txtBOL . g:pdv_cfg_Commentn . "@static" . g:pdv_cfg_EOL
- endif
- exe l:txtBOL . g:pdv_cfg_Commentn . "@var " . l:type . g:pdv_cfg_EOL
- if l:scope != ""
- exe l:txtBOL . g:pdv_cfg_Commentn . "@access " . l:scope . g:pdv_cfg_EOL
- endif
-
- " Close the comment block.
- exe l:txtBOL . g:pdv_cfg_CommentTail . g:pdv_cfg_EOL
- return l:modifier ." ". l:varname
-endfunc
-
-" }}}
-" {{{ PhpDocClass()
-
-func! PhpDocClass()
- " Line for the comment to begin
- let commentline = line (".") - 1
-
- let l:name = substitute (getline ("."), '^\(.*\)\/\/.*$', '\1', "")
-
- "exe g:pdv_cfg_BOL . "DEBUG:" . name. g:pdv_cfg_EOL
-
- " First some things to make it more easy for us:
- " tab -> space && space+ -> space
- " let l:name = substitute (l:name, '\t', ' ', "")
- " Orphan. We're now using \s everywhere...
-
- " Now we have to split DECL in three parts:
- " \[(skopemodifier\)]\(classname\)\(parameters\)
- let l:indent = matchstr(l:name, g:pdv_re_indent)
-
- let l:modifier = substitute (l:name, g:pdv_re_class, '\1', "g")
- let l:classname = substitute (l:name, g:pdv_re_class, '\3', "g")
- let l:extends = g:pdv_cfg_Uses == 1 ? substitute (l:name, g:pdv_re_class, '\5', "g") : ""
- let l:interfaces = g:pdv_cfg_Uses == 1 ? substitute (l:name, g:pdv_re_class, '\7', "g") . "," : ""
-
- let l:abstract = g:pdv_cfg_php4always == 1 ? matchstr(l:modifier, g:pdv_re_abstract) : ""
- let l:final = g:pdv_cfg_php4always == 1 ? matchstr(l:modifier, g:pdv_re_final) : ""
-
- exe "norm! " . commentline . "G$"
-
- " Local indent
- let l:txtBOL = g:pdv_cfg_BOL . l:indent
-
- exe l:txtBOL . g:pdv_cfg_CommentHead . g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Comment1 . l:classname . " " . g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Commentn . g:pdv_cfg_EOL
- if l:extends != "" && l:extends != "implements"
- exe l:txtBOL . g:pdv_cfg_Commentn . "@uses " . l:extends . g:pdv_cfg_EOL
- endif
-
- while (l:interfaces != ",") && (l:interfaces != "")
- " Save 1st parameter
- let interface = substitute (l:interfaces, '\([^, ]*\) *, *\(.*\)', '\1', "")
- " Remove this one from list
- let l:interfaces = substitute (l:interfaces, '\([^, ]*\) *, *\(.*\)', '\2', "")
- exe l:txtBOL . g:pdv_cfg_Commentn . "@uses " . l:interface . g:pdv_cfg_EOL
- endwhile
-
- if l:abstract != ""
- exe l:txtBOL . g:pdv_cfg_Commentn . "@abstract" . g:pdv_cfg_EOL
- endif
- if l:final != ""
- exe l:txtBOL . g:pdv_cfg_Commentn . "@final" . g:pdv_cfg_EOL
- endif
- exe l:txtBOL . g:pdv_cfg_Commentn . "@package " . g:pdv_cfg_Package . g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Commentn . "@version " . g:pdv_cfg_Version . g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Commentn . "@copyright " . g:pdv_cfg_Copyright . g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Commentn . "@author " . g:pdv_cfg_Author g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Commentn . "@license " . g:pdv_cfg_License . g:pdv_cfg_EOL
-
- " Close the comment block.
- exe l:txtBOL . g:pdv_cfg_CommentTail . g:pdv_cfg_EOL
- return l:modifier ." ". l:classname
-endfunc
-
-" }}}
-" {{{ PhpDocScope()
-
-func! PhpDocScope(modifiers, identifier)
-" exe g:pdv_cfg_BOL . DEBUG: . a:modifiers . g:pdv_cfg_EOL
- let l:scope = ""
- if matchstr (a:modifiers, g:pdv_re_scope) != ""
- if g:pdv_cfg_php4always == 1
- let l:scope = matchstr (a:modifiers, g:pdv_re_scope)
- else
- let l:scope = "x"
- endif
- endif
- if l:scope =~ "^\s*$" && g:pdv_cfg_php4guess
- if a:identifier[0] == "_"
- let l:scope = g:pdv_cfg_php4guessval
- else
- let l:scope = "public"
- endif
- endif
- return l:scope != "x" ? l:scope : ""
-endfunc
-
-" }}}
-" {{{ PhpDocType()
-
-func! PhpDocType(typeString)
- let l:type = ""
- if a:typeString =~ g:pdv_re_array
- let l:type = "array"
- endif
- if a:typeString =~ g:pdv_re_float
- let l:type = "float"
- endif
- if a:typeString =~ g:pdv_re_int
- let l:type = "int"
- endif
- if a:typeString =~ g:pdv_re_string
- let l:type = "string"
- endif
- if a:typeString =~ g:pdv_re_bool
- let l:type = "bool"
- endif
- if l:type == ""
- let l:type = g:pdv_cfg_Type
- endif
- return l:type
-endfunc
-
-" }}}
-" {{{ PhpDocDefault()
-
-func! PhpDocDefault()
- " Line for the comment to begin
- let commentline = line (".") - 1
-
- let l:indent = matchstr(getline("."), '^\ *')
-
- exe "norm! " . commentline . "G$"
-
- " Local indent
- let l:txtBOL = g:pdv_cfg_BOL . indent
-
- exe l:txtBOL . g:pdv_cfg_CommentHead . g:pdv_cfg_EOL
- exe l:txtBOL . g:pdv_cfg_Commentn . " " . g:pdv_cfg_EOL
-
- " Close the comment block.
- exe l:txtBOL . g:pdv_cfg_CommentTail . g:pdv_cfg_EOL
-endfunc
-
-" }}}
-
-endif " user_commands