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

feat(sql): disable sqls formatter and add sqlfluff #1336

Merged
merged 6 commits into from
Feb 4, 2025

Conversation

azdanov
Copy link
Contributor

@azdanov azdanov commented Jan 26, 2025

Closes #1323

📑 Description

This should disable the sqls lsp formatter and use sqlfluff instead. Might as well use sqlfluff diagnostics also, I see them beneficial.

This is the issue with sqls at the moment: sqls-server/sqls#149

ℹ Additional Information

This needs thorough testing, since I'm not sure if all works as expected and I lack knowledge to verify on my own due to being new to neovim ecosystem. Especially different combinations of null-ls/conform/nvim-lint/lspconfig community packs.

I disabled cwd in conform due to default settings requiring a config file to be present for the formatter to work. I didn't notice this behavior in null-ls.

There might be an issue with timeouts for formatting, since I've noticed in other github repos people put 1s or even 5s timeout when using sqlfluff.

Copy link

github-actions bot commented Jan 26, 2025

Review Checklist

Does this PR follow the [Contribution Guidelines](development guidelines)? Following is a partial checklist:

Proper conventional commit scoping:

  • If you are adding a new plugin, the scope would be the name of the category it is being added into. ex. feat(utility): added noice.nvim plugin

  • If you are modifying a pre-existing plugin or pack, the scope would be the name of the plugin folder. ex. fix(noice-nvim): fix LSP handler error

  • Pull request title has the appropriate conventional commit type and scope where the scope is the name of the pre-existing directory in the project as described above

  • README is properly formatted and uses fenced in links with <url> unless they are inside a [title](url)

  • Entry returns a single plugin spec with the new plugin as the only top level spec (not applicable for recipes or packs).

  • Proper usage of opts table rather than setting things up with the config function.

  • Proper usage of specs table for all specs that are not dependencies of a given plugin (not applicable for recipes or packs).

@azdanov azdanov marked this pull request as draft January 26, 2025 11:04
@azdanov azdanov marked this pull request as ready for review February 1, 2025 11:42
@azdanov
Copy link
Contributor Author

azdanov commented Feb 1, 2025

Seems to be working. One thing is that the default conform timeout in community pack is 500ms, which might not be enough for sqlfluf 🤷‍♂️

Copy link
Member

@mehalter mehalter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Member

@mehalter mehalter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh actually, can you update the README

@mehalter mehalter merged commit e2a3031 into AstroNvim:main Feb 4, 2025
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Disable the default SQL formatter
2 participants