mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	Merge pull request #9289 from bfredl/nsclear
API: rename nvim_buf_clear_highlight to nvim_buf_clear_namespace
This commit is contained in:
		| @@ -913,7 +913,7 @@ ArrayOf(Integer, 2) nvim_buf_get_mark(Buffer buffer, String name, Error *err) | |||||||
| /// create a namespace, use |nvim_create_namespace| which returns a namespace | /// create a namespace, use |nvim_create_namespace| which returns a namespace | ||||||
| /// id. Pass it in to this function as `ns_id` to add highlights to the | /// id. Pass it in to this function as `ns_id` to add highlights to the | ||||||
| /// namespace. All highlights in the same namespace can then be cleared with | /// namespace. All highlights in the same namespace can then be cleared with | ||||||
| /// single call to |nvim_buf_clear_highlight|. If the highlight never will be | /// single call to |nvim_buf_clear_namespace|. If the highlight never will be | ||||||
| /// deleted by an API call, pass `ns_id = -1`. | /// deleted by an API call, pass `ns_id = -1`. | ||||||
| /// | /// | ||||||
| /// As a shorthand, `ns_id = 0` can be used to create a new namespace for the | /// As a shorthand, `ns_id = 0` can be used to create a new namespace for the | ||||||
| @@ -967,23 +967,23 @@ Integer nvim_buf_add_highlight(Buffer buffer, | |||||||
|   return ns_id; |   return ns_id; | ||||||
| } | } | ||||||
|  |  | ||||||
| /// Clears highlights and virtual text from a given source id and range of lines | /// Clears namespaced objects, highlights and virtual text, from a line range | ||||||
| /// | /// | ||||||
| /// To clear a source group in the entire buffer, pass in 0 and -1 to | /// To clear the namespace in the entire buffer, pass in 0 and -1 to | ||||||
| /// line_start and line_end respectively. | /// line_start and line_end respectively. | ||||||
| /// | /// | ||||||
| /// @param buffer     Buffer handle | /// @param buffer     Buffer handle | ||||||
| /// @param ns_id      Namespace to clear, or -1 to clear all. | /// @param ns_id      Namespace to clear, or -1 to clear all namespaces. | ||||||
| /// @param line_start Start of range of lines to clear | /// @param line_start Start of range of lines to clear | ||||||
| /// @param line_end   End of range of lines to clear (exclusive) or -1 to clear | /// @param line_end   End of range of lines to clear (exclusive) or -1 to clear | ||||||
| ///                   to end of file. | ///                   to end of buffer. | ||||||
| /// @param[out] err   Error details, if any | /// @param[out] err   Error details, if any | ||||||
| void nvim_buf_clear_highlight(Buffer buffer, | void nvim_buf_clear_namespace(Buffer buffer, | ||||||
|                               Integer ns_id, |                               Integer ns_id, | ||||||
|                               Integer line_start, |                               Integer line_start, | ||||||
|                               Integer line_end, |                               Integer line_end, | ||||||
|                               Error *err) |                               Error *err) | ||||||
|   FUNC_API_SINCE(1) |   FUNC_API_SINCE(5) | ||||||
| { | { | ||||||
|   buf_T *buf = find_buffer_by_handle(buffer, err); |   buf_T *buf = find_buffer_by_handle(buffer, err); | ||||||
|   if (!buf) { |   if (!buf) { | ||||||
| @@ -1001,6 +1001,26 @@ void nvim_buf_clear_highlight(Buffer buffer, | |||||||
|   bufhl_clear_line_range(buf, (int)ns_id, (int)line_start+1, (int)line_end); |   bufhl_clear_line_range(buf, (int)ns_id, (int)line_start+1, (int)line_end); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /// Clears highlights and virtual text from namespace and range of lines | ||||||
|  | /// | ||||||
|  | /// @deprecated use |nvim_buf_clear_namespace|. | ||||||
|  | /// | ||||||
|  | /// @param buffer     Buffer handle | ||||||
|  | /// @param ns_id      Namespace to clear, or -1 to clear all. | ||||||
|  | /// @param line_start Start of range of lines to clear | ||||||
|  | /// @param line_end   End of range of lines to clear (exclusive) or -1 to clear | ||||||
|  | ///                   to end of file. | ||||||
|  | /// @param[out] err   Error details, if any | ||||||
|  | void nvim_buf_clear_highlight(Buffer buffer, | ||||||
|  |                               Integer ns_id, | ||||||
|  |                               Integer line_start, | ||||||
|  |                               Integer line_end, | ||||||
|  |                               Error *err) | ||||||
|  |   FUNC_API_SINCE(1) | ||||||
|  | { | ||||||
|  |   nvim_buf_clear_namespace(buffer, ns_id, line_start, line_end, err); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| /// Set the virtual text (annotation) for a buffer line. | /// Set the virtual text (annotation) for a buffer line. | ||||||
| /// | /// | ||||||
| @@ -1012,10 +1032,10 @@ void nvim_buf_clear_highlight(Buffer buffer, | |||||||
| /// | /// | ||||||
| /// Namespaces are used to support batch deletion/updating of virtual text. | /// Namespaces are used to support batch deletion/updating of virtual text. | ||||||
| /// To create a namespace, use |nvim_create_namespace|. Virtual text is | /// To create a namespace, use |nvim_create_namespace|. Virtual text is | ||||||
| /// cleared using |nvim_buf_clear_highlight|. The same `ns_id` can be used for | /// cleared using |nvim_buf_clear_namespace|. The same `ns_id` can be used for | ||||||
| /// both virtual text and highlights added by |nvim_buf_add_highlight|, both | /// both virtual text and highlights added by |nvim_buf_add_highlight|, both | ||||||
| /// can then be cleared with a single call to |nvim_buf_clear_highlight|. If the | /// can then be cleared with a single call to |nvim_buf_clear_namespace|. If the | ||||||
| /// virtual text never will be cleared by an API call, pass `src_id = -1`. | /// virtual text never will be cleared by an API call, pass `ns_id = -1`. | ||||||
| /// | /// | ||||||
| /// As a shorthand, `ns_id = 0` can be used to create a new namespace for the | /// As a shorthand, `ns_id = 0` can be used to create a new namespace for the | ||||||
| /// virtual text, the allocated id is then returned. | /// virtual text, the allocated id is then returned. | ||||||
|   | |||||||
| @@ -37,8 +37,8 @@ describe('Buffer highlighting', function() | |||||||
|     screen:detach() |     screen:detach() | ||||||
|   end) |   end) | ||||||
|  |  | ||||||
|   local add_hl = curbufmeths.add_highlight |   local add_highlight = curbufmeths.add_highlight | ||||||
|   local clear_hl = curbufmeths.clear_highlight |   local clear_namespace = curbufmeths.clear_namespace | ||||||
|  |  | ||||||
|   it('works', function() |   it('works', function() | ||||||
|     insert([[ |     insert([[ | ||||||
| @@ -57,8 +57,8 @@ describe('Buffer highlighting', function() | |||||||
|                                               | |                                               | | ||||||
|     ]]) |     ]]) | ||||||
|  |  | ||||||
|     add_hl(-1, "String", 0 , 10, 14) |     add_highlight(-1, "String", 0 , 10, 14) | ||||||
|     add_hl(-1, "Statement", 1 , 5, -1) |     add_highlight(-1, "Statement", 1 , 5, -1) | ||||||
|  |  | ||||||
|     screen:expect([[ |     screen:expect([[ | ||||||
|       these are {2:some} lines                    | |       these are {2:some} lines                    | | ||||||
| @@ -83,7 +83,7 @@ describe('Buffer highlighting', function() | |||||||
|                                               | |                                               | | ||||||
|     ]]) |     ]]) | ||||||
|  |  | ||||||
|     clear_hl(-1, 0, -1) |     clear_namespace(-1, 0, -1) | ||||||
|     screen:expect([[ |     screen:expect([[ | ||||||
|       these are some lines                    | |       these are some lines                    | | ||||||
|       ^                                        | |       ^                                        | | ||||||
| @@ -96,7 +96,7 @@ describe('Buffer highlighting', function() | |||||||
|     ]]) |     ]]) | ||||||
|   end) |   end) | ||||||
|  |  | ||||||
|   describe('support adding multiple sources', function() |   describe('support using multiple namespaces', function() | ||||||
|     local id1, id2 |     local id1, id2 | ||||||
|     before_each(function() |     before_each(function() | ||||||
|       insert([[ |       insert([[ | ||||||
| @@ -106,21 +106,21 @@ describe('Buffer highlighting', function() | |||||||
|         from different sources]]) |         from different sources]]) | ||||||
|  |  | ||||||
|       command("hi ImportantWord gui=bold cterm=bold") |       command("hi ImportantWord gui=bold cterm=bold") | ||||||
|       id1 = add_hl(0, "ImportantWord", 0, 2, 8) |       id1 = add_highlight(0, "ImportantWord", 0, 2, 8) | ||||||
|       add_hl(id1, "ImportantWord", 1, 12, -1) |       add_highlight(id1, "ImportantWord", 1, 12, -1) | ||||||
|       add_hl(id1, "ImportantWord", 2, 0, 9) |       add_highlight(id1, "ImportantWord", 2, 0, 9) | ||||||
|       add_hl(id1, "ImportantWord", 3, 5, 14) |       add_highlight(id1, "ImportantWord", 3, 5, 14) | ||||||
|  |  | ||||||
|       -- add_highlight can be called like this to get a new source |       -- add_highlight can be called like this to get a new source | ||||||
|       -- without adding any highlight |       -- without adding any highlight | ||||||
|       id2 = add_hl(0, "", 0, 0, 0) |       id2 = add_highlight(0, "", 0, 0, 0) | ||||||
|       neq(id1, id2) |       neq(id1, id2) | ||||||
|  |  | ||||||
|       add_hl(id2, "Special", 0, 2, 8) |       add_highlight(id2, "Special", 0, 2, 8) | ||||||
|       add_hl(id2, "Identifier", 1, 3, 8) |       add_highlight(id2, "Identifier", 1, 3, 8) | ||||||
|       add_hl(id2, "Special", 1, 14, 20) |       add_highlight(id2, "Special", 1, 14, 20) | ||||||
|       add_hl(id2, "Underlined", 2, 6, 12) |       add_highlight(id2, "Underlined", 2, 6, 12) | ||||||
|       add_hl(id2, "Underlined", 3, 0, 9) |       add_highlight(id2, "Underlined", 3, 0, 9) | ||||||
|  |  | ||||||
|       screen:expect([[ |       screen:expect([[ | ||||||
|         a {5:longer} example                        | |         a {5:longer} example                        | | ||||||
| @@ -135,7 +135,21 @@ describe('Buffer highlighting', function() | |||||||
|     end) |     end) | ||||||
|  |  | ||||||
|     it('and clearing the first added', function() |     it('and clearing the first added', function() | ||||||
|       clear_hl(id1, 0, -1) |       clear_namespace(id1, 0, -1) | ||||||
|  |       screen:expect([[ | ||||||
|  |         a {4:longer} example                        | | ||||||
|  |         in {6:order} to de{4:monstr}ate                 | | ||||||
|  |         combin{9:ing hi}ghlights                    | | ||||||
|  |         {9:from diff}erent source^s                  | | ||||||
|  |         {1:~                                       }| | ||||||
|  |         {1:~                                       }| | ||||||
|  |         {1:~                                       }| | ||||||
|  |                                                 | | ||||||
|  |       ]]) | ||||||
|  |     end) | ||||||
|  |  | ||||||
|  |     it('and clearing using deprecated name', function() | ||||||
|  |       curbufmeths.clear_highlight(id1, 0, -1) | ||||||
|       screen:expect([[ |       screen:expect([[ | ||||||
|         a {4:longer} example                        | |         a {4:longer} example                        | | ||||||
|         in {6:order} to de{4:monstr}ate                 | |         in {6:order} to de{4:monstr}ate                 | | ||||||
| @@ -149,7 +163,7 @@ describe('Buffer highlighting', function() | |||||||
|     end) |     end) | ||||||
|  |  | ||||||
|     it('and clearing the second added', function() |     it('and clearing the second added', function() | ||||||
|       clear_hl(id2, 0, -1) |       clear_namespace(id2, 0, -1) | ||||||
|       screen:expect([[ |       screen:expect([[ | ||||||
|         a {7:longer} example                        | |         a {7:longer} example                        | | ||||||
|         in order to {7:demonstrate}                 | |         in order to {7:demonstrate}                 | | ||||||
| @@ -163,9 +177,9 @@ describe('Buffer highlighting', function() | |||||||
|     end) |     end) | ||||||
|  |  | ||||||
|     it('and clearing line ranges', function() |     it('and clearing line ranges', function() | ||||||
|       clear_hl(-1, 0, 1) |       clear_namespace(-1, 0, 1) | ||||||
|       clear_hl(id1, 1, 2) |       clear_namespace(id1, 1, 2) | ||||||
|       clear_hl(id2, 2, -1) |       clear_namespace(id2, 2, -1) | ||||||
|       screen:expect([[ |       screen:expect([[ | ||||||
|         a longer example                        | |         a longer example                        | | ||||||
|         in {6:order} to de{4:monstr}ate                 | |         in {6:order} to de{4:monstr}ate                 | | ||||||
| @@ -208,9 +222,9 @@ describe('Buffer highlighting', function() | |||||||
|   it('prioritizes latest added highlight', function() |   it('prioritizes latest added highlight', function() | ||||||
|     insert([[ |     insert([[ | ||||||
|       three overlapping colors]]) |       three overlapping colors]]) | ||||||
|     add_hl(0, "Identifier", 0, 6, 17) |     add_highlight(0, "Identifier", 0, 6, 17) | ||||||
|     add_hl(0, "String", 0, 14, 23) |     add_highlight(0, "String", 0, 14, 23) | ||||||
|     local id = add_hl(0, "Special", 0, 0, 9) |     local id = add_highlight(0, "Special", 0, 0, 9) | ||||||
|  |  | ||||||
|     screen:expect([[ |     screen:expect([[ | ||||||
|       {4:three ove}{6:rlapp}{2:ing color}^s                | |       {4:three ove}{6:rlapp}{2:ing color}^s                | | ||||||
| @@ -223,7 +237,7 @@ describe('Buffer highlighting', function() | |||||||
|                                               | |                                               | | ||||||
|     ]]) |     ]]) | ||||||
|  |  | ||||||
|     clear_hl(id, 0, 1) |     clear_namespace(id, 0, 1) | ||||||
|     screen:expect([[ |     screen:expect([[ | ||||||
|       three {6:overlapp}{2:ing color}^s                | |       three {6:overlapp}{2:ing color}^s                | | ||||||
|       {1:~                                       }| |       {1:~                                       }| | ||||||
| @@ -239,8 +253,8 @@ describe('Buffer highlighting', function() | |||||||
|   it('works with multibyte text', function() |   it('works with multibyte text', function() | ||||||
|     insert([[ |     insert([[ | ||||||
|       Ta båten över sjön!]]) |       Ta båten över sjön!]]) | ||||||
|     add_hl(-1, "Identifier", 0, 3, 9) |     add_highlight(-1, "Identifier", 0, 3, 9) | ||||||
|     add_hl(-1, "String", 0, 16, 21) |     add_highlight(-1, "String", 0, 16, 21) | ||||||
|  |  | ||||||
|     screen:expect([[ |     screen:expect([[ | ||||||
|       Ta {6:båten} över {2:sjön}^!                     | |       Ta {6:båten} över {2:sjön}^!                     | | ||||||
| @@ -257,7 +271,7 @@ describe('Buffer highlighting', function() | |||||||
|   it('works with new syntax groups', function() |   it('works with new syntax groups', function() | ||||||
|     insert([[ |     insert([[ | ||||||
|       fancy code in a new fancy language]]) |       fancy code in a new fancy language]]) | ||||||
|     add_hl(-1, "FancyLangItem", 0, 0, 5) |     add_highlight(-1, "FancyLangItem", 0, 0, 5) | ||||||
|     screen:expect([[ |     screen:expect([[ | ||||||
|       fancy code in a new fancy languag^e      | |       fancy code in a new fancy languag^e      | | ||||||
|       {1:~                                       }| |       {1:~                                       }| | ||||||
| @@ -321,7 +335,7 @@ describe('Buffer highlighting', function() | |||||||
|                                                 | |                                                 | | ||||||
|       ]]) |       ]]) | ||||||
|  |  | ||||||
|       clear_hl(id1, 0, -1) |       clear_namespace(id1, 0, -1) | ||||||
|       screen:expect([[ |       screen:expect([[ | ||||||
|         ^1 + 2                                   | |         ^1 + 2                                   | | ||||||
|         3 +                                     | |         3 +                                     | | ||||||
| @@ -449,7 +463,7 @@ describe('Buffer highlighting', function() | |||||||
|                                                 | |                                                 | | ||||||
|       ]]) |       ]]) | ||||||
|  |  | ||||||
|       clear_hl(-1, 0, -1) |       clear_namespace(-1, 0, -1) | ||||||
|       screen:expect([[ |       screen:expect([[ | ||||||
|         ^1 + 2{1:$}                                  | |         ^1 + 2{1:$}                                  | | ||||||
|         3 +{1:$}                                    | |         3 +{1:$}                                    | | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Björn Linse
					Björn Linse