+ // continue list if indent level is still the same as in previous line
+ if ((CHECK_BIT(prev, IS_UNORDERED_LIST_1) ||
+ CHECK_BIT(prev, IS_UNORDERED_LIST_2) ||
+ CHECK_BIT(prev, IS_UNORDERED_LIST_3)) &&
+ offset >= unordered_list_offset) {
+
+ switch(unordered_list_level) {
+ case 1: SET_BIT(bits, IS_UNORDERED_LIST_1); break;
+ case 2: SET_BIT(bits, IS_UNORDERED_LIST_2); break;
+ case 3: SET_BIT(bits, IS_UNORDERED_LIST_3); break;
+ default: break;
+ }
+
+ // this line extends the previous list item
+ SET_BIT(bits, IS_UNORDERED_LIST_EXT);
+
+ // or reset indent level
+ } else {
+ unordered_list_level = 0;
+ }
+ }
+
+ if(!CHECK_BIT(bits, IS_UNORDERED_LIST_1) &&
+ !CHECK_BIT(bits, IS_UNORDERED_LIST_2) &&
+ !CHECK_BIT(bits, IS_UNORDERED_LIST_3)) {