LearnBoost/stylus — pull request #1014 by cspotcode (2013-05-05 22:49:19+00:00)
Title: Added $hidden selectors that can be @extended but don't appear in rendered CSS

This is inspired by SASS's "hidden classes" feature, which I learned about by reading these slides: https://speakerdeck.com/anotheruiguy/sass-32-silent-classes

In SASS, hidden classes are prefixed by a `%` instead of a `.`. I chose to use `$` because `%` is a Stylus operator and was throwing parsing errors.

Any selector starting with "$" is hidden (e.g. $foo) but can be still be @extend-ed.

**This Stylus:**
```
$ugly-button
border 1px solid black

$ugly-red-button
@extend $ugly-button
background red

// This selector is never used; it's properties won't appear in the output
$ugly-blue-button
@extend $ugly-button
background blue

button.login
@extend $ugly-red-button
```

**Becomes this CSS:**
```css
button.login {
border: 1px solid #000;
}
button.login {
background: #f00;
}
```

If you want to merge this feature, I'll write some tests.