feat: make lsp_fallback behavior more intuitive #59
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Following up on #31, #33
I wasn't completely happy with the earlier solution. If you want to run
{ "trim_whitespace" }
on all filetypes but still use LSP formatting, you would have to passlsp_fallback = "always"
. But if you didn't want LSP formatting on filetypes where you have formatters configured, you would have to write a helper function to do some detection of the filetype and determine if you want to pass intrue
or"always"
(#36). I think that the common case for formatting is:trim_whitespace
)I would like to optimize for this common case. This PR makes it so that if you pass
lsp_fallback = true
, conform will prefer the LSP formatter over formatters configured with the"*"
or"_"
filetypes.There are still some scenarios that will require helper functions or explicitly passing formatters, but hopefully fewer.