mirror of
				https://github.com/folke/lazy.nvim.git
				synced 2025-10-31 14:31:04 +00:00 
			
		
		
		
	fix: remove lazy keymaps with the correct mode. Fixes #97
This commit is contained in:
		
					parent
					
						
							
								42f5aa76e2
							
						
					
				
			
			
				commit
				
					
						56890ce5f4
					
				
			
		
					 1 changed files with 11 additions and 5 deletions
				
			
		|  | @ -28,7 +28,10 @@ end | |||
| 
 | ||||
| ---@param value string|LazyKeys | ||||
| function M.parse(value) | ||||
|   return (type(value) == "string" and { value } or value) --[[@as LazyKeys]] | ||||
|   local ret = vim.deepcopy(value) | ||||
|   ret = (type(ret) == "string" and { ret } or ret) --[[@as LazyKeys]] | ||||
|   ret.mode = ret.mode or "n" | ||||
|   return ret | ||||
| end | ||||
| 
 | ||||
| function M.opts(keys) | ||||
|  | @ -45,21 +48,24 @@ end | |||
| function M:_add(value) | ||||
|   local keys = M.parse(value) | ||||
|   local lhs = keys[1] | ||||
|   vim.keymap.set(keys.mode or "n", lhs, function() | ||||
|   local opts = M.opts(keys) | ||||
|   opts.noremap = false | ||||
|   vim.keymap.set(keys.mode, lhs, function() | ||||
|     Util.track({ keys = lhs }) | ||||
|     self:_del(value) | ||||
|     Loader.load(self.active[value], { keys = lhs }) | ||||
|     M.retrigger(lhs) | ||||
|     Util.track() | ||||
|   end, M.opts(keys)) | ||||
|   end, opts) | ||||
| end | ||||
| 
 | ||||
| ---@param value string|LazyKeys | ||||
| function M:_del(value) | ||||
|   local keys = M.parse(value) | ||||
|   pcall(vim.keymap.del, "n", keys[1]) | ||||
|   vim.pretty_print(keys) | ||||
|   pcall(vim.keymap.del, keys.mode, keys[1]) | ||||
|   if keys[2] then | ||||
|     vim.keymap.set(keys.mode or "n", keys[1], keys[2], M.opts(keys)) | ||||
|     vim.keymap.set(keys.mode, keys[1], keys[2], M.opts(keys)) | ||||
|   end | ||||
| end | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue