1 #ifndef SASS_CONSTANTS_H
2 #define SASS_CONSTANTS_H
7 // The maximum call stack that can be created
8 extern const unsigned long MaxCallStack;
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;
22 extern const char at_root_kwd[];
23 extern const char import_kwd[];
24 extern const char mixin_kwd[];
25 extern const char function_kwd[];
26 extern const char return_kwd[];
27 extern const char include_kwd[];
28 extern const char content_kwd[];
29 extern const char extend_kwd[];
30 extern const char if_kwd[];
31 extern const char else_kwd[];
32 extern const char if_after_else_kwd[];
33 extern const char for_kwd[];
34 extern const char from_kwd[];
35 extern const char to_kwd[];
36 extern const char through_kwd[];
37 extern const char each_kwd[];
38 extern const char in_kwd[];
39 extern const char while_kwd[];
40 extern const char warn_kwd[];
41 extern const char error_kwd[];
42 extern const char debug_kwd[];
43 extern const char default_kwd[];
44 extern const char global_kwd[];
45 extern const char null_kwd[];
46 extern const char optional_kwd[];
47 extern const char with_kwd[];
48 extern const char without_kwd[];
49 extern const char all_kwd[];
50 extern const char rule_kwd[];
53 extern const char em_kwd[];
54 extern const char ex_kwd[];
55 extern const char px_kwd[];
56 extern const char cm_kwd[];
57 extern const char mm_kwd[];
58 extern const char pt_kwd[];
59 extern const char pc_kwd[];
60 extern const char deg_kwd[];
61 extern const char rad_kwd[];
62 extern const char grad_kwd[];
63 extern const char turn_kwd[];
64 extern const char ms_kwd[];
65 extern const char s_kwd[];
66 extern const char Hz_kwd[];
67 extern const char kHz_kwd[];
70 extern const char vendor_opera_kwd[];
71 extern const char vendor_webkit_kwd[];
72 extern const char vendor_mozilla_kwd[];
73 extern const char vendor_ms_kwd[];
74 extern const char vendor_khtml_kwd[];
76 // css functions and keywords
77 extern const char charset_kwd[];
78 extern const char media_kwd[];
79 extern const char supports_kwd[];
80 extern const char keyframes_kwd[];
81 extern const char only_kwd[];
82 extern const char rgb_kwd[];
83 extern const char url_kwd[];
84 // extern const char url_prefix_kwd[];
85 extern const char important_kwd[];
86 extern const char pseudo_not_kwd[];
87 extern const char even_kwd[];
88 extern const char odd_kwd[];
89 extern const char progid_kwd[];
90 extern const char expression_kwd[];
91 extern const char calc_fn_kwd[];
93 // char classes for "regular expressions"
94 extern const char almost_any_value_class[];
96 // css selector keywords
97 extern const char sel_deep_kwd[];
99 // css attribute-matching operators
100 extern const char tilde_equal[];
101 extern const char pipe_equal[];
102 extern const char caret_equal[];
103 extern const char dollar_equal[];
104 extern const char star_equal[];
106 // relational & logical operators and constants
107 extern const char and_kwd[];
108 extern const char or_kwd[];
109 extern const char not_kwd[];
110 extern const char gt[];
111 extern const char gte[];
112 extern const char lt[];
113 extern const char lte[];
114 extern const char eq[];
115 extern const char neq[];
116 extern const char true_kwd[];
117 extern const char false_kwd[];
119 // miscellaneous punctuation and delimiters
120 extern const char percent_str[];
121 extern const char empty_str[];
122 extern const char slash_slash[];
123 extern const char slash_star[];
124 extern const char star_slash[];
125 extern const char hash_lbrace[];
126 extern const char rbrace[];
127 extern const char rparen[];
128 extern const char sign_chars[];
129 extern const char op_chars[];
130 extern const char hyphen[];
131 extern const char ellipsis[];
132 // extern const char url_space_chars[];
135 extern const char numeric_name[];
136 extern const char number_name[];
137 extern const char percentage_name[];
138 extern const char dimension_name[];
139 extern const char string_name[];
140 extern const char bool_name[];
141 extern const char color_name[];
142 extern const char list_name[];
143 extern const char map_name[];
144 extern const char arglist_name[];
146 // constants for uri parsing (RFC 3986 Appendix A.)
147 extern const char uri_chars[];
148 extern const char real_uri_chars[];
150 // some specific constant character classes
151 // they must be static to be useable by lexer
152 extern const char static_ops[];
153 extern const char selector_list_delims[];
154 extern const char complex_selector_delims[];
155 extern const char selector_combinator_ops[];
156 extern const char attribute_compare_modifiers[];
157 extern const char selector_lookahead_ops[];
160 // (taken from http://en.wikipedia.org/wiki/Byte_order_mark)
161 extern const unsigned char utf_8_bom[];
162 extern const unsigned char utf_16_bom_be[];
163 extern const unsigned char utf_16_bom_le[];
164 extern const unsigned char utf_32_bom_be[];
165 extern const unsigned char utf_32_bom_le[];
166 extern const unsigned char utf_7_bom_1[];
167 extern const unsigned char utf_7_bom_2[];
168 extern const unsigned char utf_7_bom_3[];
169 extern const unsigned char utf_7_bom_4[];
170 extern const unsigned char utf_7_bom_5[];
171 extern const unsigned char utf_1_bom[];
172 extern const unsigned char utf_ebcdic_bom[];
173 extern const unsigned char scsu_bom[];
174 extern const unsigned char bocu_1_bom[];
175 extern const unsigned char gb_18030_bom[];