-
Notifications
You must be signed in to change notification settings - Fork 243
Open
Labels
P1May get worked on if I get free time. PRs welcomeMay get worked on if I get free time. PRs welcomebugSomething isn't workingSomething isn't working
Description
Neovim version (nvim -v)
NVIM v0.10.2
Operating system/version
NixOS unstable-d70bd19e0a38ad4790d3913bf08fcbfc9eeca507
Read debugging tips
- I have read through the debugging tips.
Add the debug logs
- I have set
log_level = vim.log.levels.DEBUG
and pasted the log contents below.
Log file
2024-12-25 01:08:19[DEBUG] Running formatters on /home/aitvann/rust-file.rs: { "injected" }
2024-12-25 01:08:19[INFO] Run injected on /home/aitvann/rust-file.rs
2024-12-25 01:08:19[DEBUG] Injected format sql:3:3: { "sqlfluff" }
2024-12-25 01:08:19[INFO] Run sqlfluff on /home/aitvann/rust-file.rs.1.sql
2024-12-25 01:08:19[DEBUG] Run command: { "/etc/profiles/per-user/aitvann/bin/sqlfluff", "fix", "-" }
2024-12-25 01:08:19[DEBUG] Run CWD: /home/aitvann/tradetech/solana/balancer
2024-12-25 01:08:20[DEBUG] sqlfluff exited with code 0
2024-12-25 01:08:20[DEBUG] Running LSP formatter on /home/aitvann/rust-file.rs
Describe the bug
Indentation is not preserved when formatting SQL in Rust files
What is the severity of this bug?
minor (annoyance)
Steps To Reproduce
example code:
fn main() {
let a = 5;
sqlx::query!("select name, age from users;");
}
formatting the code above results in this
fn main() {
let a = 5;
sqlx::query!(
"select
name,
age
from users;"
);
}
Expected Behavior
I would expect indentation of the first line to be added to each of the following lines. like this
fn main() {
let a = 5;
sqlx::query!(
"select
name,
age
from users;"
);
}
Minimal example file
fn main() {
let a = 5;
sqlx::query!("select name, age from users;");
}
Minimal init.lua
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")
-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end
-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"--single-branch",
"https://github.com/folke/lazy.nvim.git",
lazypath,
})
end
vim.opt.runtimepath:prepend(lazypath)
-- install plugins
local plugins = {
"folke/tokyonight.nvim",
{
"stevearc/conform.nvim",
config = function()
require("conform").setup({
log_level = vim.log.levels.DEBUG,
-- add your config here
})
end,
},
-- add any other plugins here
}
require("lazy").setup(plugins, {
root = root .. "/plugins",
})
vim.cmd.colorscheme("tokyonight")
-- add anything else here
require('conform').setup({
formatters_by_ft = {
sql = { "injected", lsp_format = "last" },
rust = { "injected", lsp_format = "last" },
markdown = { "injected", lsp_format = "last" },
},
formatters = {
injected = {
options = {
ignore_errors = false,
lang_to_formatters = {
sql = { "sqlfluff" },
rust = { "rustfmt" },
},
},
}
}
})
Additional context
No response
Metadata
Metadata
Assignees
Labels
P1May get worked on if I get free time. PRs welcomeMay get worked on if I get free time. PRs welcomebugSomething isn't workingSomething isn't working