Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: indentation not preserved #604

Open
2 tasks done
aitvann opened this issue Dec 24, 2024 · 0 comments
Open
2 tasks done

bug: indentation not preserved #604

aitvann opened this issue Dec 24, 2024 · 0 comments
Labels
bug Something isn't working P1 May get worked on if I get free time. PRs welcome

Comments

@aitvann
Copy link

aitvann commented Dec 24, 2024

Neovim version (nvim -v)

NVIM v0.10.2

Operating system/version

NixOS unstable-d70bd19e0a38ad4790d3913bf08fcbfc9eeca507

Read 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

@aitvann aitvann added the bug Something isn't working label Dec 24, 2024
@stevearc stevearc added the P1 May get worked on if I get free time. PRs welcome label Dec 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P1 May get worked on if I get free time. PRs welcome
Projects
None yet
Development

No branches or pull requests

2 participants