Navigation Menu

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
@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 / SMSMMSService.java
Created October 23, 2017 17:03
Service to send SMS
import android.app.IntentService;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import com.crashlytics.android.answers.Answers;
import com.crashlytics.android.answers.CustomEvent;
import com.klinker.android.send_message.ApnUtils;
import com.klinker.android.send_message.Message;
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
// Created by Amadeu Cavalcante Filho on 11/05/19.
// Copyright © 2019 Amadeu Cavalcante Filho. All rights reserved.
//
import Foundation
public struct Task<T, E: Error> {
public typealias Closure = (Controller<T, E>) -> Void
private let closure: Closure
@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,