diff src/drawline.c @ 22013:125051dff419 v8.2.1556

patch 8.2.1556: cursorline highlighting always overrules sign highlighting Commit: https://github.com/vim/vim/commit/39f7aa3c3124065b50f182b1d2f7ac92a0918656 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Aug 31 22:00:05 2020 +0200 patch 8.2.1556: cursorline highlighting always overrules sign highlighting Problem: Cursorline highlighting always overrules sign highlighting. Solution: Combine the highlighting, use the priority to decide how. (closes #6812)
author Bram Moolenaar <Bram@vim.org>
date Mon, 31 Aug 2020 22:15:09 +0200
parents 20133655107a
children 47ebfc274e3f
line wrap: on
line diff
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -909,7 +909,19 @@ win_line(
 	    if (!cul_screenline)
 	    {
 		cul_attr = HL_ATTR(HLF_CUL);
-		line_attr = cul_attr;
+# ifdef FEAT_SIGNS
+		// Combine the 'cursorline' and sign highlighting, depending on
+		// the sign priority.
+		if (sign_present && sattr.sat_linehl > 0)
+		{
+		    if (sattr.sat_priority >= 100)
+			line_attr = hl_combine_attr(cul_attr, line_attr);
+		    else
+			line_attr = hl_combine_attr(line_attr, cul_attr);
+		}
+		else
+# endif
+		    line_attr = cul_attr;
 		wp->w_last_cursorline = wp->w_cursor.lnum;
 	    }
 	    else