Как мне удержать фигурные скобки в режиме Emacs cperl? - PullRequest
2 голосов
/ 03 марта 2011

Я использую GNU Emacs 22.2.1 и cperl 5.23.

У меня есть такой Perl-код:

sub foo
{
    if($x)
    {
      print "x";
    }
    else
    {
      print "y";
    }
}

Я хотел бы переопределить код для отступа в 2 пробела. Но когда я запускаю cperl-indent-region для этого кода, я получаю:

sub foo
  {
    if ($x) {
      print "x";
    } else {
      print "y";
    }
  }
  1. Как мне сохранить внешнюю скобку на левом поле / столбце 0?
  2. Как я могу предотвратить перемещение открывающей скобки для if и else к предыдущей строке?

1 Ответ

6 голосов
/ 04 марта 2011

Я считаю, что вы ищете:

(setq cperl-extra-newline-before-brace t
      cperl-brace-offset              -2
      cperl-merge-trailing-else        nil)

Вы можете настроить режим cperl с помощью M-x customize-group <ENTER> cperl <ENTER>. Переменные отступа находятся в подгруппе Cperl Indentation Details.

...