1c7e7ef9b4fbbfbc26813503f2d9d3c65c75512d
[gitmo/moose-dev-utils.git] / vim / moose_snippets.vim
1 " See http://www.vim.org/scripts/script.php?script_id=1318
2 " Written by Sartak, feel free to add your own!
3
4 if !exists('loaded_snippet') || &cp
5     finish
6 endif
7
8 let st = g:snip_start_tag
9 let et = g:snip_end_tag
10 let cd = g:snip_elem_delim
11
12 function! RemoveEmptySuperClass()
13     s/^extends '<{}>';\n//e
14     return @z
15 endfun
16
17 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>"
18 exec "Snippet has has ".st."attr".et." => (<CR>is => 'rw',<CR>isa => '".st."Str".et."',<CR>".st.et."<CR>);"
19 exec "Snippet hasl has ".st."attr".et." => (<CR>is => 'rw',<CR>isa => '".st."Str".et."',<CR>lazy_build => 1,<CR>);<CR><CR>sub _build_".st."attr".et." {<CR>my $self = shift;<CR>".st.et."<CR>}<CR><CR>"
20 exec "Snippet sub sub ".st."name".et." {<CR>my $self = shift;<CR>".st.et."<CR>}<CR>"
21 exec "Snippet around around ".st."name".et." => sub {<CR>my $next = shift;<CR>my $self = shift;<CR>".st.et."<CR>};<CR>"
22