mirror of
https://github.com/youwen5/neovim-flake.git
synced 2024-11-28 12:13:51 -08:00
feat: add conform formatting keymaps
This commit is contained in:
parent
8a9c7c25a7
commit
859e91ada2
2 changed files with 94 additions and 13 deletions
|
@ -489,14 +489,60 @@
|
||||||
silent = true;
|
silent = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
# {
|
{
|
||||||
# action = "<cmd>lua require'conform'.format({ bufnr = args.bf })<CR>";
|
action = {
|
||||||
# key = "<Leader>cf";
|
__raw = ''
|
||||||
# options = {
|
function() require('conform').format() end
|
||||||
# silent = true;
|
'';
|
||||||
# noremap = true;
|
};
|
||||||
# desc = "Format buffer";
|
key = "<Leader>cf";
|
||||||
# };
|
options = {
|
||||||
# }
|
silent = true;
|
||||||
|
noremap = true;
|
||||||
|
desc = "Format buffer";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
action = {
|
||||||
|
__raw = ''
|
||||||
|
function()
|
||||||
|
-- we do this instead of `not vim.g.disable_autoformat` so that we
|
||||||
|
-- can handle when `vim.g.disable_autoformat` has not yet been defined
|
||||||
|
if (vim.g.disable_autoformat) then
|
||||||
|
vim.g.disable_autoformat = false
|
||||||
|
else
|
||||||
|
vim.g.disable_autoformat = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
key = "<Leader>ctf";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
noremap = true;
|
||||||
|
desc = "Toggle autoformat globally";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
action = {
|
||||||
|
__raw = ''
|
||||||
|
-- we do this instead of `not vim.g.disable_autoformat` so that we
|
||||||
|
-- can handle when `vim.g.disable_autoformat` has not yet been defined
|
||||||
|
function()
|
||||||
|
if (vim.b[0].disable_autoformat) then
|
||||||
|
vim.b[0].disable_autoformat = false
|
||||||
|
else
|
||||||
|
vim.b[0].disable_autoformat = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
key = "<Leader>cbf";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
noremap = true;
|
||||||
|
desc = "Toggle autoformat in buffer";
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,10 +39,45 @@
|
||||||
});
|
});
|
||||||
# package = pkgs.vimPlugins.conform-nvim;
|
# package = pkgs.vimPlugins.conform-nvim;
|
||||||
settings = {
|
settings = {
|
||||||
format_on_save = {
|
# format_on_save = {
|
||||||
timeoutMs = 500;
|
# timeoutMs = 500;
|
||||||
lspFallback = true;
|
# lspFallback = true;
|
||||||
};
|
# };
|
||||||
|
format_on_save = # Lua
|
||||||
|
''
|
||||||
|
function(bufnr)
|
||||||
|
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- if slow_format_filetypes[vim.bo[bufnr].filetype] then
|
||||||
|
-- return
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- local function on_format(err)
|
||||||
|
-- if err and err:match("timeout$") then
|
||||||
|
-- slow_format_filetypes[vim.bo[bufnr].filetype] = true
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- return { timeout_ms = 500, lsp_fallback = true }, on_format
|
||||||
|
return { timeout_ms = 500, lsp_fallback = true }
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
format_after_save = # Lua
|
||||||
|
''
|
||||||
|
function(bufnr)
|
||||||
|
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- if not slow_format_filetypes[vim.bo[bufnr].filetype] then
|
||||||
|
-- return
|
||||||
|
-- end
|
||||||
|
|
||||||
|
return { lsp_fallback = true }
|
||||||
|
end
|
||||||
|
'';
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
lua = [ "stylua" ];
|
lua = [ "stylua" ];
|
||||||
python = [ "black" ];
|
python = [ "black" ];
|
||||||
|
|
Loading…
Reference in a new issue