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

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

int *i;

в

int* i;

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

Если не возможно как хотя бы сделать
Керниган&ричи стиль

int * i;

в

int *i;

0

Решение

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

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

int* a;

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

int *a;

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

int * a;

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

2

Другие решения

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

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

int* a;

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

int * a;

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

int *a;
2

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

Если не возможно, как хотя бы сделать керниган&ричи стиль

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

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

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

1
По вопросам рекламы [email protected]