swimat - swift formatter

21
Swimat Jintin

Upload: jintin-lin

Post on 12-Apr-2017

417 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Swimat - Swift formatter

SwimatJintin

Page 2: Swimat - Swift formatter
Page 3: Swimat - Swift formatter

Alcatraz

Page 4: Swimat - Swift formatter

Usage

curl -fsSL https://raw.github.com/alcatraz/Alcatraz/master/Scripts/install.sh | sh

Page 5: Swimat - Swift formatter

Usage

Page 6: Swimat - Swift formatter

Usage

Page 7: Swimat - Swift formatter

Write a Plugin

Page 8: Swimat - Swift formatter

Install Template

Page 9: Swimat - Swift formatter

Create Project

Page 10: Swimat - Swift formatter

Write Formatter

Page 11: Swimat - Swift formatter

Compiler

• Source Code

• Scaner

• Lexer

• Parser

Page 12: Swimat - Swift formatter

Do it yourself

Page 13: Swimat - Swift formatter

Step

• Separate words

• Indent each block

• Indent incomplete line

• Keep string comment line or block

Page 14: Swimat - Swift formatter

Separate words

a = b - c a = b + -c

a = b ? c : d a = b?

Page 15: Swimat - Swift formatter

Function Block

func block() { someFunction() if some == other { some = another } }

Page 16: Swimat - Swift formatter

Closure Block self.multiBlockFunction({ () -> Void in // success

}, failure: { () -> Void in // failure

}) { () -> Void in // finally

}

Page 17: Swimat - Swift formatter

Incomplete Line

if a = b { a = c + d }

Page 18: Swimat - Swift formatter

Incomplete Line

if a = b { a = c + d }

Page 19: Swimat - Swift formatter

Keep String

let c = "a+b=\(a + b)"

Page 20: Swimat - Swift formatter

Keep String & Comment

// declare c=a+b

let c = "a+b=\(a + b)"

Page 21: Swimat - Swift formatter

Q & A