LINUX.ORG.RU

perltidy, отступы для hash

 


1

2

perltidy форматирует содержимое хеша вправо:

my %h = (
  'n1'               => $elt_root->{'att'}->{'КодЗ'},
  'n2'              => $elt_root->{'att'}->{'НаимЗ'},
  'n3'   => $elt_fio->first_child( 'Фамилия' )->text,
);


Хочется чтобы выравнивание было влево:
my %h = (
  'n1' => $elt_root->{'att'}->{'КодЗ'},
  'n2' => $elt_root->{'att'}->{'НаимЗ'},
  'n3' => $elt_fio->first_child( 'Фамилия' )->text,
);


.perltidyrc (мои настройки):
--backup-and-modify-in-place
--output-line-ending=unix
--entab-leading-whitespace=4
--break-at-old-comma-breakpoints
--maximum-line-length=80
--nospace-for-semicolon
--opening-token-right
--stack-opening-tokens
--nooutdent-long-lines
--break-at-old-comma-breakpoints
--noblanks-before-comments
--indent-spaced-block-comments
--paren-tightness=0
--cuddled-else

★★

Там есть опция для такого. Сам пользовался. Сходу название не скажу. Почитай документацию

KennyMinigun ★★★★★
()

У меня с такими настройками так не форматирует (не выравнивает по правому краю)
Версия v20180220
И опции «выравнивать по правому краю», по-моему там вообще нет

pru-mike ★★
()

Что касается пробелов и выравнивания внутри {}:

-aws
--paren-tightness=2
--square-bracket-tightness=1
--brace-tightness=2
--block-brace-tightnes=1

Попробуй.

KernelPanic
()

Мне кажется, тебе нужно поиграться с --paren-tightness и --square-bracket-tightness --brace-tightness

«Дефотный» выхлоп везде разный может быть.

docpro
()

На третьи сутки «зоркий глаз» понял,
что настройки perltidy правильные и perl/perltidy не переносит русские символы в ключах хеша.

	my %h = (
		'Код'         => $elt_root->{'att'}->{'КодЗ'},
		'Наим'       => $elt_root->{'att'}->{'НаимЗ'},
		'Фамилия' => $elt_fio->first_child( 'Фамилия' )->text
	);

#perltidy -v
This is perltidy, v20180220

#perl -v
This is perl 5, version 26, subversion 1 (v5.26.1)

--maximum-line-length=120
Сейчас актуальна длина строки 120, раньше была 78/80?

WinLin2 ★★
() автор топика
Последнее исправление: WinLin2 (всего исправлений: 9)
Ответ на: комментарий от WinLin2

Нужно добавить ключ -utf8 в .perltidyrc.

WinLin2 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.