summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.76.0/src/align_trailing_comments.h
blob: 4fec7b8b6f390ec3b26532a5a227f1d574b5deac (plain)
1
2
3
4
5
6
7
8
9
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
36
37
38
39
40
41
42
43
44
45
46
/**
 * @file align_trailing_comments.h
 *
 * @author  Guy Maurel
 * split from align.cpp
 * @author  Ben Gardner
 * @license GPL v2+
 */

#ifndef ALIGN_TRAILING_COMMENTS_H_INCLUDED
#define ALIGN_TRAILING_COMMENTS_H_INCLUDED

#include "chunk.h"
#include "ChunkStack.h"

enum class comment_align_e : unsigned int
{
   REGULAR,
   BRACE,
   ENDIF,
};

/**
 * For a series of lines ending in a comment, align them.
 * The series ends when more than align_right_cmt_span newlines are found.
 *
 * Interesting info:
 *  - least physically allowed column
 *  - intended column
 *  - least original cmt column
 *
 * min_col is the minimum allowed column (based on prev token col/size)
 * cmt_col less than
 *
 * @param start   Start point
 * @return        pointer the last item looked at
 */
Chunk *align_trailing_comments(Chunk *start);

comment_align_e get_comment_align_type(Chunk *cmt);

void align_stack(ChunkStack &cs, size_t col, bool align_single, log_sev_t sev);

void align_right_comments();

#endif /* ALIGN_TRAILING_COMMENTS_H_INCLUDED */