Comments (4)
Ugh, this is why all formatters should just have good range formatting support… I think I agree the fallback should be to format the whole file (only if the file was actually changed), but either way I'm expecting confused users reporting "that's not what I asked it to do".
from vim-codefmt.
How about this?
- For formatters which don't support ranges, choosing this option means "format the whole file".
- Show a warning explaining this behaviour, with
see :help codefmt-foobarbaz
at the end. (Either on buffer open or autoformat enable.)
It's just that for formatters which do support ranges, this feature is super useful, so I'd like to see it not held up. My annoyed code reviewers and I thank you in advance. :)
from vim-codefmt.
BTW, fine-grained range formatting will be really annoying for formatters that don't natively support ranges, like gofmt. The hacks we use to approximate range formatting will show errors if the range starts or ends in the middle of a code block. We could just leave it to users whether they decide to enable it anyway, but I foresee frustrated users not understanding why it doesn't work and filing bugs about it.
from vim-codefmt.
I don't know if you can win, I get confused when lines I didn't change are formatted, particularly in languages without a canonical formatter like gofmt. I tried using codefmt and it introduced a lot of format churn into my CLs.
from vim-codefmt.
Related Issues (20)
- clang-format version detection is slightly broken (and definitely so for trunk builds) HOT 2
- dartfmt is deprecated HOT 8
- Kotlin formater using ktlint HOT 1
- Add a formatter for swift
- Get automated tests running on pull requests again
- vim-codefmt google-java-format 4 spaces instead of 2 HOT 1
- Add a formatter for Haskell
- Formatter for Elixir
- Formatter for Scala
- Formatter for OCaml
- Formatter for Perl
- Implement a codefmt#formatterhelpers#FiletypeMatches helper
- Incredibly slow on write HOT 6
- FormatCode adds line filled with spaces when run on .cc file HOT 3
- `ktfmt` availability check is broken (on Linux) HOT 3
- Please include instructions on how to use keep-sorted HOT 3
- Add ruff as formatter for Python HOT 3
- Can't do java code formatting. HOT 3
- jsonnetfmt formatter broken, always fails with `ERROR: unrecognized argument: -p`
- Add `:CodefmtInfo` command to report diagnostics to help users check config / diagnose problems HOT 2
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 vim-codefmt.