summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/src/align_nl_cont.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-12-20 23:01:54 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-12-22 11:50:09 +0900
commit112ca8677b9b024de5529712e559c968da40a67a (patch)
treea8e93a0b05d61aeaab1dab3288c5fc518cdd05c6 /debian/uncrustify-trinity/uncrustify-trinity-0.72.0/src/align_nl_cont.cpp
parentb37f44d6c7444ca20c48a07fdcaf7b2a812db5bd (diff)
downloadextra-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.cpp64
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