Ответ 1
Единственный способ, которым я знаю, как это сделать, заключается в следующем:
Пропуск выбранных разделов кода
Выбранные строки кода могут передаваться дословно без вывода форматирования. Эта функция включена по умолчанию, но ее можно отключить с помощью значка -noformat-skipping или -nfs. Его следует использовать экономно, чтобы избежать засорения кода маркерами, но это может быть полезно для обработки случайных проблем. Например, это может быть полезно для сохранения отступов старого кода с комментариями без изменений, сохраняя отступы длинных блоков согласованных комментариев без изменений, сохраняя неизменное форматирование списка или работая над сбоем в perltidy.
-fs, --format-skipping
Этот флаг, который включен по умолчанию, заставляет любой код между специальными маркерами начала и конца комментариев передаваться на выход без форматирования. Начальный маркер по умолчанию: # < < < и конечный маркер по умолчанию - # → > , но они могут быть изменены (см. следующие пункты ниже). Дополнительный текст может появляться на этих специальных строках комментария при условии, что он отделен от маркера хотя бы одним пробелом. Например
#<<< do not let perltidy touch this
my @list = (1,
1, 1,
1, 2, 1,
1, 3, 3, 1,
1, 4, 6, 4, 1,);
#>>>
Маркеры комментариев могут размещаться в любом месте, где может отображаться комментарий блока. Если они не работают, используйте флаг -log и проверьте файл .LOG. Используйте -nfs для отключения этой функции.
Итак, в вашем случае код будет выглядеть следующим образом:
#<<<
curry add ($x, $y) {
return $x + $y;
}
#>>>
Обновление
Я понял, что вы можете установить специальные метки комментариев custom
, на которые распространяется следующее:
-fsb=string, --format-skipping-begin=string
Параметр -fsb = string может использоваться для изменения начального маркера для пропуска формата. Значение по умолчанию равно -fsb = '# < < < <. Строка, которую вы вводите, должна начинаться с символа # и должна быть в кавычках по мере необходимости, чтобы пройти мимо командной оболочки вашей системы. Это на самом деле главный текст шаблона, который создается путем добавления '\ s', поэтому вы также должны включать обратную косую черту для символов, которые должны восприниматься буквально, а не как шаблоны.
В некоторых примерах показано, как строки строк становятся шаблонами:
-fsb='#\{\{\{' becomes /^#\{\{\{\s/ which matches #{{{ but not #{{{{
-fsb='#\*\*' becomes /^#\*\*\s/ which matches #** but not #***
-fsb='#\*{2,}' becomes /^#\*{2,}\s/ which matches #** and #*****
Затем вам нужно установить конечную специальную строку комментария:
-fse=string, --format-skipping-end=string
Строка -fsb = - это соответствующий параметр, используемый для изменения конечного маркера для пропуска формата. Значение по умолчанию эквивалентно -fse = '# < < <..
Примечание Специальные строки комментариев должны быть комментариями, поэтому они всегда должны начинаться с #