Skip to content

Commit

Permalink
Implement the Trace node from Ruby Sass.
Browse files Browse the repository at this point in the history
The Trace node is a simple wrapper around the result of a mixin call
and `@content`. It exists as a way to group the resulting properties
as a block but maintain some metadata about the initiating
mixin call or `@content` block.

It also plays an important rule is bubble those blocks with
`@at-root` and nested property sets. This required implementing
the final missing `cssize` methods. As a result we should a complete
`@at-root` implementation.

`Trace` "wrapping" other nodes didn't play nice with the naive check
nesting implementation I lazily wrote so I also implemented 99%
of the check nesting visitor like-for-like with Ruby Sass. The missing
piece is handling `@imports` which is the only part I didn't need to
touch in this work.

Spec sass/sass-spec#868
Fixes #1585
  • Loading branch information
xzyfer committed May 19, 2016
1 parent bb56f7b commit 8fef72b
Show file tree
Hide file tree
Showing 5 changed files with 431 additions and 59 deletions.
Loading

0 comments on commit 8fef72b

Please sign in to comment.