Coder Social home page Coder Social logo

Canonical .editorconfig about ktfmt HOT 10 OPEN

facebook avatar facebook commented on May 3, 2024
Canonical .editorconfig

from ktfmt.

Comments (10)

JavierSegoviaCordoba avatar JavierSegoviaCordoba commented on May 3, 2024 2

Before closing this issue, should be great to add .editorconfig for all styles (Google and Kotlinlang).

Personally, instead of having only one file with comments to change from one style to another, I think should be better to have 4 files:

  • .editorconfig-default
  • .editorconfig-dropbox
  • .editorconfig-google-internal
  • .editorconfig-kotlinlang

from ktfmt.

sgrimm avatar sgrimm commented on May 3, 2024 2

I should have time to have a crack at that this weekend.

from ktfmt.

cgrushko avatar cgrushko commented on May 3, 2024

Do you mean emit an .editorconfig from the plugin? or store one in the plugin that matches the plugin's config?

from ktfmt.

sgrimm avatar sgrimm commented on May 3, 2024

Maintaining it as a standalone file people can download may be easier than making the plugin emit it on the fly, but either way would be useful.

Basically the idea is to make it easy to include editor settings in a project that uses ktfmt, such that the editor gets as close as possible to ktfmt's rules and ktfmt needs to make fewer changes. That's likely to be less error-prone than trying to tell people which editor settings to change manually.

from ktfmt.

cgrushko avatar cgrushko commented on May 3, 2024

I assume the target audience is users using an IDE other than IntelliJ, since there's a ktfmt plugin for IntelliJ?

from ktfmt.

sgrimm avatar sgrimm commented on May 3, 2024

The target audience I had in mind is actually IntelliJ users. To be clear, this is definitely a low-priority thing, but I'd want this for a few reasons:

  • My experience is that there's often one person on a team who ends up not running ktfmt before committing code for whatever reason, so having the editor produce mostly-ktfmt-style code to begin with means that the subsequent cleanup commit won't churn the file's blame history as much.
  • While I'm editing code, it's nice when the new code I'm typing looks similar to the existing ktfmt-formatted code. Otherwise I find myself hitting the Reformat hotkey pretty often to make everything line up.
  • It will serve as a kind of machine-readable documentation of ktfmt's formatting rules.

from ktfmt.

cgrushko avatar cgrushko commented on May 3, 2024

from ktfmt.

sgrimm avatar sgrimm commented on May 3, 2024

Here's a hand-tweaked export of my IntelliJ settings; it isn't too far off, I think, but I am not confident I've gotten everything right (certainly not confident enough to want to submit it as a PR, but if you like, I can do that.)

editorconfig.txt

from ktfmt.

cgrushko avatar cgrushko commented on May 3, 2024

from ktfmt.

hick209 avatar hick209 commented on May 3, 2024

@sgrimm, could you work on what @JavierSegoviaCordoba proposed? I think that is a good idea.

@JavierSegoviaCordoba, if you feel adventurous and want to take a stab at this, I'd be happy to help ship it.

from ktfmt.

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.