This repository has been archived by the owner on Jul 24, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Squashed 'src/libsass/' content from commit 39e3087
git-subtree-dir: src/libsass git-subtree-split: 39e3087
- Loading branch information
0 parents
commit 9123016
Showing
194 changed files
with
45,708 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# This file is for unifying the coding style for different editors and IDEs | ||
# editorconfig.org | ||
|
||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
indent_style = space | ||
indent_size = 2 | ||
|
||
[{Makefile, GNUmakefile.am}] | ||
indent_style = tab | ||
indent_size = 4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Auto detect text files and perform LF normalization | ||
* text=auto |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Contributing to LibSass | ||
|
||
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1: | ||
|
||
The following is a set of guidelines for contributing to LibSass, which is hosted in the [Sass Organization](https://github.com/sass) on GitHub. | ||
These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request. | ||
|
||
LibSass is a library that implements a [sass language][8] compiler. As such it does not directly interface with end users (frontend developers). | ||
For direct contributions to the LibSass code base you will need to have at least a rough idea of C++, we will not lie about that. | ||
But there are other ways to contribute to the progress of LibSass. All contributions are done via github pull requests. | ||
|
||
You can also contribute to the LibSass [documentation][9] or provide additional [spec tests][10] (and we will gladly point you in the | ||
direction for corners that lack test coverage). Foremost we rely on good and concise bug reports for issues the spec tests do not yet catch. | ||
|
||
## Precheck: My Sass isn't compiling | ||
- [ ] Check if you can reproduce the issue via [SourceMap Inspector][5] (updated regularly). | ||
- [ ] Validate official ruby sass compiler via [SassMeister][6] produces your expected result. | ||
- [ ] Search for similar issue in [LibSass][1] and [node-sass][2] (include closed tickets) | ||
- [ ] Optionally test your code directly with [sass][7] or [sassc][3] ([installer][4]) | ||
|
||
## Precheck: My build/install fails | ||
- [ ] Problems with building or installing libsass should be directed to implementors first! | ||
- [ ] Except for issues directly verified via sassc or LibSass own build (make/autotools9 | ||
|
||
## Craft a meaningfull error report | ||
- [ ] Include the version of libsass and the implementor (i.e. node-sass or sassc) | ||
- [ ] Include information about your operating system and environment (i.e. io.js) | ||
- [ ] Either create a self contained sample that shows your issue ... | ||
- [ ] ... or provide it as a fetchable (github preferred) archive/repo | ||
- [ ] ... and include a step by step list of command to get all dependencies | ||
- [ ] Make it clear if you use indented or/and scss syntax | ||
|
||
## My error is hiding in a big code base | ||
1. we do not have time to support your code base! | ||
2. to fix occuring issues we need precise bug reports | ||
3. the more precise you are, the faster we can help you | ||
4. lazy reports get overlooked even when exposing serious bugs | ||
5. it's not hard to do, it only takes time | ||
- [ ] Make sure you saved the current state (i.e. commit to git) | ||
- [ ] Start by uncommenting blocks in the initial source file | ||
- [ ] Check if the problem is still there after each edit | ||
- [ ] Repeat until the problem goes away | ||
- [ ] Inline imported files as you go along | ||
- [ ] Finished once you cannot remove more | ||
- [ ] The emphasis is on the word "repeat" ... | ||
|
||
## What makes a code test case | ||
|
||
Important is that someone else can get the test case up and running to reproduce it locally. For this | ||
we urge you to verify that your sample yields the expected result by testing it via [SassMeister][6] | ||
or directly via ruby sass or node-sass (or any other libsass implementor) before submitting your bug | ||
report. Once you verified all of the above, you may use the template below to file your bug report. | ||
|
||
|
||
[1]: https://github.com/sass/libsass/issues?utf8=%E2%9C%93&q=is%3Aissue | ||
[2]: https://github.com/sass/node-sass/issues?utf8=%E2%9C%93&q=is%3Aissue | ||
[3]: https://github.com/sass/sassc | ||
[4]: http://libsass.ocbnet.ch/installer/ | ||
[5]: http://libsass.ocbnet.ch/srcmap/ | ||
[6]: http://www.sassmeister.com/ | ||
[7]: https://rubygems.org/gems/sass | ||
|
||
[8]: http://sass-lang.com/ | ||
[9]: https://github.com/sass/libsass/tree/master/docs | ||
[10]: https://github.com/sass/sass-spec |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
[todo]: # (Title: Be as meaningful as possible) | ||
[todo]: # (Title: Try to use 60 or less chars) | ||
|
||
[todo]: # (This is only a template!) | ||
[todo]: # (remove unneeded bits) | ||
[todo]: # (use github preview!) | ||
|
||
## input.scss | ||
|
||
[todo]: # (always test and report with scss syntax) | ||
[todo]: # (use sass only when results differ from scss) | ||
|
||
```scss | ||
test { | ||
content: bar | ||
} | ||
``` | ||
|
||
## Actual results | ||
|
||
[todo]: # (update version info!) | ||
|
||
[libsass 3.X.y][1] | ||
```css | ||
test { | ||
content: bar; } | ||
``` | ||
|
||
## Expected result | ||
|
||
[todo]: # (update version info!) | ||
|
||
ruby sass 3.X.y | ||
```css | ||
test { | ||
content: bar; } | ||
``` | ||
|
||
[todo]: # (update version info!) | ||
[todo]: # (example for node-sass!) | ||
|
||
version info: | ||
```cmd | ||
$ node-sass --version | ||
node-sass 3.X.y (Wrapper) [JavaScript] | ||
libsass 3.X.y (Sass Compiler) [C/C++] | ||
``` | ||
|
||
[todo]: # (Go to http://libsass.ocbnet.ch/srcmap) | ||
[todo]: # (Enter your SCSS code and hit compile) | ||
[todo]: # (Click `bookmark` and replace the url) | ||
[todo]: # (link is used in actual results above) | ||
|
||
[1]: http://libsass.ocbnet.ch/srcmap/#dGVzdCB7CiAgY29udGVudDogYmFyOyB9Cg== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# Miscellaneous stuff | ||
|
||
/sassc | ||
/sass-spec | ||
|
||
VERSION | ||
.DS_Store | ||
.sass-cache | ||
*.gem | ||
*.gcno | ||
.svn/* | ||
.cproject | ||
.project | ||
.settings/ | ||
*.db | ||
*.aps | ||
|
||
# Configuration stuff | ||
|
||
GNUmakefile.in | ||
GNUmakefile | ||
/aclocal.m4 | ||
/autom4te.cache/ | ||
/src/config.h | ||
/config.h.in | ||
/config.log | ||
/config.status | ||
/configure | ||
/libtool | ||
/m4/libtool.m4 | ||
/m4/ltoptions.m4 | ||
/m4/ltsugar.m4 | ||
/m4/ltversion.m4 | ||
/m4/lt~obsolete.m4 | ||
/script/ar-lib | ||
/script/compile | ||
/script/config.guess | ||
/script/config.sub | ||
/script/depcomp | ||
/script/install-sh | ||
/script/ltmain.sh | ||
/script/missing | ||
/script/test-driver | ||
/src/stamp-h1 | ||
/src/Makefile.in | ||
/src/Makefile | ||
libsass/* | ||
|
||
# Build stuff | ||
|
||
*.o | ||
*.lo | ||
*.so | ||
*.dll | ||
*.a | ||
*.suo | ||
*.sdf | ||
*.opendb | ||
*.opensdf | ||
a.out | ||
libsass.js | ||
tester | ||
tester.exe | ||
build/ | ||
config.h.in* | ||
lib/pkgconfig/ | ||
|
||
bin/* | ||
.deps/ | ||
.libs/ | ||
win/bin | ||
*.user | ||
win/*.db | ||
|
||
# Final results | ||
|
||
sassc++ | ||
libsass.la | ||
src/support/libsass.pc | ||
|
||
# Cloned testing dirs | ||
sassc/ | ||
sass-spec/ | ||
|
||
installer/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
language: cpp | ||
sudo: false | ||
|
||
|
||
# don't create redundant code coverage reports | ||
# - AUTOTOOLS=yes COVERAGE=yes BUILD=static | ||
# - AUTOTOOLS=no COVERAGE=yes BUILD=shared | ||
# - AUTOTOOLS=no COVERAGE=no BUILD=static | ||
|
||
# further speed up day by day travis-ci builds | ||
# re-enable this if you change the makefiles | ||
# this will still catch all coding errors! | ||
# - AUTOTOOLS=yes COVERAGE=no BUILD=static | ||
|
||
# currenty there are various issues when | ||
# built with coverage, clang and autotools | ||
# - AUTOTOOLS=yes COVERAGE=yes BUILD=shared | ||
|
||
matrix: | ||
include : | ||
- os: linux | ||
compiler: gcc | ||
env: AUTOTOOLS=no COVERAGE=yes BUILD=static | ||
- os: linux | ||
compiler: g++-5 | ||
env: AUTOTOOLS=yes COVERAGE=no BUILD=shared | ||
addons: | ||
apt: | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
packages: | ||
- g++-5 | ||
- os: linux | ||
compiler: clang++-3.7 | ||
env: AUTOTOOLS=no COVERAGE=yes BUILD=static | ||
addons: | ||
apt: | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
- llvm-toolchain-precise-3.7 | ||
packages: | ||
- clang-3.7 | ||
- os: linux | ||
compiler: clang | ||
env: AUTOTOOLS=yes COVERAGE=no BUILD=shared | ||
- os: osx | ||
compiler: clang | ||
env: AUTOTOOLS=no COVERAGE=no BUILD=shared | ||
- os: osx | ||
compiler: clang | ||
env: AUTOTOOLS=no COVERAGE=yes BUILD=static | ||
- os: osx | ||
compiler: clang | ||
env: AUTOTOOLS=yes COVERAGE=no BUILD=shared | ||
|
||
script: | ||
- ./script/ci-build-libsass | ||
- ./script/ci-build-plugin math | ||
- ./script/ci-build-plugin glob | ||
- ./script/ci-build-plugin digest | ||
- ./script/ci-build-plugin tests | ||
before_install: ./script/ci-install-deps | ||
install: ./script/ci-install-compiler | ||
after_success: ./script/ci-report-coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
|
||
Copyright (C) 2012 by Hampton Catlin | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy of | ||
this software and associated documentation files (the "Software"), to deal in | ||
the Software without restriction, including without limitation the rights to | ||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies | ||
of the Software, and to permit persons to whom the Software is furnished to do | ||
so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. | ||
|
||
|
||
The following files in the spec were taken from the original Ruby Sass project which | ||
is copyright Hampton Catlin, Nathan Weizenbaum, and Chris Eppstein and under | ||
the same license. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} -I m4 -I script | ||
|
||
AM_COPT = -Wall -O2 | ||
AM_COVLDFLAGS = | ||
|
||
if ENABLE_COVERAGE | ||
AM_COPT = -Wall -O1 -fno-omit-frame-pointer --coverage | ||
AM_COVLDFLAGS += -lgcov | ||
endif | ||
|
||
AM_CPPFLAGS = -I$(top_srcdir)/include | ||
AM_CFLAGS = $(AM_COPT) | ||
AM_CXXFLAGS = $(AM_COPT) | ||
AM_LDFLAGS = $(AM_COPT) $(AM_COVLDFLAGS) | ||
|
||
# only needed to support old source tree | ||
# we have moved the files to src folder | ||
AM_CPPFLAGS += -I$(top_srcdir) | ||
|
||
RESOURCES = | ||
if COMPILER_IS_MINGW32 | ||
RESOURCES += res/libsass.rc | ||
AM_CXXFLAGS += -std=gnu++0x | ||
else | ||
AM_CXXFLAGS += -std=c++0x | ||
endif | ||
|
||
TEST_EXTENSIONS = .rb | ||
|
||
if ENABLE_TESTS | ||
|
||
SASS_SASSC_PATH ?= $(top_srcdir)/sassc | ||
SASS_SPEC_PATH ?= $(top_srcdir)/sass-spec | ||
|
||
noinst_PROGRAMS = tester | ||
tester_LDADD = src/libsass.la | ||
tester_LDFLAGS = $(AM_LDFLAGS) | ||
nodist_tester_SOURCES = $(SASS_SASSC_PATH)/sassc.c | ||
SASS_SASSC_VERSION ?= `cd "$(SASS_SASSC_PATH)" && ./version.sh` | ||
tester_CFLAGS = $(AM_CFLAGS) -DSASSC_VERSION="\"$(SASS_SASSC_VERSION)\"" | ||
tester_CXXFLAGS = $(AM_CXXFLAGS) -DSASSC_VERSION="\"$(SASS_SASSC_VERSION)\"" | ||
|
||
if ENABLE_COVERAGE | ||
nodist_EXTRA_tester_SOURCES = non-existent-file-to-force-CXX-linking.cxx | ||
endif | ||
|
||
TESTS = $(SASS_SPEC_PATH)/sass-spec.rb | ||
RB_LOG_COMPILER = ./script/tap-runner | ||
AM_RB_LOG_FLAGS = $(RUBY) | ||
|
||
SASS_TEST_FLAGS = -V 3.5 --impl libsass | ||
SASS_TEST_FLAGS += -r $(SASS_SPEC_PATH) | ||
SASS_TEST_FLAGS += -c $(top_srcdir)/tester$(EXEEXT) | ||
AM_TESTS_ENVIRONMENT = TEST_FLAGS='$(SASS_TEST_FLAGS)' | ||
|
||
SASS_TESTER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb | ||
|
||
test: | ||
$(SASS_TESTER) $(SASS_TEST_FLAGS) | ||
|
||
test_build: | ||
$(SASS_TESTER) $(SASS_TEST_FLAGS) | ||
|
||
test_full: | ||
$(SASS_TESTER) --run-todo $(SASS_TEST_FLAGS) | ||
|
||
test_probe: | ||
$(SASS_TESTER) --probe-todo $(SASS_TEST_FLAGS) | ||
|
||
.PHONY: test test_build test_full test_probe | ||
|
||
endif | ||
|
||
SUBDIRS = src |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
// Autotools requires us to have this file. Boo. |
Oops, something went wrong.