Вот такой вот странный вопрос вдруг возник. Какие программы для форматирования исходников (в первую очередь на C, другие языки интересуют меньше) позволяют указывать области для исключений?
Столкнулся с куском кода, в котором пришлось расставлять не только осмысленные, но и фейковые комментарии (/* */), чтобы не потерять ясность после форматирования:
static int a[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
/* '0' - '9' */
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
/* */
-1, -1, -1, -1, -1, -1, -1,
/* 'A' - 'Z' */
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35,
/* */
-1, -1, -1, -1, -1, -1,
/* 'a' - 'z' */
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35,
/* */
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
/* ... up to 255 ... */ };
Для indent, bcpp и astyle этого хватает, но тут нужно в каждом частном случае подбирать варианты. И теоретически захотелось иметь возможность помечать неформатируемые блоки какими-то спецмаркерами.
Ответ
Это ж надо было столько времени тормозить, разглядывая маны...
AStyle, раздел Disable Formatting
Indent, 1.10 Disabling Formatting