profile
viewpoint

nicklockwood/FXBlurView 5020

[DEPRECATED]

nicklockwood/FXForms 2994

[DEPRECATED]

nicklockwood/AutoCoding 1059

AutoCoding is a category on NSObject that provides automatic support for NSCoding and NSCopying to every object.

nicklockwood/FastCoding 964

A faster and more flexible binary file format replacement for NSCoding, Property Lists and JSON

nicklockwood/AsyncImageView 922

[DEPRECATED]

nicklockwood/FXLabel 825

[DEPRECATED]

nicklockwood/CountryPicker 751

CountryPicker is a custom UIPickerView subclass that provides an iOS control allowing a user to select a country from a list. It can optionally display a flag next to each country name, and the library includes a set of 249 high-quality, public domain flag images from FAMFAMFAM (http://www.famfamfam.com/lab/icons/flags/) that have been painstakingly re-named by country code to work with the library.

nicklockwood/FXImageView 639

FXImageView is a class designed to simplify the application of common visual effects such as reflections and drop-shadows to images, and also to help the performance of image loading by handling it on a background thread.

nicklockwood/Expression 597

A cross-platform Swift library for evaluating mathematical expressions at runtime

nicklockwood/Base64 591

[DEPRECATED]

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 628ff4930d0a44ce1e35b8f25a060456de2e0afd

Add new `void` rule example and tests

view details

push time in 5 hours

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 2ef25141b4223884204a5476241c09d25619af2d

Improve `multilineEnumCases` rule

view details

Nick Lockwood

commit sha 5a1a3f1c7d769c6d76d964628e26b808055337f1

Add rule for multiline switch cases (#691)

view details

Nick Lockwood

commit sha 3ae5d97c5d061d3ddab9d42d4df52ac91f4a1b17

Improve `multilineSwitchCases` rule

view details

push time in 5 hours

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 5155557e836e9006e7fd8d6ec9382170f656d1c4

Improve `multilineEnumCases` rule

view details

Nick Lockwood

commit sha 775923d2cb2f60d6c5d33a719e367e725847ec51

Add rule for multiline switch cases (#691)

view details

Nick Lockwood

commit sha dd0eaf7c5a06768d26c005858563d60750d21302

Improve `multilineSwitchCases` rule

view details

push time in 10 hours

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 587bacb368f1bcd7353d1c75bde2dd5ecc66182e

Improve `multilineEnumCases` rule

view details

Nick Lockwood

commit sha 4027942193f305e4c752d4374ab3d1b77959c986

Add rule for multiline switch cases (#691)

view details

Nick Lockwood

commit sha 578b3dfec01f545f22cefb0b2c1809fc287ee4d3

Improve `multilineSwitchCases` rule

view details

push time in a day

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha b35e71376bec6b0b2f1852da40cb37f87867c43b

Add rule for multiline switch cases (#691)

view details

push time in 2 days

push eventnicklockwood/SwiftFormat

Facundo Menzella

commit sha 93b2314936ba6f3fee6121c0189f3971ca91ff67

Add rule for multiline enum cases (#686)

view details

Nick Lockwood

commit sha f911f9045a61927ce181130f0b9d90c5278f0262

Add isEnumCase helper

view details

Nick Lockwood

commit sha 05d593ad7ea55b9e8e490dc01295fae8201f0651

Improve `multilineEnumCases` rule

view details

push time in 2 days

Pull request review commentnicklockwood/SwiftFormat

Added initCoderUnavailable rule

 public struct _FormatRules {         }     } +    // Add @available(*, unavailable) to init?(coder aDecoder: NSCoder)+    public let initCoderUnavailable = FormatRule(+        help: "Mark initWithCoder as unavaiable.",+        options: [],+        sharedOptions: ["linebreaks"]+    ) { formatter in+        formatter.forEach(.identifier("required")) { idx, _ in+            guard+                let initTokenCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: idx),+                initTokenCandidate == .keyword("init"),+                let initIndex = formatter.index(of: initTokenCandidate, after: idx) else { return }++            guard+                let questionMarkCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: initIndex),+                questionMarkCandidate == .operator("?", .postfix),+                let questionMarkIndex = formatter.index(of: questionMarkCandidate,+                                                        after: initIndex) else { return }++            guard+                let startOfScopeCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: questionMarkIndex),+                startOfScopeCandidate == .startOfScope("("),+                let startOfScopeCandidateIndex = formatter.index(of: startOfScopeCandidate,+                                                                 after: questionMarkIndex) else { return }++            guard+                let coderCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak,+                                                    after: startOfScopeCandidateIndex),+                coderCandidate == .identifier("coder") else { return }++            if let previous = formatter.last(.nonSpaceOrCommentOrLinebreak, before: idx),+                previous != .endOfScope(")")+            {+                let indent = formatter.indentForLine(at: idx)++                formatter.insertToken(.keyword("@available"), at: idx)+                formatter.insertToken(.startOfScope("("), at: idx + 1)+                formatter.insertToken(.operator("*", .none), at: idx + 2)+                formatter.insertToken(.delimiter(","), at: idx + 3)+                formatter.insertToken(.space(" "), at: idx + 4)+                formatter.insertToken(.identifier("unavailable"), at: idx + 5)+                formatter.insertToken(.endOfScope(")"), at: idx + 6)+                formatter.insertToken(formatter.linebreakToken(for: idx), at: idx + 7)+                formatter.insertSpace(indent, at: idx + 8)

Please add some more tests covering cases that should not be replaced. In particular, we wouldn't want to replace implementations that actually use the coder, so this should probably be limited to implementations that are either empty or just contain fatalError.

facumenzella

comment created time in 2 days

Pull request review commentnicklockwood/SwiftFormat

Added initCoderUnavailable rule

 public struct _FormatRules {         }     } +    // Add @available(*, unavailable) to init?(coder aDecoder: NSCoder)+    public let initCoderUnavailable = FormatRule(+        help: "Mark initWithCoder as unavaiable.",+        options: [],+        sharedOptions: ["linebreaks"]+    ) { formatter in+        formatter.forEach(.identifier("required")) { idx, _ in+            guard+                let initTokenCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: idx),+                initTokenCandidate == .keyword("init"),+                let initIndex = formatter.index(of: initTokenCandidate, after: idx) else { return }++            guard+                let questionMarkCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: initIndex),+                questionMarkCandidate == .operator("?", .postfix),+                let questionMarkIndex = formatter.index(of: questionMarkCandidate,+                                                        after: initIndex) else { return }++            guard+                let startOfScopeCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: questionMarkIndex),+                startOfScopeCandidate == .startOfScope("("),+                let startOfScopeCandidateIndex = formatter.index(of: startOfScopeCandidate,+                                                                 after: questionMarkIndex) else { return }++            guard

As above.

facumenzella

comment created time in 2 days

Pull request review commentnicklockwood/SwiftFormat

Added initCoderUnavailable rule

 public struct _FormatRules {         }     } +    // Add @available(*, unavailable) to init?(coder aDecoder: NSCoder)+    public let initCoderUnavailable = FormatRule(+        help: "Mark initWithCoder as unavaiable.",+        options: [],+        sharedOptions: ["linebreaks"]+    ) { formatter in+        formatter.forEach(.identifier("required")) { idx, _ in+            guard+                let initTokenCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: idx),+                initTokenCandidate == .keyword("init"),+                let initIndex = formatter.index(of: initTokenCandidate, after: idx) else { return }++            guard+                let questionMarkCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: initIndex),+                questionMarkCandidate == .operator("?", .postfix),+                let questionMarkIndex = formatter.index(of: questionMarkCandidate,+                                                        after: initIndex) else { return }++            guard+                let startOfScopeCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: questionMarkIndex),+                startOfScopeCandidate == .startOfScope("("),+                let startOfScopeCandidateIndex = formatter.index(of: startOfScopeCandidate,+                                                                 after: questionMarkIndex) else { return }++            guard+                let coderCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak,+                                                    after: startOfScopeCandidateIndex),+                coderCandidate == .identifier("coder") else { return }++            if let previous = formatter.last(.nonSpaceOrCommentOrLinebreak, before: idx),+                previous != .endOfScope(")")

I'm not sure what this check is for. When would this happen? (required preceeded by ), I mean)

facumenzella

comment created time in 2 days

Pull request review commentnicklockwood/SwiftFormat

Added initCoderUnavailable rule

 public struct _FormatRules {         }     } +    // Add @available(*, unavailable) to init?(coder aDecoder: NSCoder)+    public let initCoderUnavailable = FormatRule(+        help: "Mark initWithCoder as unavaiable.",+        options: [],+        sharedOptions: ["linebreaks"]+    ) { formatter in+        formatter.forEach(.identifier("required")) { idx, _ in+            guard+                let initTokenCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: idx),+                initTokenCandidate == .keyword("init"),+                let initIndex = formatter.index(of: initTokenCandidate, after: idx) else { return }++            guard+                let questionMarkCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: initIndex),+                questionMarkCandidate == .operator("?", .postfix),+                let questionMarkIndex = formatter.index(of: questionMarkCandidate,+                                                        after: initIndex) else { return }++            guard

As above.

facumenzella

comment created time in 2 days

Pull request review commentnicklockwood/SwiftFormat

Added initCoderUnavailable rule

 public struct _FormatRules {         }     } +    // Add @available(*, unavailable) to init?(coder aDecoder: NSCoder)+    public let initCoderUnavailable = FormatRule(+        help: "Mark initWithCoder as unavaiable.",+        options: [],+        sharedOptions: ["linebreaks"]+    ) { formatter in+        formatter.forEach(.identifier("required")) { idx, _ in+            guard+                let initTokenCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: idx),+                initTokenCandidate == .keyword("init"),+                let initIndex = formatter.index(of: initTokenCandidate, after: idx) else { return }++            guard

As above.

facumenzella

comment created time in 2 days

Pull request review commentnicklockwood/SwiftFormat

Added initCoderUnavailable rule

 public struct _FormatRules {         }     } +    // Add @available(*, unavailable) to init?(coder aDecoder: NSCoder)+    public let initCoderUnavailable = FormatRule(+        help: "Mark initWithCoder as unavaiable.",+        options: [],+        sharedOptions: ["linebreaks"]+    ) { formatter in+        formatter.forEach(.identifier("required")) { idx, _ in+            guard+                let initTokenCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: idx),+                initTokenCandidate == .keyword("init"),+                let initIndex = formatter.index(of: initTokenCandidate, after: idx) else { return }

