Skip to content

Instantly share code, notes, and snippets.

View amadeu01's full-sized avatar
:octocat:
Working from Stockholm

Amadeu Cavalcante Filho amadeu01

:octocat:
Working from Stockholm
View GitHub Profile
import SwiftUI
import UIKit
class CustomLargeTitleNavigationBar: UINavigationBar {
private lazy var view: UIView = {
let view = UIView()
view.backgroundColor = .red
view.translatesAutoresizingMaskIntoConstraints = false
view.widthAnchor.constraint(equalToConstant: 200).isActive = true
@amadeu01
amadeu01 / build.gradle
Created October 4, 2019 01:08
Added custom ruleset
dependencies {
//... Other dependencies
// Ktlint
ktlintRuleset project(":custom-ktlint-rules")
}
@amadeu01
amadeu01 / build.gradle
Created October 4, 2019 01:07
spotless setup
spotless {
kotlin {
ktlint("$ktlint_version")
licenseHeader '/* Licensed under MIT */'
}
}
@amadeu01
amadeu01 / gradle.build
Created October 4, 2019 01:04
stotless setup
plugins {
id "kotlin"
id 'application'
id "com.diffplug.gradle.spotless" version "$spotless_version"
}
@amadeu01
amadeu01 / build.gradle
Created October 4, 2019 01:01
ktlint plug-in
plugins {
id "kotlin"
id 'application'
id "org.jlleitschuh.gradle.ktlint" version "$ktlint_plugin_version"
}
ktlint {
version = "$ktlint_version"
debug = false
verbose = false
@amadeu01
amadeu01 / custom_no_var.kt
Created October 4, 2019 00:58
Custom no var rule
class NoVarRule : Rule("no-var") {
override fun visit(
node: ASTNode,
autoCorrect: Boolean,
emit: (offset: Int, errorMessage: String, canBeAutoCorrected: Boolean) -> Unit
) {
if (node.elementType == VAR_KEYWORD) {
emit(node.startOffset, "😱 Unexpected var, use val instead 🏄‍", false)
}
@amadeu01
amadeu01 / customRule.kt
Created September 14, 2019 16:28
Custom Rule for ktlint
class CustomRuleSetProvider : RuleSetProvider {
override fun get() = RuleSet("rules",
NoInternalImportRule(),
NoVarRule()
)
}
class NoInternalImportRule : Rule("no-internal-import") {
override fun visit(
node: ASTNode, autoCorrect: Boolean,
@amadeu01
amadeu01 / build.gradle
Created August 21, 2019 20:51
Set ktlint with html reporter
task ktlint(type: JavaExec, group: "verification") {
description = "Check Kotlin code style."
main = "com.pinterest.ktlint.Main"
classpath = configurations.ktlint
args "src/**/*.kt --reporter=html,artifact=me.cassiano:ktlint-html-reporter:0.2.3,output=${buildDir}/ktlint.html"
}
check.dependsOn ktlint
task ktlintFormat(type: JavaExec, group: "formatting") {
description = "Fix Kotlin code style deviations."
@amadeu01
amadeu01 / spotlessKotlin.txt
Created August 21, 2019 20:05
spotless kotlin lint
src/ConduitAPIServer.kt
@@ -1,3 +1,4 @@
+/*·Licensed·under·MIT·*/
package·dev.amadeu
import·io.ktor.application.*
@@ -10,7 +11,7 @@
/**
·*·Conduit·API
@amadeu01
amadeu01 / build.gradle
Created August 21, 2019 19:32
Gradle config for ktlint
ktlint {
version = "0.34.0"
debug = true
verbose = true
android = false
outputToConsole = true
reporters = [ReporterType.CHECKSTYLE]
ignoreFailures = true
enableExperimentalRules = true
filter {