260 lines
4.6 KiB
Text
260 lines
4.6 KiB
Text
priority -50
|
|
|
|
global !p
|
|
import vim
|
|
|
|
# Set g:ultisnips_php_scalar_types to 1 if you'd like to enable PHP 7's scalar types for return values
|
|
def isPHPScalarTypesEnabled():
|
|
isEnabled = vim.eval("get(g:, 'ultisnips_php_scalar_types', 0)") == "1"
|
|
return isEnabled or re.match('<\?php\s+declare\(strict_types=[01]\);', '\n'.join(vim.current.window.buffer))
|
|
endglobal
|
|
|
|
## Snippets from SnipMate, taken from
|
|
## https://github.com/scrooloose/snipmate-snippets.git
|
|
|
|
snippet gm "PHP Class Getter" b
|
|
/**
|
|
* Getter for $1
|
|
*
|
|
* @return ${2:string}
|
|
*/
|
|
public function get${1/\w+\s*/\u$0/}()`!p snip.rv = ': '+t[2] if isPHPScalarTypesEnabled() else ''`
|
|
{
|
|
return $this->$1;
|
|
}
|
|
endsnippet
|
|
|
|
snippet sm "PHP Class Setter" b
|
|
/**
|
|
* Setter for $1
|
|
*
|
|
* @param ${2:string} $$1
|
|
* @return ${3:`!p snip.rv=snip.basename`}
|
|
*/
|
|
public function set${1/\w+\s*/\u$0/}(${4:${2/(void|string|int|integer|double|float|object|boolear|null|mixed|number|resource)|(.*)/(?1::$2 )/}}$$1)
|
|
{
|
|
$this->$1 = $$1;
|
|
|
|
${5:return $this;}
|
|
}
|
|
endsnippet
|
|
|
|
snippet gs "PHP Class Getter Setter" b
|
|
/**
|
|
* Getter for $1
|
|
*
|
|
* @return ${2:string}
|
|
*/
|
|
public function get${1/\w+\s*/\u$0/}()`!p snip.rv = ': '+t[2] if isPHPScalarTypesEnabled() else ''`
|
|
{
|
|
return $this->$1;
|
|
}
|
|
|
|
/**
|
|
* Setter for $1
|
|
*
|
|
* @param $2 $$1
|
|
* @return ${3:`!p snip.rv=snip.basename`}
|
|
*/
|
|
public function set${1/\w+\s*/\u$0/}(${4:${2/(void|string|int|integer|double|float|object|boolear|null|mixed|number|resource)|(.*)/(?1::$2 )/}}$$1)
|
|
{
|
|
$this->$1 = $$1;
|
|
|
|
${5:return $this;}
|
|
}
|
|
endsnippet
|
|
|
|
snippet pub "Public function" b
|
|
/**
|
|
* ${3:undocumented function}
|
|
*
|
|
* @return ${4:void}
|
|
*/
|
|
public function ${1:name}(${2:$param})
|
|
{
|
|
${VISUAL}${5:return null;}
|
|
}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet pro "Protected function" b
|
|
/**
|
|
* ${3:undocumented function}
|
|
*
|
|
* @return ${4:void}
|
|
*/
|
|
protected function ${1:name}(${2:$param})
|
|
{
|
|
${VISUAL}${5:return null;}
|
|
}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet pri "Private function" b
|
|
/**
|
|
* ${3:undocumented function}
|
|
*
|
|
* @return ${4:void}
|
|
*/
|
|
private function ${1:name}(${2:$param})
|
|
{
|
|
${VISUAL}${5:return null;}
|
|
}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet pubs "Public static function" b
|
|
/**
|
|
* ${3:undocumented function}
|
|
*
|
|
* @return ${4:void}
|
|
*/
|
|
public static function ${1:name}(${2:$param})
|
|
{
|
|
${VISUAL}${5:return null;}
|
|
}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet pros "Protected static function" b
|
|
/**
|
|
* ${3:undocumented function}
|
|
*
|
|
* @return ${4:void}
|
|
*/
|
|
protected static function ${1:name}(${2:$param})
|
|
{
|
|
${VISUAL}${5:return null;}
|
|
}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet pris "Private static function" b
|
|
/**
|
|
* ${3:undocumented function}
|
|
*
|
|
* @return ${4:void}
|
|
*/
|
|
private static function ${1:name}(${2:$param})
|
|
{
|
|
${VISUAL}${5:return null;}
|
|
}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet fu "Function snip" b
|
|
function ${1:name}(${2:$param})
|
|
{
|
|
${VISUAL}${3:return null;}
|
|
}
|
|
$0
|
|
endsnippet
|
|
|
|
snippet new "New class instance" b
|
|
$${1:variableName} = new ${2:${1/\w+\s*/\u$0/}}($3);
|
|
$0
|
|
endsnippet
|
|
|
|
snippet ns "namespace declaration" b
|
|
namespace ${1:`!p
|
|
relpath = os.path.relpath(path)
|
|
m = re.search(r'[A-Z].+(?=/)', relpath)
|
|
if m:
|
|
snip.rv = m.group().replace('/', '\\')
|
|
`};
|
|
endsnippet
|
|
|
|
snippet class "Class declaration template" b
|
|
<?php
|
|
|
|
namespace ${1:`!p
|
|
relpath = os.path.relpath(path)
|
|
m = re.search(r'[A-Z].+(?=/)', relpath)
|
|
if m:
|
|
snip.rv = m.group().replace('/', '\\')
|
|
`};
|
|
|
|
/**
|
|
* Class ${1:`!p snip.rv=snip.basename`}
|
|
* @author ${2:`!v g:snips_author`}
|
|
*/
|
|
class $1
|
|
{
|
|
}
|
|
endsnippet
|
|
|
|
snippet interface "Interface declaration template" b
|
|
<?php
|
|
|
|
namespace ${1:`!p
|
|
relpath = os.path.relpath(path)
|
|
m = re.search(r'[A-Z].+(?=/)', relpath)
|
|
if m:
|
|
snip.rv = m.group().replace('/', '\\')
|
|
`};
|
|
|
|
/**
|
|
* Interface ${1:`!p snip.rv=snip.basename`}
|
|
* @author ${2:`!v g:snips_author`}
|
|
*/
|
|
interface $1
|
|
{
|
|
public function ${3:someFunction}();$4
|
|
}
|
|
endsnippet
|
|
|
|
snippet trait "Trait declaration template" b
|
|
<?php
|
|
|
|
namespace ${1:`!p
|
|
relpath = os.path.relpath(path)
|
|
m = re.search(r'[A-Z].+(?=/)', relpath)
|
|
if m:
|
|
snip.rv = m.group().replace('/', '\\')
|
|
`};
|
|
|
|
/**
|
|
* Trait ${1:`!p snip.rv=snip.basename`}
|
|
* @author ${2:`!v g:snips_author`}
|
|
*/
|
|
trait $1
|
|
{
|
|
}
|
|
endsnippet
|
|
|
|
snippet construct "__construct()" b
|
|
/**
|
|
* @param $2mixed ${1/, /\n * \@param mixed /g}
|
|
*/
|
|
public function __construct(${1:$dependencies})
|
|
{${1/\$(\w+)(, )*/\n $this->$1 = $$1;/g}
|
|
}
|
|
$0
|
|
endsnippet
|
|
|
|
# PHPUnit snippets
|
|
snippet testcase "class XYZTest extends \PHPUnit_Framework_TestCase { ... }"
|
|
<?php
|
|
|
|
namespace `!p
|
|
relpath = os.path.relpath(path)
|
|
m = re.search(r'[A-Z].+(?=/)', relpath)
|
|
if m:
|
|
snip.rv = m.group().replace('/', '\\')
|
|
`;
|
|
|
|
/**
|
|
* @author `!v g:snips_author`
|
|
*/
|
|
class `!p
|
|
snip.rv = re.match(r'.*(?=\.)', fn).group()
|
|
` extends \PHPUnit_Framework_TestCase
|
|
{
|
|
public function test${1}()
|
|
{
|
|
${0:${VISUAL}}
|
|
}
|
|
}
|
|
endsnippet
|
|
|
|
# :vim:ft=snippets:
|