This can be simplified to:

guard let initIndex = formatter.index(of: .nonSpaceOrCommentOrLinebreak, after: idx, if: {
  $0 == .keyword("init")
}) else { return }
facumenzella

comment created time in 2 days

Pull request review commentnicklockwood/SwiftFormat

Added initCoderUnavailable rule

 public struct _FormatRules {         }     } +    // Add @available(*, unavailable) to init?(coder aDecoder: NSCoder)+    public let initCoderUnavailable = FormatRule(+        help: "Mark initWithCoder as unavaiable.",+        options: [],+        sharedOptions: ["linebreaks"]+    ) { formatter in+        formatter.forEach(.identifier("required")) { idx, _ in

The convention in the other rules is to use i rather than idx.

facumenzella

comment created time in 2 days

Pull request review commentnicklockwood/SwiftFormat

Added initCoderUnavailable rule

 public struct _FormatRules {         }     } +    // Add @available(*, unavailable) to init?(coder aDecoder: NSCoder)+    public let initCoderUnavailable = FormatRule(+        help: "Mark initWithCoder as unavaiable.",+        options: [],+        sharedOptions: ["linebreaks"]+    ) { formatter in+        formatter.forEach(.identifier("required")) { idx, _ in+            guard+                let initTokenCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: idx),+                initTokenCandidate == .keyword("init"),+                let initIndex = formatter.index(of: initTokenCandidate, after: idx) else { return }++            guard+                let questionMarkCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: initIndex),+                questionMarkCandidate == .operator("?", .postfix),+                let questionMarkIndex = formatter.index(of: questionMarkCandidate,+                                                        after: initIndex) else { return }++            guard+                let startOfScopeCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak, after: questionMarkIndex),+                startOfScopeCandidate == .startOfScope("("),+                let startOfScopeCandidateIndex = formatter.index(of: startOfScopeCandidate,+                                                                 after: questionMarkIndex) else { return }++            guard+                let coderCandidate = formatter.next(.nonSpaceOrCommentOrLinebreak,+                                                    after: startOfScopeCandidateIndex),+                coderCandidate == .identifier("coder") else { return }++            if let previous = formatter.last(.nonSpaceOrCommentOrLinebreak, before: idx),+                previous != .endOfScope(")")+            {+                let indent = formatter.indentForLine(at: idx)++                formatter.insertToken(.keyword("@available"), at: idx)

You could use

formatter.insertToken(formatter.linebreakToken(for: idx), at: idx)
formatter.insertTokens(tokenize("@available(*, unavailable)"), at: idx)
facumenzella

comment created time in 2 days

push eventnicklockwood/SwiftFormat

Facundo Menzella

commit sha a22d31b1e2974f5c213421f978824d41d2a23232

