comparison src/term.c @ 20619:68c206d3a251 v8.2.0863

patch 8.2.0863: cannot set a separate color for underline/undercurl Commit: https://github.com/vim/vim/commit/e023e88bed3f2e0a7ea4cf10cac2de80bc9c271c Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 31 16:42:30 2020 +0200 patch 8.2.0863: cannot set a separate color for underline/undercurl Problem: Cannot set a separate color for underline/undercurl. Solution: Add the t_AU and t_8u termcap codes. (Timur Celik, closes https://github.com/vim/vim/issues/6011)
author Bram Moolenaar <Bram@vim.org>
date Sun, 31 May 2020 16:45:03 +0200
parents c2570baa2e4c
children 5481c982a279
comparison
equal deleted inserted replaced
20618:8b79d6353530 20619:68c206d3a251
926 {(int)KS_U7, IF_EB("\033[6n", ESC_STR "[6n")}, 926 {(int)KS_U7, IF_EB("\033[6n", ESC_STR "[6n")},
927 # ifdef FEAT_TERMGUICOLORS 927 # ifdef FEAT_TERMGUICOLORS
928 // These are printf strings, not terminal codes. 928 // These are printf strings, not terminal codes.
929 {(int)KS_8F, IF_EB("\033[38;2;%lu;%lu;%lum", ESC_STR "[38;2;%lu;%lu;%lum")}, 929 {(int)KS_8F, IF_EB("\033[38;2;%lu;%lu;%lum", ESC_STR "[38;2;%lu;%lu;%lum")},
930 {(int)KS_8B, IF_EB("\033[48;2;%lu;%lu;%lum", ESC_STR "[48;2;%lu;%lu;%lum")}, 930 {(int)KS_8B, IF_EB("\033[48;2;%lu;%lu;%lum", ESC_STR "[48;2;%lu;%lu;%lum")},
931 {(int)KS_8U, IF_EB("\033[58;2;%lu;%lu;%lum", ESC_STR "[58;2;%lu;%lu;%lum")},
931 # endif 932 # endif
933 {(int)KS_CAU, IF_EB("\033[58;5;%dm", ESC_STR "[58;5;%dm")},
932 {(int)KS_CBE, IF_EB("\033[?2004h", ESC_STR "[?2004h")}, 934 {(int)KS_CBE, IF_EB("\033[?2004h", ESC_STR "[?2004h")},
933 {(int)KS_CBD, IF_EB("\033[?2004l", ESC_STR "[?2004l")}, 935 {(int)KS_CBD, IF_EB("\033[?2004l", ESC_STR "[?2004l")},
934 {(int)KS_CST, IF_EB("\033[22;2t", ESC_STR "[22;2t")}, 936 {(int)KS_CST, IF_EB("\033[22;2t", ESC_STR "[22;2t")},
935 {(int)KS_CRT, IF_EB("\033[23;2t", ESC_STR "[23;2t")}, 937 {(int)KS_CRT, IF_EB("\033[23;2t", ESC_STR "[23;2t")},
936 {(int)KS_SSI, IF_EB("\033[22;1t", ESC_STR "[22;1t")}, 938 {(int)KS_SSI, IF_EB("\033[22;1t", ESC_STR "[22;1t")},
1185 {(int)KS_CAB, "[CAB%d]"}, 1187 {(int)KS_CAB, "[CAB%d]"},
1186 {(int)KS_CAF, "[CAF%d]"}, 1188 {(int)KS_CAF, "[CAF%d]"},
1187 {(int)KS_CSB, "[CSB%d]"}, 1189 {(int)KS_CSB, "[CSB%d]"},
1188 {(int)KS_CSF, "[CSF%d]"}, 1190 {(int)KS_CSF, "[CSF%d]"},
1189 # endif 1191 # endif
1192 {(int)KS_CAU, "[CAU%d]"},
1190 {(int)KS_OP, "[OP]"}, 1193 {(int)KS_OP, "[OP]"},
1191 {(int)KS_LE, "[LE]"}, 1194 {(int)KS_LE, "[LE]"},
1192 {(int)KS_CL, "[CL]"}, 1195 {(int)KS_CL, "[CL]"},
1193 {(int)KS_VI, "[VI]"}, 1196 {(int)KS_VI, "[VI]"},
1194 {(int)KS_VE, "[VE]"}, 1197 {(int)KS_VE, "[VE]"},
1615 {KS_CM, "cm"}, {KS_SR, "sr"}, 1618 {KS_CM, "cm"}, {KS_SR, "sr"},
1616 {KS_CRI,"RI"}, {KS_VB, "vb"}, {KS_KS, "ks"}, 1619 {KS_CRI,"RI"}, {KS_VB, "vb"}, {KS_KS, "ks"},
1617 {KS_KE, "ke"}, {KS_TI, "ti"}, {KS_TE, "te"}, 1620 {KS_KE, "ke"}, {KS_TI, "ti"}, {KS_TE, "te"},
1618 {KS_CTI, "TI"}, {KS_CTE, "TE"}, 1621 {KS_CTI, "TI"}, {KS_CTE, "TE"},
1619 {KS_BC, "bc"}, {KS_CSB,"Sb"}, {KS_CSF,"Sf"}, 1622 {KS_BC, "bc"}, {KS_CSB,"Sb"}, {KS_CSF,"Sf"},
1620 {KS_CAB,"AB"}, {KS_CAF,"AF"}, {KS_LE, "le"}, 1623 {KS_CAB,"AB"}, {KS_CAF,"AF"}, {KS_CAU,"AU"},
1624 {KS_LE, "le"},
1621 {KS_ND, "nd"}, {KS_OP, "op"}, {KS_CRV, "RV"}, 1625 {KS_ND, "nd"}, {KS_OP, "op"}, {KS_CRV, "RV"},
1622 {KS_VS, "vs"}, {KS_CVS, "VS"}, 1626 {KS_VS, "vs"}, {KS_CVS, "VS"},
1623 {KS_CIS, "IS"}, {KS_CIE, "IE"}, 1627 {KS_CIS, "IS"}, {KS_CIE, "IE"},
1624 {KS_CSC, "SC"}, {KS_CEC, "EC"}, 1628 {KS_CSC, "SC"}, {KS_CEC, "EC"},
1625 {KS_TS, "ts"}, {KS_FS, "fs"}, 1629 {KS_TS, "ts"}, {KS_FS, "fs"},
1626 {KS_CWP, "WP"}, {KS_CWS, "WS"}, 1630 {KS_CWP, "WP"}, {KS_CWS, "WS"},
1627 {KS_CSI, "SI"}, {KS_CEI, "EI"}, 1631 {KS_CSI, "SI"}, {KS_CEI, "EI"},
1628 {KS_U7, "u7"}, {KS_RFG, "RF"}, {KS_RBG, "RB"}, 1632 {KS_U7, "u7"}, {KS_RFG, "RF"}, {KS_RBG, "RB"},
1629 {KS_8F, "8f"}, {KS_8B, "8b"}, 1633 {KS_8F, "8f"}, {KS_8B, "8b"}, {KS_8U, "8u"},
1630 {KS_CBE, "BE"}, {KS_CBD, "BD"}, 1634 {KS_CBE, "BE"}, {KS_CBD, "BD"},
1631 {KS_CPS, "PS"}, {KS_CPE, "PE"}, 1635 {KS_CPS, "PS"}, {KS_CPE, "PE"},
1632 {KS_CST, "ST"}, {KS_CRT, "RT"}, 1636 {KS_CST, "ST"}, {KS_CRT, "RT"},
1633 {KS_SSI, "Si"}, {KS_SRI, "Ri"}, 1637 {KS_SSI, "Si"}, {KS_SRI, "Ri"},
1634 {(enum SpecialKey)0, NULL} 1638 {(enum SpecialKey)0, NULL}
2879 term_color(T_CAB, n); 2883 term_color(T_CAB, n);
2880 else if (*T_CSB) 2884 else if (*T_CSB)
2881 term_color(T_CSB, n); 2885 term_color(T_CSB, n);
2882 } 2886 }
2883 2887
2888 void
2889 term_ul_color(int n)
2890 {
2891 if (*T_CAU)
2892 term_color(T_CAU, n);
2893 }
2894
2884 /* 2895 /*
2885 * Return "dark" or "light" depending on the kind of terminal. 2896 * Return "dark" or "light" depending on the kind of terminal.
2886 * This is just guessing! Recognized are: 2897 * This is just guessing! Recognized are:
2887 * "linux" Linux console 2898 * "linux" Linux console
2888 * "screen.linux" Linux console with screen 2899 * "screen.linux" Linux console with screen
2949 2960
2950 void 2961 void
2951 term_bg_rgb_color(guicolor_T rgb) 2962 term_bg_rgb_color(guicolor_T rgb)
2952 { 2963 {
2953 term_rgb_color(T_8B, rgb); 2964 term_rgb_color(T_8B, rgb);
2965 }
2966
2967 void
2968 term_ul_rgb_color(guicolor_T rgb)
2969 {
2970 term_rgb_color(T_8U, rgb);
2954 } 2971 }
2955 #endif 2972 #endif
2956 2973
2957 #if (defined(FEAT_TITLE) && (defined(UNIX) || defined(VMS) \ 2974 #if (defined(FEAT_TITLE) && (defined(UNIX) || defined(VMS) \
2958 || defined(MACOS_X))) || defined(PROTO) 2975 || defined(MACOS_X))) || defined(PROTO)