[Cascavel-pm] dicas de identação e marcação de códigos
Nelson Ferraz
nferraz em gmail.com
Quarta Novembro 12 03:40:49 PST 2008
2008/11/12 Daniel Ruoso <daniel em ruoso.com>:
> Como vocês indentam uma chamada de rotina/método/função que recebe uma
> estrutura de dados muito extensa como argumento? Eu, ultimamente, venho
> adotando esse estilo, que funciona muito bem com a indentação automática
> do emacs e que e uacho que deixa muito claro os aninhamentos da
> estrutura (O código abaixo é um trecho do mildew, um compilador de Perl
> 6).
>
> my $elsif = AST::Call->new
> ( identifier => string 'postcircumfix:( )',
> capture => AST::Capture->new
> ( invocant => AST::Call->new
> ( identifier => string 'new',
> capture => AST::Capture->new
> ( invocant => FETCH(lookup('Code')),
> positional => [],
> named =>
> [ string 'mold' => $elsif_part->{xblock}{pblock}{block}->emit_m0ld,
> string 'outer' => reg '$scope' ])),
> positional =>
> [ AST::Call->new
> ( identifier => string "capturize",
> capture => AST::Capture->new
> ( invocant => reg '¢SMOP__S1P__Capturize',
> positional => []))]));
Eu deixo o perltidy fazer isso por mim, de dentro do vim:
my $elsif = AST::Call->new(
identifier => string 'postcircumfix:( )',
capture => AST::Capture->new(
invocant => AST::Call->new(
identifier => string 'new',
capture => AST::Capture->new(
invocant => FETCH( lookup('Code') ),
positional => [],
named => [
string
'mold' => $elsif_part->{xblock}{pblock}{block}->emit_m0ld,
string 'outer' => reg '$scope'
]
)
),
positional => [
AST::Call->new(
identifier => string "capturize",
capture => AST::Capture->new(
invocant => reg '¢SMOP__S1P__Capturize',
positional => []
)
)
]
)
);
Este é o meu arquivo .vimrc:
http://www.perlmonks.org/?node_id=540167
Mais detalhes sobre a lista de discussão Cascavel-pm