diff options
| author | Ibrahim Muftee <ibrahim@muftee.net> | 2025-06-23 20:44:28 -0500 |
|---|---|---|
| committer | Ibrahim Muftee <ibrahim@muftee.net> | 2026-07-01 00:23:31 -0400 |
| commit | 85e2428a021c541638d2c44364987f51b5c908aa (patch) | |
| tree | af95fade0f15bac30b8333c6606f5ff7c7681544 /dot_config/nvim.new/lua/ibrahim/plugins/conform.lua | |
| parent | cd96aedafa3be65084efb276f05aa089261fbb64 (diff) | |
feat(nvim) begin new config
Diffstat (limited to 'dot_config/nvim.new/lua/ibrahim/plugins/conform.lua')
| -rw-r--r-- | dot_config/nvim.new/lua/ibrahim/plugins/conform.lua | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/dot_config/nvim.new/lua/ibrahim/plugins/conform.lua b/dot_config/nvim.new/lua/ibrahim/plugins/conform.lua new file mode 100644 index 0000000..c1b38ab --- /dev/null +++ b/dot_config/nvim.new/lua/ibrahim/plugins/conform.lua @@ -0,0 +1,48 @@ +-- Use prettierd if it's available or prettier otherwise, but don't +-- try to run them both. +local prettier = { { "prettierd", "prettier" } } + +return { + "stevearc/conform.nvim", + event = { "BufReadPre", "BufNewFile" }, + cmd = { "ConformInfo", "Format" }, + opts = { + formatters = { + sqlfluff = { + -- By default, SQLFluff uses "ansi" formatting. My projects + -- right now use MySQL formatting instead. + -- Still looking for a better way to manage this. + args = { "fix", "--force", "--dialect=mysql", "-" }, + }, + }, + formatters_by_ft = { + lua = { "stylua" }, + + -- Ruff LSP handles formatting for Python code + -- -- Multiple items in one table will be run sequentially + python = { "ruff_format" }, + + c = { "clang-format" }, + css = prettier, + html = prettier, + javascript = prettier, + json = prettier, + markdown = prettier, + typescript = prettier, + yaml = prettier, + + sql = { "sqlfluff" }, + }, + }, + config = function(_, opts) + local conform = require("conform") + require("conform").setup(opts) + + local function format() + conform.format({ async = true, lsp_fallback = true }) + end + + vim.keymap.set({ "n", "v" }, "<leader>rf", format, { desc = "Reformat" }) + vim.api.nvim_create_user_command("Format", format, {}) + end, +} |
