diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-12-20 23:01:54 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-12-22 11:50:09 +0900 |
commit | 112ca8677b9b024de5529712e559c968da40a67a (patch) | |
tree | a8e93a0b05d61aeaab1dab3288c5fc518cdd05c6 /debian/uncrustify-trinity/uncrustify-trinity-0.72.0/src/align_nl_cont.cpp | |
parent | b37f44d6c7444ca20c48a07fdcaf7b2a812db5bd (diff) | |
download | extra-dependencies-112ca8677b9b024de5529712e559c968da40a67a.tar.gz extra-dependencies-112ca8677b9b024de5529712e559c968da40a67a.zip |
DEB uncrustify: added first version of uncrustify-trinity. This is basically the upstream 0.72.0 version of uncrustify, repackaged.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.72.0/src/align_nl_cont.cpp')
-rw-r--r-- | debian/uncrustify-trinity/uncrustify-trinity-0.72.0/src/align_nl_cont.cpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/src/align_nl_cont.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/src/align_nl_cont.cpp new file mode 100644 index 00000000..61087044 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/src/align_nl_cont.cpp @@ -0,0 +1,64 @@ +/** + * @file align_nl_cont.cpp + * + * @author Guy Maurel + * split from align.cpp + * @author Ben Gardner + * @license GPL v2+ + */ + +#include "align_nl_cont.h" + +#include "align_add.h" +#include "ChunkStack.h" +#include "uncrustify.h" + + +chunk_t *align_nl_cont(chunk_t *start) +{ + LOG_FUNC_ENTRY(); + + LOG_FMT(LALNLC, "%s(%d): start on [%s] on line %zu\n", + __func__, __LINE__, get_token_name(start->type), start->orig_line); + + // Find the max column + ChunkStack cs; + size_t max_col = 0; + chunk_t *pc = start; + + while ( chunk_is_not_token(pc, CT_NEWLINE) + && chunk_is_not_token(pc, CT_COMMENT_MULTI)) + { + if (chunk_is_token(pc, CT_NL_CONT)) + { + align_add(cs, pc, max_col); + } + pc = chunk_get_next(pc); + } + // NL_CONT is always the last thing on a line + chunk_t *tmp; + + while ((tmp = cs.Pop_Back()) != nullptr) + { + chunk_flags_set(tmp, PCF_WAS_ALIGNED); + tmp->column = max_col; + } + return(pc); +} // align_nl_cont + + +void align_backslash_newline(void) +{ + LOG_FUNC_ENTRY(); + chunk_t *pc = chunk_get_head(); + + while (pc != nullptr) + { + if (chunk_is_not_token(pc, CT_NL_CONT)) + { + pc = chunk_get_next_type(pc, CT_NL_CONT, -1); + continue; + } + pc = align_nl_cont(pc); + } +} // align_backslash_newline |