[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