mirror of
https://github.com/sadan4/nvim.git
synced 2024-11-16 22:34:39 -05:00
165 lines
3.7 KiB
Lua
165 lines
3.7 KiB
Lua
-- BY LANG
|
|
-- https://github.com/mhartington/formatter.nvim/tree/master/lua/formatter/filetypes
|
|
-- Utilities for creating configurations
|
|
local util = require("formatter.util")
|
|
local defaults = require("formatter.defaults")
|
|
-- Provides the Format, FormatWrite, FormatLock, and FormatWriteLock commands
|
|
require("formatter").setup({
|
|
-- Enable or disable logging
|
|
logging = true,
|
|
-- Set the log level
|
|
log_level = vim.log.levels.WARN,
|
|
-- All formatter configurations are opt-in
|
|
filetype = {
|
|
nix = {
|
|
require("formatter.filetypes.nix").nixpkgs_fmt,
|
|
function()
|
|
return {
|
|
exe = "nixpkgs-fmt",
|
|
stdin = true,
|
|
args = {},
|
|
}
|
|
end,
|
|
},
|
|
json = {
|
|
require("formatter.filetypes.json").prettierd,
|
|
function()
|
|
return {
|
|
exe = "prettierd",
|
|
args = { util.escape_path(util.get_current_buffer_file_path()) },
|
|
stdin = true,
|
|
}
|
|
end,
|
|
},
|
|
yaml = {
|
|
require("formatter.filetypes.yaml").yamlfmt,
|
|
function()
|
|
return {
|
|
exe = "yamlfmt",
|
|
args = { "-in" },
|
|
stdin = true,
|
|
}
|
|
end,
|
|
},
|
|
java = {
|
|
require("formatter.filetypes.java").clangformat,
|
|
function()
|
|
return {
|
|
exe = "clang-format",
|
|
args = {
|
|
"--style=Google",
|
|
"--assume-filename=.java",
|
|
},
|
|
stdin = true,
|
|
}
|
|
end,
|
|
},
|
|
-- -- THIS WILL ONLY BE USED WHEN NO LSP/PROJECT CONFIG IS USED
|
|
typescript = {
|
|
require("formatter.filetypes.typescript").prettier,
|
|
},
|
|
typescriptreact = {
|
|
require("formatter.filetypes.typescriptreact").prettier,
|
|
},
|
|
-- javascript = {
|
|
-- require("formatter.filetypes.javascript").eslint_d,
|
|
-- function()
|
|
-- return {
|
|
-- cwd = "/home/meyer/src/estest",
|
|
-- args = {
|
|
-- },
|
|
-- exe = "~/src/estest/test.sh",
|
|
-- stdin = true,
|
|
-- try_node_modules = false,
|
|
-- }
|
|
-- end,
|
|
-- },
|
|
-- javascriptreact = {
|
|
-- require("formatter.filetypes.javascriptreact").eslint_d,
|
|
-- function()
|
|
-- return {
|
|
-- cwd = "/home/meyer/src/estest",
|
|
-- args = {
|
|
-- },
|
|
-- exe = "~/src/estest/test.sh",
|
|
-- stdin = true,
|
|
-- try_node_modules = false,
|
|
-- }
|
|
-- end,
|
|
-- },
|
|
cpp = {
|
|
require("formatter.filetypes.c").clangformat,
|
|
function()
|
|
return {
|
|
util.copyf(defaults.clangformat),
|
|
}
|
|
end,
|
|
},
|
|
h = {
|
|
require("formatter.filetypes.c").clangformat,
|
|
function()
|
|
return {
|
|
util.copyf(defaults.clangformat),
|
|
}
|
|
end,
|
|
},
|
|
c = {
|
|
require("formatter.filetypes.c").clangformat,
|
|
function()
|
|
return {
|
|
util.copyf(defaults.clangformat),
|
|
}
|
|
end,
|
|
},
|
|
kotlin = {
|
|
require("formatter.filetypes.kotlin").ktlint,
|
|
function()
|
|
return {
|
|
exe = "ktlint",
|
|
args = {
|
|
"--stdin",
|
|
"--format",
|
|
"--log-level=none",
|
|
},
|
|
stdin = true,
|
|
}
|
|
end,
|
|
},
|
|
lua = {
|
|
-- "formatter.filetypes.lua" defines default configurations for the
|
|
-- "lua" filetype
|
|
require("formatter.filetypes.lua").stylua,
|
|
|
|
-- You can also define your own configuration
|
|
function()
|
|
-- Supports conditional formatting
|
|
if util.get_current_buffer_file_name() == "special.lua" then
|
|
return nil
|
|
end
|
|
|
|
-- Full specification of configurations is down below and in Vim help
|
|
-- files
|
|
return {
|
|
exe = "stylua",
|
|
args = {
|
|
"--search-parent-directories",
|
|
"--stdin-filepath",
|
|
util.escape_path(util.get_current_buffer_file_path()),
|
|
"--",
|
|
"-",
|
|
},
|
|
stdin = true,
|
|
}
|
|
end,
|
|
},
|
|
|
|
-- Use the special "*" filetype for defining formatter configurations on
|
|
-- any filetype
|
|
["*"] = {
|
|
-- "formatter.filetypes.any" defines default configurations for any
|
|
-- filetype
|
|
require("formatter.filetypes.any").remove_trailing_whitespace,
|
|
},
|
|
},
|
|
})
|