mdr/scalariform — pull request #103 by daniel-trinh (2014-01-18 03:25:43+00:00)
Title: Align params update (related to issue #61)

+ Parameters now not only align by the first token in a parameter,
but also by the type and any defaults in the parameter

Original Source, before running scalariform
```scala
def showInput[A](
parent: Component = null,
message: Any,
title: String = uiString("OptionPane.inputDialogTitle"),
messageType: Message.Value = Message.Question,
icon: Icon = EmptyIcon,
entries: Seq[A] = Nil,
initial: A): Option[A]
```

Before this update, after running scalariform
```scala
def showInput[A](
parent: Component = null,
message: Any,
title: String = uiString("OptionPane.inputDialogTitle"),
messageType: Message.Value = Message.Question,
icon: Icon = EmptyIcon,
entries: Seq[A] = Nil,
initial: A): Option[A]
```

After this update, after running scalariform
```scala
def showInput[A](
parent: Component = null,
message: Any,
title: String = uiString("OptionPane.inputDialogTitle"),
messageType: Message.Value = Message.Question,
icon: Icon = EmptyIcon,
entries: Seq[A] = Nil,
initial: A): Option[A]
```

+ The `implicit` modifier is now placed on it's own line in parameters if AlignParameters is enabled (and there's a newline in the parameter)

Original Source, before running scalariform
```scala
def(
arg1: String
)(
implicit arg2: ExecutionContext = Akka.system,
arg3: SomeImplicitableType
)
```

Before this update, after running scalariform
```scala
def(
arg1: String)(
implicit arg2: ExecutionContext = Akka.system,
arg3: SomeImplicitableType)
```

After this update, after running scalariform
```scala
def(
arg1: String)(
implicit
arg2: ExecutionContext = Akka.system,
arg3: SomeImplicitableType)
```

+ Multi-line types will not be placed on a new line unless the original source
parameter started with a newline

Original Source, before running scalariform
```scala
class A(a: Int,
b: Int)(c: { val d: Int
})
```

Before this update, after running scalariform
```scala
class A(a: Int,
b: Int)(
c: {
val d: Int
})
```

After this update, after running scalariform
```scala
class A(a: Int,
b: Int)(c: {
val d: Int
})
```