Comments (9)
Google's Kotlin style guide for Android says arguments should be split across multiple lines if the function signature doesn't fit on one line. JetBrains' official Kotlin style guide is fuzzier; it says "closely related" arguments should be placed on the same line, but obviously ktfmt can't determine that.
from ktfmt.
- Are you missing 2 spaces before
private fun…
?
I'd expect the output to be:
private fun getMethodsOrderedImplementationsWithMethods(
metaData: JsonNode, interfaceIdex: Int, registryIdex: Int
): ArrayNode? {
- The parameters fit in one line, so ktfmt doesn't break them. Should it break? do you prefer the first version? are you aware of a style guide that mandates it? how should ktfmt decide whether to break the parameter list or not?
from ktfmt.
@cgrushko
Sorry, the 2 spaces are my issue, the output is the same as what you expect.
After ktfmt makes the parameters be in the same line, the lint on phabricator complains about that.
I think the style guide should be consistent between ktfmt and the lint in phabricator
from ktfmt.
ktfmt and detekct/ktlint disagree, so some friction between the linters is expected (we plan to disable detekt's formatting on files that ktfmt formats).
Again, we could change this formatting decision. I don't have a good sense of what's right to do.
cc @strulovich
from ktfmt.
I think I agree with Carmi's expected style. We should disable some of Detekt's checks to match with this.
from ktfmt.
from ktfmt.
I agree with being similar to java. Would the detekct changes the rule OR ktfmt replace detekct as the lint in diff tool?
from ktfmt.
from ktfmt.
I'll close this for now. We can revisit this if we run into examples where it's very clearly better to break before each parameter.
from ktfmt.
Related Issues (20)
- Lambdas following a statement can be treated as lambda arguments, breaking syntax HOT 1
- No artifacts were released for v0.48 and v0.49 HOT 4
- Trailing comma gets removed if there is only one parameter and it is formatted to be on its own line HOT 2
- ktfmt doesn't seem to work in IJ 2024.1.1 HOT 7
- Is ktfmt used on itself? HOT 5
- Misspelled flags in CLI can cause user data loss HOT 1
- How can I config Intellij plugin? HOT 2
- error: did not generate token "context" HOT 3
- Google style with trailing comma does not use maxWidth correctly HOT 2
- Nested function calls with named parameters is incredibly difficult to read and results in unnecessary nesting HOT 8
- ktfmt 0.51 incompatible with Spotless Gradle plugin HOT 2
- Consider providing a binary jar HOT 8
- ver 1.1.0.51 update breaks ktfmt intellij plugin setting screen if style is "Dropbox" HOT 4
- IDEA plugin v1.1.0.51 with Kotlinlang formats incorrectly HOT 3
- Unexpected change in Kotlinlang formatting HOT 1
- Missing jar for version 0.51 HOT 4
- Version 1.1.0.51 does not format correctly for style "Kotlinlang" HOT 9
- idea plugin is incompatible with idea 2024.2 beta
- Kotlin 2.0.20-Beta2: Exception when parsing a property accessor HOT 8
- Unnecessary line return inserted in expression 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 ktfmt.