Skip to content
This repository has been archived by the owner on Jun 9, 2022. It is now read-only.

Adicionar regra personalizada (regex) no SwiftLint (linter) para verificar linhas em branco #19

Open
DamascenoRafael opened this issue Oct 3, 2018 · 2 comments

Comments

@DamascenoRafael
Copy link
Member

Atualmente o Caronaê utiliza o linter SwiftLint e está configurado com o arquivo .swiftlint.yml. Neste arquivo a regra vertical_whitespace está configurada para permitir no máximo 2 linhas em branco seguidas.

O objetivo é desabilitar esta regra no arquivo .swiftlint.yml e criar uma ou duas regras personalizadas de forma que:

  • Os comentários do tipo // MARK: estejam sempre com duas linhas em branco seguidas acima e uma abaixo
  • Fora a situação anterior, só seja permitido no máximo uma linha em branco entre código/comentário etc.

Exemplo da situação que deve ser aceita para os comentários do tipo // MARK: :

        ...
    }
    
    
    // MARK: CollectionView DataSource (and related) methods
    
    func ...

OBS: As regras devem considerar uma linha que só possui espaço como uma linha em branco. Existe uma outra regra no SwiftLint que alerta para espaços em branco em linhas (trailing-whitespace, que se encontra desabilitada no arquivo de configuração)

@DamascenoRafael
Copy link
Member Author

Implementado no PR #20. Obrigado @fpg1503!

@DamascenoRafael
Copy link
Member Author

@fpg1503, desculpa por reabrir o issue só agora, percebi um pequeno detalhe sobre a nova regra criada. O limite superior para o número de linhas em branco está funcionando perfeitamente. 🎉
Mas no caso específico de linhas com // MARK: ... a ideia seria sempre existir 2 linhas em branco acima e 1 linha em branco abaixo.

Atualmente é possível utilizar trechos da forma desejada: ✅

        ...
    }
    
    
    // MARK: CollectionView DataSource (and related) methods
    
    func ...

mas também com um número de linhas em branco inferior ao desejado (ou sem nenhuma): ❌

        ...
    }
    // MARK: CollectionView DataSource (and related) methods
    func ...

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

1 participant