1 | #ifndef SASS_CONSTANTS_H |
2 | #define SASS_CONSTANTS_H |
3 | |
4 | namespace Sass { |
5 | namespace Constants { |
6 | |
7 | // The maximum call stack that can be created |
8 | extern const unsigned long MaxCallStack; |
9 | |
10 | // https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity |
11 | // The following list of selectors is by increasing specificity: |
12 | extern const unsigned long Specificity_Star; |
13 | extern const unsigned long Specificity_Universal; |
14 | extern const unsigned long Specificity_Element; |
15 | extern const unsigned long Specificity_Base; |
16 | extern const unsigned long Specificity_Class; |
17 | extern const unsigned long Specificity_Attr; |
18 | extern const unsigned long Specificity_Pseudo; |
19 | extern const unsigned long Specificity_ID; |
20 | |
21 | // Selector unification order; |
22 | extern const int UnificationOrder_Element; |
23 | extern const int UnificationOrder_Id; |
24 | extern const int UnificationOrder_Class; |
25 | extern const int UnificationOrder_Attribute; |
26 | extern const int UnificationOrder_PseudoClass; |
27 | extern const int UnificationOrder_Wrapped; |
28 | extern const int UnificationOrder_PseudoElement; |
29 | extern const int UnificationOrder_Placeholder; |
30 | |
31 | // sass keywords |
32 | extern const char at_root_kwd[]; |
33 | extern const char import_kwd[]; |
34 | extern const char mixin_kwd[]; |
35 | extern const char function_kwd[]; |
36 | extern const char return_kwd[]; |
37 | extern const char include_kwd[]; |
38 | extern const char content_kwd[]; |
39 | extern const char extend_kwd[]; |
40 | extern const char if_kwd[]; |
41 | extern const char else_kwd[]; |
42 | extern const char if_after_else_kwd[]; |
43 | extern const char for_kwd[]; |
44 | extern const char from_kwd[]; |
45 | extern const char to_kwd[]; |
46 | extern const char of_kwd[]; |
47 | extern const char through_kwd[]; |
48 | extern const char each_kwd[]; |
49 | extern const char in_kwd[]; |
50 | extern const char while_kwd[]; |
51 | extern const char warn_kwd[]; |
52 | extern const char error_kwd[]; |
53 | extern const char debug_kwd[]; |
54 | extern const char default_kwd[]; |
55 | extern const char global_kwd[]; |
56 | extern const char null_kwd[]; |
57 | extern const char optional_kwd[]; |
58 | extern const char with_kwd[]; |
59 | extern const char without_kwd[]; |
60 | extern const char all_kwd[]; |
61 | extern const char rule_kwd[]; |
62 | |
63 | // css standard units |
64 | extern const char em_kwd[]; |
65 | extern const char ex_kwd[]; |
66 | extern const char px_kwd[]; |
67 | extern const char cm_kwd[]; |
68 | extern const char mm_kwd[]; |
69 | extern const char pt_kwd[]; |
70 | extern const char pc_kwd[]; |
71 | extern const char deg_kwd[]; |
72 | extern const char rad_kwd[]; |
73 | extern const char grad_kwd[]; |
74 | extern const char turn_kwd[]; |
75 | extern const char ms_kwd[]; |
76 | extern const char s_kwd[]; |
77 | extern const char Hz_kwd[]; |
78 | extern const char kHz_kwd[]; |
79 | |
80 | // vendor prefixes |
81 | extern const char vendor_opera_kwd[]; |
82 | extern const char vendor_webkit_kwd[]; |
83 | extern const char vendor_mozilla_kwd[]; |
84 | extern const char vendor_ms_kwd[]; |
85 | extern const char vendor_khtml_kwd[]; |
86 | |
87 | // css functions and keywords |
88 | extern const char charset_kwd[]; |
89 | extern const char media_kwd[]; |
90 | extern const char supports_kwd[]; |
91 | extern const char keyframes_kwd[]; |
92 | extern const char only_kwd[]; |
93 | extern const char rgb_fn_kwd[]; |
94 | extern const char url_fn_kwd[]; |
95 | extern const char url_kwd[]; |
96 | // extern const char url_prefix_fn_kwd[]; |
97 | extern const char important_kwd[]; |
98 | extern const char pseudo_not_fn_kwd[]; |
99 | extern const char even_kwd[]; |
100 | extern const char odd_kwd[]; |
101 | extern const char progid_kwd[]; |
102 | extern const char expression_kwd[]; |
103 | extern const char calc_fn_kwd[]; |
104 | |
105 | // char classes for "regular expressions" |
106 | extern const char almost_any_value_class[]; |
107 | |
108 | // css selector keywords |
109 | extern const char sel_deep_kwd[]; |
110 | |
111 | // css attribute-matching operators |
112 | extern const char tilde_equal[]; |
113 | extern const char pipe_equal[]; |
114 | extern const char caret_equal[]; |
115 | extern const char dollar_equal[]; |
116 | extern const char star_equal[]; |
117 | |
118 | // relational & logical operators and constants |
119 | extern const char and_kwd[]; |
120 | extern const char or_kwd[]; |
121 | extern const char not_kwd[]; |
122 | extern const char gt[]; |
123 | extern const char gte[]; |
124 | extern const char lt[]; |
125 | extern const char lte[]; |
126 | extern const char eq[]; |
127 | extern const char neq[]; |
128 | extern const char true_kwd[]; |
129 | extern const char false_kwd[]; |
130 | |
131 | // definition keywords |
132 | extern const char using_kwd[]; |
133 | |
134 | // miscellaneous punctuation and delimiters |
135 | extern const char percent_str[]; |
136 | extern const char empty_str[]; |
137 | extern const char slash_slash[]; |
138 | extern const char slash_star[]; |
139 | extern const char star_slash[]; |
140 | extern const char hash_lbrace[]; |
141 | extern const char rbrace[]; |
142 | extern const char rparen[]; |
143 | extern const char sign_chars[]; |
144 | extern const char op_chars[]; |
145 | extern const char hyphen[]; |
146 | extern const char ellipsis[]; |
147 | // extern const char url_space_chars[]; |
148 | |
149 | // type names |
150 | extern const char numeric_name[]; |
151 | extern const char number_name[]; |
152 | extern const char percentage_name[]; |
153 | extern const char dimension_name[]; |
154 | extern const char string_name[]; |
155 | extern const char bool_name[]; |
156 | extern const char color_name[]; |
157 | extern const char list_name[]; |
158 | extern const char map_name[]; |
159 | extern const char arglist_name[]; |
160 | |
161 | // constants for uri parsing (RFC 3986 Appendix A.) |
162 | extern const char uri_chars[]; |
163 | extern const char real_uri_chars[]; |
164 | |
165 | // constants for selector combinators |
166 | extern const char selector_combinator_child[]; |
167 | extern const char selector_combinator_general[]; |
168 | extern const char selector_combinator_adjacent[]; |
169 | |
170 | // some specific constant character classes |
171 | // they must be static to be useable by lexer |
172 | extern const char static_ops[]; |
173 | extern const char selector_list_delims[]; |
174 | extern const char complex_selector_delims[]; |
175 | extern const char selector_combinator_ops[]; |
176 | extern const char attribute_compare_modifiers[]; |
177 | extern const char selector_lookahead_ops[]; |
178 | |
179 | // byte order marks |
180 | // (taken from http://en.wikipedia.org/wiki/Byte_order_mark) |
181 | extern const unsigned char utf_8_bom[]; |
182 | extern const unsigned char utf_16_bom_be[]; |
183 | extern const unsigned char utf_16_bom_le[]; |
184 | extern const unsigned char utf_32_bom_be[]; |
185 | extern const unsigned char utf_32_bom_le[]; |
186 | extern const unsigned char utf_7_bom_1[]; |
187 | extern const unsigned char utf_7_bom_2[]; |
188 | extern const unsigned char utf_7_bom_3[]; |
189 | extern const unsigned char utf_7_bom_4[]; |
190 | extern const unsigned char utf_7_bom_5[]; |
191 | extern const unsigned char utf_1_bom[]; |
192 | extern const unsigned char utf_ebcdic_bom[]; |
193 | extern const unsigned char scsu_bom[]; |
194 | extern const unsigned char bocu_1_bom[]; |
195 | extern const unsigned char gb_18030_bom[]; |
196 | |
197 | } |
198 | } |
199 | |
200 | #endif |
201 | |