diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..55ea2b2 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,4 @@ +{ + "tabWidth": 4, + "useTabs": false +} diff --git a/lua/lsp.lua b/lua/lsp.lua index f941b9b..407e55f 100644 --- a/lua/lsp.lua +++ b/lua/lsp.lua @@ -3,6 +3,20 @@ vim.lsp.config("sourcekit", { filetypes = { "swift", "objective-c", "objective-c++" }, }) +vim.lsp.config("svelte", { + settings = { + svelte = { + plugin = { + svelte = { + format = { + config = { tabWidth = 4, useTabs = false }, + }, + }, + }, + }, + }, +}) + vim.lsp.config("tinymist", { cmd = { "tinymist" }, filetypes = { "typst" }, diff --git a/lua/plugins.lua b/lua/plugins.lua index cc677a9..ec1ceb6 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -39,20 +39,26 @@ for _, name in ipairs({ pcall(function() require(name).setup() end) end +local prettier = { "prettierd", "prettier", stop_after_first = true } require("conform").setup({ formatters_by_ft = { python = { "black" }, c = { "clang-format" }, cpp = { "clang-format" }, java = { "clang-format" }, - javascript = { "prettierd", "prettier", stop_after_first = true }, - typescript = { "prettierd", "prettier", stop_after_first = true }, - svelte = { "prettierd", "prettier", stop_after_first = true }, - css = { "prettierd", "prettier", stop_after_first = true }, - html = { "prettierd", "prettier", stop_after_first = true }, - json = { "prettierd", "prettier", stop_after_first = true }, + javascript = prettier, + typescript = prettier, + css = prettier, + html = prettier, + json = prettier, + markdown = prettier, + yaml = prettier, }, - format_on_save = { timeout_ms = 500, lsp_format = "fallback" }, + formatters = { + prettier = { prepend_args = { "--tab-width", "4", "--use-tabs", "false" } }, + prettierd = { env = { PRETTIERD_DEFAULT_CONFIG = vim.fn.expand("~/.config/nvim/.prettierrc.json") } }, + }, + format_on_save = { timeout_ms = 2000, lsp_format = "fallback" }, }) require("render-markdown").setup({