mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	 Kovas Palunas
					Kovas Palunas
				
			
				
					committed by
					
						 Justin M. Keyes
						Justin M. Keyes
					
				
			
			
				
	
			
			
			 Justin M. Keyes
						Justin M. Keyes
					
				
			
						parent
						
							0480e991d2
						
					
				
				
					commit
					fdd8dcae01
				
			| @@ -107,7 +107,9 @@ local function highlight_line(line, linenr) | ||||
|       -- followed by '[', then a series of parameter and intermediate bytes in | ||||
|       -- the range 0x20 - 0x3f, then 'm'. (See ECMA-48, sections 5.4 & 8.3.117) | ||||
|       local sgr = prev_char:match("^%[([\032-\063]*)m$") | ||||
|       if sgr then | ||||
|       -- Ignore escape sequences with : characters, as specified by ITU's T.416 | ||||
|       -- Open Document Architecture and interchange format. | ||||
|       if sgr and not string.find(sgr, ":") then | ||||
|         local match | ||||
|         while sgr and #sgr > 0 do | ||||
|           -- Match against SGR parameters, which may be separated by ';' | ||||
|   | ||||
| @@ -1,22 +1,18 @@ | ||||
| local helpers = require('test.functional.helpers')(after_each) | ||||
| local plugin_helpers = require('test.functional.plugin.helpers') | ||||
|  | ||||
| local Screen = require('test.functional.ui.screen') | ||||
|  | ||||
| local command, eval, rawfeed = helpers.command, helpers.eval, helpers.rawfeed | ||||
|  | ||||
| before_each(function() | ||||
|   plugin_helpers.reset() | ||||
|   helpers.clear() | ||||
|   command('syntax on') | ||||
|   command('set filetype=man') | ||||
| end) | ||||
| local clear = helpers.clear | ||||
|  | ||||
| describe(':Man', function() | ||||
|   describe('man.lua: highlight_line()', function() | ||||
|     local screen | ||||
|  | ||||
|     before_each(function() | ||||
|       plugin_helpers.reset() | ||||
|       clear() | ||||
|       command('syntax on') | ||||
|       command('set filetype=man') | ||||
|       command('syntax off')  -- Ignore syntax groups | ||||
|       screen = Screen.new(52, 5) | ||||
|       screen:set_default_attr_ids({ | ||||
| @@ -131,5 +127,22 @@ describe(':Man', function() | ||||
|                                                           | | ||||
|       ]]) | ||||
|     end) | ||||
|  | ||||
|     it('handles : characters in input', function() | ||||
|       rawfeed([[ | ||||
|         i<C-v><C-[>[40m    0  <C-v><C-[>[41m    1  <C-v><C-[>[42m    2  <C-v><C-[>[43m    3 | ||||
|         <C-v><C-[>[44m    4  <C-v><C-[>[45m    5  <C-v><C-[>[46m    6  <C-v><C-[>[47m    7  <C-v><C-[>[100m    8  <C-v><C-[>[101m    9 | ||||
|         <C-v><C-[>[102m   10  <C-v><C-[>[103m   11  <C-v><C-[>[104m   12  <C-v><C-[>[105m   13  <C-v><C-[>[106m   14  <C-v><C-[>[107m   15 | ||||
|         <C-v><C-[>[48:5:16m   16  <ESC>]]) | ||||
|       eval('man#init_pager()') | ||||
|  | ||||
|       screen:expect([[ | ||||
|        ^    0      1      2      3                          | | ||||
|            4      5      6      7      8      9            | | ||||
|           10     11     12     13     14     15            | | ||||
|           16                                               | | ||||
|                                                            | | ||||
|       ]]) | ||||
|     end) | ||||
|   end) | ||||
| end) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user