Comments (2)
This is a neat idea, and if it can be done with relatively minimal API changes that are pretty clean, I'm on board. The API that makes the most sense to me would be:
- Add a second parameter to the
callback
function that is a boolean. This indicates if any changes were applied. - Add a
dry_run
option to format() that will skip applying changes, but keep the same logic for thatformatted
parameter.
This way we don't expose more information than is actually needed, we neatly sidestep the issue of "how do we combine normal formatter diffs with LSP format diffs", and it's something that could be useful for non-dry_runs as well. What do you think?
from conform.nvim.
This is a neat idea, and if it can be done with relatively minimal API changes that are pretty clean, I'm on board. The API that makes the most sense to me would be:
* Add a second parameter to the `callback` function that is a boolean. This indicates if any changes were applied. * Add a `dry_run` option to format() that will skip applying changes, but keep the same logic for that `formatted` parameter.
This way we don't expose more information than is actually needed, we neatly sidestep the issue of "how do we combine normal formatter diffs with LSP format diffs", and it's something that could be useful for non-dry_runs as well. What do you think?
I like this as well. I wasn't sure if you'd want just the boolean return value, since it does limit the usefulness of this change, but I'm on board with leaving it that way since it does massively simplify the implementation.
from conform.nvim.
Related Issues (20)
- bug: gofumpt isn't formatting the file HOT 22
- bug: marks not being saved when using via formatexpr HOT 1
- bug: Black not obeying interpreter options, nor virtualenv HOT 1
- bug: Error detected while processing BufWritePre Autocommands for "*": Formatter failed see :ConformInfo for more details HOT 8
- feature request:
- bug: Assertion failed in function "relative_path" HOT 3
- bug: With format_on_save, timeout_ms must be set really high to have prettier working HOT 2
- How to override default configuration for formatters? HOT 1
- bug: In windows neovim formatting any file with conform adds U+000c character at beginning of file. HOT 1
- bug: isort command fails with unknown error HOT 1
- How to use prettier only when the project uses it? HOT 1
- bug: timeout using gq with conform.formatexpr
- Run lsp as the injected formatter HOT 1
- feature request: option to set `format` options globally
- bug: ruff showing as unavailable
- bug: Fails running command that works fine on the shell
- bug: inconsistent formatting when using `rustfmt` through `conform` as opposed to the shell HOT 2
- feature request: disabling conform for a filetype HOT 1
- bug: isort: error: argument --le/--line-ending: expected one argument
- bash file type not resolved correctly for shfmt HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conform.nvim.