sassc 2.0.1 → 2.1.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.gitmodules +1 -1
- data/.travis.yml +7 -3
- data/CHANGELOG.md +3 -0
- data/CODE_OF_CONDUCT.md +1 -1
- data/README.md +1 -1
- data/Rakefile +23 -8
- data/ext/extconf.rb +39 -0
- data/ext/libsass/.gitignore +1 -0
- data/ext/libsass/GNUmakefile.am +23 -39
- data/ext/libsass/Makefile +56 -91
- data/ext/libsass/Makefile.conf +16 -2
- data/ext/libsass/configure.ac +8 -12
- data/ext/libsass/include/sass/base.h +1 -0
- data/ext/libsass/include/sass/context.h +1 -1
- data/ext/libsass/src/GNUmakefile.am +1 -5
- data/ext/libsass/src/ast.cpp +747 -2010
- data/ext/libsass/src/ast.hpp +239 -2383
- data/ext/libsass/src/{to_c.cpp → ast2c.cpp} +22 -16
- data/ext/libsass/src/ast2c.hpp +39 -0
- data/ext/libsass/src/ast_def_macros.hpp +62 -10
- data/ext/libsass/src/ast_fwd_decl.cpp +1 -0
- data/ext/libsass/src/ast_fwd_decl.hpp +43 -165
- data/ext/libsass/src/ast_sel_cmp.cpp +909 -0
- data/ext/libsass/src/ast_sel_unify.cpp +280 -0
- data/ext/libsass/src/ast_selectors.cpp +1475 -0
- data/ext/libsass/src/ast_selectors.hpp +568 -0
- data/ext/libsass/src/ast_supports.cpp +130 -0
- data/ext/libsass/src/ast_supports.hpp +121 -0
- data/ext/libsass/src/ast_values.cpp +967 -0
- data/ext/libsass/src/ast_values.hpp +489 -0
- data/ext/libsass/src/backtrace.cpp +4 -0
- data/ext/libsass/src/base64vlq.cpp +3 -0
- data/ext/libsass/src/bind.cpp +18 -17
- data/ext/libsass/src/bind.hpp +3 -1
- data/ext/libsass/src/c2ast.cpp +64 -0
- data/ext/libsass/src/c2ast.hpp +14 -0
- data/ext/libsass/src/cencode.c +2 -2
- data/ext/libsass/src/check_nesting.cpp +52 -56
- data/ext/libsass/src/check_nesting.hpp +35 -34
- data/ext/libsass/src/color_maps.cpp +156 -153
- data/ext/libsass/src/color_maps.hpp +152 -152
- data/ext/libsass/src/constants.cpp +15 -0
- data/ext/libsass/src/constants.hpp +13 -0
- data/ext/libsass/src/context.cpp +24 -14
- data/ext/libsass/src/context.hpp +6 -6
- data/ext/libsass/src/cssize.cpp +69 -71
- data/ext/libsass/src/cssize.hpp +50 -50
- data/ext/libsass/src/debugger.hpp +117 -110
- data/ext/libsass/src/emitter.cpp +13 -12
- data/ext/libsass/src/emitter.hpp +13 -9
- data/ext/libsass/src/environment.cpp +15 -1
- data/ext/libsass/src/environment.hpp +6 -0
- data/ext/libsass/src/error_handling.cpp +36 -59
- data/ext/libsass/src/error_handling.hpp +29 -16
- data/ext/libsass/src/eval.cpp +302 -323
- data/ext/libsass/src/eval.hpp +64 -55
- data/ext/libsass/src/expand.cpp +94 -88
- data/ext/libsass/src/expand.hpp +33 -37
- data/ext/libsass/src/extend.cpp +38 -36
- data/ext/libsass/src/extend.hpp +15 -15
- data/ext/libsass/src/file.cpp +34 -2
- data/ext/libsass/src/fn_colors.cpp +594 -0
- data/ext/libsass/src/fn_colors.hpp +85 -0
- data/ext/libsass/src/fn_lists.cpp +284 -0
- data/ext/libsass/src/fn_lists.hpp +34 -0
- data/ext/libsass/src/fn_maps.cpp +94 -0
- data/ext/libsass/src/fn_maps.hpp +30 -0
- data/ext/libsass/src/fn_miscs.cpp +256 -0
- data/ext/libsass/src/fn_miscs.hpp +40 -0
- data/ext/libsass/src/fn_numbers.cpp +220 -0
- data/ext/libsass/src/fn_numbers.hpp +45 -0
- data/ext/libsass/src/fn_selectors.cpp +235 -0
- data/ext/libsass/src/fn_selectors.hpp +35 -0
- data/ext/libsass/src/fn_strings.cpp +254 -0
- data/ext/libsass/src/fn_strings.hpp +34 -0
- data/ext/libsass/src/fn_utils.cpp +156 -0
- data/ext/libsass/src/fn_utils.hpp +56 -0
- data/ext/libsass/src/inspect.cpp +101 -152
- data/ext/libsass/src/inspect.hpp +69 -73
- data/ext/libsass/src/json.cpp +2 -2
- data/ext/libsass/src/lexer.cpp +6 -3
- data/ext/libsass/src/listize.cpp +9 -11
- data/ext/libsass/src/listize.hpp +11 -7
- data/ext/libsass/src/memory/SharedPtr.cpp +2 -83
- data/ext/libsass/src/memory/SharedPtr.hpp +127 -143
- data/ext/libsass/src/node.cpp +13 -10
- data/ext/libsass/src/node.hpp +3 -3
- data/ext/libsass/src/operation.hpp +184 -144
- data/ext/libsass/src/operators.cpp +43 -17
- data/ext/libsass/src/operators.hpp +5 -5
- data/ext/libsass/src/output.cpp +21 -18
- data/ext/libsass/src/output.hpp +14 -21
- data/ext/libsass/src/parser.cpp +215 -183
- data/ext/libsass/src/parser.hpp +28 -24
- data/ext/libsass/src/plugins.cpp +5 -1
- data/ext/libsass/src/position.cpp +3 -0
- data/ext/libsass/src/prelexer.cpp +9 -3
- data/ext/libsass/src/prelexer.hpp +9 -9
- data/ext/libsass/src/remove_placeholders.cpp +14 -11
- data/ext/libsass/src/remove_placeholders.hpp +8 -9
- data/ext/libsass/src/sass.cpp +9 -3
- data/ext/libsass/src/sass.hpp +12 -9
- data/ext/libsass/src/sass2scss.cpp +45 -14
- data/ext/libsass/src/sass_context.cpp +18 -15
- data/ext/libsass/src/sass_functions.cpp +6 -3
- data/ext/libsass/src/sass_functions.hpp +1 -1
- data/ext/libsass/src/sass_util.cpp +3 -0
- data/ext/libsass/src/sass_values.cpp +21 -13
- data/ext/libsass/src/source_map.cpp +5 -2
- data/ext/libsass/src/source_map.hpp +2 -2
- data/ext/libsass/src/subset_map.cpp +4 -1
- data/ext/libsass/src/to_value.cpp +23 -21
- data/ext/libsass/src/to_value.hpp +18 -22
- data/ext/libsass/src/units.cpp +4 -0
- data/ext/libsass/src/units.hpp +1 -0
- data/ext/libsass/src/utf8/checked.h +12 -10
- data/ext/libsass/src/utf8/core.h +3 -0
- data/ext/libsass/src/utf8_string.cpp +3 -0
- data/ext/libsass/src/util.cpp +67 -75
- data/ext/libsass/src/util.hpp +64 -19
- data/ext/libsass/src/util_string.cpp +75 -0
- data/ext/libsass/src/util_string.hpp +19 -0
- data/ext/libsass/src/values.cpp +22 -13
- data/ext/libsass/src/values.hpp +2 -2
- data/ext/libsass/win/libsass.targets +30 -4
- data/ext/libsass/win/libsass.vcxproj.filters +82 -4
- data/lib/sassc.rb +24 -0
- data/lib/sassc/engine.rb +2 -2
- data/lib/sassc/native.rb +8 -1
- data/lib/sassc/version.rb +1 -1
- data/sassc.gemspec +19 -11
- data/test/engine_test.rb +26 -1
- data/test/native_test.rb +1 -1
- metadata +66 -72
- data/ext/Rakefile +0 -3
- data/ext/libsass/.github/CONTRIBUTING.md +0 -65
- data/ext/libsass/.github/ISSUE_TEMPLATE.md +0 -54
- data/ext/libsass/.travis.yml +0 -64
- data/ext/libsass/Readme.md +0 -104
- data/ext/libsass/SECURITY.md +0 -10
- data/ext/libsass/appveyor.yml +0 -91
- data/ext/libsass/docs/README.md +0 -20
- data/ext/libsass/docs/api-context-example.md +0 -45
- data/ext/libsass/docs/api-context-internal.md +0 -163
- data/ext/libsass/docs/api-context.md +0 -295
- data/ext/libsass/docs/api-doc.md +0 -215
- data/ext/libsass/docs/api-function-example.md +0 -67
- data/ext/libsass/docs/api-function-internal.md +0 -8
- data/ext/libsass/docs/api-function.md +0 -74
- data/ext/libsass/docs/api-importer-example.md +0 -112
- data/ext/libsass/docs/api-importer-internal.md +0 -20
- data/ext/libsass/docs/api-importer.md +0 -86
- data/ext/libsass/docs/api-value-example.md +0 -55
- data/ext/libsass/docs/api-value-internal.md +0 -76
- data/ext/libsass/docs/api-value.md +0 -154
- data/ext/libsass/docs/build-on-darwin.md +0 -27
- data/ext/libsass/docs/build-on-gentoo.md +0 -55
- data/ext/libsass/docs/build-on-windows.md +0 -139
- data/ext/libsass/docs/build-shared-library.md +0 -35
- data/ext/libsass/docs/build-with-autotools.md +0 -78
- data/ext/libsass/docs/build-with-makefiles.md +0 -68
- data/ext/libsass/docs/build-with-mingw.md +0 -107
- data/ext/libsass/docs/build-with-visual-studio.md +0 -90
- data/ext/libsass/docs/build.md +0 -97
- data/ext/libsass/docs/compatibility-plan.md +0 -48
- data/ext/libsass/docs/contributing.md +0 -17
- data/ext/libsass/docs/custom-functions-internal.md +0 -122
- data/ext/libsass/docs/dev-ast-memory.md +0 -223
- data/ext/libsass/docs/implementations.md +0 -56
- data/ext/libsass/docs/plugins.md +0 -47
- data/ext/libsass/docs/setup-environment.md +0 -68
- data/ext/libsass/docs/source-map-internals.md +0 -51
- data/ext/libsass/docs/trace.md +0 -26
- data/ext/libsass/docs/triage.md +0 -17
- data/ext/libsass/docs/unicode.md +0 -39
- data/ext/libsass/extconf.rb +0 -6
- data/ext/libsass/script/bootstrap +0 -13
- data/ext/libsass/script/branding +0 -10
- data/ext/libsass/script/ci-build-libsass +0 -134
- data/ext/libsass/script/ci-build-plugin +0 -62
- data/ext/libsass/script/ci-install-compiler +0 -6
- data/ext/libsass/script/ci-install-deps +0 -20
- data/ext/libsass/script/ci-report-coverage +0 -42
- data/ext/libsass/script/spec +0 -5
- data/ext/libsass/script/tap-driver +0 -652
- data/ext/libsass/script/tap-runner +0 -1
- data/ext/libsass/script/test-leaks.pl +0 -103
- data/ext/libsass/src/functions.cpp +0 -2234
- data/ext/libsass/src/functions.hpp +0 -198
- data/ext/libsass/src/to_c.hpp +0 -39
- data/ext/libsass/test/test_node.cpp +0 -94
- data/ext/libsass/test/test_paths.cpp +0 -28
- data/ext/libsass/test/test_selector_difference.cpp +0 -25
- data/ext/libsass/test/test_specificity.cpp +0 -25
- data/ext/libsass/test/test_subset_map.cpp +0 -472
- data/ext/libsass/test/test_superselector.cpp +0 -69
- data/ext/libsass/test/test_unification.cpp +0 -31
- data/lib/tasks/libsass.rb +0 -33
@@ -0,0 +1,75 @@
|
|
1
|
+
#include "util_string.hpp"
|
2
|
+
|
3
|
+
#include <algorithm>
|
4
|
+
|
5
|
+
namespace Sass {
|
6
|
+
namespace Util {
|
7
|
+
|
8
|
+
std::string rtrim(const std::string &str) {
|
9
|
+
std::string trimmed = str;
|
10
|
+
size_t pos_ws = trimmed.find_last_not_of(" \t\n\v\f\r");
|
11
|
+
if (pos_ws != std::string::npos) {
|
12
|
+
trimmed.erase(pos_ws + 1);
|
13
|
+
} else {
|
14
|
+
trimmed.clear();
|
15
|
+
}
|
16
|
+
return trimmed;
|
17
|
+
}
|
18
|
+
|
19
|
+
std::string normalize_newlines(const std::string& str) {
|
20
|
+
std::string result;
|
21
|
+
result.reserve(str.size());
|
22
|
+
std::size_t pos = 0;
|
23
|
+
while (true) {
|
24
|
+
const std::size_t newline = str.find_first_of("\n\f\r", pos);
|
25
|
+
if (newline == std::string::npos) break;
|
26
|
+
result.append(str, pos, newline - pos);
|
27
|
+
result += '\n';
|
28
|
+
if (str[newline] == '\r' && str[newline + 1] == '\n') {
|
29
|
+
pos = newline + 2;
|
30
|
+
} else {
|
31
|
+
pos = newline + 1;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
result.append(str, pos, std::string::npos);
|
35
|
+
return result;
|
36
|
+
}
|
37
|
+
|
38
|
+
std::string normalize_underscores(const std::string& str) {
|
39
|
+
std::string normalized = str;
|
40
|
+
std::replace(normalized.begin(), normalized.end(), '_', '-');
|
41
|
+
return normalized;
|
42
|
+
}
|
43
|
+
|
44
|
+
std::string normalize_decimals(const std::string& str) {
|
45
|
+
std::string normalized;
|
46
|
+
if (!str.empty() && str[0] == '.') {
|
47
|
+
normalized.reserve(str.size() + 1);
|
48
|
+
normalized += '0';
|
49
|
+
normalized += str;
|
50
|
+
} else {
|
51
|
+
normalized = str;
|
52
|
+
}
|
53
|
+
return normalized;
|
54
|
+
}
|
55
|
+
|
56
|
+
char opening_bracket_for(char closing_bracket) {
|
57
|
+
switch (closing_bracket) {
|
58
|
+
case ')': return '(';
|
59
|
+
case ']': return '[';
|
60
|
+
case '}': return '{';
|
61
|
+
default: return '\0';
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
char closing_bracket_for(char opening_bracket) {
|
66
|
+
switch (opening_bracket) {
|
67
|
+
case '(': return ')';
|
68
|
+
case '[': return ']';
|
69
|
+
case '{': return '}';
|
70
|
+
default: return '\0';
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
} // namespace Sass
|
75
|
+
} // namespace Util
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#ifndef SASS_UTIL_STRING_H
|
2
|
+
#define SASS_UTIL_STRING_H
|
3
|
+
|
4
|
+
#include <string>
|
5
|
+
|
6
|
+
namespace Sass {
|
7
|
+
namespace Util {
|
8
|
+
|
9
|
+
std::string rtrim(const std::string& str);
|
10
|
+
|
11
|
+
std::string normalize_newlines(const std::string& str);
|
12
|
+
std::string normalize_underscores(const std::string& str);
|
13
|
+
std::string normalize_decimals(const std::string& str);
|
14
|
+
char opening_bracket_for(char closing_bracket);
|
15
|
+
char closing_bracket_for(char opening_bracket);
|
16
|
+
|
17
|
+
} // namespace Sass
|
18
|
+
} // namespace Util
|
19
|
+
#endif // SASS_UTIL_STRING_H
|
data/ext/libsass/src/values.cpp
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
+
// sass.hpp must go before all system headers to get the
|
2
|
+
// __EXTENSIONS__ fix on Solaris.
|
1
3
|
#include "sass.hpp"
|
4
|
+
|
2
5
|
#include "sass.h"
|
3
6
|
#include "values.hpp"
|
4
7
|
|
@@ -7,21 +10,26 @@
|
|
7
10
|
namespace Sass {
|
8
11
|
|
9
12
|
// convert value from C++ side to C-API
|
10
|
-
union Sass_Value* ast_node_to_sass_value (const
|
13
|
+
union Sass_Value* ast_node_to_sass_value (const Expression* val)
|
11
14
|
{
|
12
15
|
if (val->concrete_type() == Expression::NUMBER)
|
13
16
|
{
|
14
|
-
|
17
|
+
const Number* res = Cast<Number>(val);
|
15
18
|
return sass_make_number(res->value(), res->unit().c_str());
|
16
19
|
}
|
17
20
|
else if (val->concrete_type() == Expression::COLOR)
|
18
21
|
{
|
19
|
-
|
20
|
-
|
22
|
+
if (const Color_RGBA* rgba = Cast<Color_RGBA>(val)) {
|
23
|
+
return sass_make_color(rgba->r(), rgba->g(), rgba->b(), rgba->a());
|
24
|
+
} else {
|
25
|
+
// ToDo: allow to also use HSLA colors!!
|
26
|
+
Color_RGBA_Obj col = Cast<Color>(val)->copyAsRGBA();
|
27
|
+
return sass_make_color(col->r(), col->g(), col->b(), col->a());
|
28
|
+
}
|
21
29
|
}
|
22
30
|
else if (val->concrete_type() == Expression::LIST)
|
23
31
|
{
|
24
|
-
|
32
|
+
const List* l = Cast<List>(val);
|
25
33
|
union Sass_Value* list = sass_make_list(l->size(), l->separator(), l->is_bracketed());
|
26
34
|
for (size_t i = 0, L = l->length(); i < L; ++i) {
|
27
35
|
Expression_Obj obj = l->at(i);
|
@@ -32,7 +40,7 @@ namespace Sass {
|
|
32
40
|
}
|
33
41
|
else if (val->concrete_type() == Expression::MAP)
|
34
42
|
{
|
35
|
-
|
43
|
+
const Map* m = Cast<Map>(val);
|
36
44
|
union Sass_Value* map = sass_make_map(m->length());
|
37
45
|
size_t i = 0; for (Expression_Obj key : m->keys()) {
|
38
46
|
sass_map_set_key(map, i, ast_node_to_sass_value(key));
|
@@ -47,16 +55,16 @@ namespace Sass {
|
|
47
55
|
}
|
48
56
|
else if (val->concrete_type() == Expression::BOOLEAN)
|
49
57
|
{
|
50
|
-
|
58
|
+
const Boolean* res = Cast<Boolean>(val);
|
51
59
|
return sass_make_boolean(res->value());
|
52
60
|
}
|
53
61
|
else if (val->concrete_type() == Expression::STRING)
|
54
62
|
{
|
55
|
-
if (
|
63
|
+
if (const String_Quoted* qstr = Cast<String_Quoted>(val))
|
56
64
|
{
|
57
65
|
return sass_make_qstring(qstr->value().c_str());
|
58
66
|
}
|
59
|
-
else if (
|
67
|
+
else if (const String_Constant* cstr = Cast<String_Constant>(val))
|
60
68
|
{
|
61
69
|
return sass_make_string(cstr->value().c_str());
|
62
70
|
}
|
@@ -65,7 +73,7 @@ namespace Sass {
|
|
65
73
|
}
|
66
74
|
|
67
75
|
// convert value from C-API to C++ side
|
68
|
-
|
76
|
+
Value* sass_value_to_ast_node (const union Sass_Value* val)
|
69
77
|
{
|
70
78
|
switch (sass_value_get_tag(val)) {
|
71
79
|
case SASS_NUMBER:
|
@@ -78,7 +86,8 @@ namespace Sass {
|
|
78
86
|
ParserState("[C-VALUE]"),
|
79
87
|
sass_boolean_get_value(val));
|
80
88
|
case SASS_COLOR:
|
81
|
-
|
89
|
+
// ToDo: allow to also use HSLA colors!!
|
90
|
+
return SASS_MEMORY_NEW(Color_RGBA,
|
82
91
|
ParserState("[C-VALUE]"),
|
83
92
|
sass_color_get_r(val),
|
84
93
|
sass_color_get_g(val),
|
@@ -94,7 +103,7 @@ namespace Sass {
|
|
94
103
|
ParserState("[C-VALUE]"),
|
95
104
|
sass_string_get_value(val));
|
96
105
|
case SASS_LIST: {
|
97
|
-
|
106
|
+
List* l = SASS_MEMORY_NEW(List,
|
98
107
|
ParserState("[C-VALUE]"),
|
99
108
|
sass_list_get_length(val),
|
100
109
|
sass_list_get_separator(val));
|
@@ -105,7 +114,7 @@ namespace Sass {
|
|
105
114
|
return l;
|
106
115
|
}
|
107
116
|
case SASS_MAP: {
|
108
|
-
|
117
|
+
Map* m = SASS_MEMORY_NEW(Map, ParserState("[C-VALUE]"));
|
109
118
|
for (size_t i = 0, L = sass_map_get_length(val); i < L; ++i) {
|
110
119
|
*m << std::make_pair(
|
111
120
|
sass_value_to_ast_node(sass_map_get_key(val, i)),
|
data/ext/libsass/src/values.hpp
CHANGED
@@ -5,8 +5,8 @@
|
|
5
5
|
|
6
6
|
namespace Sass {
|
7
7
|
|
8
|
-
union Sass_Value* ast_node_to_sass_value (const
|
9
|
-
|
8
|
+
union Sass_Value* ast_node_to_sass_value (const Expression* val);
|
9
|
+
Value* sass_value_to_ast_node (const union Sass_Value* val);
|
10
10
|
|
11
11
|
}
|
12
12
|
#endif
|
@@ -11,6 +11,9 @@
|
|
11
11
|
</ItemGroup>
|
12
12
|
<ItemGroup Label="LibSass Headers">
|
13
13
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast.hpp" />
|
14
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast_values.hpp" />
|
15
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast_selectors.hpp" />
|
16
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast_supports.hpp" />
|
14
17
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast_def_macros.hpp" />
|
15
18
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\memory\SharedPtr.hpp" />
|
16
19
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast_factory.hpp" />
|
@@ -32,7 +35,14 @@
|
|
32
35
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\expand.hpp" />
|
33
36
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\extend.hpp" />
|
34
37
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\file.hpp" />
|
35
|
-
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\
|
38
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_utils.hpp" />
|
39
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_miscs.hpp" />
|
40
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_maps.hpp" />
|
41
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_lists.hpp" />
|
42
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_colors.hpp" />
|
43
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_numbers.hpp" />
|
44
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_strings.hpp" />
|
45
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_selectors.hpp" />
|
36
46
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\inspect.hpp" />
|
37
47
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\json.hpp" />
|
38
48
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\kwd_arg_macros.hpp" />
|
@@ -55,7 +65,8 @@
|
|
55
65
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\sass_values.hpp" />
|
56
66
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\source_map.hpp" />
|
57
67
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\subset_map.hpp" />
|
58
|
-
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\
|
68
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast2c.hpp" />
|
69
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\c2ast.hpp" />
|
59
70
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\to_value.hpp" />
|
60
71
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\units.hpp" />
|
61
72
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\utf8.h" />
|
@@ -64,10 +75,16 @@
|
|
64
75
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\utf8\unchecked.h" />
|
65
76
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\utf8_string.hpp" />
|
66
77
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\util.hpp" />
|
78
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\util_string.hpp" />
|
67
79
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\values.hpp" />
|
68
80
|
</ItemGroup>
|
69
81
|
<ItemGroup Label="LibSass Sources">
|
70
82
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast.cpp" />
|
83
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_values.cpp" />
|
84
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_supports.cpp" />
|
85
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_sel_cmp.cpp" />
|
86
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_sel_unify.cpp" />
|
87
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_selectors.cpp" />
|
71
88
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\memory\SharedPtr.cpp" />
|
72
89
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_fwd_decl.cpp" />
|
73
90
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\base64vlq.cpp" />
|
@@ -86,7 +103,14 @@
|
|
86
103
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\expand.cpp" />
|
87
104
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\extend.cpp" />
|
88
105
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\file.cpp" />
|
89
|
-
<ClCompile Include="$(LIBSASS_SRC_DIR)\
|
106
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_utils.cpp" />
|
107
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_miscs.cpp" />
|
108
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_maps.cpp" />
|
109
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_lists.cpp" />
|
110
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_colors.cpp" />
|
111
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_numbers.cpp" />
|
112
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_strings.cpp" />
|
113
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_selectors.cpp" />
|
90
114
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\inspect.cpp" />
|
91
115
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\json.cpp" />
|
92
116
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\lexer.cpp" />
|
@@ -108,11 +132,13 @@
|
|
108
132
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\sass2scss.cpp" />
|
109
133
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\source_map.cpp" />
|
110
134
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\subset_map.cpp" />
|
111
|
-
<ClCompile Include="$(LIBSASS_SRC_DIR)\
|
135
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast2c.cpp" />
|
136
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\c2ast.cpp" />
|
112
137
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\to_value.cpp" />
|
113
138
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\units.cpp" />
|
114
139
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\utf8_string.cpp" />
|
115
140
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\util.cpp" />
|
141
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\util_string.cpp" />
|
116
142
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\values.cpp" />
|
117
143
|
</ItemGroup>
|
118
144
|
</Project>
|
@@ -48,6 +48,15 @@
|
|
48
48
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast.hpp">
|
49
49
|
<Filter>Headers</Filter>
|
50
50
|
</ClInclude>
|
51
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast_values.hpp">
|
52
|
+
<Filter>Headers</Filter>
|
53
|
+
</ClInclude>
|
54
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast_selectors.hpp">
|
55
|
+
<Filter>Headers</Filter>
|
56
|
+
</ClInclude>
|
57
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast_supports.hpp">
|
58
|
+
<Filter>Headers</Filter>
|
59
|
+
</ClInclude>
|
51
60
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\memory\SharedPtr.hpp">
|
52
61
|
<Filter>Headers</Filter>
|
53
62
|
</ClInclude>
|
@@ -108,7 +117,28 @@
|
|
108
117
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\file.hpp">
|
109
118
|
<Filter>Headers</Filter>
|
110
119
|
</ClInclude>
|
111
|
-
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\
|
120
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_utils.hpp">
|
121
|
+
<Filter>Headers</Filter>
|
122
|
+
</ClInclude>
|
123
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_miscs.hpp">
|
124
|
+
<Filter>Headers</Filter>
|
125
|
+
</ClInclude>
|
126
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_maps.hpp">
|
127
|
+
<Filter>Headers</Filter>
|
128
|
+
</ClInclude>
|
129
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_lists.hpp">
|
130
|
+
<Filter>Headers</Filter>
|
131
|
+
</ClInclude>
|
132
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_colors.hpp">
|
133
|
+
<Filter>Headers</Filter>
|
134
|
+
</ClInclude>
|
135
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_numbers.hpp">
|
136
|
+
<Filter>Headers</Filter>
|
137
|
+
</ClInclude>
|
138
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_strings.hpp">
|
139
|
+
<Filter>Headers</Filter>
|
140
|
+
</ClInclude>
|
141
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\fn_selectors.hpp">
|
112
142
|
<Filter>Headers</Filter>
|
113
143
|
</ClInclude>
|
114
144
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\inspect.hpp">
|
@@ -174,7 +204,10 @@
|
|
174
204
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\subset_map.hpp">
|
175
205
|
<Filter>Headers</Filter>
|
176
206
|
</ClInclude>
|
177
|
-
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\
|
207
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\ast2c.hpp">
|
208
|
+
<Filter>Headers</Filter>
|
209
|
+
</ClInclude>
|
210
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\c2ast.hpp">
|
178
211
|
<Filter>Headers</Filter>
|
179
212
|
</ClInclude>
|
180
213
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\to_value.hpp">
|
@@ -201,6 +234,9 @@
|
|
201
234
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\util.hpp">
|
202
235
|
<Filter>Headers</Filter>
|
203
236
|
</ClInclude>
|
237
|
+
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\util_string.hpp">
|
238
|
+
<Filter>Headers</Filter>
|
239
|
+
</ClInclude>
|
204
240
|
<ClInclude Include="$(LIBSASS_HEADERS_DIR)\values.hpp">
|
205
241
|
<Filter>Headers</Filter>
|
206
242
|
</ClInclude>
|
@@ -215,6 +251,21 @@
|
|
215
251
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast.cpp">
|
216
252
|
<Filter>Sources</Filter>
|
217
253
|
</ClCompile>
|
254
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_values.cpp">
|
255
|
+
<Filter>Sources</Filter>
|
256
|
+
</ClCompile>
|
257
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_selectors.cpp">
|
258
|
+
<Filter>Sources</Filter>
|
259
|
+
</ClCompile>
|
260
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_supports.cpp">
|
261
|
+
<Filter>Sources</Filter>
|
262
|
+
</ClCompile>
|
263
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_sel_cmp.cpp">
|
264
|
+
<Filter>Sources</Filter>
|
265
|
+
</ClCompile>
|
266
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast_sel_unify.cpp">
|
267
|
+
<Filter>Sources</Filter>
|
268
|
+
</ClCompile>
|
218
269
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\memory\SharedPtr.cpp">
|
219
270
|
<Filter>Sources</Filter>
|
220
271
|
</ClCompile>
|
@@ -269,7 +320,28 @@
|
|
269
320
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\file.cpp">
|
270
321
|
<Filter>Sources</Filter>
|
271
322
|
</ClCompile>
|
272
|
-
<ClCompile Include="$(LIBSASS_SRC_DIR)\
|
323
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_utils.cpp">
|
324
|
+
<Filter>Sources</Filter>
|
325
|
+
</ClCompile>
|
326
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_miscs.cpp">
|
327
|
+
<Filter>Sources</Filter>
|
328
|
+
</ClCompile>
|
329
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_maps.cpp">
|
330
|
+
<Filter>Sources</Filter>
|
331
|
+
</ClCompile>
|
332
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_lists.cpp">
|
333
|
+
<Filter>Sources</Filter>
|
334
|
+
</ClCompile>
|
335
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_colors.cpp">
|
336
|
+
<Filter>Sources</Filter>
|
337
|
+
</ClCompile>
|
338
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_numbers.cpp">
|
339
|
+
<Filter>Sources</Filter>
|
340
|
+
</ClCompile>
|
341
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_strings.cpp">
|
342
|
+
<Filter>Sources</Filter>
|
343
|
+
</ClCompile>
|
344
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\fn_selectors.cpp">
|
273
345
|
<Filter>Sources</Filter>
|
274
346
|
</ClCompile>
|
275
347
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\inspect.cpp">
|
@@ -335,7 +407,10 @@
|
|
335
407
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\subset_map.cpp">
|
336
408
|
<Filter>Sources</Filter>
|
337
409
|
</ClCompile>
|
338
|
-
<ClCompile Include="$(LIBSASS_SRC_DIR)\
|
410
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\ast2c.cpp">
|
411
|
+
<Filter>Sources</Filter>
|
412
|
+
</ClCompile>
|
413
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\c2ast.cpp">
|
339
414
|
<Filter>Sources</Filter>
|
340
415
|
</ClCompile>
|
341
416
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\to_value.cpp">
|
@@ -350,6 +425,9 @@
|
|
350
425
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\util.cpp">
|
351
426
|
<Filter>Sources</Filter>
|
352
427
|
</ClCompile>
|
428
|
+
<ClCompile Include="$(LIBSASS_SRC_DIR)\util_string.cpp">
|
429
|
+
<Filter>Sources</Filter>
|
430
|
+
</ClCompile>
|
353
431
|
<ClCompile Include="$(LIBSASS_SRC_DIR)\values.cpp">
|
354
432
|
<Filter>Sources</Filter>
|
355
433
|
</ClCompile>
|
data/lib/sassc.rb
CHANGED
@@ -1,6 +1,30 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module SassC
|
4
|
+
# The global load paths for Sass files. This is meant for plugins and
|
5
|
+
# libraries to register the paths to their Sass stylesheets to that they may
|
6
|
+
# be `@imported`. This load path is used by every instance of {Sass::Engine}.
|
7
|
+
# They are lower-precedence than any load paths passed in via the
|
8
|
+
# {file:SASS_REFERENCE.md#load_paths-option `:load_paths` option}.
|
9
|
+
#
|
10
|
+
# If the `SASS_PATH` environment variable is set,
|
11
|
+
# the initial value of `load_paths` will be initialized based on that.
|
12
|
+
# The variable should be a colon-separated list of path names
|
13
|
+
# (semicolon-separated on Windows).
|
14
|
+
#
|
15
|
+
# Note that files on the global load path are never compiled to CSS
|
16
|
+
# themselves, even if they aren't partials. They exist only to be imported.
|
17
|
+
#
|
18
|
+
# @example
|
19
|
+
# SassC.load_paths << File.dirname(__FILE__ + '/sass')
|
20
|
+
# @return [Array<String, Pathname, Sass::Importers::Base>]
|
21
|
+
def self.load_paths
|
22
|
+
@load_paths ||= if ENV['SASS_PATH']
|
23
|
+
ENV['SASS_PATH'].split(SassC::Util.windows? ? ';' : ':')
|
24
|
+
else
|
25
|
+
[]
|
26
|
+
end
|
27
|
+
end
|
4
28
|
end
|
5
29
|
|
6
30
|
require_relative "sassc/version"
|