Comments (3)
Comment by Jeremy David Giesbrecht (JIRA)
I think pull request #91 aimed to solve this? Attn: @allevato
I just discovered it can also break if the upperBound starts with a dot, such as an enumeration case:
let range: ClosedRange<SomeEnumeration> = .caseFive ... .caseTen
Did your fix happen to handle that too or not?
from swift-format.
The original PR didn't handle that case, because it only considered following tokens that were `prefixOperator`s, whereas the case above is `prefixPeriod` because it's not "technically" an operator in the case of implicit member references.
#98 addresses this case.
Arguably, a safer way to check this would be to simply check the previous and next characters to see if they're operator code points, but I don't really want to hardcode that list into the formatter—after all, the whole point of using the compiler's syntax parser is to have it do the work so we don't have to duplicate it.
@akyrtzi, maybe the syntax parser library could be extended to have generally useful utility functions, like "is this character an identifier character or operator character"?
from swift-format.
#98 has been merged so this should be fixed now. (It, among other commits, still needs to be cherry-picked into the 5.1 branch.)
from swift-format.
Related Issues (20)
- Incorrect formatting for arguments following postfix `#if` HOT 1
- swift-format version 510.1.0, will it be flag as release? HOT 1
- Leading whitespace on newlines HOT 2
- `NoAccessLevelOnExtensionDeclaration` should move `@_spi` attribute with access level attribute HOT 1
- Add a rule to disallow `public` extensions while allowing `private` and `fileprivate` ones HOT 3
- Missing option to allow trailing whitespaces on blank lines HOT 1
- Whitespace removed on Macro #Preview in SwiftUI HOT 1
- Split comments if they exceed the line limit HOT 2
- Split string literals into multiple lines HOT 2
- Wrapping of long function signatures HOT 4
- `Assertion failed: Too many unresolved delimiter token lengths` for enum cases with associated values when using `prioritizeKeepingFunctionOutputTogether: true` HOT 1
- Is `lineBreakBeforeEachArgument = true` broken? HOT 3
- Incorrect formatting for @_documentation HOT 2
- TrailingComma shows wrong line when AddLines present HOT 1
- `swift-format --recursive` recurses into `.build` HOT 2
- Adjust indentation when using multiple if-let expressions HOT 3
- Formatting results in duplicated top-level documentation HOT 2
- [Question] Can I strict the order of Closure annotation? HOT 1
- [Bugs?] `await` keyword mistake order when I use Swift-testing library. HOT 5
- Function to find and remove ASCII art from block comments is too finicky HOT 4
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 swift-format.