added golang auto arrange and import for modules
This commit is contained in:
		
							parent
							
								
									4e78174734
								
							
						
					
					
						commit
						68f49f0459
					
				
							
								
								
									
										23
									
								
								init.lua
								
								
								
								
							
							
						
						
									
										23
									
								
								init.lua
								
								
								
								
							|  | @ -877,6 +877,29 @@ require('lazy').setup({ | ||||||
|     }, |     }, | ||||||
|   }, |   }, | ||||||
| }) | }) | ||||||
|  | -- Auto import for gopls | ||||||
|  | vim.api.nvim_create_autocmd('BufWritePre', { | ||||||
|  |   pattern = '*.go', | ||||||
|  |   callback = function() | ||||||
|  |     local params = vim.lsp.util.make_range_params() | ||||||
|  |     params.context = { only = { 'source.organizeImports' } } | ||||||
|  |     -- buf_request_sync defaults to a 1000ms timeout. Depending on your | ||||||
|  |     -- machine and codebase, you may want longer. Add an additional | ||||||
|  |     -- argument after params if you find that you have to write the file | ||||||
|  |     -- twice for changes to be saved. | ||||||
|  |     -- E.g., vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, 3000) | ||||||
|  |     local result = vim.lsp.buf_request_sync(0, 'textDocument/codeAction', params) | ||||||
|  |     for cid, res in pairs(result or {}) do | ||||||
|  |       for _, r in pairs(res.result or {}) do | ||||||
|  |         if r.edit then | ||||||
|  |           local enc = (vim.lsp.get_client_by_id(cid) or {}).offset_encoding or 'utf-16' | ||||||
|  |           vim.lsp.util.apply_workspace_edit(r.edit, enc) | ||||||
|  |         end | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |     vim.lsp.buf.format { async = false } | ||||||
|  |   end, | ||||||
|  | }) | ||||||
| 
 | 
 | ||||||
| -- The line beneath this is called `modeline`. See `:help modeline` | -- The line beneath this is called `modeline`. See `:help modeline` | ||||||
| -- vim: ts=2 sts=2 sw=2 et | -- vim: ts=2 sts=2 sw=2 et | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue