diff --git a/plugin/php-doc.vim b/plugin/php-doc.vim index 1db8429..2dd0d59 100644 --- a/plugin/php-doc.vim +++ b/plugin/php-doc.vim @@ -2,7 +2,7 @@ " =========================== " " Version: 1.0.1 -" +" " Copyright 2005 by Tobias Schlitt " Inspired by phpDoc script for Vim by Vidyut Luther (http://www.phpcult.com/). " @@ -11,34 +11,34 @@ " 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. +" 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. +" 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, +" 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 :set paste:exe PhpDoc():set nopastei " " This includes the script and maps the combination +o (only in -" insert mode) to the doc function. +" insert mode) to the doc function. " " Changelog " ========= @@ -54,14 +54,14 @@ " ------------- " * 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. +" * 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. -" +" if has ("user_commands") @@ -75,17 +75,17 @@ let g:pdv_cfg_CommentTail = " */" let g:pdv_cfg_CommentSingle = "//" " Default values -let g:pdv_cfg_Type = "mixed" -let g:pdv_cfg_Package = "" -let g:pdv_cfg_Version = "$id$" -let g:pdv_cfg_Author = "Tobias Schlitt " -let g:pdv_cfg_Copyright = "1997-2005 The PHP Group" -let g:pdv_cfg_License = "PHP Version 3.0 {@link http://www.php.net/license/3_0.txt}" +let g:pdv_cfg_Type = get(g:, 'pdv_cfg_Type', "mixed") +let g:pdv_cfg_Package = get(g:, 'pdv_cfg_Package', "") +let g:pdv_cfg_Version = get(g:, 'pdv_cfg_Version', "$id$") +let g:pdv_cfg_Author = get(g:, 'pdv_cfg_Author', "Tobias Schlitt ") +let g:pdv_cfg_Copyright = get(g:, 'pdv_cfg_Copyright', "1997-2005 The PHP Group") +let g:pdv_cfg_License = get(g:, 'pdv_cfg_License', "PHP Version 3.0 {@link http://www.php.net/license/3_0.txt}") let g:pdv_cfg_ReturnVal = "void" " Wether to create @uses tags for implementation of interfaces and inheritance -let g:pdv_cfg_Uses = 1 +let g:pdv_cfg_Uses = get(g:, 'pdv_cfg_Uses', 1) " Options " :set paste before documenting (1|0)? Recommended. @@ -93,7 +93,7 @@ let g:pdv_cfg_paste = 1 " Wether for PHP5 code PHP4 tags should be set, like @access,... (1|0)? let g:pdv_cfg_php4always = 1 - + " Wether to guess scopes after PEAR coding standards: " $_foo/_bar() == (1|0)? let g:pdv_cfg_php4guess = 1 @@ -103,8 +103,8 @@ let g:pdv_cfg_php4guess = 1 let g:pdv_cfg_php4guessval = "protected" " -" Regular expressions -" +" Regular expressions +" let g:pdv_re_comment = ' *\*/ *' @@ -117,8 +117,9 @@ 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*[{;]\?$' +" [:space:]*(private|protected|public|static|abstract)*[:space:]+[:identifier:]+\([:params:]\):[:return] +"let g:pdv_re_func = '^\s*\([a-zA-Z ]*\)function\s\+\([^ (]\+\)\s*(\s*\(.*\)\s*)\s*[{;]\?$' +let g:pdv_re_func = '^\s*\([a-zA-Z ]*\)function\s\+\([^ (]\+\)\s*(\s*\(.*\)\s*)\(:\(.*\)\)\?\s*[{;]\?$' " [:typehint:]*[:space:]*$[:identifier]\([:space:]*=[:space:]*[:value:]\)? let g:pdv_re_param = ' *\([^ &]*\) *&\?\$\([A-Za-z_][A-Za-z0-9_]*\) *=\? *\(.*\)\?$' @@ -140,7 +141,7 @@ let g:pdv_re_indent = '^\s*' 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 ) @@ -159,18 +160,18 @@ endfunc func! PhpDocRange() range let l:line = a:firstline let l:endLine = a:lastline - let l:elementName = "" + 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() + 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 + " 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 + let l:line = line(".") + 1 endif let l:line = l:line + 1 endwhile @@ -180,30 +181,30 @@ endfunc " {{{ PhpDocFold() " func! PhpDocFold(name) -" let l:startline = line(".") -" let l:currentLine = l:startLine -" let l:commentHead = escape(g:pdv_cfg_CommentHead, "*."); +" 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 +" " 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\" -" " Write the fold comment +" " 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\" -" " Search for our comment line -" let l:currentLine = line(".") -" while (l:currentLine <= line("$")) -" " HERE!!!! -" endwhile -" -" +" " Add another newline below that +" exe "norm! o\" +" " Search for our comment line +" let l:currentLine = line(".") +" while (l:currentLine <= line("$")) +" " HERE!!!! +" endwhile +" +" " endfunc @@ -215,7 +216,7 @@ 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 = "" @@ -233,9 +234,9 @@ func! PhpDoc() endif -" if g:pdv_cfg_folds == 1 -" PhpDocFolds(l:result) -" endif +" if g:pdv_cfg_folds == 1 +" PhpDocFolds(l:result) +" endif let &g:paste = l:paste @@ -243,115 +244,120 @@ func! PhpDoc() endfunc " }}} -" {{{ PhpDocFunc() +" {{{ PhpDocFunc() func! PhpDocFunc() - " Line for the comment to begin - let commentline = line (".") - 1 + " Line for the comment to begin + let commentline = line (".") - 1 - let l:name = substitute (getline ("."), '^\(.*\)\/\/.*$', '\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... + " 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\) + " 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: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:returntype = substitute (l:name, g:pdv_re_func, '\5', "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) : "" - + 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 . funcname . " " . g:pdv_cfg_EOL + 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', "") + 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 + exe l:txtBOL . g:pdv_cfg_Commentn . "@param" . l:paramtype . " $" . l:paramname . " " . g:pdv_cfg_EOL + endwhile - if l:static != "" + if l:static != "" exe l:txtBOL . g:pdv_cfg_Commentn . "@static" . g:pdv_cfg_EOL endif - if l:abstract != "" + if l:abstract != "" exe l:txtBOL . g:pdv_cfg_Commentn . "@abstract" . g:pdv_cfg_EOL endif - if l:final != "" + 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 + exe l:txtBOL . g:pdv_cfg_Commentn . "@access " . l:scope . g:pdv_cfg_EOL + endif + + if l:returntype == "" + let l:returntype = g:pdv_cfg_ReturnVal endif - exe l:txtBOL . g:pdv_cfg_Commentn . "@return " . g:pdv_cfg_ReturnVal . g:pdv_cfg_EOL + exe l:txtBOL . g:pdv_cfg_Commentn . "@return " . l:returntype . g:pdv_cfg_EOL - " Close the comment block. - exe l:txtBOL . g:pdv_cfg_CommentTail . g:pdv_cfg_EOL + " Close the comment block. + exe l:txtBOL . g:pdv_cfg_CommentTail . g:pdv_cfg_EOL return l:modifier ." ". l:funcname endfunc -" }}} - " {{{ PhpDocVar() +" }}} + " {{{ PhpDocVar() func! PhpDocVar() - " Line for the comment to begin - let commentline = line (".") - 1 + " Line for the comment to begin + let commentline = line (".") - 1 - let l:name = substitute (getline ("."), '^\(.*\)\/\/.*$', '\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... + " 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: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_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 @@ -360,84 +366,84 @@ func! PhpDocVar() 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 + 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 + " Line for the comment to begin + let commentline = line (".") - 1 - let l:name = substitute (getline ("."), '^\(.*\)\/\/.*$', '\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... + " 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\) + " 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) : "" - + + 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_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 + 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 + 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 != "" + if l:abstract != "" exe l:txtBOL . g:pdv_cfg_Commentn . "@abstract" . g:pdv_cfg_EOL endif - if l:final != "" + 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 + 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() +" }}} +" {{{ 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 matchstr (a:modifiers, g:pdv_re_scope) != "" if g:pdv_cfg_php4always == 1 let l:scope = matchstr (a:modifiers, g:pdv_re_scope) else @@ -459,13 +465,13 @@ endfunc func! PhpDocType(typeString) let l:type = "" - if a:typeString =~ g:pdv_re_array + if a:typeString =~ g:pdv_re_array let l:type = "array" endif - if a:typeString =~ g:pdv_re_float + if a:typeString =~ g:pdv_re_float let l:type = "float" endif - if a:typeString =~ g:pdv_re_int + if a:typeString =~ g:pdv_re_int let l:type = "int" endif if a:typeString =~ g:pdv_re_string @@ -474,31 +480,31 @@ func! PhpDocType(typeString) if a:typeString =~ g:pdv_re_bool let l:type = "bool" endif - if l:type == "" - let l:type = g:pdv_cfg_Type - 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 - + " 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 + exe l:txtBOL . g:pdv_cfg_CommentTail . g:pdv_cfg_EOL endfunc " }}}