X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=vim%2Fmoose_snippets.vim;h=5b97d8d523bc5b24595dad17f561ffe57b982b11;hb=4c82fd0d877189023ee399feda4d75d405bfd124;hp=50aa99fba07378a01ae05432f371f0dee7c02771;hpb=f93358a2f9a3bca29868c74af9f3dff56ff8cf6d;p=gitmo%2Fmoose-dev-utils.git diff --git a/vim/moose_snippets.vim b/vim/moose_snippets.vim index 50aa99f..5b97d8d 100644 --- a/vim/moose_snippets.vim +++ b/vim/moose_snippets.vim @@ -1,12 +1,16 @@ " See http://www.vim.org/scripts/script.php?script_id=1318 -" Written by Sartak, feel free to add your own! +" Written by Sartak and doy, feel free to add your own! if !exists('loaded_snippet') || &cp finish endif function! RemoveEmptySuperClass() - s/^extends '<{}>';\n//e + if @z == "SuperClass" + s/extends '<{}>';\n\n//e + return "" + endif + return @z endfun @@ -38,7 +42,7 @@ call Snippet('class', [ \"package <{ClassName}>;", \"use Moose;", \"", - \"extends '<{SuperClass:RemoveEmptySuperClass()}>;", + \"extends '<{SuperClass:RemoveEmptySuperClass()}>';", \"", \"<{}>", \"", @@ -46,6 +50,15 @@ call Snippet('class', [ \"no Moose;", \"", \"1;"]) +call Snippet('role', [ + \"package <{RoleName}>;", + \"use Moose::Role;", + \"", + \"<{}>", + \"", + \"no Moose::Role;", + \"", + \"1;"]) call Snippet('has', [ \"has <{attr}> => (", \ "is => '<{rw}>',", @@ -71,7 +84,7 @@ call Snippet('sub', [ \"}"]) call Snippet('around', [ \"around <{name}> => sub {", - \ "my $orig = shift;", + \ "my $<{next}> = shift;", \ "my $self = shift;", \ "<{}>", \"};"]) @@ -86,6 +99,23 @@ call Snippet('after', [ \ "<{}>", \"};"]) +" MooseX support +call Snippet('prole', [ + \"package <{RoleName}>;", + \"use MooseX::Role::Parameterized;", + \"", + \"<{}>", + \"", + \"role {", + \"my $p = shift;", + \"", + \"<{}>", + \"};", + \"", + \"no MooseX::Role::Parameterized;", + \"", + \"1;"]) + "for file in globpath(&rtp, 'snippets/*') "call SnippetFile(file) "endfor