ekryski/less2sass — pull request #3 by bitfyre (2014-12-31 06:42:00+00:00)
Title: Mixin and Include conversions should handle parameters on multiple lines

Rework regex patterns for mixins and includes with parameters that span multiple lines. The following mixin:

```less
.drop-shadow(
@x-axis: 0,
@y-axis: 1px,
@blur: 2px,
@alpha: 0.1
) {
-webkit-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
-moz-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
}
```

should convert to:

```scss
@mixin drop-shadow(
$x-axis: 0,
$y-axis: 1px,
$blur: 2px,
$alpha: 0.1
) {
-webkit-box-shadow: $x-axis $y-axis $blur rgba(0, 0, 0, $alpha);
-moz-box-shadow: $x-axis $y-axis $blur rgba(0, 0, 0, $alpha);
box-shadow: $x-axis $y-axis $blur rgba(0, 0, 0, $alpha);
}
```

The following include:

```less
.drop-shadow(
0,
2px,
4px,
0.4
);
```

should convert to:

```scss
@include drop-shadow(
0,
2px,
4px,
0.4
);
```

The conversion should also respect the original's level of indentation. This conversion will also convert name spaced mixins like the following:

```less
#grid {
.column(…) {…};
}
```

to:

```scss
#grid {
@mixin column(…) {…};
}
```

This won't compile with any of the existing sass compliers, but is much closer than previously.