diff --git a/.config/nvim/lua/plugins/formatter.lua b/.config/nvim/lua/plugins/formatter.lua index 7ae1a72..ffff506 100644 --- a/.config/nvim/lua/plugins/formatter.lua +++ b/.config/nvim/lua/plugins/formatter.lua @@ -44,6 +44,33 @@ return { stdin = true, args = { 'format', '--stdin-file-path', '$FILENAME' }, }, + ---@type conform.FileFormatterConfig + ruff = { + meta = { + url = 'https://docs.astral.sh/ruff/', + description = 'An extremely fast Python linter, written in Rust. Formatter subcommand.', + }, + command = 'ruff', + args = { + 'format', + '--force-exclude', + '--stdin-filename', + '$FILENAME', + '-', + }, + range_args = function(self, ctx) + return { + 'format', + '--force-exclude', + '--range', + string.format('%d:%d-%d:%d', ctx.range.start[1], ctx.range.start[2] + 1, ctx.range['end'][1], ctx.range['end'][2] + 1), + '--stdin-filename', + '$FILENAME', + '-', + } + end, + stdin = true, + }, intelephense = { command = 'intelephense', args = {},