С отступом 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”
.