Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Circle CI Report Card


Pure Go sass scanner, ast, and parser

Cross platform compiler for Sass


go get -u
sass compile [-o file.css] input.scss

This project is currently in alpha, and contains no compiler. A scanner and parser are being developed to support a future compiler.

To help, check out parser. This project contains tests that iterate through sass-spec running the parser against example inputs. Errors detected by the parser are reported. However, you could also set the Parser mode to Trace and verify proper ast trees are being built from the input. As the parser matures, output can automatically be verified by the example outputs in these directories.


  • Partial Support
  • Full Support
  • No Support

Compiler Status

Passing 34 of the basic Sass tests in sass-spec

Function Status

See functions

Parser Status

  • Nested Rules
  • Referencing Parent Selectors: &
  • Nested Properties
  • Placeholder Selectors: %foo
  • Comments: /* */ and //
  • SassScript
  • Variables: $
  • Data Types
  • Strings
  • Lists (space and comma delimited)
  • Maps
  • Colors
  • Operations
    • Number Operations
    • Division and /
    • Subtraction, Negative Numbers, and -
    • Color Operations
    • String Operations
    • Boolean Operations
    • List Operations
    • Parentheses
  • Functions
  • Keyword Arguments
  • Interpolation: #{} (there are still edge cases with support)
  • & in SassScript
  • Variable Defaults: !default
  • @-Rules and Directives
    • @import
    • @media
    • @extend
      • Extending Complex Selectors
      • Multiple Extends
      • Chaining Extends
  • Selector Sequences
  • Merging Selector Sequences
  • @extend-Only Selectors
  • The !optional Flag
  • @extend in Directives
  • @at-root
  • @at-root (without: ...) and @at-root (with: ...)
  • @debug
  • @warn
  • @error
  • Control Directives & Expressions
    • if()
    • @if
      • @else if
      • @else
    • @for
    • @each
    • Multiple Assignment
    • @while
    • url(/local/path)
    • url(http://remote/path)
  • Mixin Directives
    • Defining a Mixin: @mixin
    • Including a Mixin: @include
  • Arguments
    • Literal arguments foo(one, two)
    • Keyword Arguments foo($y: two, $x: one)
    • Variable Arguments
  • Passing Content Blocks to a Mixin
  • Variable Scope and Content Blocks
  • Function Directives
  • Extending Sass
  • Defining Custom Sass Functions


Pure Go sass lexer, parser, and compiler




No releases published


You can’t perform that action at this time.