sassc4 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +16 -0
  5. data/CHANGELOG.md +97 -0
  6. data/CODE_OF_CONDUCT.md +10 -0
  7. data/Gemfile +2 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +80 -0
  10. data/Rakefile +51 -0
  11. data/ext/depend +4 -0
  12. data/ext/extconf.rb +92 -0
  13. data/ext/libsass/VERSION +1 -0
  14. data/ext/libsass/contrib/plugin.cpp +60 -0
  15. data/ext/libsass/include/sass/base.h +97 -0
  16. data/ext/libsass/include/sass/context.h +174 -0
  17. data/ext/libsass/include/sass/functions.h +139 -0
  18. data/ext/libsass/include/sass/values.h +145 -0
  19. data/ext/libsass/include/sass/version.h +12 -0
  20. data/ext/libsass/include/sass.h +15 -0
  21. data/ext/libsass/include/sass2scss.h +120 -0
  22. data/ext/libsass/src/MurmurHash2.hpp +91 -0
  23. data/ext/libsass/src/ast.cpp +953 -0
  24. data/ext/libsass/src/ast.hpp +1064 -0
  25. data/ext/libsass/src/ast2c.cpp +80 -0
  26. data/ext/libsass/src/ast2c.hpp +39 -0
  27. data/ext/libsass/src/ast_def_macros.hpp +140 -0
  28. data/ext/libsass/src/ast_fwd_decl.cpp +31 -0
  29. data/ext/libsass/src/ast_fwd_decl.hpp +274 -0
  30. data/ext/libsass/src/ast_helpers.hpp +316 -0
  31. data/ext/libsass/src/ast_sel_cmp.cpp +396 -0
  32. data/ext/libsass/src/ast_sel_super.cpp +539 -0
  33. data/ext/libsass/src/ast_sel_unify.cpp +275 -0
  34. data/ext/libsass/src/ast_sel_weave.cpp +616 -0
  35. data/ext/libsass/src/ast_selectors.cpp +1070 -0
  36. data/ext/libsass/src/ast_selectors.hpp +523 -0
  37. data/ext/libsass/src/ast_supports.cpp +114 -0
  38. data/ext/libsass/src/ast_supports.hpp +121 -0
  39. data/ext/libsass/src/ast_values.cpp +1154 -0
  40. data/ext/libsass/src/ast_values.hpp +498 -0
  41. data/ext/libsass/src/b64/cencode.h +32 -0
  42. data/ext/libsass/src/b64/encode.h +79 -0
  43. data/ext/libsass/src/backtrace.cpp +50 -0
  44. data/ext/libsass/src/backtrace.hpp +29 -0
  45. data/ext/libsass/src/base64vlq.cpp +47 -0
  46. data/ext/libsass/src/base64vlq.hpp +30 -0
  47. data/ext/libsass/src/bind.cpp +312 -0
  48. data/ext/libsass/src/bind.hpp +15 -0
  49. data/ext/libsass/src/c2ast.cpp +64 -0
  50. data/ext/libsass/src/c2ast.hpp +14 -0
  51. data/ext/libsass/src/c99func.c +54 -0
  52. data/ext/libsass/src/cencode.c +106 -0
  53. data/ext/libsass/src/check_nesting.cpp +393 -0
  54. data/ext/libsass/src/check_nesting.hpp +70 -0
  55. data/ext/libsass/src/color_maps.cpp +652 -0
  56. data/ext/libsass/src/color_maps.hpp +323 -0
  57. data/ext/libsass/src/color_spaces.cpp +241 -0
  58. data/ext/libsass/src/color_spaces.hpp +227 -0
  59. data/ext/libsass/src/constants.cpp +199 -0
  60. data/ext/libsass/src/constants.hpp +200 -0
  61. data/ext/libsass/src/context.cpp +870 -0
  62. data/ext/libsass/src/context.hpp +140 -0
  63. data/ext/libsass/src/cssize.cpp +521 -0
  64. data/ext/libsass/src/cssize.hpp +71 -0
  65. data/ext/libsass/src/dart_helpers.hpp +199 -0
  66. data/ext/libsass/src/debug.hpp +43 -0
  67. data/ext/libsass/src/debugger.hpp +964 -0
  68. data/ext/libsass/src/emitter.cpp +297 -0
  69. data/ext/libsass/src/emitter.hpp +101 -0
  70. data/ext/libsass/src/environment.cpp +260 -0
  71. data/ext/libsass/src/environment.hpp +124 -0
  72. data/ext/libsass/src/error_handling.cpp +239 -0
  73. data/ext/libsass/src/error_handling.hpp +248 -0
  74. data/ext/libsass/src/eval.cpp +1543 -0
  75. data/ext/libsass/src/eval.hpp +110 -0
  76. data/ext/libsass/src/eval_selectors.cpp +75 -0
  77. data/ext/libsass/src/expand.cpp +875 -0
  78. data/ext/libsass/src/expand.hpp +98 -0
  79. data/ext/libsass/src/extender.cpp +1226 -0
  80. data/ext/libsass/src/extender.hpp +399 -0
  81. data/ext/libsass/src/extension.cpp +43 -0
  82. data/ext/libsass/src/extension.hpp +89 -0
  83. data/ext/libsass/src/file.cpp +531 -0
  84. data/ext/libsass/src/file.hpp +124 -0
  85. data/ext/libsass/src/fn_colors.cpp +836 -0
  86. data/ext/libsass/src/fn_colors.hpp +99 -0
  87. data/ext/libsass/src/fn_lists.cpp +285 -0
  88. data/ext/libsass/src/fn_lists.hpp +34 -0
  89. data/ext/libsass/src/fn_maps.cpp +94 -0
  90. data/ext/libsass/src/fn_maps.hpp +30 -0
  91. data/ext/libsass/src/fn_miscs.cpp +248 -0
  92. data/ext/libsass/src/fn_miscs.hpp +40 -0
  93. data/ext/libsass/src/fn_numbers.cpp +246 -0
  94. data/ext/libsass/src/fn_numbers.hpp +45 -0
  95. data/ext/libsass/src/fn_selectors.cpp +205 -0
  96. data/ext/libsass/src/fn_selectors.hpp +35 -0
  97. data/ext/libsass/src/fn_strings.cpp +268 -0
  98. data/ext/libsass/src/fn_strings.hpp +34 -0
  99. data/ext/libsass/src/fn_utils.cpp +159 -0
  100. data/ext/libsass/src/fn_utils.hpp +62 -0
  101. data/ext/libsass/src/inspect.cpp +1126 -0
  102. data/ext/libsass/src/inspect.hpp +101 -0
  103. data/ext/libsass/src/json.cpp +1436 -0
  104. data/ext/libsass/src/json.hpp +117 -0
  105. data/ext/libsass/src/kwd_arg_macros.hpp +28 -0
  106. data/ext/libsass/src/lexer.cpp +122 -0
  107. data/ext/libsass/src/lexer.hpp +304 -0
  108. data/ext/libsass/src/listize.cpp +70 -0
  109. data/ext/libsass/src/listize.hpp +37 -0
  110. data/ext/libsass/src/mapping.hpp +19 -0
  111. data/ext/libsass/src/memory/allocator.cpp +48 -0
  112. data/ext/libsass/src/memory/allocator.hpp +138 -0
  113. data/ext/libsass/src/memory/config.hpp +20 -0
  114. data/ext/libsass/src/memory/memory_pool.hpp +186 -0
  115. data/ext/libsass/src/memory/shared_ptr.cpp +33 -0
  116. data/ext/libsass/src/memory/shared_ptr.hpp +332 -0
  117. data/ext/libsass/src/memory.hpp +12 -0
  118. data/ext/libsass/src/operation.hpp +223 -0
  119. data/ext/libsass/src/operators.cpp +267 -0
  120. data/ext/libsass/src/operators.hpp +30 -0
  121. data/ext/libsass/src/ordered_map.hpp +112 -0
  122. data/ext/libsass/src/output.cpp +320 -0
  123. data/ext/libsass/src/output.hpp +47 -0
  124. data/ext/libsass/src/parser.cpp +3059 -0
  125. data/ext/libsass/src/parser.hpp +395 -0
  126. data/ext/libsass/src/parser_selectors.cpp +189 -0
  127. data/ext/libsass/src/permutate.hpp +164 -0
  128. data/ext/libsass/src/plugins.cpp +188 -0
  129. data/ext/libsass/src/plugins.hpp +57 -0
  130. data/ext/libsass/src/position.cpp +163 -0
  131. data/ext/libsass/src/position.hpp +147 -0
  132. data/ext/libsass/src/prelexer.cpp +1780 -0
  133. data/ext/libsass/src/prelexer.hpp +484 -0
  134. data/ext/libsass/src/remove_placeholders.cpp +86 -0
  135. data/ext/libsass/src/remove_placeholders.hpp +37 -0
  136. data/ext/libsass/src/sass.cpp +156 -0
  137. data/ext/libsass/src/sass.hpp +147 -0
  138. data/ext/libsass/src/sass2scss.cpp +895 -0
  139. data/ext/libsass/src/sass_context.cpp +742 -0
  140. data/ext/libsass/src/sass_context.hpp +129 -0
  141. data/ext/libsass/src/sass_functions.cpp +210 -0
  142. data/ext/libsass/src/sass_functions.hpp +50 -0
  143. data/ext/libsass/src/sass_values.cpp +362 -0
  144. data/ext/libsass/src/sass_values.hpp +82 -0
  145. data/ext/libsass/src/settings.hpp +19 -0
  146. data/ext/libsass/src/source.cpp +69 -0
  147. data/ext/libsass/src/source.hpp +95 -0
  148. data/ext/libsass/src/source_data.hpp +32 -0
  149. data/ext/libsass/src/source_map.cpp +202 -0
  150. data/ext/libsass/src/source_map.hpp +65 -0
  151. data/ext/libsass/src/stylesheet.cpp +22 -0
  152. data/ext/libsass/src/stylesheet.hpp +57 -0
  153. data/ext/libsass/src/to_value.cpp +114 -0
  154. data/ext/libsass/src/to_value.hpp +46 -0
  155. data/ext/libsass/src/units.cpp +507 -0
  156. data/ext/libsass/src/units.hpp +110 -0
  157. data/ext/libsass/src/utf8/checked.h +336 -0
  158. data/ext/libsass/src/utf8/core.h +332 -0
  159. data/ext/libsass/src/utf8/unchecked.h +235 -0
  160. data/ext/libsass/src/utf8.h +34 -0
  161. data/ext/libsass/src/utf8_string.cpp +104 -0
  162. data/ext/libsass/src/utf8_string.hpp +38 -0
  163. data/ext/libsass/src/util.cpp +723 -0
  164. data/ext/libsass/src/util.hpp +105 -0
  165. data/ext/libsass/src/util_string.cpp +125 -0
  166. data/ext/libsass/src/util_string.hpp +73 -0
  167. data/ext/libsass/src/values.cpp +140 -0
  168. data/ext/libsass/src/values.hpp +12 -0
  169. data/lib/sassc/dependency.rb +17 -0
  170. data/lib/sassc/engine.rb +141 -0
  171. data/lib/sassc/error.rb +37 -0
  172. data/lib/sassc/functions_handler.rb +73 -0
  173. data/lib/sassc/import_handler.rb +50 -0
  174. data/lib/sassc/importer.rb +31 -0
  175. data/lib/sassc/native/native_context_api.rb +147 -0
  176. data/lib/sassc/native/native_functions_api.rb +159 -0
  177. data/lib/sassc/native/sass2scss_api.rb +10 -0
  178. data/lib/sassc/native/sass_input_style.rb +13 -0
  179. data/lib/sassc/native/sass_output_style.rb +12 -0
  180. data/lib/sassc/native/sass_value.rb +97 -0
  181. data/lib/sassc/native/string_list.rb +10 -0
  182. data/lib/sassc/native.rb +64 -0
  183. data/lib/sassc/sass_2_scss.rb +9 -0
  184. data/lib/sassc/script/functions.rb +8 -0
  185. data/lib/sassc/script/value/bool.rb +32 -0
  186. data/lib/sassc/script/value/color.rb +95 -0
  187. data/lib/sassc/script/value/list.rb +136 -0
  188. data/lib/sassc/script/value/map.rb +69 -0
  189. data/lib/sassc/script/value/number.rb +389 -0
  190. data/lib/sassc/script/value/string.rb +96 -0
  191. data/lib/sassc/script/value.rb +137 -0
  192. data/lib/sassc/script/value_conversion/base.rb +13 -0
  193. data/lib/sassc/script/value_conversion/bool.rb +13 -0
  194. data/lib/sassc/script/value_conversion/color.rb +18 -0
  195. data/lib/sassc/script/value_conversion/list.rb +25 -0
  196. data/lib/sassc/script/value_conversion/map.rb +21 -0
  197. data/lib/sassc/script/value_conversion/number.rb +13 -0
  198. data/lib/sassc/script/value_conversion/string.rb +17 -0
  199. data/lib/sassc/script/value_conversion.rb +69 -0
  200. data/lib/sassc/script.rb +17 -0
  201. data/lib/sassc/util/normalized_map.rb +117 -0
  202. data/lib/sassc/util.rb +231 -0
  203. data/lib/sassc/version.rb +5 -0
  204. data/lib/sassc.rb +57 -0
  205. data/sassc.gemspec +69 -0
  206. data/test/css_color_level4_test.rb +168 -0
  207. data/test/custom_importer_test.rb +127 -0
  208. data/test/engine_test.rb +314 -0
  209. data/test/error_test.rb +29 -0
  210. data/test/fixtures/paths.scss +10 -0
  211. data/test/functions_test.rb +340 -0
  212. data/test/native_test.rb +213 -0
  213. data/test/output_style_test.rb +107 -0
  214. data/test/sass_2_scss_test.rb +14 -0
  215. data/test/test_helper.rb +45 -0
  216. metadata +396 -0
@@ -0,0 +1,156 @@
1
+ // sass.hpp must go before all system headers to get the
2
+ // __EXTENSIONS__ fix on Solaris.
3
+ #include "sass.hpp"
4
+
5
+ #include <cstdlib>
6
+ #include <cstring>
7
+ #include <vector>
8
+ #include <sstream>
9
+
10
+ #include "sass.h"
11
+ #include "file.hpp"
12
+ #include "util.hpp"
13
+ #include "context.hpp"
14
+ #include "sass_context.hpp"
15
+ #include "sass_functions.hpp"
16
+
17
+ namespace Sass {
18
+
19
+ // helper to convert string list to vector
20
+ sass::vector<sass::string> list2vec(struct string_list* cur)
21
+ {
22
+ sass::vector<sass::string> list;
23
+ while (cur) {
24
+ list.push_back(cur->string);
25
+ cur = cur->next;
26
+ }
27
+ return list;
28
+ }
29
+
30
+ }
31
+
32
+ extern "C" {
33
+ using namespace Sass;
34
+
35
+ // Allocate libsass heap memory
36
+ // Don't forget string termination!
37
+ void* ADDCALL sass_alloc_memory(size_t size)
38
+ {
39
+ void* ptr = malloc(size);
40
+ if (ptr == NULL) {
41
+ std::cerr << "Out of memory.\n";
42
+ exit(EXIT_FAILURE);
43
+ }
44
+ return ptr;
45
+ }
46
+
47
+ char* ADDCALL sass_copy_c_string(const char* str)
48
+ {
49
+ if (str == nullptr) return nullptr;
50
+ size_t len = strlen(str) + 1;
51
+ char* cpy = (char*) sass_alloc_memory(len);
52
+ std::memcpy(cpy, str, len);
53
+ return cpy;
54
+ }
55
+
56
+ // Deallocate libsass heap memory
57
+ void ADDCALL sass_free_memory(void* ptr)
58
+ {
59
+ if (ptr) free (ptr);
60
+ }
61
+
62
+ // caller must free the returned memory
63
+ char* ADDCALL sass_string_quote (const char *str, const char quote_mark)
64
+ {
65
+ sass::string quoted = quote(str, quote_mark);
66
+ return sass_copy_c_string(quoted.c_str());
67
+ }
68
+
69
+ // caller must free the returned memory
70
+ char* ADDCALL sass_string_unquote (const char *str)
71
+ {
72
+ sass::string unquoted = unquote(str);
73
+ return sass_copy_c_string(unquoted.c_str());
74
+ }
75
+
76
+ char* ADDCALL sass_compiler_find_include (const char* file, struct Sass_Compiler* compiler)
77
+ {
78
+ // get the last import entry to get current base directory
79
+ Sass_Import_Entry import = sass_compiler_get_last_import(compiler);
80
+ const sass::vector<sass::string>& incs = compiler->cpp_ctx->include_paths;
81
+ // create the vector with paths to lookup
82
+ sass::vector<sass::string> paths(1 + incs.size());
83
+ paths.push_back(File::dir_name(import->abs_path));
84
+ paths.insert( paths.end(), incs.begin(), incs.end() );
85
+ // now resolve the file path relative to lookup paths
86
+ sass::string resolved(File::find_include(file, paths));
87
+ return sass_copy_c_string(resolved.c_str());
88
+ }
89
+
90
+ char* ADDCALL sass_compiler_find_file (const char* file, struct Sass_Compiler* compiler)
91
+ {
92
+ // get the last import entry to get current base directory
93
+ Sass_Import_Entry import = sass_compiler_get_last_import(compiler);
94
+ const sass::vector<sass::string>& incs = compiler->cpp_ctx->include_paths;
95
+ // create the vector with paths to lookup
96
+ sass::vector<sass::string> paths(1 + incs.size());
97
+ paths.push_back(File::dir_name(import->abs_path));
98
+ paths.insert( paths.end(), incs.begin(), incs.end() );
99
+ // now resolve the file path relative to lookup paths
100
+ sass::string resolved(File::find_file(file, paths));
101
+ return sass_copy_c_string(resolved.c_str());
102
+ }
103
+
104
+ // Make sure to free the returned value!
105
+ // Incs array has to be null terminated!
106
+ // this has the original resolve logic for sass include
107
+ char* ADDCALL sass_find_include (const char* file, struct Sass_Options* opt)
108
+ {
109
+ sass::vector<sass::string> vec(list2vec(opt->include_paths));
110
+ sass::string resolved(File::find_include(file, vec));
111
+ return sass_copy_c_string(resolved.c_str());
112
+ }
113
+
114
+ // Make sure to free the returned value!
115
+ // Incs array has to be null terminated!
116
+ char* ADDCALL sass_find_file (const char* file, struct Sass_Options* opt)
117
+ {
118
+ sass::vector<sass::string> vec(list2vec(opt->include_paths));
119
+ sass::string resolved(File::find_file(file, vec));
120
+ return sass_copy_c_string(resolved.c_str());
121
+ }
122
+
123
+ // Get compiled libsass version
124
+ const char* ADDCALL libsass_version(void)
125
+ {
126
+ return LIBSASS_VERSION;
127
+ }
128
+
129
+ // Get compiled libsass version
130
+ const char* ADDCALL libsass_language_version(void)
131
+ {
132
+ return LIBSASS_LANGUAGE_VERSION;
133
+ }
134
+
135
+ }
136
+
137
+ namespace Sass {
138
+
139
+ // helper to aid dreaded MSVC debug mode
140
+ char* sass_copy_string(sass::string str)
141
+ {
142
+ // In MSVC the following can lead to segfault:
143
+ // sass_copy_c_string(stream.str().c_str());
144
+ // Reason is that the string returned by str() is disposed before
145
+ // sass_copy_c_string is invoked. The string is actually a stack
146
+ // object, so indeed nobody is holding on to it. So it seems
147
+ // perfectly fair to release it right away. So the const char*
148
+ // by c_str will point to invalid memory. I'm not sure if this is
149
+ // the behavior for all compiler, but I'm pretty sure we would
150
+ // have gotten more issues reported if that would be the case.
151
+ // Wrapping it in a functions seems the cleanest approach as the
152
+ // function must hold on to the stack variable until it's done.
153
+ return sass_copy_c_string(str.c_str());
154
+ }
155
+
156
+ }
@@ -0,0 +1,147 @@
1
+ // must be the first include in all compile units
2
+ #ifndef SASS_SASS_H
3
+ #define SASS_SASS_H
4
+
5
+ // undefine extensions macro to tell sys includes
6
+ // that we do not want any macros to be exported
7
+ // mainly fixes an issue on SmartOS (SEC macro)
8
+ #undef __EXTENSIONS__
9
+
10
+ #ifdef _MSC_VER
11
+ #pragma warning(disable : 4005)
12
+ #endif
13
+
14
+ // applies to MSVC and MinGW
15
+ #ifdef _WIN32
16
+ // we do not want the ERROR macro
17
+ # ifndef NOGDI
18
+ # define NOGDI
19
+ # endif
20
+ // we do not want the min/max macro
21
+ # ifndef NOMINMAX
22
+ # define NOMINMAX
23
+ # endif
24
+ // we do not want the IN/OUT macro
25
+ # ifndef _NO_W32_PSEUDO_MODIFIERS
26
+ # define _NO_W32_PSEUDO_MODIFIERS
27
+ # endif
28
+ #endif
29
+
30
+
31
+ // should we be case insensitive
32
+ // when dealing with files or paths
33
+ #ifndef FS_CASE_SENSITIVE
34
+ # ifdef _WIN32
35
+ # define FS_CASE_SENSITIVE 0
36
+ # else
37
+ # define FS_CASE_SENSITIVE 1
38
+ # endif
39
+ #endif
40
+
41
+ // path separation char
42
+ #ifndef PATH_SEP
43
+ # ifdef _WIN32
44
+ # define PATH_SEP ';'
45
+ # else
46
+ # define PATH_SEP ':'
47
+ # endif
48
+ #endif
49
+
50
+
51
+ // Include C-API header
52
+ #include "sass/base.h"
53
+
54
+ // Include allocator
55
+ #include "memory.hpp"
56
+
57
+ // For C++ helper
58
+ #include <string>
59
+ #include <vector>
60
+
61
+ // output behavior
62
+ namespace Sass {
63
+
64
+ // create some C++ aliases for the most used options
65
+ const static Sass_Output_Style NESTED = SASS_STYLE_NESTED;
66
+ const static Sass_Output_Style COMPACT = SASS_STYLE_COMPACT;
67
+ const static Sass_Output_Style EXPANDED = SASS_STYLE_EXPANDED;
68
+ const static Sass_Output_Style COMPRESSED = SASS_STYLE_COMPRESSED;
69
+ // only used internal to trigger ruby inspect behavior
70
+ const static Sass_Output_Style INSPECT = SASS_STYLE_INSPECT;
71
+ const static Sass_Output_Style TO_SASS = SASS_STYLE_TO_SASS;
72
+ const static Sass_Output_Style TO_CSS = SASS_STYLE_TO_CSS;
73
+
74
+ // helper to aid dreaded MSVC debug mode
75
+ // see implementation for more details
76
+ char* sass_copy_string(sass::string str);
77
+
78
+ }
79
+
80
+ // input behaviors
81
+ enum Sass_Input_Style {
82
+ SASS_CONTEXT_NULL,
83
+ SASS_CONTEXT_FILE,
84
+ SASS_CONTEXT_DATA,
85
+ SASS_CONTEXT_FOLDER
86
+ };
87
+
88
+ // simple linked list
89
+ struct string_list {
90
+ string_list* next;
91
+ char* string;
92
+ };
93
+
94
+ // sass config options structure
95
+ struct Sass_Inspect_Options {
96
+
97
+ // Output style for the generated css code
98
+ // A value from above SASS_STYLE_* constants
99
+ enum Sass_Output_Style output_style;
100
+
101
+ // Precision for fractional numbers
102
+ int precision;
103
+
104
+ // initialization list (constructor with defaults)
105
+ Sass_Inspect_Options(Sass_Output_Style style = Sass::NESTED,
106
+ int precision = 10)
107
+ : output_style(style), precision(precision)
108
+ { }
109
+
110
+ };
111
+
112
+ // sass config options structure
113
+ struct Sass_Output_Options : Sass_Inspect_Options {
114
+
115
+ // String to be used for indentation
116
+ const char* indent;
117
+ // String to be used to for line feeds
118
+ const char* linefeed;
119
+
120
+ // Emit comments in the generated CSS indicating
121
+ // the corresponding source line.
122
+ bool source_comments;
123
+
124
+ // initialization list (constructor with defaults)
125
+ Sass_Output_Options(struct Sass_Inspect_Options opt,
126
+ const char* indent = " ",
127
+ const char* linefeed = "\n",
128
+ bool source_comments = false)
129
+ : Sass_Inspect_Options(opt),
130
+ indent(indent), linefeed(linefeed),
131
+ source_comments(source_comments)
132
+ { }
133
+
134
+ // initialization list (constructor with defaults)
135
+ Sass_Output_Options(Sass_Output_Style style = Sass::NESTED,
136
+ int precision = 10,
137
+ const char* indent = " ",
138
+ const char* linefeed = "\n",
139
+ bool source_comments = false)
140
+ : Sass_Inspect_Options(style, precision),
141
+ indent(indent), linefeed(linefeed),
142
+ source_comments(source_comments)
143
+ { }
144
+
145
+ };
146
+
147
+ #endif