Giter Club home page Giter Club logo

Comments (4)

dbarnett avatar dbarnett commented on May 19, 2024 2

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.

chiphogg avatar chiphogg commented on May 19, 2024 1

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.

dbarnett avatar dbarnett commented on May 19, 2024

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.

wffurr avatar wffurr commented on May 19, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.