18 releases (breaking)

Uses old Rust 2015

0.13.5-h28 Apr 9, 2017
0.13.3-is-everything-brok… Mar 30, 2017
0.12.0-againagain Feb 2, 2016
0.11.0-shitshow Oct 24, 2015
0.8.0-ehhhh Jul 2, 2015

#1031 in Development tools

MIT license

105KB
3K SLoC

Sassers

A Sass compiler written natively in Rust.

Build Status Build status

Incomplete!!!! To see current progress:

  • Clone this project and cargo build
  • Clone sass-spec and get ruby and all that good stuff
  • In sass-spec, run `./sass-spec.rb -c '/path/to/your/sassers/executable'

Last run I did was 205 passing and 4294 failing out of 4499 tests. So yeah, REALLY NOT DONE YET.

Progress bar: [=-------------------]

Sassers follows Sentimental Versioning.

License

MIT. See LICENSE.

Optimizations

  • Pass T: Write down into methods instead of returning String all the time to avoid allocating so many times

TODO

  • Compare speed/memory usage to libsass
  • Profile if it's significantly worse than libsass and fix
  • Abstract variable/parameter HashMaps into a context or binding object with nice insertion and accessing methods

Useful debugging incantation

To get debugging statements and run a particular test:

  • Add extern crate env_logger; to the test module
  • Add let _ = env_logger::init(); to the particular test function
  • Run:
$ RUST_LOG=sassers=debug cargo test -- --nocapture evaluator::tests::it_subtitutes_variable_values

Dependencies

~4.5MB
~90K SLoC