Ticket #1484 (Editor bookmarks made visible)
fix: TWS and abnormal chars not highlighted Signed-off-by: Ilia Maslakov <il.smind@google.com>
Этот коммит содержится в:
родитель
9f2034d376
Коммит
c7001ef7cf
@ -358,6 +358,7 @@ edit_draw_this_line (WEdit *edit, long b, long row, long start_col,
|
|||||||
int cw;
|
int cw;
|
||||||
unsigned int c;
|
unsigned int c;
|
||||||
int color;
|
int color;
|
||||||
|
int abn_style;
|
||||||
int i;
|
int i;
|
||||||
int utf8lag = 0;
|
int utf8lag = 0;
|
||||||
unsigned int cur_line = 0;
|
unsigned int cur_line = 0;
|
||||||
@ -373,6 +374,11 @@ edit_draw_this_line (WEdit *edit, long b, long row, long start_col,
|
|||||||
book_mark = BOOK_MARK_FOUND_COLOR;
|
book_mark = BOOK_MARK_FOUND_COLOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (book_mark)
|
||||||
|
abn_style = book_mark << 16;
|
||||||
|
else
|
||||||
|
abn_style = MOD_ABNORMAL;
|
||||||
|
|
||||||
end_col -= EDIT_TEXT_HORIZONTAL_OFFSET + option_line_state_width;
|
end_col -= EDIT_TEXT_HORIZONTAL_OFFSET + option_line_state_width;
|
||||||
|
|
||||||
edit_get_syntax_color (edit, b - 1, &color);
|
edit_get_syntax_color (edit, b - 1, &color);
|
||||||
@ -440,8 +446,6 @@ edit_draw_this_line (WEdit *edit, long b, long row, long start_col,
|
|||||||
edit_get_syntax_color (edit, q, &color);
|
edit_get_syntax_color (edit, q, &color);
|
||||||
p->style |= color << 16;
|
p->style |= color << 16;
|
||||||
}
|
}
|
||||||
edit_get_syntax_color (edit, q, &color);
|
|
||||||
p->style |= color << 16;
|
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case '\n':
|
case '\n':
|
||||||
col = (end_col + utf8lag) - edit->start_col + 1; /* quit */
|
col = (end_col + utf8lag) - edit->start_col + 1; /* quit */
|
||||||
@ -453,6 +457,8 @@ edit_draw_this_line (WEdit *edit, long b, long row, long start_col,
|
|||||||
((visible_tabs || (visible_tws && q >= tws)) && enable_show_tabs_tws)) {
|
((visible_tabs || (visible_tws && q >= tws)) && enable_show_tabs_tws)) {
|
||||||
if (p->style & MOD_MARKED)
|
if (p->style & MOD_MARKED)
|
||||||
c = p->style;
|
c = p->style;
|
||||||
|
else if (book_mark)
|
||||||
|
c |= book_mark << 16;
|
||||||
else
|
else
|
||||||
c = p->style | MOD_WHITESPACE;
|
c = p->style | MOD_WHITESPACE;
|
||||||
if (i > 2) {
|
if (i > 2) {
|
||||||
@ -528,20 +534,20 @@ edit_draw_this_line (WEdit *edit, long b, long row, long start_col,
|
|||||||
/* Caret notation for control characters */
|
/* Caret notation for control characters */
|
||||||
if (c < 32) {
|
if (c < 32) {
|
||||||
p->ch = '^';
|
p->ch = '^';
|
||||||
p->style = MOD_ABNORMAL;
|
p->style = abn_style;
|
||||||
p++;
|
p++;
|
||||||
p->ch = c + 0x40;
|
p->ch = c + 0x40;
|
||||||
p->style = MOD_ABNORMAL;
|
p->style = abn_style;
|
||||||
p++;
|
p++;
|
||||||
col += 2;
|
col += 2;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (c == 127) {
|
if (c == 127) {
|
||||||
p->ch = '^';
|
p->ch = '^';
|
||||||
p->style = MOD_ABNORMAL;
|
p->style = abn_style;
|
||||||
p++;
|
p++;
|
||||||
p->ch = '?';
|
p->ch = '?';
|
||||||
p->style = MOD_ABNORMAL;
|
p->style = abn_style;
|
||||||
p++;
|
p++;
|
||||||
col += 2;
|
col += 2;
|
||||||
break;
|
break;
|
||||||
@ -556,7 +562,7 @@ edit_draw_this_line (WEdit *edit, long b, long row, long start_col,
|
|||||||
p++;
|
p++;
|
||||||
} else {
|
} else {
|
||||||
p->ch = '.';
|
p->ch = '.';
|
||||||
p->style = MOD_ABNORMAL;
|
p->style = abn_style;
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -565,7 +571,7 @@ edit_draw_this_line (WEdit *edit, long b, long row, long start_col,
|
|||||||
p++;
|
p++;
|
||||||
} else {
|
} else {
|
||||||
p->ch = '.';
|
p->ch = '.';
|
||||||
p->style = MOD_ABNORMAL;
|
p->style = abn_style;
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user