Use Conform for Java and Python formatting
This commit is contained in:
parent
9037b301ac
commit
a3a2eb2963
|
@ -1,17 +0,0 @@
|
|||
local macchiato_line_length = 80
|
||||
if (vim.o.textwidth or 0) > 0 then
|
||||
macchiato_line_length = vim.o.textwidth
|
||||
end
|
||||
vim.opt_local.formatprg = 'black-macchiato -l ' .. macchiato_line_length
|
||||
|
||||
vim.keymap.set('n', '<leader>is', function()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local modified = vim.api.nvim_get_option_value("modified", { buf = bufnr })
|
||||
|
||||
if modified then
|
||||
print('*** Save your changes first! ***')
|
||||
return
|
||||
end
|
||||
local file_name = vim.api.nvim_buf_get_name(0) -- Get file name of file in current buffer
|
||||
vim.cmd(":!isort -l 1000000 --wl 0 --sl " .. file_name)
|
||||
end, { desc = 'Run isort on the current buffer' })
|
17
init.lua
17
init.lua
|
@ -646,6 +646,7 @@ require('lazy').setup({
|
|||
|
||||
{ -- Autoformat
|
||||
'stevearc/conform.nvim',
|
||||
|
||||
event = { 'BufWritePre' },
|
||||
cmd = { 'ConformInfo' },
|
||||
keys = {
|
||||
|
@ -658,11 +659,25 @@ require('lazy').setup({
|
|||
desc = '[F]ormat buffer',
|
||||
},
|
||||
},
|
||||
-- This will provide type hinting with LuaLS
|
||||
---@module "conform"
|
||||
---@type conform.setupOpts
|
||||
opts = {
|
||||
-- log_level = vim.log.levels.DEBUG,
|
||||
notify_on_error = false,
|
||||
format_on_save = false,
|
||||
format_on_save = nil, -- Do NOT format when saving a buffer
|
||||
formatters = {
|
||||
isort = {
|
||||
prepend_args = { "-l", "1000000", "--wl", "0", "--sl" }
|
||||
},
|
||||
black = {
|
||||
prepend_args = { "-l", tostring(vim.o.textwidth) },
|
||||
},
|
||||
},
|
||||
formatters_by_ft = {
|
||||
lua = { 'stylua' },
|
||||
java = { "google-java-format" },
|
||||
python = { "black", "isort" },
|
||||
-- Conform can also run multiple formatters sequentially
|
||||
-- python = { "isort", "black" },
|
||||
--
|
||||
|
|
Loading…
Reference in New Issue