Что с этим не так?
$ cat tst.c
#include "stdio.h"
int
main ()
{
void *x;
if (x == NULL) {
printf("darn\n");
}
return 0;
}
.
$ indent -i 4 -bli 0 -npcs -st tst.c
#include "stdio.h"
int
main()
{
void *x;
if (x == NULL)
{
printf("darn\n");
}
return 0;
}
Если у вас есть другие примеры сегментов кода, которые не следует изменять, создайте пример программы, которая включает их, и настраивайте параметры indent
, пока вы не будете удовлетворены тем, что стиль кода, который он выводит, - это тот стиль, который вам нужен.
В комментарии @ melpomene упомянул , что indent
не всегда правильно обрабатывает запутанный код, и привел пример prin\<newline>tf("...")
. Подумайте о других случаях, но вы можете справиться с этим, предварительно обработав с помощью sed и gcc:
$ cat tst.c
#include "stdio.h"
int
main ()
{
void *x;
// here is a comment
if (x == NULL) {
prin\
tf("darn\n");
}
return 0;
}
.
$ indent -i 4 -bli 0 -npcs -st tst.c
#include "stdio.h"
int
main()
{
void *x;
// here is a comment
if (x == NULL)
{
prin tf("darn\n");
}
return 0;
}
.
$ sed 's/a/aA/g;s/__/aB/g;s/#/aC/g' tst.c |
gcc -CC -P -traditional-cpp -E - |
sed 's/aC/#/g;s/aB/__/g;s/aA/a/g'
#include "stdio.h"
int
main ()
{
void *x;
// here is a comment
if (x == NULL) {
printf("darn\n");
}
return 0;
}
.
$ sed 's/a/aA/g;s/__/aB/g;s/#/aC/g' tst.c |
gcc -CC -P -traditional-cpp -E - |
sed 's/aC/#/g;s/aB/__/g;s/aA/a/g' |
indent -i 4 -bli 0 -npcs -st
#include "stdio.h"
int
main()
{
void *x;
// here is a comment
if (x == NULL)
{
printf("darn\n");
}
return 0;
}