| 
									
										
										
										
											2024-10-09 18:32:36 +01:00
										 |  |  | local conform = require "conform" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | conform.setup { | 
					
						
							|  |  |  |   formatters_by_ft = { | 
					
						
							|  |  |  |     bash = { "shellcheck" }, | 
					
						
							| 
									
										
										
										
											2024-10-29 12:00:00 +00:00
										 |  |  |     go = { "gofmt" }, | 
					
						
							| 
									
										
										
										
											2025-01-30 17:46:11 +00:00
										 |  |  |     javascript = { "prettierd", "prettier", stop_after_first = true }, | 
					
						
							| 
									
										
										
										
											2024-10-09 18:32:36 +01:00
										 |  |  |     just = { "just" }, | 
					
						
							|  |  |  |     lua = { "stylua" }, | 
					
						
							| 
									
										
										
										
											2025-01-30 17:46:11 +00:00
										 |  |  |     nix = { "nixfmt" }, | 
					
						
							|  |  |  |     php = { "php_cs_fixer", "phpcbf", stop_after_first = true }, | 
					
						
							| 
									
										
										
										
											2024-10-09 18:32:36 +01:00
										 |  |  |     terraform = { "terraform_fmt" }, | 
					
						
							|  |  |  |     yaml = { "yamlfmt" }, | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   format_on_save = function(bufnr) | 
					
						
							|  |  |  |     -- Disable with a global or buffer-local variable. | 
					
						
							|  |  |  |     if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then | 
					
						
							|  |  |  |       return | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |       lsp_fallback = false, | 
					
						
							|  |  |  |       quiet = true, | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   end, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | vim.api.nvim_create_user_command("FormatDisable", function(args) | 
					
						
							|  |  |  |   if args.bang then | 
					
						
							|  |  |  |     -- FormatDisable! will disable formatting just for this buffer | 
					
						
							|  |  |  |     vim.b.disable_autoformat = true | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     vim.g.disable_autoformat = true | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end, { | 
					
						
							|  |  |  |   desc = "Disable autoformat-on-save", | 
					
						
							|  |  |  |   bang = true, | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | vim.api.nvim_create_user_command("FormatEnable", function() | 
					
						
							|  |  |  |   vim.b.disable_autoformat = false | 
					
						
							|  |  |  |   vim.g.disable_autoformat = false | 
					
						
							|  |  |  | end, { | 
					
						
							|  |  |  |   desc = "Re-enable autoformat-on-save", | 
					
						
							|  |  |  | }) |