Add rule for multiline switch cases (#691)

view details

push time in 2 days

PR merged nicklockwood/SwiftFormat

Add rule for multiline switch cases

Why?

Reviewing changes within big enum switches can be quite messy and hard to follow:

enum ListingStatus: Int {
    case pending, approved, discarded, sold, deleted, expired
}

func animateTo(status: ListingStatus) {
    switch status {
-        case .pending, .approved, .discarded:
+        case .pending, . deleted, .discarded:
            // do something
-        case .sold, .deleted, .expired:
+        case .sold, . approved, .expired:
            // do something else
    }
}

Rule

Following the conversation in https://github.com/nicklockwood/SwiftFormat/pull/686, this PR adds a rule to rewrite enum switch cases into one case per line. As you can see in the added tests, it will go from this:

func animateTo(status: ListingStatus) {
    switch status {
        case .pending, .approved, .discarded:
            // do something
        case .sold, .deleted, .expired:
            // do something else
    }
}

to this:

func animateTo(status: ListingStatus) {
    switch status {
        case .pending, 
                .approved,
                .discarded:
            // do something
        case .sold, 
                .deleted,
                .expired:
            // do something else
    }
}

Improving the visibility of further changes in the switch declaration:

func animateTo(status: ListingStatus) {
    switch status {
        case .pending, 
-             .approved,
+             .deleted,
              .discarded:
            // do something
        case .sold, 
+             .approved,
-             .deleted
              .expired:
            // do something else
    }
}

Let me know what you think!!

+59 -2

0 comment

4 changed files

facumenzella

pr closed time in 2 days

push eventfacumenzella/SwiftFormat

Nick Lockwood

commit sha 22ec70c50aaafb598e27b439dd6c96f2d6ab46b7

Fix bug in tokenIndex() calculation

view details

Nick Lockwood

commit sha 93ee7a1128740ad1daad5d70ea3e3d7fed5d7494

Add --linerange argument for formatting ranges

view details

Nick Lockwood

commit sha 2458e590075d5b7fbfa42e0998cea89733cb8e62

Disable indent rule when using --linerange

view details

Nick Lockwood

commit sha f93c3b0f28c642a504dc989d1d10b5c82c854904

Add --varattributes option

view details

Nick Lockwood

commit sha 042d0916198b0e288f1eff7ab3b95928c756d938

Fix bug in isStartOfClosure affecting self removal

view details

Nick Lockwood

commit sha 37f5d6aa0d68281fcd1d34803954a0ee17b8de42

Don't indent blank lines

view details

Nick Lockwood

commit sha 2662b90340ab6ec92c35cb7de0c72d248ab9182f

Fix spurious static member warning

view details

Nick Lockwood

commit sha 133a1fa386a1d50f52bd58af4322a168e09951bb

Updated for 0.45.3 release

view details

Nick Lockwood

commit sha 28170f8851b29ffbda9eb409c348324dd6f429d5

Fix guard else indenting

view details

Nick Lockwood

commit sha 9110b6179dd22fcd399a59831693f54ce321b31e

Fix fileHeader rule stripping comment directive

view details

Nick Lockwood

commit sha c970342893b47f560cad78acfa6701c29706668d

Fix --linerange crash in blankLinesBetweenScopes

view details

Nick Lockwood

commit sha 670bfffb374fafd4df6031cec2c20e2aad7e9997

Audit rules for --linerange compatibility

view details

Nick Lockwood

commit sha b5ef2f09ed5b2cd2b0ccecb02c541275db6b1433

Document issue with preferKeyPath and compactMap

view details

Nick Lockwood

commit sha 0fd8e4992684de34c71e9a18a38855a5d5b92a96

Fix indenting of --allman closure braces

view details

Nick Lockwood

commit sha 4110436376d0195f6a91e49af6ac3566571a890e

Fix defaulting --wrapparameters to --wraparguments

view details

Nick Lockwood

commit sha e699415c992e4be1a65567e5a95b2df5c88bbb4c

Add snapshot test for issue #411

view details

Nick Lockwood

commit sha d294de84b97d0e4a63abaaa3ae92430313ce47f7

Add snapshot test for issue #697

view details

Nick Lockwood

commit sha 909cbea00125e13407bc2f5ef83a0e92fd57e9d0

Updated for 0.45.4 release

view details

Nick Lockwood

commit sha 445abe35fc8255fb3c35cfefce99a1784d11d657

Fix throwing function braces mistaken for closure

view details

Nick Lockwood

commit sha 026550d01c1228353ded46da4555da49d221a183

Process .swiftformat files when using --stdinpath

view details

push time in 2 days

push eventnicklockwood/SwiftFormat

Facundo Menzella

commit sha 53b58acf0fd89846608c870aeca045437c5a650d

Add rule for multiline enum cases (#686)

view details

push time in 2 days

PR merged nicklockwood/SwiftFormat

Add rule for multiline enum cases

Why?

Reviewing changes within big enum declarations can be quite messy and hard to follow:

enum Enum1: Int {
-   case a = 0, p = 2, c, d
+   case a = 0, p = 4, c, f
    case e, k
    case m(String, String)
}

Rule

This PR adds a rule to rewrite enum declaration cases into one case per line. As you can see in the added test, it will go from this:

enum Enum1: Int {
     case a = 0, p = 2, c, d
     case e, k
     case m(String, String)
}

to this:

enum Enum1: Int {
     case a = 0
     case p = 2
     case c
     case d
     case e
     case k
     case m(String, String)
}

Improving the visibility of further changes in the enum declaration

enum Enum1: Int {
     case a = 0
-    case p = 2
+    case p = 4
     case c
     case d
-    case e
+    case f
     case k
     case m(String, String)

Improvements

  • The name of the rule can probably be improved.
  • Sort the cases
  • Extend the rule to handle switch cases.
+70 -3

2 comments

4 changed files

facumenzella

pr closed time in 2 days

issue commentnicklockwood/SwiftFormat

`indent` rule also indents `where` clause

@meherkasam following the Google style guide is not a specific goal of this project. I do try to accomodate all reasonable styles, and this seems like a reasonable rule, so I'll consider it as a feature request.

meherkasam

comment created time in 3 days

issue closednicklockwood/SwiftFormat

separate rules for function braces vs control flow braces

I generally like braces flush like

if x {
     ...
}

which is the default, however, for wrapped argument lists for functions I like the brace to get it's own space like so

func assignValue<Json, Value>(
    from dict: [AnyHashable: Any],
    using keyPath: String,
    map: (Json) throws -> Value)
    throws -> Value?
{
     ...
}

this doesn't seem like a supported configuration though

closed time in 4 days

rex-remind101

issue commentnicklockwood/SwiftFormat

separate rules for function braces vs control flow braces

@rex-remind101 this is now handled by the wrapMultilineStatementBraces rule.

It's not exactly what you asked for, as it doesn't distinguish between function and conditional braces, but is based purely on whether the expression is wrapped. But I think it achieves the same goal. Feel free to reopen if it doesn't meet your needs.

rex-remind101

comment created time in 4 days

issue closednicklockwood/SwiftFormat

xcodeindentation should not indent second line of type declaration

To mirror the behavior of Xcode auto indentation, type declarations should not have an indent on their second line. Currently, if exceeding the maxWidth, the indent rule indents this:

class Foo<Bar, Baz>: Quux, Quuz where Bar == Corge {
    ...
}

to:

class Foo<Bar, Baz>: Quux, Quuz
    where Bar == Corge {
    ...
}

It should not indent the second line when xcodeindentation == enabled. It should look like this:

class Foo<Bar, Baz>: Quux, Quuz
where Bar == Corge {
    ...
}

closed time in 4 days

AnthonyMDev

issue commentnicklockwood/SwiftFormat

xcodeindentation should not indent second line of type declaration

@AnthonyMDev fixed in 0.45.6. Sorry for the delay!

AnthonyMDev

comment created time in 4 days

issue closednicklockwood/SwiftFormat

"yodaConditions" shouldn't apply to asymmetric operators

I am forced to turn the "yodaConditions" rule off, due to it breaking code involving asymmetric == operator overloads.

Consider the following Swift code:

try database.fetchOne(User.self, where: .id == myObjectId)

With a little operator overloading, this code builds a SELECT statement on a database:

SELECT * FROM user WHERE id = ? LIMIT 1

The yodaConditions rule attempts to reorder this .id == myObjectId comparison because .id is a constant string (a column name). The problem is that the overload of the == operator is not symmetric. You can't simply change the order. Signature looks like this:

func == <Row: DatabaseRow>(_ lhs: Row.ColumnName, _ rhs: DatabaseValueRepresentable) -> DatabaseFilter<Row>

Basically, "yodaConditions" should apply only when the left and right sides of the equality operator expect the same type.

(I should probably add that I'm running the latest "develop" branch, bb7d2a3a5701f131902fb4d8ee476c4719a2e4de, although I have no idea is this is a regression.)

closed time in 4 days

mattgallagher

issue commentnicklockwood/SwiftFormat

"yodaConditions" shouldn't apply to asymmetric operators

@mattgallagher released as version 0.45.6. Thanks for the report!

mattgallagher

comment created time in 4 days

push eventnicklockwood/homebrew-cask

Nick Lockwood

commit sha 8e6b696667c2c5ca41433d862c956185badf3261

Update swiftformat-for-xcode from 0.45.4 to 0.45.5 (#87297)

view details

desimaniac

commit sha b440ec6a75f156a121c2018dd197b6a812542686

Update anki from 2.1.29 to 2.1.30 (#87299)

view details

Peter Lewis

commit sha 6d0aebb57c184d44c3b58b37472823026f6a659b

wickrme: fix appcast (#87266)

view details

Miccal Matthews

commit sha abc2a7ce4182949ee5e663d5e96d1ee4d77d095b

zoom-for-it-admins: update uninstall and zap (#87228)

view details

suschizu

commit sha 2f4ab10819e77c7e59923990324f56ebc843a0b0

Update mcgimp.rb (#87303)

view details

suschizu

commit sha ca624c392a59d1811dd5c8c2422d988adece17a7

Update musictube from 1.13 to 1.13.1 (#87309)

view details

suschizu

commit sha 72b62936df34cdbef2022b94bf63801c5f3b147f

Update minecraftpe from 1.12.62 to 1.14.31 (#87311)

view details

suschizu

commit sha ae277842470004733889d042472461006defaa15

Update proclaim.rb (#87310)

view details

Samuel Murray

commit sha 00f24abf55092d2ac9c8e9ef7a887886883918d0

Add zap stanza to gloomhaven-helper Running Gloomhaven Helper creates a folder ~/.ghh in which it stores the current state, settings and log files. Adding this zap stanza enables users to easily remove that.

view details

Samuel Murray

commit sha 092c6509eda2304030a5179a776222de6482da10

Add additional zap for gloomhaven-helper Running 'sudo find / -iname "*ghh*"' revealed an additional location in which Gloomhaven Helper stores files

view details

suschizu

commit sha 3ecbf6ed5302d6f6370a875a278d46adcc3a279e

Update jami from 20200731.1728 to 20200608.1958 (#87305)

view details

Markus Reiter

commit sha 82f20928ac08bbbb9a726fa07b636ddc3d2a7107

Remove whitespace between `language` stanzas. (#87307)

view details

suschizu

commit sha 957fecafc82e8afd335575350b40c9c2f247e08f

Update unity.rb (#87312)

view details

suschizu

commit sha a63cf358f4c89fae41ccc6a9a084d2bc88969d47

Update movist-pro from 2.4.0 to 2.4.2 (#87306)

view details

我是洗衣机

commit sha d11171becf8c2b6834e9a37e2ba65c09f602e55f

Add Clash for Windows v0.11.3 (#87223)

view details

Sebastian Volland

commit sha 0e736a051ee0d2ab68e39fdaa0944e72d5ec4506

mpeg-streamclip.rb: does not run on Catalina (#87298)

view details

Hannes Braun

commit sha cd21ed5bcbb4f478e98fc77fa93eae0b6578d886

Update expressvpn from 7.9.5.2 to 7.9.7.8 (#87166)

view details

suschizu

commit sha 7d88392f2eeb7cfb6258a7570a2eb655ba0df7df

Update unity-ios-support-for-editor.rb (#87314)

view details

Randall

commit sha c1e8da443e3503127dc169b3daf8aa63951239e9

Update veracrypt from 1.24-Update4 to 1.24-Update7 (#87326)

view details

Randall

commit sha 5d5b535ea3286ae191a7982c68982e05f1a6e3c5

Update milkman from 4.5.0 to 4.6.0 (#87325)

view details

push time in 4 days

PR opened Homebrew/homebrew-cask

Update swiftformat-for-xcode from 0.45.5 to 0.45.6

After making all changes to the cask:

  • [x] brew cask audit --download {{cask_file}} is error-free.
  • [x] brew cask style --fix {{cask_file}} left no offenses.
  • [x] The commit message includes the cask’s name and version.
+2 -2

0 comment

1 changed file

pr created time in 4 days

PR opened Homebrew/homebrew-core

swiftformat 0.45.6
  • [x] Have you followed the guidelines for contributing?
  • [x] Have you checked that there aren't other open pull requests for the same formula update/change?
  • [x] Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • [x] Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • [x] Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

+2 -2

0 comment

1 changed file

pr created time in 4 days

push eventnicklockwood/homebrew-core

miccal

commit sha 72c55fa5b79705c718c05816a34031f4207301f2

vim 8.2.1400 Closes #59363. Signed-off-by: Dawid Dziurla <dawidd0811@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha f90129aa8ed3da2dd53972c53d09fe7f0f74daf8

vim: update 8.2.1400 bottle.

view details

Nick Lockwood

commit sha d317717fc86144b5badd8ba9ab04b22c478a9501

swiftformat 0.45.5 Closes #59362. Signed-off-by: Dawid Dziurla <dawidd0811@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha a6e84e66cf2e279b998f56857d100d97ca32a586

swiftformat: update 0.45.5 bottle.

view details

miccal

commit sha 0d3c7da6547ad342c47668e7e91b237684b6141d

imagemagick@6 6.9.11-26 Closes #59365. Signed-off-by: Dawid Dziurla <dawidd0811@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha adac580089c593a9047add3339b63ed3b2ee1b13

imagemagick@6: update 6.9.11-26 bottle.

view details

Caleb Xu

commit sha c0ce005419d6e24ed7ac30da43455fc5ce7658d1

file-roller 3.36.3 Closes #59359. Signed-off-by: Dawid Dziurla <dawidd0811@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha 404d8d2d086365fad15a7c39bd7b4f8f5ece31cc

file-roller: update 3.36.3 bottle.

view details

Caleb Xu

commit sha 6dbc67b245e26a0f7eb711dd90e5266527a10f9b

kde-extra-cmake-modules 5.73.0

view details

Caleb Xu

commit sha a2c0ced2c180fbead404f49b3b1d28299009d3dd

kde-karchive 5.73.0

view details

Caleb Xu

commit sha 81c40708570adb4e8cd0cf9d6bf988783e7b29ce

kde-ki18n 5.73.0

view details

Caleb Xu

commit sha 9d969385e070e163b6792d3bdac6a4acc2d13a20

kde-kdoctools 5.73.0

view details

Caleb Xu

commit sha 4b6d31c9ebc9896c68fd82fd28d74120b80c1209

kde-threadweaver 5.73.0 Closes #59360. Signed-off-by: chenrui <chenrui333@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha c0efd9045df919d07c6194e8922cda55f90e52bb

kde-extra-cmake-modules: update 5.73.0 bottle.

view details

BrewTestBot

commit sha f019e5c8afaca49876dca2582ae86ec3f4a2a3f2

kde-kdoctools: update 5.73.0 bottle.

view details

BrewTestBot

commit sha 03fc8b238cd59557757fc389840aff4323281e9b

kde-karchive: update 5.73.0 bottle.

view details

BrewTestBot

commit sha 70c22880faa1e054915c4eb26750d2897ab9ec69

kde-ki18n: update 5.73.0 bottle.

view details

BrewTestBot

commit sha a48f18bee6c12e25a67669db2dcacd0eaccba0e0

kde-threadweaver: update 5.73.0 bottle.

view details

Alexander Zigelski

commit sha 430ea203021cbae98aa518cee7c0a29e913203e7

phpstan 0.12.37

view details

miccal

commit sha 1acc79865cdd46b6b10951d101d34ac116c2f195

imagemagick 7.0.10-26 Closes #59364. Signed-off-by: Dawid Dziurla <dawidd0811@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

push time in 4 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 6f6db9daa0a98b9a3ea601383a9b10e9b9348f4c

Fix indenting of allman braces

view details

Nick Lockwood

commit sha cc7007f25e2deff0e7a198869dc5bf334262ad78

Add SwiftUI snapshot tests

view details

Nick Lockwood

commit sha 757ab5f6c69a4042c3799b601bf649ab6a750143

Add `--yodaswap` option

view details

Nick Lockwood

commit sha 8648f61aaec3947c7ee33f891160f805d0870102

Fix xcodeIndentation for wrapped type declarations

view details

Nick Lockwood

commit sha e5675ae49383e0d248d495bcfbedaa6f9b1f5375

Updated for 0.45.6 release

view details

push time in 4 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha e5675ae49383e0d248d495bcfbedaa6f9b1f5375

Updated for 0.45.6 release

view details

push time in 4 days

created tagnicklockwood/SwiftFormat

tag0.45.6

A command-line tool and Xcode Extension for formatting Swift code

created time in 4 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha fc944c49469cdf7c02de1eadf8c8e146216cee01

Updated for 0.45.6 release

view details

push time in 4 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 8648f61aaec3947c7ee33f891160f805d0870102

Fix xcodeIndentation for wrapped type declarations

view details

push time in 4 days

issue commentnicklockwood/SwiftFormat

"yodaConditions" shouldn't apply to asymmetric operators

@mattgallagher I've added a --yodaswap literals-only option which will disable swapping .foo == bar type conditions, while still applying to cases like true == foo. Hopefully that will help in your case.

mattgallagher

comment created time in 4 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 6f6db9daa0a98b9a3ea601383a9b10e9b9348f4c

Fix indenting of allman braces

view details

Nick Lockwood

commit sha cc7007f25e2deff0e7a198869dc5bf334262ad78

Add SwiftUI snapshot tests

view details

Nick Lockwood

commit sha 757ab5f6c69a4042c3799b601bf649ab6a750143

Add `--yodaswap` option

view details

push time in 4 days

issue commentnicklockwood/SwiftFormat

"yodaConditions" shouldn't apply to asymmetric operators

@mattgallagher unfortunately, since SwiftFormat operates at a token level it cannot know that == has been overloaded, or what the types of its arguments are.

I can't immediately see a good way to prevent it from being applied in this case. Maybe I can add an option to limit it to flow control statements like if/guard/while/where?

mattgallagher

comment created time in 4 days

issue commentnicklockwood/SwiftFormat

Rule Suggestion: Add @unavailable to compiler-suggested trivial init(coder:) implementation

@facumenzella sounds good - pet me know if you need any pointers.

nolanw

comment created time in 5 days

issue commentnicklockwood/SwiftFormat

Is there a way to enforce Allman bracing in closures AND functions/classes/structs?

Hmm, I probably need to special-case this for Allman style. I'll fix that in the next version.

ZoeESummers

comment created time in 6 days

issue closednicklockwood/SwiftFormat

.swiftformat not discovered when reading from stdin

Hi,

When reading from stdin, it doesn't look like swiftformat attempts to locate a .swiftformat. Is this intentional?

⋊> /p/t/test cat test.swift  | swiftformat --config .swiftformat --verbose                                                                                                                                                                                                                                            15:24:39
class Foo {
  var foo: String
}
⋊> /p/t/test cat test.swift  | swiftformat --verbose                                                                                                                                                                                                                                                                  15:24:46
class Foo {
    var foo: String
}

closed time in 6 days

asmundg

issue commentnicklockwood/SwiftFormat

.swiftformat not discovered when reading from stdin

@asmundg in 0.45.5 you can now pass a --stdinpath argument to specify the file location when using stdin, and SwiftFormat will then pick up any .swiftformat files in the path.

asmundg

comment created time in 6 days

issue closednicklockwood/SwiftFormat

Double/no indentation when closure and parentheses on same line

The following (formatted) code gets formatted oddly with --disable trailingClosures. The indentation inside of the closure is double indented (one for the parentheses, I assume). The indentation for the last line gets completely ignored.

Tested in 0.44.0

let a = b.flatMap({ e
        in
    e
                                                 })
let a
    = b.flatMap({ e
            in
        e
                                                })

closed time in 6 days

ChristopherRogers

issue commentnicklockwood/SwiftFormat

Double/no indentation when closure and parentheses on same line

@ChristopherRogers fixed in 0.45.5.

ChristopherRogers

comment created time in 6 days

issue closednicklockwood/SwiftFormat

Running pre-commit hook from Xcode

When trying to commit from Xcode, pre-commit tries to run swiftformat from the repo but fails to commit.

Xcode warning message after commit:

The working copy “Testing” failed to commit files.
Running SwiftFormat...\n
SwiftFormat completed in 0.13s.
1/1 files formatted.

In the Xcode 11.5, it seems as the changes were formatted and committed but in the terminal it looks like the changes where committed and then formatted resulting in unstaged changes.

pre-commit hook

git diff --diff-filter=d --staged --name-only | grep -e '\(.*\).swift$' | while read line; do $PWD/swiftformat "${line}"; git add "$line"; done

closed time in 6 days

Milos

issue commentnicklockwood/SwiftFormat

Running pre-commit hook from Xcode

@Milos fixed in 0.45.5.

Milos

comment created time in 6 days

issue closednicklockwood/SwiftFormat

Incorrect indent introduced in 0.45.3

An extra two spaces of indent are added at lines 405-408 of https://github.com/firebase/firebase-ios-sdk/blob/master/Firestore/third_party/FirestoreEncoder/FirestoreDecoder.swift

 $ swiftformat --indent 2 --maxwidth 100 --wrapparameters afterfirst -disable sortedImports,unusedArguments,wrapMultilineStatementBraces --lint   Firestore/third_party/FirestoreEncoder/FirestoreDecoder.swift
Running SwiftFormat...
(lint mode - no files will be changed.)
/Users/paulbeusterien/gh9/firebase-ios-sdk/Firestore/third_party/FirestoreEncoder/FirestoreDecoder.swift:405:1: warning: (indent) Indent code in accordance with the scope level.
/Users/paulbeusterien/gh9/firebase-ios-sdk/Firestore/third_party/FirestoreEncoder/FirestoreDecoder.swift:406:1: warning: (indent) Indent code in accordance with the scope level.
/Users/paulbeusterien/gh9/firebase-ios-sdk/Firestore/third_party/FirestoreEncoder/FirestoreDecoder.swift:407:1: warning: (indent) Indent code in accordance with the scope level.
/Users/paulbeusterien/gh9/firebase-ios-sdk/Firestore/third_party/FirestoreEncoder/FirestoreDecoder.swift:408:1: warning: (indent) Indent code in accordance with the scope level.

closed time in 6 days

paulb777

issue commentnicklockwood/SwiftFormat

Incorrect indent introduced in 0.45.3

@paulb777 fixed in 0.45.5.

paulb777

comment created time in 6 days

issue closednicklockwood/SwiftFormat

sortedImports borkage

Hey Nick, thanks for SwiftFormat and your many contributions to #ioslife... We couldn't build apps without you!

There's a wee bug in sortedImports, triggered by one of our SwifterSwift files. I narrowed it down with a small test case. Something to do with the header comment, the nested canImports, and `sortedImports. If I remove the comment the bug no longer occurs.

before

// evil comment

#if canImport(Foundation)
    import Foundation
    #if canImport(UIKit) && canImport(AVFoundation)
        import UIKit
        import AVFoundation
    #endif
#endif

$ swiftformat . --swiftversion 5

after

import AVFoundation
// evil comment

#if canImport(Foundation)
    import Foundation
    #if canImport(UIKit) && canImport(AVFoundation)
        import UIKit
    #endif
#endif

closed time in 6 days

gurgeous

issue commentnicklockwood/SwiftFormat

sortedImports borkage

@gurgeous fixed in 0.45.5.

gurgeous

comment created time in 6 days

push eventnicklockwood/homebrew-cask

Nick Lockwood

commit sha ccae745af3603b49ace426ec49e088f5c9390a74

Update swiftformat-for-xcode from 0.45.3 to 0.45.4 (#87265)

view details

John Benninghoff

commit sha 53971186c91ae0f2a79aba0b3541da4422e2d71d

Update soundsource from 5.0.0 to 5.0.1 (#87267)

view details

Barijaona Ramaholimihaso

commit sha f1f1b098876c96b12fe53c63dd9da3895565fb81

Update vienna from 3.5.5 to 3.5.6 (#87268)

view details

John Benninghoff

commit sha 5fc6c7e17f8f3595e4ab9eef5b7b09e7b2276342

Update soundsource from 5.0.1 to 5.0.2 (#87270)

view details

Miccal Matthews

commit sha fe34f47593e904d5931b84c319c0466300b91569

Update chromium from 793929 to 796244 (#87271)

view details

Randall

commit sha 204993576af426602a22527371c549abb77219ac

Update loom from 0.46.4 to 0.46.5 (#87287)

view details

Randall

commit sha a5dacc3d163eb0683359e2d06e630a1ca285daf3

Update wpsoffice from 2.3.0,3826 to 2.5.0,4141 (#87285)

view details

Randall

commit sha 1d195cccd803997ab7742605761e66ed7c7c0c6d

Update blitz from 1.10.42 to 1.10.43 (#87284)

view details

Randall

commit sha 81c9c1e1839eed7de083c668a7a385635f2d14a0

Update retrobatch from 1.4.1 to 1.4.2 (#87282)

view details

Randall

commit sha 1b89f4f37abce62d2f4f4a752b35f1bccc878a05

Update data-rescue from 6.0.0 to 6.0.1 (#87281)

view details

Randall

commit sha e1cfe95ccbfe1ba58853c939a0a3bc06131b58be

Update altair-graphql-client from 2.4.11 to 2.4.12 (#87279)

view details

Randall

commit sha e9409f140e8d20f96932f7d714f5f1f349279e94

Update gingko from 2.4.15 to 2.5.0 (#87278)

view details

Randall

commit sha 42123a3fd84193ae741da9172f9728b1eb4943ee

Update netnewswire from 5.0.3 to 5.0.4 (#87277)

view details

Randall

commit sha bf82941ad08aa4cc2c09719439169bb2951447d2

Update katalon-studio from 7.6.1 to 7.6.2 (#87276)

view details

Randall

commit sha 2fe9df3e3da89d9e985dcac52f09fece7fa5825a

Update corona-tracker from 1.7.1 to 1.7.2 (#87275)

view details

Randall

commit sha 1d2cbc9171f71c0d963fc74ed2b26f564d268d6f

Update keeweb from 1.15.5 to 1.15.6 (#87274)

view details

Randall

commit sha 315144c640e1524266a4cc1229b6faf40fd16db0

Update superproductivity from 5.5.4 to 5.5.5 (#87273)

view details

Randall

commit sha b8369a7de6505f97e3b5002871df2b913b5c65aa

Update electrocrud from 2.7.0 to 2.7.1 (#87272)

view details

Randall

commit sha 467f6fdd730f92214e6ca1fa5a18f70e8b2568fa

Update bettertouchtool from 3.400-1629 to 3.401-1631 (#87295)

view details

Randall

commit sha 685e76a84f21e46fe9bf94710e9d23d7a97b053c

Update sqlpro-studio from 2020.61 to 2020.68 (#87294)

view details

push time in 6 days

PR opened Homebrew/homebrew-cask

Update swiftformat-for-xcode from 0.45.4 to 0.45.5

After making all changes to the cask:

  • [x] brew cask audit --download {{cask_file}} is error-free.
  • [x] brew cask style --fix {{cask_file}} left no offenses.
  • [x] The commit message includes the cask’s name and version.
+2 -2

0 comment

1 changed file

pr created time in 6 days

PR opened Homebrew/homebrew-core

swiftformat 0.45.5
  • [x] Have you followed the guidelines for contributing?
  • [x] Have you checked that there aren't other open pull requests for the same formula update/change?
  • [x] Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • [x] Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • [x] Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

+2 -2

0 comment

1 changed file

pr created time in 6 days

push eventnicklockwood/homebrew-core

Nick Lockwood

commit sha 008083035c966d623f9b0e5cff34cd0c4d663b07

swiftformat 0.45.4 Closes #59322. Signed-off-by: Dawid Dziurla <dawidd0811@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha beb15f225707b878f1e670e4f115301b20ef4078

swiftformat: update 0.45.4 bottle.

view details

Sam Ford

commit sha 50be1b4855242c742cfd16e9fe616c1c06a03461

lame: update stable url format, add license (#59319)

view details

Dawid Dziurla

commit sha 7224d7371f884036d7be31f06eab41f9d1d94903

workflows: attempt to fix gems caching by renaming restoration keys a bit

view details

Caleb Xu

commit sha bc2d773d347b2924ac91839e66656ab2cdfa5c6d

lean-cli 0.23.0 deprecate gopath and update test Closes #59277. Signed-off-by: Dawid Dziurla <dawidd0811@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha ec8b9c7c19074faabc6f63144ef904ceaede2adb

lean-cli: update 0.23.0 bottle.

view details

Rui Chen

commit sha 6b2ca9c6bc999ef379879836154f2b4a119beff7

haskell-stack 2.3.3 remove ghc-8.6.x dep add ghc build from source Closes #59267. Signed-off-by: Dawid Dziurla <dawidd0811@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha 09109f5e5ce1972bf9b1e73cb8dd215036d67c05

haskell-stack: update 2.3.3 bottle.

view details

Alexander Zigelski

commit sha a917f5e135e69ee6d6ad1cbe035f720025eb0f03

ios-webkit-debug-proxy 1.8.8 Closes #59325. Signed-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha 91248cb332b1cfd42ed4c5341535a0a6e9e3f721

ios-webkit-debug-proxy: update 1.8.8 bottle.

view details

Rui Chen

commit sha 9942bfa38a41e92687e68f254e487af07a80c2b2

re2c 2.0.2 Closes #59324. Signed-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha 6176c4262322e7ca2f00df9b9a0595cff3bd51a6

re2c: update 2.0.2 bottle.

view details

Rui Chen

commit sha d58d8084c91268d038ff40f74ca0f762b1421d2a

rclone 1.52.3 Closes #59323. Signed-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha 7de9192841e3f1fbadb2985913251cacdda202c1

rclone: update 1.52.3 bottle.

view details

Rui Chen

commit sha 992c54cc776781af17cbbbd437460b07cbbe104f

dvc 1.4.0 Closes #59327. Signed-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha b1d9d48d3e8987aa1ca39ac05739a773c603fb2c

dvc: update 1.4.0 bottle.

view details

Rui Chen

commit sha 37bb81e069b123448fabe8580b78ba1e461286b4

helmfile 0.125.4 Closes #59326. Signed-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha 22a0827203697261cbd887a8ee63c8882ff3bbbb

helmfile: update 0.125.4 bottle.

view details

Dawid Dziurla

commit sha f4de94de6714d4e5e248f6c43b4ac49c4527328d

workflows: use cache v1 action

view details

Caleb Xu

commit sha 5f88883e9bc4d34b66e289beced4542ff21ed405

maxwell 1.27.1 (#59333)

view details

push time in 6 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 445abe35fc8255fb3c35cfefce99a1784d11d657

Fix throwing function braces mistaken for closure

view details

Nick Lockwood

commit sha 026550d01c1228353ded46da4555da49d221a183

Process .swiftformat files when using --stdinpath

view details

Nick Lockwood

commit sha add7b27f69d08b79571bbb9bf8a2f587a24b0e16

Fix bug with conditional imports

view details

Nick Lockwood

commit sha ded376674853aa18c5a5f9742444efae602d3310

Fix indenting of wrapped `in` inside closure

view details

Nick Lockwood

commit sha bb7d2a3a5701f131902fb4d8ee476c4719a2e4de

Updated for 0.45.5 release

view details

push time in 6 days

created tagnicklockwood/SwiftFormat

tag0.45.5

A command-line tool and Xcode Extension for formatting Swift code

created time in 6 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha bb7d2a3a5701f131902fb4d8ee476c4719a2e4de

Updated for 0.45.5 release

view details

push time in 6 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha ded376674853aa18c5a5f9742444efae602d3310

Fix indenting of wrapped `in` inside closure

view details

push time in 6 days

issue closednicklockwood/SwiftFormat

Linebreak before opening brace in multiline `if`

I'd love to see a rule controlling the placement of the opening brace in multiline if statements so that they better align with multiline guard statements, even when using K&R-style braces.

My preference

I would write this...

if foo, bar, baz {
  print("all true")
}

...as...

if
  foo,
  bar,
  baz
{
  print("all true")
}

This is congruent with multiline guard statements (see #37).

guard
  foo,
  bar,
  baz
else {
  print("all true")
  return
}

SwiftFormat's preference

Currently, SwiftFormat does this:

if
  foo,
  bar,
  baz {
  print("all true")
}

I would like to be able to control this behavior with a rule and still retain K&R-style braces for non-multiline statements for congruency with multiline guard.

closed time in 7 days

sfktrifork

issue commentnicklockwood/SwiftFormat

Linebreak before opening brace in multiline `if`

@sfktrifork this is now implemented in 0.45.0 and later. The rule that handles this is wrapMultilineStatementBraces, which is enabled by default.

sfktrifork

comment created time in 7 days

issue commentnicklockwood/SwiftFormat

Is there a way to enforce Allman bracing in closures AND functions/classes/structs?

@altagir is this working correctly for you in the released version 0.45.4?

ZoeESummers

comment created time in 7 days

issue closednicklockwood/SwiftFormat

Can I set up blankLinesAtStartOfScope?

I do not want to delete the space before the type

Before SwiftFormat

struct Environment: Decodable {

    struct AssetInfo: Decodable {

        let assetId: String
        let name: String
        let quantity: Int64
        let decimals: Int
    }
}

After SwiftFormat

struct Environment: Decodable {
    struct AssetInfo: Decodable {
        let assetId: String
        let name: String
        let quantity: Int64
        let decimals: Int
    }
}

Want space between types

After SwiftFormat

struct Environment: Decodable {

    struct AssetInfo: Decodable {
        let assetId: String
        let name: String
        let quantity: Int64
        let decimals: Int
    }
}

Thx

closed time in 7 days

mefilt

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha add7b27f69d08b79571bbb9bf8a2f587a24b0e16

Fix bug with conditional imports

view details

push time in 7 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 026550d01c1228353ded46da4555da49d221a183

Process .swiftformat files when using --stdinpath

view details

push time in 7 days

issue commentnicklockwood/SwiftFormat

sortedImports borkage

@gurgeous thanks for reporting, I'll try to fix it asap

gurgeous

comment created time in 7 days

issue commentnicklockwood/SwiftFormat

Incorrect indent introduced in 0.45.3

@paulb777 I pushed a fix to the develop branch. This will land in 0.45.5 (probably in a few days).

paulb777

comment created time in 7 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 445abe35fc8255fb3c35cfefce99a1784d11d657

Fix throwing function braces mistaken for closure

view details

push time in 7 days

issue commentnicklockwood/SwiftFormat

Incorrect indent introduced in 0.45.3

@paulb777 ah, sorry, I misunderstood. I assumed that the file you had linked to was the correct version, not the one with the wrong indent already applied.

I suspect the braces here are being mistaken for a closure. I'll investigate and try to fix it in the next release.

paulb777

comment created time in 7 days

issue closednicklockwood/SwiftFormat

FileHeader rule replaces comment directives at start of file

When using --header foobar a file such as

// swiftformat:options --indent 2

func foo() {}

Becomes:

// foobar

func foo() {}

closed time in 7 days

nicklockwood

issue closednicklockwood/SwiftFormat

linerange issues

I'm using --linerange (swiftformat 0.45.3) option and I've found 2 issues using the following file:

// indentation with 2 spaces
func run() {
  if data[idx] != nil {
        print(            "has data") /* this line needs indentation fix */
  }
}

First issue - linerange formatting needs more context than necessary:

Actual: Running

swiftformat --indent 2 --swiftversion 5 --quiet --linerange 3,4

removes the extra spaces after the open parenthesis of print function.

The actual fix is to run:

swiftformat --indent 2 --swiftversion 5 --quiet --linerange 2,4

Expected: Running

swiftformat --indent 2 --swiftversion 5 --quiet --linerange 3,4

should be sufficient for fixing the line.

Second issue - error formatting

Actual:

swiftformat --indent 2 --swiftversion 5 --quiet --linerange 4,5

shows the following error: Formatting /usr/local/bin/bash: line 1: 3534 Illegal instruction: 4

Expected: No error because the input is a valid Swift file.

closed time in 7 days

mihaicristiantanase

issue commentnicklockwood/SwiftFormat

linerange issues

@mihaicristiantanase I believe all of these issues are now fixed in 0.45.4. Let me know if you find any other problems.

mihaicristiantanase

comment created time in 7 days

issue closednicklockwood/SwiftFormat

'else' in multi-line 'guard' statement loses indentation

@nicklockwood I found some weird behaviour around multi-line guard statements. Here's my test example:

class MyClass {
    struct MyStruct {
        private func doSomething() {
            guard let foo = blah,
                bar.isSomething else {
                doSomething()
            }
        }
    }
}

Running the following command: $ Pods/SwiftFormat/CommandLineTool/swiftformat test.swift --rules elseOnSameLine,wrapMultilineStatementBraces

Expected outcome:

class MyClass {
    struct MyStruct {
        private func doSomething() {
            guard let foo = blah,
                bar.isSomething
            else {
                doSomething()
            }
        }
    }
}

Actual outcome:

class MyClass {
    struct MyStruct {
        private func doSomething() {
            guard let foo = blah,
                bar.isSomething
else {
                doSomething()
            }
        }
    }
}

closed time in 7 days

meherkasam

issue commentnicklockwood/SwiftFormat

'else' in multi-line 'guard' statement loses indentation

@meherkasam fixed in 0.45.4.

meherkasam

comment created time in 7 days

issue commentnicklockwood/SwiftFormat

Wrap after-first should always wrap after the first argument/parameter

@@stevelandeyasana your issues is fixed in 0.45.4.

micampe

comment created time in 7 days

push eventnicklockwood/homebrew-cask

Nick Lockwood

commit sha 517dc67b5b46edd410a208b556be209f17f034b5

Update swiftformat-for-xcode from 0.45.2 to 0.45.3 (#87022)

view details

Randall

commit sha 818dcbb0074b19974cbb1232f52f3821d965410d

Update navicat-data-modeler from 3.0.11 to 3.0.12 (#87021)

view details

Randall

commit sha a1c88639ba6da851f7d35fd4758a3eade301960b

Update navicat-for-sqlite from 15.0.18 to 15.0.20 (#87020)

view details

Randall

commit sha b6ee584be2cdffe4526a78f7f9ca00da6db8bff8

Update brook from 20200701 to 20200801 (#87019)

view details

Randall

commit sha c44d97fa9439f091805e07c29af3ea4e34d23bee

Update refined-github-safari from 2.1.4 to 2.1.5 (#87018)

view details

Randall

commit sha 8042bac3469f6750bef6da104d8436ec91cdb16d

Update hstracker from 1.6.36 to 1.6.37 (#87017)

view details

Randall

commit sha fcf62513400758a46eaf6e42d96f97e1162a92ba

Update session from 1.1.2 to 1.2.0 (#87016)

view details

Randall

commit sha 51d1eff5669d235bca78af3d57df9d82980e7b0f

Update dynobase from 0.8.6 to 1.0.0 (#87015)

view details

Randall

commit sha f3825f3fc592b67e9c6542bcfa81073c2d72d5f4

Update standard-notes from 3.4.1 to 3.4.2 (#87014)

view details

Randall

commit sha 2df1f095ee800d8322e59040af633becefb33058

Update dosbox-x from 0.83.3,20200630161244 to 0.83.4,20200802220401 (#87013)

view details

Randall

commit sha a57a480d5aaaeb39a10402c33211f342ead4bc1b

Update pd-l2ork from 2.12.0 to 2.13.0 (#87012)

view details

Randall

commit sha 4ceb87e3d0fc168a2f8a7892081dc0b75c9e9044

Update skype from 8.62.0.85 to 8.63.0.76 (#87037)

view details

Randall

commit sha b917f9bbd2abddad6de853cff8e3422eb7e72d93

Update transnomino from 4.0 to 5.0 (#87036)

view details

Randall

commit sha 07011409e19fb692b2b9bb5357ec6cbda0cca2da

Update marvin from 1.53.1 to 1.54.0 (#87035)

view details

Randall

commit sha 649644169d13195a5b7247b2761718c782bcacdb

Update beatunes from 5.2.10 to 5.2.11 (#87033)

view details

Randall

commit sha 9e8801757b69dc9e679072aef36c37e4564cfca2

Update keyboard-maestro from 9.0.5 to 9.0.6 (#87032)

view details

Randall

commit sha 54672dc936fbba8d78bce9352d378b4d02ee96eb

Update vuescan from 9.7.29 to 9.7.30 (#87031)

view details

Randall

commit sha b9280f06b8d7859a232b4849fefc52b116b53f38

Update timing from 2020.7 to 2020.8 (#87030)

view details

Randall

commit sha 5f8ce72151fe54e98c58c7b2709335e6a35704e5

Update navicat-for-mysql from 15.0.18 to 15.0.20 (#87029)

view details

Randall

commit sha ad9834b63ee26cc3e7342fed0163293522218e25

Update navicat-premium-essentials from 15.0.18 to 15.0.20 (#87028)

view details

push time in 7 days

PR opened Homebrew/homebrew-core

swiftformat 0.45.4
  • [x] Have you followed the guidelines for contributing?
  • [x] Have you checked that there aren't other open pull requests for the same formula update/change?
  • [x] Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • [x] Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • [x] Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

+2 -2

0 comment

1 changed file

pr created time in 7 days

PR opened Homebrew/homebrew-cask

Update swiftformat-for-xcode from 0.45.3 to 0.45.4

After making all changes to the cask:

  • [x] brew cask audit --download {{cask_file}} is error-free.
  • [x] brew cask style --fix {{cask_file}} left no offenses.
  • [x] The commit message includes the cask’s name and version.
+2 -2

0 comment

1 changed file

pr created time in 7 days

push eventnicklockwood/homebrew-core

Rylan Polster

commit sha 12a5f1dd6a248cfea96fdde15ea52ebef3c90120

re2c: disable (#59094) Disable re2c because it does not have an SPDX or OSI-approved license.

view details

Rylan Polster

commit sha cad82fe955142f22fc5929d372795fdfd6a27d15

duti: disable (#59109) Disable duti because it does not have an SPDX or OSI-approved license.

view details

Rylan Polster

commit sha f40a4ffe3f9140ad9ce3e9463821da9665e6a6c0

fmdiff: disable (#59110) Disable fmdiff because it does not have an SPDX or OSI-approved license.

view details

Caleb Xu

commit sha 4f2ae81434535bf31823f3a7b9950036c8e91a80

jruby 9.2.13.0

view details

Caleb Xu

commit sha ef3d33d87e4e5d7fb163b7b9fd4e3d7d98e90469

sqlmap 1.4.8

view details

Caleb Xu

commit sha d70a030b818b2dc2b4ba2786352cd133a268bf00

nfdump 1.6.21 Closes #59101. Signed-off-by: Rylan Polster <rslpolster@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha bbbcdd6983e78f6913ce2563950ece9d0556d1b1

nfdump: update 1.6.21 bottle.

view details

Caleb Xu

commit sha 7e08d9d1151cfb930362430b585cf59bf2a19158

re-flex 2.1.3 Closes #59104. Signed-off-by: Rylan Polster <rslpolster@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha d45cf352074b0d6e076f9351c41da255329abf82

re-flex: update 2.1.3 bottle.

view details

Caleb Xu

commit sha 6feb50231701b2eef577ccd4f1d3e472e8125cc2

vulkan-headers 1.2.149 Closes #59106. Signed-off-by: Rylan Polster <rslpolster@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha 83946d7ebcefd01c7be41ac4393a712b7f9bc0de

vulkan-headers: update 1.2.149 bottle.

view details

Caleb Xu

commit sha d617e15637ecce82479e83e165568224f6d33e4d

hexgui 0.9.3 Closes #59098. Signed-off-by: Rylan Polster <rslpolster@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha bb9502e32b02f1fca40d6c72251916e90aad557c

hexgui: update 0.9.3 bottle.

view details

Caleb Xu

commit sha da8cb177f11ef3c2520d7faa72119573a61a4903

findent 3.1.7 Closes #59096. Signed-off-by: Rylan Polster <rslpolster@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha dd77de5fe611d1212a918c7856545e6122cc127b

findent: update 3.1.7 bottle.

view details

Caleb Xu

commit sha 809b170bbbd949775c2c23e83ef27c1c13347ff0

ispc 1.14.0 Closes #59099. Signed-off-by: Rylan Polster <rslpolster@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha 350d27f84e510ae75909a56fb0788019332408c9

ispc: update 1.14.0 bottle.

view details

Caleb Xu

commit sha 055fb705254892481cf3ab2f776cca17ea6a7390

xclogparser 0.2.17 Closes #59107. Signed-off-by: Rylan Polster <rslpolster@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

BrewTestBot

commit sha 560aae3c2eb765e6216b5f40341a49d6b6d45db0

xclogparser: update 0.2.17 bottle.

view details

Caleb Xu

commit sha aa10673a8e4b1ac03581fd84f410108cd3eb5091

mycli 1.22.2 Closes #59102. Signed-off-by: Rylan Polster <rslpolster@gmail.com> Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>

view details

push time in 7 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 28170f8851b29ffbda9eb409c348324dd6f429d5

Fix guard else indenting

view details

Nick Lockwood

commit sha 9110b6179dd22fcd399a59831693f54ce321b31e

Fix fileHeader rule stripping comment directive

view details

Nick Lockwood

commit sha c970342893b47f560cad78acfa6701c29706668d

Fix --linerange crash in blankLinesBetweenScopes

view details

Nick Lockwood

commit sha 670bfffb374fafd4df6031cec2c20e2aad7e9997

Audit rules for --linerange compatibility

view details

Nick Lockwood

commit sha b5ef2f09ed5b2cd2b0ccecb02c541275db6b1433

Document issue with preferKeyPath and compactMap

view details

Nick Lockwood

commit sha 0fd8e4992684de34c71e9a18a38855a5d5b92a96

Fix indenting of --allman closure braces

view details

Nick Lockwood

commit sha 4110436376d0195f6a91e49af6ac3566571a890e

Fix defaulting --wrapparameters to --wraparguments

view details

Nick Lockwood

commit sha e699415c992e4be1a65567e5a95b2df5c88bbb4c

Add snapshot test for issue #411

view details

Nick Lockwood

commit sha d294de84b97d0e4a63abaaa3ae92430313ce47f7

Add snapshot test for issue #697

view details

Nick Lockwood

commit sha 909cbea00125e13407bc2f5ef83a0e92fd57e9d0

Updated for 0.45.4 release

view details

push time in 7 days

created tagnicklockwood/SwiftFormat

tag0.45.4

A command-line tool and Xcode Extension for formatting Swift code

created time in 7 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 0fd8e4992684de34c71e9a18a38855a5d5b92a96

Fix indenting of --allman closure braces

view details

Nick Lockwood

commit sha 4110436376d0195f6a91e49af6ac3566571a890e

Fix defaulting --wrapparameters to --wraparguments

view details

Nick Lockwood

commit sha e699415c992e4be1a65567e5a95b2df5c88bbb4c

Add snapshot test for issue #411

view details

Nick Lockwood

commit sha d294de84b97d0e4a63abaaa3ae92430313ce47f7

Add snapshot test for issue #697

view details

Nick Lockwood

commit sha 909cbea00125e13407bc2f5ef83a0e92fd57e9d0

Updated for 0.45.4 release

view details

push time in 7 days

issue commentnicklockwood/SwiftFormat

Incorrect indent introduced in 0.45.3

@paulb777 this appears to already be fixed in 0.45.3 (I can reproduce it in 0.45.2).

paulb777

comment created time in 7 days

issue commentnicklockwood/SwiftFormat

Is there a way to enforce Allman bracing in closures AND functions/classes/structs?

@altagir unfortunately I can't find any explanation for this. There must be some difference with how you are running it, but I can't imagine what it could be.

ZoeESummers

comment created time in 7 days

issue commentnicklockwood/SwiftFormat

Is there a way to enforce Allman bracing in closures AND functions/classes/structs?

@altagir and you definitely checked out the develop branch, not master?

ZoeESummers

comment created time in 8 days

issue commentnicklockwood/SwiftFormat

Transforming trailing braces

FYI, if you run swiftformat with --verbose mode, it will tell you which rules were applied to each file. Alternatively you can use --lint, which will tell you which rules it would like to apply, but without actually modifying the code.

paulb777

comment created time in 8 days

issue commentnicklockwood/SwiftFormat

Transforming trailing braces

@paulb777 you can disable the wrapMultilineStatementBraces rule, introduced in 0.45.0

paulb777

comment created time in 8 days

issue commentnicklockwood/SwiftFormat

Please keep old versions published on brew

@paulb777 I have no idea why homebrew makes it so difficult to install old versions. Could you try using Mint or CocoaPods, or just SPM directly?

paulb777

comment created time in 8 days

issue commentnicklockwood/SwiftFormat

Please keep old versions published on brew

@paulb777 you can download the 0.45.2 release here: https://github.com/nicklockwood/SwiftFormat/releases/tag/0.45.2 - you'll find the binary inside the CommandLineTool directory.

Any particular reason you can't just use 0.45.3?

paulb777

comment created time in 8 days

issue commentnicklockwood/SwiftFormat

Is there a way to enforce Allman bracing in closures AND functions/classes/structs?

@altagir maybe try running it again with --cache clear ?

ZoeESummers

comment created time in 8 days

issue commentnicklockwood/SwiftFormat

Is there a way to enforce Allman bracing in closures AND functions/classes/structs?

@altagir that's very strange. I have that exact example in the Snapshots/Issues/406.swift file and it's working correctly (even if I include all options you've specified). Is there any other code in the file? Or perhaps some other configuration you are setting that might be relevant?

ZoeESummers

comment created time in 8 days

push eventnicklockwood/SwiftFormat

Nick Lockwood

commit sha 344e3caf9863acb301766749abd9ff29bad59f18

Fix indenting of --allman closure braces

view details

Nick Lockwood

commit sha 3b89c77e5bf01889979d8528f559ac2ac81f3724

Fix defaulting --wrapparameters to --wraparguments

view details

Nick Lockwood

commit sha a1412967b5d03e40c0b809d519cc11830c237206

Add snapshot test for issue #411

view details

push time in 9 days

issue commentnicklockwood/SwiftFormat

[Regression] preferKeyPath option introduces compile time issue

@Panajev I'll leave it open so others can find it. I'll try to gauge how common the problem is, and I may consider adding an option to disable the feature just for compactMap().

I don't see any simple way for me to resolve it, but I'm hoping it's something Apple will eventually fix in Swift itself.

Panajev

comment created time in 9 days

issue commentnicklockwood/SwiftFormat

Is there a way to enforce Allman bracing in closures AND functions/classes/structs?

Do you know if this all works correctly in SwiftUI with its awful syntax?

Good question. I've done some testing with SwiftUI, but not with SwiftUI + Allman-style. I'll make sure to add some more tests around that. If you have any samples to share that would be helpful.

ZoeESummers

comment created time in 9 days

issue commentnicklockwood/SwiftFormat

New Rule Suggestion: Specify number of blank lines between ...

@ZoeESummers no progress on this yet I'm afraid.

ZoeESummers

comment created time in 9 days

issue commentnicklockwood/SwiftFormat

Is there a way to enforce Allman bracing in closures AND functions/classes/structs?

@altagir Oh wait, it seems there is still an issue. The code I tested was

func foo()
{
    return SessionManager
        .shared
        .validateSession()
        .switchMap
        { _ -> Observable<SomeEntity> in
            someCode()
        }
        .switchMap
        {
            otherCode()
        }
}

Which formats correctly. But if you remove the outer function it seems to be treated differently. I'd assume that doesn't arise very often in real (non-example) code, but I'll fix it anyway. Thanks for flagging it.

ZoeESummers

comment created time in 9 days

issue commentnicklockwood/SwiftFormat

Is there a way to enforce Allman bracing in closures AND functions/classes/structs?

@altagir did you build the CLI from source, or just run the binary in the develop branch? The binary hasn't been updated.

ZoeESummers

comment created time in 9 days

more