Give class an optional "extends"
Shawn M Moore [Mon, 4 May 2009 17:46:44 +0000 (13:46 -0400)]
vim/moose_snippets.vim

index 541f05b..f08a714 100644 (file)
@@ -9,7 +9,12 @@ let st = g:snip_start_tag
 let et = g:snip_end_tag
 let cd = g:snip_elem_delim
 
-exec "Snippet class package ".st."ClassName".et.";<CR>use Moose;<CR>extends '".st."SuperClass".et."';<CR><CR>".st.et."<CR><CR>__PACKAGE__->meta->make_immutable;<CR>no Moose;<CR><CR>1;<CR>"
+function! RemoveEmptySuperClass()
+    s/^extends '<{}>';\n//e
+    return @z
+endfun
+
+exec "Snippet class package ".st."ClassName".et.";<CR>use Moose;<CR>extends '".st."SuperClass:RemoveEmptySuperClass()".et."';<CR><CR>".st.et."<CR><CR>__PACKAGE__->meta->make_immutable;<CR>no Moose;<CR><CR>1;<CR>"
 exec "Snippet has has ".st."attr".et." => (<CR>is => 'rw',<CR>isa => 'Str',<CR>".st.et."<CR>);"
 exec "Snippet hasl has ".st."attr".et." => (<CR>is => 'rw',<CR>isa => 'Str',<CR>lazy_build => 1,<CR>);<CR><CR>sub _build_".st."attr".et." {<CR>my $self = shift;<CR>".st.et."<CR>}<CR><CR>"
 exec "Snippet sub sub ".st."name".et." {<CR>my $self = shift;<CR>".st.et."<CR>}<CR>"