Skip to content

Instantly share code, notes, and snippets.

@thebugs
Last active July 22, 2016 22:42
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save thebugs/977813e0040a4145cf9d to your computer and use it in GitHub Desktop.
Save thebugs/977813e0040a4145cf9d to your computer and use it in GitHub Desktop.
rules-delimiter option for csscomb.js
module.exports = {
name: 'rules-delimiter',
syntax: ['scss'],
runBefore: "strip-spaces",
setValue: function(value) {
if (typeof value === 'number') {
value = Array(value + 2).join('\n');
}
return value;
},
process: function(nodeType, node) {
var value = this.getValue('rules-delimiter'),
currentNode,
previousNode;
for(var i = node.length; i--;) {
currentNode = node[i];
previousNode = node[i - 1];
if(currentNode[0] === 'ruleset' && previousNode) {
if(previousNode[0] === 's') {
if (node[i - 2] && (node[i - 2][0] === 'commentSL' || node[i - 2][0] === 'commentML')) continue;
node[i - 1][1] = previousNode[1].replace(/\n*/, value);
}
}
}
}
};
@andalusi
Copy link

Thanks for your awesome workaround.
I'm almost happy with this, except one tiny issue:
BEFORE

h3
{
    @include font-size(14);
    line-height: 1.2em;
    position: relative;
    clear: both;
    text-transform: uppercase;

    @media #{$medium-up}
    {
        @include font-size(22);
        float: right;
        margin-top: 25px;
        text-align: right;
    }

    @media #{$large-up}
    {
        @include font-size(30);
    }
}

AFTER

h3
{
    @include font-size(14);
    line-height: 1.2em;
    position: relative;
    clear: both;
    text-transform: uppercase;
    @media #{$medium-up}
    {
        @include font-size(22);
        float: right;
        margin-top: 25px;
        text-align: right;
    }
    @media #{$large-up}
    {
        @include font-size(30);
    }
}

Any solution for this one?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment