С отступом gnu как сделать int * to int*

Я хочу измениться

int *i;

в

int* i;

с помощью отступа GNU. Как я могу сделать это?

Если не возможно, как по крайней мере сделать стиль Kernighan& Ritchie

int * i;

в

int *i;

4 ответа

Я не нашел никакой соответствующей опции в руководстве по отступам GNU. Альтернативой было бы использовать AStyle, который предлагает --align-pointer опция:

С --align-pointer=type / -k1:

int* a;

С --align-pointer=middle / -k2:

int * a;

С --align-pointer=name / -k3:

int *a;

Я полагаю, у gnu идент нет этой опции. Формат CLang, с другой стороны, кажется, имеет опцию PointerAlignment, которая может принимать следующие параметры:

Возможные значения:PAS_Left (в конфигурации: слева) Выровнять указатель по левому краю.

int* a;

PAS_Right (в конфигурации: справа) Выровняйте указатель вправо.

int *a;

PAS_Middle (в конфигурации: по центру) Выровняйте указатель по центру.

int * a;

Более подробную информацию можно найти здесь: https://clang.llvm.org/docs/ClangFormatStyleOptions.html

Как я могу сделать это?

Если не возможно, как по крайней мере сделать стиль Kernighan& Ritchie

Документация для отступа GNU не содержит четкого описания какой-либо опции, конкретно затрагивающей пробел вокруг звездочки в объявлении указателя, но она имеет зонтичную опцию -kr для запроса стиля K&R, и я считаю, что это вызывает indent чтобы выполнить форматирование, которое вы запрашиваете, прижмите звездочку рядом с идентификатором. Конечно, он также имеет много других эффектов, хотя они могут быть переопределены дополнительными явными опциями.

-gnu Параметр общего стиля, который используется по умолчанию, также имеет этот эффект. Это затрудняет выбор того, какой параметр детализации управляет этим конкретным поведением, но, безусловно, один ответ на ваш вопрос заключается в том, что indent преобразует ваши объявления указателей в стиль K&R, который вы описываете, без опций вообще.

На самом деле, насколько я могу судить, indent будет выполнять это конкретное форматирование независимо от того, какие параметры вы предоставляете. Кажется, нет никакой возможности модулировать это поведение.

Использовать

С GNU отступа руководство :

-pal

--pointer-align-left

Ставьте звездочки в объявлениях указателей слева от пробелов, рядом с типами: “char* p”.

Другие вопросы по тегам