dotfiles/vim/lua/formatter_config.lua

34 lines
896 B
Lua

local prettier = function()
return {
exe = Get_project_node_modules_path() .. "/.bin/prettier",
args = {"--stdin-filepath", vim.api.nvim_buf_get_name(0), '--single-quote'},
stdin = true
}
end
require('formatter').setup({
log_level = vim.log.levels.INFO,
filetype = {
javascript = { prettier },
typescript = { prettier },
typescriptreact = { prettier },
-- https://github.com/JohnnyMorganz/StyLua
-- cargo install stylua --features lua54
lua = {
require("formatter.filetypes.lua").stylua
},
}
})
-- TODO: use vim.api.nvim_create_augroup()
vim.api.nvim_exec2([[
augroup FormatAutogroup
autocmd!
autocmd BufWritePost *.js,*.ts,*.tsx,*.lua silent FormatWrite
augroup END
]], { output = true })
local bufnr = vim.fn.bufnr("%")
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>F', '<Cmd>silent Format<CR>', { noremap=true, silent=true })