ui: Remove/adapt some old code for a big UI refactor

- Remove abstract_ui global, now it is always active
- Remove some terminal handling code
- Remove unused functions
- Remove HAVE_TGETENT/TERMINFO/TERMIOS/IOCTL #ifdefs
- Remove tgetent/terminfo from version.c
- Remove curses/terminfo dependencies
- Only start/stop termcap when starting/exiting the program
- msg_use_printf will return true if there are no attached UIs(
  messages will be written to stdout)
- Remove `ex_winpos`(implement `:winpos` with `ex_ni`)
This commit is contained in:
Thiago de Arruda
2015-02-13 12:06:01 -03:00
parent 6383ea6e8e
commit e0e41b30c6
35 changed files with 225 additions and 3707 deletions

View File

@@ -6447,18 +6447,17 @@ do_highlight (
p = T_CAF;
else
p = T_CSF;
if (abstract_ui || (*p != NUL && *(p + STRLEN(p) - 1) == 'm'))
switch (t_colors) {
case 16:
color = color_numbers_8[i];
break;
case 88:
color = color_numbers_88[i];
break;
case 256:
color = color_numbers_256[i];
break;
}
switch (t_colors) {
case 16:
color = color_numbers_8[i];
break;
case 88:
color = color_numbers_88[i];
break;
case 256:
color = color_numbers_256[i];
break;
}
}
}
}
@@ -6471,8 +6470,6 @@ do_highlight (
cterm_normal_fg_bold = (HL_TABLE()[idx].sg_cterm & HL_BOLD);
{
must_redraw = CLEAR;
if (termcap_active && color >= 0)
term_fg_color(color);
}
}
} else {
@@ -6482,8 +6479,6 @@ do_highlight (
{
must_redraw = CLEAR;
if (color >= 0) {
if (termcap_active)
term_bg_color(color);
if (t_colors < 16)
i = (color == 0 || color == 4);
else
@@ -6630,10 +6625,8 @@ do_highlight (
if (is_normal_group) {
HL_TABLE()[idx].sg_term_attr = 0;
HL_TABLE()[idx].sg_cterm_attr = 0;
if (abstract_ui) {
// If the normal group has changed, it is simpler to refresh every UI
ui_refresh();
}
// If the normal group has changed, it is simpler to refresh every UI
ui_refresh();
} else
set_hl_attr(idx);
HL_TABLE()[idx].sg_scriptID = current_SID;
@@ -6862,38 +6855,8 @@ int hl_combine_attr(int char_attr, int prim_attr)
if (char_attr <= HL_ALL && prim_attr <= HL_ALL)
return char_attr | prim_attr;
if (abstract_ui || t_colors > 1) {
if (char_attr > HL_ALL)
char_aep = syn_cterm_attr2entry(char_attr);
if (char_aep != NULL)
new_en = *char_aep;
else {
memset(&new_en, 0, sizeof(new_en));
if (char_attr <= HL_ALL)
new_en.ae_attr = char_attr;
}
if (prim_attr <= HL_ALL)
new_en.ae_attr |= prim_attr;
else {
spell_aep = syn_cterm_attr2entry(prim_attr);
if (spell_aep != NULL) {
new_en.ae_attr |= spell_aep->ae_attr;
if (spell_aep->ae_u.cterm.fg_color > 0)
new_en.ae_u.cterm.fg_color = spell_aep->ae_u.cterm.fg_color;
if (spell_aep->ae_u.cterm.bg_color > 0)
new_en.ae_u.cterm.bg_color = spell_aep->ae_u.cterm.bg_color;
if (spell_aep->fg_color >= 0)
new_en.fg_color = spell_aep->fg_color;
if (spell_aep->bg_color >= 0)
new_en.bg_color = spell_aep->bg_color;
}
}
return get_attr_entry(&cterm_attr_table, &new_en);
}
if (char_attr > HL_ALL)
char_aep = syn_term_attr2entry(char_attr);
char_aep = syn_cterm_attr2entry(char_attr);
if (char_aep != NULL)
new_en = *char_aep;
else {
@@ -6905,16 +6868,20 @@ int hl_combine_attr(int char_attr, int prim_attr)
if (prim_attr <= HL_ALL)
new_en.ae_attr |= prim_attr;
else {
spell_aep = syn_term_attr2entry(prim_attr);
spell_aep = syn_cterm_attr2entry(prim_attr);
if (spell_aep != NULL) {
new_en.ae_attr |= spell_aep->ae_attr;
if (spell_aep->ae_u.term.start != NULL) {
new_en.ae_u.term.start = spell_aep->ae_u.term.start;
new_en.ae_u.term.stop = spell_aep->ae_u.term.stop;
}
if (spell_aep->ae_u.cterm.fg_color > 0)
new_en.ae_u.cterm.fg_color = spell_aep->ae_u.cterm.fg_color;
if (spell_aep->ae_u.cterm.bg_color > 0)
new_en.ae_u.cterm.bg_color = spell_aep->ae_u.cterm.bg_color;
if (spell_aep->fg_color >= 0)
new_en.fg_color = spell_aep->fg_color;
if (spell_aep->bg_color >= 0)
new_en.bg_color = spell_aep->bg_color;
}
}
return get_attr_entry(&term_attr_table, &new_en);
return get_attr_entry(&cterm_attr_table, &new_en);
}
@@ -6924,27 +6891,12 @@ int hl_combine_attr(int char_attr, int prim_attr)
*/
int syn_attr2attr(int attr)
{
attrentry_T *aep;
if (abstract_ui || t_colors > 1)
aep = syn_cterm_attr2entry(attr);
else
aep = syn_term_attr2entry(attr);
attrentry_T *aep = syn_cterm_attr2entry(attr);
if (aep == NULL) /* highlighting not set */
return 0;
return aep->ae_attr;
}
attrentry_T *syn_term_attr2entry(int attr)
{
attr -= ATTR_OFF;
if (attr >= term_attr_table.ga_len) /* did ":syntax clear" */
return NULL;
return &(TERM_ATTR_ENTRY(attr));
}
attrentry_T *syn_cterm_attr2entry(int attr)
{
attr -= ATTR_OFF;
@@ -7200,7 +7152,7 @@ set_hl_attr (
&& sgp->sg_rgb_fg == -1 && sgp->sg_rgb_bg == -1) {
sgp->sg_cterm_attr = sgp->sg_cterm;
} else {
at_en.ae_attr = abstract_ui ? sgp->sg_gui : sgp->sg_cterm;
at_en.ae_attr = sgp->sg_gui;
at_en.ae_u.cterm.fg_color = sgp->sg_cterm_fg;
at_en.ae_u.cterm.bg_color = sgp->sg_cterm_bg;
// FIXME(tarruda): The "unset value" for rgb is -1, but since hlgroup is
@@ -7348,18 +7300,11 @@ static void syn_unadd_group(void)
*/
int syn_id2attr(int hl_id)
{
int attr;
struct hl_group *sgp;
hl_id = syn_get_final_id(hl_id);
sgp = &HL_TABLE()[hl_id - 1]; /* index is ID minus one */
if (abstract_ui || t_colors > 1)
attr = sgp->sg_cterm_attr;
else
attr = sgp->sg_term_attr;
return attr;
return sgp->sg_cterm_attr;
}