mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	fix(lsp): remove superfluous on_detach callback from semantic tokens module (#29188)
LspDetach is now triggered by the main on_detach callback that is added
when an LSP client is attached to a buffer. The semantic_tokens module
already includes a LspDetach handler that does the right thing. When the
LspDetach trigger was added to the main LSP on_detach, it created a race
condition in semantic tokens when a buffer was deleted that would
trigger both its own on_detach and the LspDetach handlers. If the former
came last, an error was thrown trying to delete a non-existent augroup
(destroy() was being called twice).
(cherry picked from commit 43581011e4)
Co-authored-by: jdrouhard <john@drouhard.dev>
			
			
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							8dece36427
						
					
				
				
					commit
					dfff482efe
				
			@@ -197,12 +197,6 @@ function STHighlighter.new(bufnr)
 | 
			
		||||
        highlighter:send_request()
 | 
			
		||||
      end
 | 
			
		||||
    end,
 | 
			
		||||
    on_detach = function(_, buf)
 | 
			
		||||
      local highlighter = STHighlighter.active[buf]
 | 
			
		||||
      if highlighter then
 | 
			
		||||
        highlighter:destroy()
 | 
			
		||||
      end
 | 
			
		||||
    end,
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  api.nvim_create_autocmd({ 'BufWinEnter', 'InsertLeave' }, {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user