diff options
-rw-r--r-- | ftplugin/css.lua | 33 | ||||
-rw-r--r-- | lua/default-config.lua | 4 |
2 files changed, 37 insertions, 0 deletions
diff --git a/ftplugin/css.lua b/ftplugin/css.lua index 9cd7cc71..810ea421 100644 --- a/ftplugin/css.lua +++ b/ftplugin/css.lua @@ -1,3 +1,36 @@ +vim.cmd "let proj = FindRootDirectory()" +local root_dir = vim.api.nvim_get_var "proj" + +-- use the global prettier if you didn't find the local one +local prettier_instance = root_dir .. "/node_modules/.bin/prettier" +if vim.fn.executable(prettier_instance) ~= 1 then + prettier_instance = O.lang.tsserver.formatter.exe +end + +local ft = vim.bo.filetype +O.formatters.filetype[ft]= { + function() + local args = { "--stdin-filepath", vim.fn.fnameescape(vim.api.nvim_buf_get_name(0)) } + -- TODO: O.lang.[ft].formatter.args + local extend_args = O.lang.css.formatter.args + + for i = 1, #extend_args do + table.insert(args, extend_args[i]) + end + + return { + exe = prettier_instance, + args = args, + stdin = true + } + end, +} + +require("formatter.config").set_defaults { + logging = false, + filetype = O.formatters.filetype, +} + if not require("lv-utils").check_lsp_client_active "cssls" then local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities.textDocument.completion.completionItem.snippetSupport = true diff --git a/lua/default-config.lua b/lua/default-config.lua index 6aceab23..4f7eb045 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -107,6 +107,10 @@ O = { }, css = { virtual_text = true, + formatter = { + exe = "prettier", + args = {}, + }, }, dart = { sdk_path = "/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot", |