mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	fix(statuscolumn): update number hl for each screen line
(cherry picked from commit b2332e0853)
			
			
This commit is contained in:
		 zeertzjq
					zeertzjq
				
			
				
					committed by
					
						![github-actions[bot]](/assets/img/avatar_default.png) github-actions[bot]
						github-actions[bot]
					
				
			
			
				
	
			
			
			![github-actions[bot]](/assets/img/avatar_default.png) github-actions[bot]
						github-actions[bot]
					
				
			
						parent
						
							926b8f9120
						
					
				
				
					commit
					a89c385f33
				
			| @@ -1308,8 +1308,7 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool nochange, | |||||||
|     statuscol.width = win_col_off(wp) - (cmdwin_type != 0 && wp == curwin); |     statuscol.width = win_col_off(wp) - (cmdwin_type != 0 && wp == curwin); | ||||||
|     statuscol.use_cul = use_cursor_line_highlight(wp, lnum); |     statuscol.use_cul = use_cursor_line_highlight(wp, lnum); | ||||||
|     statuscol.sign_cul_id = statuscol.use_cul ? sign_cul.hl_id : 0; |     statuscol.sign_cul_id = statuscol.use_cul ? sign_cul.hl_id : 0; | ||||||
|     statuscol.num_attr = sign_num.hl_id ? syn_id2attr(sign_num.hl_id) |     statuscol.num_attr = sign_num.hl_id > 0 ? syn_id2attr(sign_num.hl_id) : 0; | ||||||
|                                         : get_line_number_attr(wp, &wlv); |  | ||||||
|   } else { |   } else { | ||||||
|     if (sign_cul.hl_id > 0) { |     if (sign_cul.hl_id > 0) { | ||||||
|       sign_cul_attr = syn_id2attr(sign_cul.hl_id); |       sign_cul_attr = syn_id2attr(sign_cul.hl_id); | ||||||
| @@ -1602,6 +1601,9 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool nochange, | |||||||
|         wlv.draw_state = WL_STC; |         wlv.draw_state = WL_STC; | ||||||
|         // Draw the 'statuscolumn' if option is set. |         // Draw the 'statuscolumn' if option is set. | ||||||
|         if (statuscol.draw) { |         if (statuscol.draw) { | ||||||
|  |           if (sign_num.hl_id == 0) { | ||||||
|  |             statuscol.num_attr = get_line_number_attr(wp, &wlv); | ||||||
|  |           } | ||||||
|           if (statuscol.textp == NULL) { |           if (statuscol.textp == NULL) { | ||||||
|             v = (ptr - line); |             v = (ptr - line); | ||||||
|             get_statuscol_str(wp, lnum, wlv.row - startrow - wlv.filler_lines, &statuscol); |             get_statuscol_str(wp, lnum, wlv.row - startrow - wlv.filler_lines, &statuscol); | ||||||
|   | |||||||
| @@ -473,7 +473,7 @@ describe('statuscolumn', function() | |||||||
|       aaaaaaaaa                                            | |       aaaaaaaaa                                            | | ||||||
|       {1:virtual-2 15}virt_line1                               | |       {1:virtual-2 15}virt_line1                               | | ||||||
|       {1:virtual-2 15}virt_line2                               | |       {1:virtual-2 15}virt_line2                               | | ||||||
|       {1:buffer  0 16}{5:^aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}| |       {4:buffer  0 16}{5:^aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}| | ||||||
|       {5:aaaaaaaaa                                            }| |       {5:aaaaaaaaa                                            }| | ||||||
|       {1:virtual-1 16}END                                      | |       {1:virtual-1 16}END                                      | | ||||||
|       {0:~                                                    }| |       {0:~                                                    }| | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user