zuora_connect_ui 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (449) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/zuora_connect_ui.js +1 -0
  3. data/app/assets/javascripts/zuora_connect_ui/util.js +51 -0
  4. data/app/assets/stylesheets/_zuora_connect_ui.scss +4 -6
  5. data/app/assets/stylesheets/zuora_connect_ui/datatables.scss +3 -3
  6. data/app/helpers/zuora_connect_ui/application_helper.rb +28 -4
  7. data/app/views/partials/_table.html.erb +16 -7
  8. data/lib/zuora_connect_ui/version.rb +1 -1
  9. data/vendor/ruby/2.6.0/cache/autoprefixer-rails-9.6.1.1.gem +0 -0
  10. data/vendor/ruby/2.6.0/cache/parser-2.6.4.1.gem +0 -0
  11. data/vendor/ruby/2.6.0/cache/sassc-2.2.0.gem +0 -0
  12. data/vendor/ruby/2.6.0/cache/zeitwerk-2.1.10.gem +0 -0
  13. data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/gem.build_complete +0 -0
  14. data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/gem_make.out +75 -0
  15. data/vendor/ruby/2.6.0/extensions/x86_64-linux/2.6.0/sassc-2.2.0/sassc/libsass.so +0 -0
  16. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/CHANGELOG.md +1085 -0
  17. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/Gemfile +10 -0
  18. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/LICENSE +20 -0
  19. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/README.md +237 -0
  20. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/Rakefile +53 -0
  21. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/autoprefixer-rails.gemspec +32 -0
  22. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails.rb +41 -0
  23. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/processor.rb +194 -0
  24. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/railtie.rb +50 -0
  25. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/result.rb +24 -0
  26. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/sprockets.rb +62 -0
  27. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/autoprefixer-rails/version.rb +3 -0
  28. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/lib/rake/autoprefixer_tasks.rb +28 -0
  29. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/Rakefile +2 -0
  30. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/config/manifest.js +0 -0
  31. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/evaluate.css.erb +1 -0
  32. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/loaded.sass +2 -0
  33. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/sass.sass +1 -0
  34. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/test.css +3 -0
  35. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/assets/stylesheets/wrong.css +2 -0
  36. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/controllers/application_controller.rb +2 -0
  37. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/app/controllers/css_controller.rb +6 -0
  38. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config.ru +2 -0
  39. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/application.rb +16 -0
  40. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/autoprefixer.yml +2 -0
  41. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/boot.rb +2 -0
  42. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/environment.rb +3 -0
  43. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/environments/test.rb +9 -0
  44. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/initializers/secret_token.rb +1 -0
  45. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/app/config/routes.rb +3 -0
  46. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/autoprefixer_spec.rb +121 -0
  47. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/processor_spec.rb +25 -0
  48. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/rails_spec.rb +40 -0
  49. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/railtie_spec.rb +29 -0
  50. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/spec/spec_helper.rb +16 -0
  51. data/vendor/ruby/2.6.0/gems/autoprefixer-rails-9.6.1.1/vendor/autoprefixer.js +67195 -0
  52. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/CHANGELOG.md +909 -0
  53. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/CONTRIBUTING.md +17 -0
  54. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/Gemfile +10 -0
  55. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/LICENSE.txt +25 -0
  56. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/README.md +301 -0
  57. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/Rakefile +166 -0
  58. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/bin/ruby-parse +7 -0
  59. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/bin/ruby-rewrite +7 -0
  60. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/ci/run_rubocop_specs +14 -0
  61. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/AST_FORMAT.md +1816 -0
  62. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/CUSTOMIZATION.md +37 -0
  63. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/INTERNALS.md +21 -0
  64. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/doc/css/common.css +68 -0
  65. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/gauntlet_parser.rb +123 -0
  66. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser.rb +82 -0
  67. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/all.rb +12 -0
  68. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ast/node.rb +40 -0
  69. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ast/processor.rb +264 -0
  70. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/base.rb +270 -0
  71. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/builders/default.rb +1741 -0
  72. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/clobbering_error.rb +13 -0
  73. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/color.rb +32 -0
  74. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/context.rb +59 -0
  75. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/current.rb +92 -0
  76. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/deprecation.rb +13 -0
  77. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/diagnostic.rb +163 -0
  78. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/diagnostic/engine.rb +105 -0
  79. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer.rb +23546 -0
  80. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer.rl +2503 -0
  81. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/dedenter.rb +79 -0
  82. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/explanation.rb +55 -0
  83. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/literal.rb +269 -0
  84. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/max_numparam_stack.rb +42 -0
  85. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/lexer/stack_state.rb +49 -0
  86. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/macruby.rb +6124 -0
  87. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/macruby.y +2198 -0
  88. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/messages.rb +90 -0
  89. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/meta.rb +33 -0
  90. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rewriter.rb +105 -0
  91. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby18.rb +5661 -0
  92. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby18.y +1934 -0
  93. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby19.rb +6084 -0
  94. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby19.y +2175 -0
  95. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby20.rb +6511 -0
  96. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby20.y +2353 -0
  97. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby21.rb +6570 -0
  98. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby21.y +2357 -0
  99. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby22.rb +6605 -0
  100. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby22.y +2364 -0
  101. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby23.rb +6624 -0
  102. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby23.y +2370 -0
  103. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby24.rb +6689 -0
  104. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby24.y +2408 -0
  105. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby25.rb +6656 -0
  106. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby25.y +2405 -0
  107. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby26.rb +6670 -0
  108. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby26.y +2413 -0
  109. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby27.rb +6893 -0
  110. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/ruby27.y +2470 -0
  111. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rubymotion.rb +6078 -0
  112. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/rubymotion.y +2182 -0
  113. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner.rb +253 -0
  114. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner/ruby_parse.rb +157 -0
  115. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/runner/ruby_rewrite.rb +101 -0
  116. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/buffer.rb +330 -0
  117. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/comment.rb +121 -0
  118. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/comment/associator.rb +210 -0
  119. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map.rb +186 -0
  120. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/collection.rb +18 -0
  121. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/condition.rb +21 -0
  122. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/constant.rb +32 -0
  123. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/definition.rb +23 -0
  124. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/for.rb +19 -0
  125. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/heredoc.rb +19 -0
  126. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/index.rb +33 -0
  127. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/keyword.rb +20 -0
  128. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/objc_kwarg.rb +19 -0
  129. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/operator.rb +17 -0
  130. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/rescue_body.rb +21 -0
  131. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/send.rb +36 -0
  132. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/ternary.rb +18 -0
  133. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/map/variable.rb +31 -0
  134. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/range.rb +310 -0
  135. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/rewriter.rb +513 -0
  136. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/rewriter/action.rb +44 -0
  137. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/tree_rewriter.rb +301 -0
  138. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/source/tree_rewriter/action.rb +133 -0
  139. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/static_environment.rb +46 -0
  140. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/syntax_error.rb +21 -0
  141. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/tree_rewriter.rb +134 -0
  142. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/lib/parser/version.rb +5 -0
  143. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/parser.gemspec +51 -0
  144. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/fixtures/input.rb +5 -0
  145. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/fixtures/output.rb +5 -0
  146. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/bug_163/rewriter.rb +20 -0
  147. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/helper.rb +59 -0
  148. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/parse_helper.rb +316 -0
  149. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/racc_coverage_helper.rb +133 -0
  150. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_base.rb +31 -0
  151. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_current.rb +29 -0
  152. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_diagnostic.rb +96 -0
  153. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_diagnostic_engine.rb +62 -0
  154. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_encoding.rb +99 -0
  155. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_lexer.rb +3659 -0
  156. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_lexer_stack_state.rb +78 -0
  157. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_parse_helper.rb +80 -0
  158. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_parser.rb +7579 -0
  159. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_runner_parse.rb +35 -0
  160. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_runner_rewrite.rb +47 -0
  161. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_buffer.rb +162 -0
  162. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_comment.rb +36 -0
  163. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_comment_associator.rb +367 -0
  164. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_map.rb +15 -0
  165. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_range.rb +172 -0
  166. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_rewriter.rb +541 -0
  167. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_rewriter_action.rb +46 -0
  168. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_source_tree_rewriter.rb +173 -0
  169. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/test_static_environment.rb +45 -0
  170. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/fixtures/input.rb +3 -0
  171. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/fixtures/output.rb +3 -0
  172. data/vendor/ruby/2.6.0/gems/parser-2.6.4.1/test/using_tree_rewriter/using_tree_rewriter.rb +9 -0
  173. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/CHANGELOG.md +77 -0
  174. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/CODE_OF_CONDUCT.md +10 -0
  175. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/Gemfile +2 -0
  176. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/LICENSE.txt +22 -0
  177. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/README.md +68 -0
  178. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/Rakefile +53 -0
  179. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/Makefile +271 -0
  180. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/SharedPtr.o +0 -0
  181. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast.o +0 -0
  182. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast2c.o +0 -0
  183. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_fwd_decl.o +0 -0
  184. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_sel_cmp.o +0 -0
  185. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_sel_unify.o +0 -0
  186. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_selectors.o +0 -0
  187. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_supports.o +0 -0
  188. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/ast_values.o +0 -0
  189. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/backtrace.o +0 -0
  190. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/base64vlq.o +0 -0
  191. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/bind.o +0 -0
  192. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/c2ast.o +0 -0
  193. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/c99func.o +0 -0
  194. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/cencode.o +0 -0
  195. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/check_nesting.o +0 -0
  196. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/color_maps.o +0 -0
  197. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/constants.o +0 -0
  198. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/context.o +0 -0
  199. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/cssize.o +0 -0
  200. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/depend +4 -0
  201. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/emitter.o +0 -0
  202. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/environment.o +0 -0
  203. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/error_handling.o +0 -0
  204. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/eval.o +0 -0
  205. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/expand.o +0 -0
  206. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/extconf.rb +84 -0
  207. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/extend.o +0 -0
  208. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/file.o +0 -0
  209. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_colors.o +0 -0
  210. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_lists.o +0 -0
  211. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_maps.o +0 -0
  212. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_miscs.o +0 -0
  213. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_numbers.o +0 -0
  214. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_selectors.o +0 -0
  215. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_strings.o +0 -0
  216. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/fn_utils.o +0 -0
  217. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/inspect.o +0 -0
  218. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/json.o +0 -0
  219. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/lexer.o +0 -0
  220. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass.so +0 -0
  221. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/VERSION +1 -0
  222. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/contrib/plugin.cpp +60 -0
  223. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass.h +15 -0
  224. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/base.h +96 -0
  225. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/context.h +170 -0
  226. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/functions.h +139 -0
  227. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/values.h +145 -0
  228. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass/version.h +12 -0
  229. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/include/sass2scss.h +120 -0
  230. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast.cpp +963 -0
  231. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast.hpp +905 -0
  232. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast2c.cpp +80 -0
  233. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast2c.hpp +39 -0
  234. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_def_macros.hpp +132 -0
  235. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_fwd_decl.cpp +30 -0
  236. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_fwd_decl.hpp +341 -0
  237. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_sel_cmp.cpp +909 -0
  238. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_sel_unify.cpp +280 -0
  239. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_selectors.cpp +1475 -0
  240. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_selectors.hpp +568 -0
  241. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_supports.cpp +130 -0
  242. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_supports.hpp +121 -0
  243. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_values.cpp +967 -0
  244. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/ast_values.hpp +489 -0
  245. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/b64/cencode.h +32 -0
  246. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/b64/encode.h +79 -0
  247. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/backtrace.cpp +50 -0
  248. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/backtrace.hpp +29 -0
  249. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/base64vlq.cpp +47 -0
  250. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/base64vlq.hpp +30 -0
  251. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/bind.cpp +312 -0
  252. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/bind.hpp +15 -0
  253. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c2ast.cpp +64 -0
  254. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c2ast.hpp +14 -0
  255. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/c99func.c +54 -0
  256. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cencode.c +108 -0
  257. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/check_nesting.cpp +394 -0
  258. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/check_nesting.hpp +66 -0
  259. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/color_maps.cpp +651 -0
  260. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/color_maps.hpp +331 -0
  261. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/constants.cpp +194 -0
  262. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/constants.hpp +194 -0
  263. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/context.cpp +890 -0
  264. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/context.hpp +152 -0
  265. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cssize.cpp +604 -0
  266. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/cssize.hpp +77 -0
  267. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/debug.hpp +43 -0
  268. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/debugger.hpp +807 -0
  269. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/emitter.cpp +298 -0
  270. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/emitter.hpp +103 -0
  271. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/environment.cpp +260 -0
  272. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/environment.hpp +119 -0
  273. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/error_handling.cpp +212 -0
  274. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/error_handling.hpp +229 -0
  275. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/eval.cpp +1657 -0
  276. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/eval.hpp +112 -0
  277. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/expand.cpp +822 -0
  278. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/expand.hpp +78 -0
  279. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/extend.cpp +2132 -0
  280. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/extend.hpp +86 -0
  281. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/file.cpp +522 -0
  282. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/file.hpp +133 -0
  283. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_colors.cpp +594 -0
  284. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_colors.hpp +85 -0
  285. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_lists.cpp +284 -0
  286. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_lists.hpp +34 -0
  287. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_maps.cpp +94 -0
  288. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_maps.hpp +30 -0
  289. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_miscs.cpp +256 -0
  290. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_miscs.hpp +40 -0
  291. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_numbers.cpp +220 -0
  292. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_numbers.hpp +45 -0
  293. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_selectors.cpp +235 -0
  294. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_selectors.hpp +35 -0
  295. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_strings.cpp +254 -0
  296. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_strings.hpp +34 -0
  297. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_utils.cpp +156 -0
  298. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/fn_utils.hpp +56 -0
  299. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/inspect.cpp +1087 -0
  300. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/inspect.hpp +99 -0
  301. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/json.cpp +1436 -0
  302. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/json.hpp +117 -0
  303. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/kwd_arg_macros.hpp +28 -0
  304. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/lexer.cpp +184 -0
  305. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/lexer.hpp +315 -0
  306. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/listize.cpp +84 -0
  307. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/listize.hpp +38 -0
  308. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/mapping.hpp +18 -0
  309. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/memory/SharedPtr.cpp +33 -0
  310. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/memory/SharedPtr.hpp +286 -0
  311. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/node.cpp +322 -0
  312. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/node.hpp +118 -0
  313. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operation.hpp +213 -0
  314. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operators.cpp +266 -0
  315. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/operators.hpp +30 -0
  316. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/output.cpp +339 -0
  317. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/output.hpp +47 -0
  318. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/parser.cpp +3153 -0
  319. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/parser.hpp +402 -0
  320. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/paths.hpp +71 -0
  321. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/plugins.cpp +188 -0
  322. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/plugins.hpp +57 -0
  323. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/position.cpp +184 -0
  324. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/position.hpp +124 -0
  325. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/prelexer.cpp +1780 -0
  326. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/prelexer.hpp +484 -0
  327. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/remove_placeholders.cpp +87 -0
  328. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/remove_placeholders.hpp +34 -0
  329. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass.cpp +155 -0
  330. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass.hpp +142 -0
  331. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass2scss.cpp +895 -0
  332. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_context.cpp +772 -0
  333. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_context.hpp +129 -0
  334. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_functions.cpp +210 -0
  335. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_functions.hpp +50 -0
  336. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_util.cpp +152 -0
  337. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_util.hpp +256 -0
  338. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_values.cpp +365 -0
  339. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/sass_values.hpp +82 -0
  340. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/source_map.cpp +198 -0
  341. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/source_map.hpp +62 -0
  342. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/subset_map.cpp +58 -0
  343. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/subset_map.hpp +76 -0
  344. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/to_value.cpp +114 -0
  345. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/to_value.hpp +46 -0
  346. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/units.cpp +505 -0
  347. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/units.hpp +110 -0
  348. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8.h +34 -0
  349. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/checked.h +336 -0
  350. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/core.h +332 -0
  351. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8/unchecked.h +235 -0
  352. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8_string.cpp +105 -0
  353. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/utf8_string.hpp +37 -0
  354. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util.cpp +725 -0
  355. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util.hpp +106 -0
  356. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util_string.cpp +75 -0
  357. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/util_string.hpp +19 -0
  358. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/values.cpp +140 -0
  359. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/libsass/src/values.hpp +12 -0
  360. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/listize.o +0 -0
  361. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/node.o +0 -0
  362. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/operators.o +0 -0
  363. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/output.o +0 -0
  364. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/parser.o +0 -0
  365. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/plugins.o +0 -0
  366. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/position.o +0 -0
  367. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/prelexer.o +0 -0
  368. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/remove_placeholders.o +0 -0
  369. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass.o +0 -0
  370. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass2scss.o +0 -0
  371. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_context.o +0 -0
  372. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_functions.o +0 -0
  373. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_util.o +0 -0
  374. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/sass_values.o +0 -0
  375. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/source_map.o +0 -0
  376. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/subset_map.o +0 -0
  377. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/to_value.o +0 -0
  378. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/units.o +0 -0
  379. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/utf8_string.o +0 -0
  380. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/util.o +0 -0
  381. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/util_string.o +0 -0
  382. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/ext/values.o +0 -0
  383. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc.rb +57 -0
  384. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/dependency.rb +17 -0
  385. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/engine.rb +139 -0
  386. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/error.rb +37 -0
  387. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/functions_handler.rb +73 -0
  388. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/import_handler.rb +50 -0
  389. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/importer.rb +31 -0
  390. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/libsass.so +0 -0
  391. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native.rb +62 -0
  392. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/lib_c.rb +21 -0
  393. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/native_context_api.rb +147 -0
  394. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/native_functions_api.rb +159 -0
  395. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass2scss_api.rb +10 -0
  396. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_input_style.rb +13 -0
  397. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_output_style.rb +12 -0
  398. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/sass_value.rb +97 -0
  399. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/native/string_list.rb +10 -0
  400. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/sass_2_scss.rb +9 -0
  401. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script.rb +17 -0
  402. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/functions.rb +8 -0
  403. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value.rb +137 -0
  404. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/bool.rb +32 -0
  405. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/color.rb +95 -0
  406. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/list.rb +136 -0
  407. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/map.rb +69 -0
  408. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/number.rb +389 -0
  409. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value/string.rb +96 -0
  410. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion.rb +69 -0
  411. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/base.rb +13 -0
  412. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/bool.rb +13 -0
  413. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/color.rb +18 -0
  414. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/list.rb +25 -0
  415. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/map.rb +21 -0
  416. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/number.rb +13 -0
  417. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/script/value_conversion/string.rb +17 -0
  418. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/util.rb +231 -0
  419. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/util/normalized_map.rb +117 -0
  420. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/lib/sassc/version.rb +5 -0
  421. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/sassc.gemspec +69 -0
  422. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/custom_importer_test.rb +127 -0
  423. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/engine_test.rb +314 -0
  424. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/error_test.rb +29 -0
  425. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/fixtures/paths.scss +10 -0
  426. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/functions_test.rb +323 -0
  427. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/native_test.rb +213 -0
  428. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/output_style_test.rb +107 -0
  429. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/sass_2_scss_test.rb +14 -0
  430. data/vendor/ruby/2.6.0/gems/sassc-2.2.0/test/test_helper.rb +45 -0
  431. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/README.md +533 -0
  432. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk.rb +12 -0
  433. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/error.rb +10 -0
  434. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/explicit_namespace.rb +80 -0
  435. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/gem_inflector.rb +19 -0
  436. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/inflector.rb +19 -0
  437. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/kernel.rb +33 -0
  438. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/loader.rb +759 -0
  439. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/loader/callbacks.rb +71 -0
  440. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/real_mod_name.rb +15 -0
  441. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/registry.rb +147 -0
  442. data/vendor/ruby/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/version.rb +5 -0
  443. data/vendor/ruby/2.6.0/specifications/autoprefixer-rails-9.6.1.1.gemspec +47 -0
  444. data/vendor/ruby/2.6.0/specifications/parser-2.6.4.1.gemspec +62 -0
  445. data/vendor/ruby/2.6.0/specifications/sassc-2.2.0.gemspec +60 -0
  446. data/vendor/ruby/2.6.0/specifications/zeitwerk-2.1.10.gemspec +21 -0
  447. metadata +441 -4
  448. data/vendor/assets/anjuna/css/anjuna-application.css +0 -2
  449. data/vendor/assets/anjuna/css/anjuna-theme.css +0 -2
@@ -0,0 +1,1780 @@
1
+ // sass.hpp must go before all system headers to get the
2
+ // __EXTENSIONS__ fix on Solaris.
3
+ #include "sass.hpp"
4
+
5
+ #include <cctype>
6
+ #include <iostream>
7
+ #include <iomanip>
8
+ #include "util.hpp"
9
+ #include "position.hpp"
10
+ #include "prelexer.hpp"
11
+ #include "constants.hpp"
12
+
13
+
14
+ namespace Sass {
15
+ // using namespace Lexer;
16
+ using namespace Constants;
17
+
18
+ namespace Prelexer {
19
+
20
+
21
+ /*
22
+
23
+ def string_re(open, close)
24
+ /#{open}((?:\\.|\#(?!\{)|[^#{close}\\#])*)(#{close}|#\{)/m
25
+ end
26
+ end
27
+
28
+ # A hash of regular expressions that are used for tokenizing strings.
29
+ #
30
+ # The key is a `[Symbol, Boolean]` pair.
31
+ # The symbol represents which style of quotation to use,
32
+ # while the boolean represents whether or not the string
33
+ # is following an interpolated segment.
34
+ STRING_REGULAR_EXPRESSIONS = {
35
+ :double => {
36
+ /#{open}((?:\\.|\#(?!\{)|[^#{close}\\#])*)(#{close}|#\{)/m
37
+ false => string_re('"', '"'),
38
+ true => string_re('', '"')
39
+ },
40
+ :single => {
41
+ false => string_re("'", "'"),
42
+ true => string_re('', "'")
43
+ },
44
+ :uri => {
45
+ false => /url\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
46
+ true => /(#{URLCHAR}*?)(#{W}\)|#\{)/
47
+ },
48
+ # Defined in https://developer.mozilla.org/en/CSS/@-moz-document as a
49
+ # non-standard version of http://www.w3.org/TR/css3-conditional/
50
+ :url_prefix => {
51
+ false => /url-prefix\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
52
+ true => /(#{URLCHAR}*?)(#{W}\)|#\{)/
53
+ },
54
+ :domain => {
55
+ false => /domain\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
56
+ true => /(#{URLCHAR}*?)(#{W}\)|#\{)/
57
+ }
58
+ }
59
+ */
60
+
61
+ /*
62
+ /#{open}
63
+ (
64
+ \\.
65
+ |
66
+ \# (?!\{)
67
+ |
68
+ [^#{close}\\#]
69
+ )*
70
+ (#{close}|#\{)
71
+ /m
72
+ false => string_re('"', '"'),
73
+ true => string_re('', '"')
74
+ */
75
+ extern const char string_double_negates[] = "\"\\#";
76
+ const char* re_string_double_close(const char* src)
77
+ {
78
+ return sequence <
79
+ // valid chars
80
+ zero_plus <
81
+ alternatives <
82
+ // escaped char
83
+ sequence <
84
+ exactly <'\\'>,
85
+ any_char
86
+ >,
87
+ // non interpolate hash
88
+ sequence <
89
+ exactly <'#'>,
90
+ negate <
91
+ exactly <'{'>
92
+ >
93
+ >,
94
+ // other valid chars
95
+ neg_class_char <
96
+ string_double_negates
97
+ >
98
+ >
99
+ >,
100
+ // quoted string closer
101
+ // or interpolate opening
102
+ alternatives <
103
+ exactly <'"'>,
104
+ lookahead < exactly< hash_lbrace > >
105
+ >
106
+ >(src);
107
+ }
108
+
109
+ const char* re_string_double_open(const char* src)
110
+ {
111
+ return sequence <
112
+ // quoted string opener
113
+ exactly <'"'>,
114
+ // valid chars
115
+ zero_plus <
116
+ alternatives <
117
+ // escaped char
118
+ sequence <
119
+ exactly <'\\'>,
120
+ any_char
121
+ >,
122
+ // non interpolate hash
123
+ sequence <
124
+ exactly <'#'>,
125
+ negate <
126
+ exactly <'{'>
127
+ >
128
+ >,
129
+ // other valid chars
130
+ neg_class_char <
131
+ string_double_negates
132
+ >
133
+ >
134
+ >,
135
+ // quoted string closer
136
+ // or interpolate opening
137
+ alternatives <
138
+ exactly <'"'>,
139
+ lookahead < exactly< hash_lbrace > >
140
+ >
141
+ >(src);
142
+ }
143
+
144
+ extern const char string_single_negates[] = "'\\#";
145
+ const char* re_string_single_close(const char* src)
146
+ {
147
+ return sequence <
148
+ // valid chars
149
+ zero_plus <
150
+ alternatives <
151
+ // escaped char
152
+ sequence <
153
+ exactly <'\\'>,
154
+ any_char
155
+ >,
156
+ // non interpolate hash
157
+ sequence <
158
+ exactly <'#'>,
159
+ negate <
160
+ exactly <'{'>
161
+ >
162
+ >,
163
+ // other valid chars
164
+ neg_class_char <
165
+ string_single_negates
166
+ >
167
+ >
168
+ >,
169
+ // quoted string closer
170
+ // or interpolate opening
171
+ alternatives <
172
+ exactly <'\''>,
173
+ lookahead < exactly< hash_lbrace > >
174
+ >
175
+ >(src);
176
+ }
177
+
178
+ const char* re_string_single_open(const char* src)
179
+ {
180
+ return sequence <
181
+ // quoted string opener
182
+ exactly <'\''>,
183
+ // valid chars
184
+ zero_plus <
185
+ alternatives <
186
+ // escaped char
187
+ sequence <
188
+ exactly <'\\'>,
189
+ any_char
190
+ >,
191
+ // non interpolate hash
192
+ sequence <
193
+ exactly <'#'>,
194
+ negate <
195
+ exactly <'{'>
196
+ >
197
+ >,
198
+ // other valid chars
199
+ neg_class_char <
200
+ string_single_negates
201
+ >
202
+ >
203
+ >,
204
+ // quoted string closer
205
+ // or interpolate opening
206
+ alternatives <
207
+ exactly <'\''>,
208
+ lookahead < exactly< hash_lbrace > >
209
+ >
210
+ >(src);
211
+ }
212
+
213
+ /*
214
+ :uri => {
215
+ false => /url\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
216
+ true => /(#{URLCHAR}*?)(#{W}\)|#\{)/
217
+ },
218
+ */
219
+ const char* re_string_uri_close(const char* src)
220
+ {
221
+ return sequence <
222
+ non_greedy<
223
+ alternatives<
224
+ class_char< real_uri_chars >,
225
+ uri_character,
226
+ NONASCII,
227
+ ESCAPE
228
+ >,
229
+ alternatives<
230
+ sequence < optional < W >, exactly <')'> >,
231
+ lookahead < exactly< hash_lbrace > >
232
+ >
233
+ >,
234
+ optional <
235
+ sequence < optional < W >, exactly <')'> >
236
+ >
237
+ >(src);
238
+ }
239
+
240
+ const char* re_string_uri_open(const char* src)
241
+ {
242
+ return sequence <
243
+ exactly <'u'>,
244
+ exactly <'r'>,
245
+ exactly <'l'>,
246
+ exactly <'('>,
247
+ W,
248
+ alternatives<
249
+ quoted_string,
250
+ non_greedy<
251
+ alternatives<
252
+ class_char< real_uri_chars >,
253
+ uri_character,
254
+ NONASCII,
255
+ ESCAPE
256
+ >,
257
+ alternatives<
258
+ sequence < W, exactly <')'> >,
259
+ exactly< hash_lbrace >
260
+ >
261
+ >
262
+ >
263
+ >(src);
264
+ }
265
+
266
+ // Match a line comment (/.*?(?=\n|\r\n?|\f|\Z)/.
267
+ const char* line_comment(const char* src)
268
+ {
269
+ return sequence<
270
+ exactly <
271
+ slash_slash
272
+ >,
273
+ non_greedy<
274
+ any_char,
275
+ end_of_line
276
+ >
277
+ >(src);
278
+ }
279
+
280
+ // Match a block comment.
281
+ const char* block_comment(const char* src)
282
+ {
283
+ return sequence<
284
+ delimited_by<
285
+ slash_star,
286
+ star_slash,
287
+ false
288
+ >
289
+ >(src);
290
+ }
291
+ /* not use anymore - remove?
292
+ const char* block_comment_prefix(const char* src) {
293
+ return exactly<slash_star>(src);
294
+ }
295
+ // Match either comment.
296
+ const char* comment(const char* src) {
297
+ return line_comment(src);
298
+ }
299
+ */
300
+
301
+ // Match zero plus white-space or line_comments
302
+ const char* optional_css_whitespace(const char* src) {
303
+ return zero_plus< alternatives<spaces, line_comment> >(src);
304
+ }
305
+ const char* css_whitespace(const char* src) {
306
+ return one_plus< alternatives<spaces, line_comment> >(src);
307
+ }
308
+ // Match optional_css_whitepace plus block_comments
309
+ const char* optional_css_comments(const char* src) {
310
+ return zero_plus< alternatives<spaces, line_comment, block_comment> >(src);
311
+ }
312
+ const char* css_comments(const char* src) {
313
+ return one_plus< alternatives<spaces, line_comment, block_comment> >(src);
314
+ }
315
+
316
+ // Match one backslash escaped char /\\./
317
+ const char* escape_seq(const char* src)
318
+ {
319
+ return sequence<
320
+ exactly<'\\'>,
321
+ alternatives <
322
+ minmax_range<
323
+ 1, 3, xdigit
324
+ >,
325
+ any_char
326
+ >,
327
+ optional <
328
+ exactly <' '>
329
+ >
330
+ >(src);
331
+ }
332
+
333
+ // Match identifier start
334
+ const char* identifier_alpha(const char* src)
335
+ {
336
+ return alternatives<
337
+ unicode_seq,
338
+ alpha,
339
+ unicode,
340
+ exactly<'-'>,
341
+ exactly<'_'>,
342
+ NONASCII,
343
+ ESCAPE,
344
+ escape_seq
345
+ >(src);
346
+ }
347
+
348
+ // Match identifier after start
349
+ const char* identifier_alnum(const char* src)
350
+ {
351
+ return alternatives<
352
+ unicode_seq,
353
+ alnum,
354
+ unicode,
355
+ exactly<'-'>,
356
+ exactly<'_'>,
357
+ NONASCII,
358
+ ESCAPE,
359
+ escape_seq
360
+ >(src);
361
+ }
362
+
363
+ // Match CSS identifiers.
364
+ const char* strict_identifier(const char* src)
365
+ {
366
+ return sequence<
367
+ one_plus < strict_identifier_alpha >,
368
+ zero_plus < strict_identifier_alnum >
369
+ // word_boundary not needed
370
+ >(src);
371
+ }
372
+
373
+ // Match CSS identifiers.
374
+ const char* identifier(const char* src)
375
+ {
376
+ return sequence<
377
+ zero_plus< exactly<'-'> >,
378
+ one_plus < identifier_alpha >,
379
+ zero_plus < identifier_alnum >
380
+ // word_boundary not needed
381
+ >(src);
382
+ }
383
+
384
+ const char* strict_identifier_alpha(const char* src)
385
+ {
386
+ return alternatives <
387
+ alpha,
388
+ unicode,
389
+ escape_seq,
390
+ exactly<'_'>
391
+ >(src);
392
+ }
393
+
394
+ const char* strict_identifier_alnum(const char* src)
395
+ {
396
+ return alternatives <
397
+ alnum,
398
+ unicode,
399
+ escape_seq,
400
+ exactly<'_'>
401
+ >(src);
402
+ }
403
+
404
+ // Match a single CSS unit
405
+ const char* one_unit(const char* src)
406
+ {
407
+ return sequence <
408
+ optional < exactly <'-'> >,
409
+ strict_identifier_alpha,
410
+ zero_plus < alternatives<
411
+ strict_identifier_alnum,
412
+ sequence <
413
+ one_plus < exactly<'-'> >,
414
+ strict_identifier_alpha
415
+ >
416
+ > >
417
+ >(src);
418
+ }
419
+
420
+ // Match numerator/denominator CSS units
421
+ const char* multiple_units(const char* src)
422
+ {
423
+ return
424
+ sequence <
425
+ one_unit,
426
+ zero_plus <
427
+ sequence <
428
+ exactly <'*'>,
429
+ one_unit
430
+ >
431
+ >
432
+ >(src);
433
+ }
434
+
435
+ // Match complex CSS unit identifiers
436
+ const char* unit_identifier(const char* src)
437
+ {
438
+ return sequence <
439
+ multiple_units,
440
+ optional <
441
+ sequence <
442
+ exactly <'/'>,
443
+ negate < sequence <
444
+ exactly < calc_fn_kwd >,
445
+ exactly < '(' >
446
+ > >,
447
+ multiple_units
448
+ > >
449
+ >(src);
450
+ }
451
+
452
+ const char* identifier_alnums(const char* src)
453
+ {
454
+ return one_plus< identifier_alnum >(src);
455
+ }
456
+
457
+ // Match number prefix ([\+\-]+)
458
+ const char* number_prefix(const char* src) {
459
+ return alternatives <
460
+ exactly < '+' >,
461
+ sequence <
462
+ exactly < '-' >,
463
+ optional_css_whitespace,
464
+ exactly< '-' >
465
+ >
466
+ >(src);
467
+ }
468
+
469
+ // Match interpolant schemas
470
+ const char* identifier_schema(const char* src) {
471
+
472
+ return sequence <
473
+ one_plus <
474
+ sequence <
475
+ zero_plus <
476
+ alternatives <
477
+ sequence <
478
+ optional <
479
+ exactly <'$'>
480
+ >,
481
+ identifier
482
+ >,
483
+ exactly <'-'>
484
+ >
485
+ >,
486
+ interpolant,
487
+ zero_plus <
488
+ alternatives <
489
+ digits,
490
+ sequence <
491
+ optional <
492
+ exactly <'$'>
493
+ >,
494
+ identifier
495
+ >,
496
+ quoted_string,
497
+ exactly<'-'>
498
+ >
499
+ >
500
+ >
501
+ >,
502
+ negate <
503
+ exactly<'%'>
504
+ >
505
+ > (src);
506
+ }
507
+
508
+ // interpolants can be recursive/nested
509
+ const char* interpolant(const char* src) {
510
+ return recursive_scopes< exactly<hash_lbrace>, exactly<rbrace> >(src);
511
+ }
512
+
513
+ // $re_squote = /'(?:$re_itplnt|\\.|[^'])*'/
514
+ const char* single_quoted_string(const char* src) {
515
+ // match a single quoted string, while skipping interpolants
516
+ return sequence <
517
+ exactly <'\''>,
518
+ zero_plus <
519
+ alternatives <
520
+ // skip escapes
521
+ sequence <
522
+ exactly < '\\' >,
523
+ re_linebreak
524
+ >,
525
+ escape_seq,
526
+ unicode_seq,
527
+ // skip interpolants
528
+ interpolant,
529
+ // skip non delimiters
530
+ any_char_but < '\'' >
531
+ >
532
+ >,
533
+ exactly <'\''>
534
+ >(src);
535
+ }
536
+
537
+ // $re_dquote = /"(?:$re_itp|\\.|[^"])*"/
538
+ const char* double_quoted_string(const char* src) {
539
+ // match a single quoted string, while skipping interpolants
540
+ return sequence <
541
+ exactly <'"'>,
542
+ zero_plus <
543
+ alternatives <
544
+ // skip escapes
545
+ sequence <
546
+ exactly < '\\' >,
547
+ re_linebreak
548
+ >,
549
+ escape_seq,
550
+ unicode_seq,
551
+ // skip interpolants
552
+ interpolant,
553
+ // skip non delimiters
554
+ any_char_but < '"' >
555
+ >
556
+ >,
557
+ exactly <'"'>
558
+ >(src);
559
+ }
560
+
561
+ // $re_quoted = /(?:$re_squote|$re_dquote)/
562
+ const char* quoted_string(const char* src) {
563
+ // match a quoted string, while skipping interpolants
564
+ return alternatives<
565
+ single_quoted_string,
566
+ double_quoted_string
567
+ >(src);
568
+ }
569
+
570
+ const char* sass_value(const char* src) {
571
+ return alternatives <
572
+ quoted_string,
573
+ identifier,
574
+ percentage,
575
+ hex,
576
+ dimension,
577
+ number
578
+ >(src);
579
+ }
580
+
581
+ // this is basically `one_plus < sass_value >`
582
+ // takes care to not parse invalid combinations
583
+ const char* value_combinations(const char* src) {
584
+ // `2px-2px` is invalid combo
585
+ bool was_number = false;
586
+ const char* pos;
587
+ while (src) {
588
+ if ((pos = alternatives < quoted_string, identifier, percentage, hex >(src))) {
589
+ was_number = false;
590
+ src = pos;
591
+ } else if (!was_number && !exactly<'+'>(src) && (pos = alternatives < dimension, number >(src))) {
592
+ was_number = true;
593
+ src = pos;
594
+ } else {
595
+ break;
596
+ }
597
+ }
598
+ return src;
599
+ }
600
+
601
+ // must be at least one interpolant
602
+ // can be surrounded by sass values
603
+ // make sure to never parse (dim)(dim)
604
+ // since this wrongly consumes `2px-1px`
605
+ // `2px1px` is valid number (unit `px1px`)
606
+ const char* value_schema(const char* src)
607
+ {
608
+ return sequence <
609
+ one_plus <
610
+ sequence <
611
+ optional < value_combinations >,
612
+ interpolant,
613
+ optional < value_combinations >
614
+ >
615
+ >
616
+ >(src);
617
+ }
618
+
619
+ // Match CSS '@' keywords.
620
+ const char* at_keyword(const char* src) {
621
+ return sequence<exactly<'@'>, identifier>(src);
622
+ }
623
+
624
+ /*
625
+ tok(%r{
626
+ (
627
+ \\.
628
+ |
629
+ (?!url\()
630
+ [^"'/\#!;\{\}] # "
631
+ |
632
+ /(?![\*\/])
633
+ |
634
+ \#(?!\{)
635
+ |
636
+ !(?![a-z]) # TODO: never consume "!" when issue 1126 is fixed.
637
+ )+
638
+ }xi) || tok(COMMENT) || tok(SINGLE_LINE_COMMENT) || interp_string || interp_uri ||
639
+ interpolation(:warn_for_color)
640
+ */
641
+ const char* re_almost_any_value_token(const char* src) {
642
+
643
+ return alternatives <
644
+ one_plus <
645
+ alternatives <
646
+ sequence <
647
+ exactly <'\\'>,
648
+ any_char
649
+ >,
650
+ sequence <
651
+ negate <
652
+ uri_prefix
653
+ >,
654
+ neg_class_char <
655
+ almost_any_value_class
656
+ >
657
+ >,
658
+ sequence <
659
+ exactly <'/'>,
660
+ negate <
661
+ alternatives <
662
+ exactly <'/'>,
663
+ exactly <'*'>
664
+ >
665
+ >
666
+ >,
667
+ sequence <
668
+ exactly <'\\'>,
669
+ exactly <'#'>,
670
+ negate <
671
+ exactly <'{'>
672
+ >
673
+ >,
674
+ sequence <
675
+ exactly <'!'>,
676
+ negate <
677
+ alpha
678
+ >
679
+ >
680
+ >
681
+ >,
682
+ block_comment,
683
+ line_comment,
684
+ interpolant,
685
+ space,
686
+ sequence <
687
+ exactly<'u'>,
688
+ exactly<'r'>,
689
+ exactly<'l'>,
690
+ exactly<'('>,
691
+ zero_plus <
692
+ alternatives <
693
+ class_char< real_uri_chars >,
694
+ uri_character,
695
+ NONASCII,
696
+ ESCAPE
697
+ >
698
+ >,
699
+ // false => /url\(#{W}(#{URLCHAR}*?)(#{W}\)|#\{)/,
700
+ // true => /(#{URLCHAR}*?)(#{W}\)|#\{)/
701
+ exactly<')'>
702
+ >
703
+ >(src);
704
+ }
705
+
706
+ /*
707
+ DIRECTIVES = Set[:mixin, :include, :function, :return, :debug, :warn, :for,
708
+ :each, :while, :if, :else, :extend, :import, :media, :charset, :content,
709
+ :_moz_document, :at_root, :error]
710
+ */
711
+ const char* re_special_directive(const char* src) {
712
+ return alternatives <
713
+ word < mixin_kwd >,
714
+ word < include_kwd >,
715
+ word < function_kwd >,
716
+ word < return_kwd >,
717
+ word < debug_kwd >,
718
+ word < warn_kwd >,
719
+ word < for_kwd >,
720
+ word < each_kwd >,
721
+ word < while_kwd >,
722
+ word < if_kwd >,
723
+ word < else_kwd >,
724
+ word < extend_kwd >,
725
+ word < import_kwd >,
726
+ word < media_kwd >,
727
+ word < charset_kwd >,
728
+ word < content_kwd >,
729
+ // exactly < moz_document_kwd >,
730
+ word < at_root_kwd >,
731
+ word < error_kwd >
732
+ >(src);
733
+ }
734
+
735
+ const char* re_prefixed_directive(const char* src) {
736
+ return sequence <
737
+ optional <
738
+ sequence <
739
+ exactly <'-'>,
740
+ one_plus < alnum >,
741
+ exactly <'-'>
742
+ >
743
+ >,
744
+ exactly < supports_kwd >
745
+ >(src);
746
+ }
747
+
748
+ const char* re_reference_combinator(const char* src) {
749
+ return sequence <
750
+ optional <
751
+ sequence <
752
+ zero_plus <
753
+ exactly <'-'>
754
+ >,
755
+ identifier,
756
+ exactly <'|'>
757
+ >
758
+ >,
759
+ zero_plus <
760
+ exactly <'-'>
761
+ >,
762
+ identifier
763
+ >(src);
764
+ }
765
+
766
+ const char* static_reference_combinator(const char* src) {
767
+ return sequence <
768
+ exactly <'/'>,
769
+ re_reference_combinator,
770
+ exactly <'/'>
771
+ >(src);
772
+ }
773
+
774
+ const char* schema_reference_combinator(const char* src) {
775
+ return sequence <
776
+ exactly <'/'>,
777
+ optional <
778
+ sequence <
779
+ css_ip_identifier,
780
+ exactly <'|'>
781
+ >
782
+ >,
783
+ css_ip_identifier,
784
+ exactly <'/'>
785
+ > (src);
786
+ }
787
+
788
+ const char* kwd_import(const char* src) {
789
+ return word<import_kwd>(src);
790
+ }
791
+
792
+ const char* kwd_at_root(const char* src) {
793
+ return word<at_root_kwd>(src);
794
+ }
795
+
796
+ const char* kwd_with_directive(const char* src) {
797
+ return word<with_kwd>(src);
798
+ }
799
+
800
+ const char* kwd_without_directive(const char* src) {
801
+ return word<without_kwd>(src);
802
+ }
803
+
804
+ const char* kwd_media(const char* src) {
805
+ return word<media_kwd>(src);
806
+ }
807
+
808
+ const char* kwd_supports_directive(const char* src) {
809
+ return word<supports_kwd>(src);
810
+ }
811
+
812
+ const char* kwd_mixin(const char* src) {
813
+ return word<mixin_kwd>(src);
814
+ }
815
+
816
+ const char* kwd_function(const char* src) {
817
+ return word<function_kwd>(src);
818
+ }
819
+
820
+ const char* kwd_return_directive(const char* src) {
821
+ return word<return_kwd>(src);
822
+ }
823
+
824
+ const char* kwd_include_directive(const char* src) {
825
+ return word<include_kwd>(src);
826
+ }
827
+
828
+ const char* kwd_content_directive(const char* src) {
829
+ return word<content_kwd>(src);
830
+ }
831
+
832
+ const char* kwd_charset_directive(const char* src) {
833
+ return word<charset_kwd>(src);
834
+ }
835
+
836
+ const char* kwd_extend(const char* src) {
837
+ return word<extend_kwd>(src);
838
+ }
839
+
840
+
841
+ const char* kwd_if_directive(const char* src) {
842
+ return word<if_kwd>(src);
843
+ }
844
+
845
+ const char* kwd_else_directive(const char* src) {
846
+ return word<else_kwd>(src);
847
+ }
848
+ const char* elseif_directive(const char* src) {
849
+ return sequence< exactly< else_kwd >,
850
+ optional_css_comments,
851
+ word< if_after_else_kwd > >(src);
852
+ }
853
+
854
+ const char* kwd_for_directive(const char* src) {
855
+ return word<for_kwd>(src);
856
+ }
857
+
858
+ const char* kwd_from(const char* src) {
859
+ return word<from_kwd>(src);
860
+ }
861
+
862
+ const char* kwd_to(const char* src) {
863
+ return word<to_kwd>(src);
864
+ }
865
+
866
+ const char* kwd_through(const char* src) {
867
+ return word<through_kwd>(src);
868
+ }
869
+
870
+ const char* kwd_each_directive(const char* src) {
871
+ return word<each_kwd>(src);
872
+ }
873
+
874
+ const char* kwd_in(const char* src) {
875
+ return word<in_kwd>(src);
876
+ }
877
+
878
+ const char* kwd_while_directive(const char* src) {
879
+ return word<while_kwd>(src);
880
+ }
881
+
882
+ const char* name(const char* src) {
883
+ return one_plus< alternatives< alnum,
884
+ exactly<'-'>,
885
+ exactly<'_'>,
886
+ escape_seq > >(src);
887
+ }
888
+
889
+ const char* kwd_warn(const char* src) {
890
+ return word<warn_kwd>(src);
891
+ }
892
+
893
+ const char* kwd_err(const char* src) {
894
+ return word<error_kwd>(src);
895
+ }
896
+
897
+ const char* kwd_dbg(const char* src) {
898
+ return word<debug_kwd>(src);
899
+ }
900
+
901
+ /* not used anymore - remove?
902
+ const char* directive(const char* src) {
903
+ return sequence< exactly<'@'>, identifier >(src);
904
+ } */
905
+
906
+ const char* kwd_null(const char* src) {
907
+ return word<null_kwd>(src);
908
+ }
909
+
910
+ const char* css_identifier(const char* src) {
911
+ return sequence <
912
+ zero_plus <
913
+ exactly <'-'>
914
+ >,
915
+ identifier
916
+ >(src);
917
+ }
918
+
919
+ const char* css_ip_identifier(const char* src) {
920
+ return sequence <
921
+ zero_plus <
922
+ exactly <'-'>
923
+ >,
924
+ alternatives <
925
+ identifier,
926
+ interpolant
927
+ >
928
+ >(src);
929
+ }
930
+
931
+ // Match CSS type selectors
932
+ const char* namespace_prefix(const char* src) {
933
+ return sequence <
934
+ optional <
935
+ alternatives <
936
+ exactly <'*'>,
937
+ css_identifier
938
+ >
939
+ >,
940
+ exactly <'|'>,
941
+ negate <
942
+ exactly <'='>
943
+ >
944
+ >(src);
945
+ }
946
+
947
+ // Match CSS type selectors
948
+ const char* namespace_schema(const char* src) {
949
+ return sequence <
950
+ optional <
951
+ alternatives <
952
+ exactly <'*'>,
953
+ css_ip_identifier
954
+ >
955
+ >,
956
+ exactly<'|'>,
957
+ negate <
958
+ exactly <'='>
959
+ >
960
+ >(src);
961
+ }
962
+
963
+ const char* hyphens_and_identifier(const char* src) {
964
+ return sequence< zero_plus< exactly< '-' > >, identifier_alnums >(src);
965
+ }
966
+ const char* hyphens_and_name(const char* src) {
967
+ return sequence< zero_plus< exactly< '-' > >, name >(src);
968
+ }
969
+ const char* universal(const char* src) {
970
+ return sequence< optional<namespace_schema>, exactly<'*'> >(src);
971
+ }
972
+ // Match CSS id names.
973
+ const char* id_name(const char* src) {
974
+ return sequence<exactly<'#'>, identifier_alnums >(src);
975
+ }
976
+ // Match CSS class names.
977
+ const char* class_name(const char* src) {
978
+ return sequence<exactly<'.'>, identifier >(src);
979
+ }
980
+ // Attribute name in an attribute selector.
981
+ const char* attribute_name(const char* src) {
982
+ return alternatives< sequence< optional<namespace_schema>, identifier>,
983
+ identifier >(src);
984
+ }
985
+ // match placeholder selectors
986
+ const char* placeholder(const char* src) {
987
+ return sequence<exactly<'%'>, identifier_alnums >(src);
988
+ }
989
+ // Match CSS numeric constants.
990
+
991
+ const char* op(const char* src) {
992
+ return class_char<op_chars>(src);
993
+ }
994
+ const char* sign(const char* src) {
995
+ return class_char<sign_chars>(src);
996
+ }
997
+ const char* unsigned_number(const char* src) {
998
+ return alternatives<sequence< zero_plus<digits>,
999
+ exactly<'.'>,
1000
+ one_plus<digits> >,
1001
+ digits>(src);
1002
+ }
1003
+ const char* number(const char* src) {
1004
+ return sequence<
1005
+ optional<sign>,
1006
+ unsigned_number,
1007
+ optional<
1008
+ sequence<
1009
+ exactly<'e'>,
1010
+ optional<sign>,
1011
+ unsigned_number
1012
+ >
1013
+ >
1014
+ >(src);
1015
+ }
1016
+ const char* coefficient(const char* src) {
1017
+ return alternatives< sequence< optional<sign>, digits >,
1018
+ sign >(src);
1019
+ }
1020
+ const char* binomial(const char* src) {
1021
+ return sequence <
1022
+ optional < sign >,
1023
+ optional < digits >,
1024
+ exactly <'n'>,
1025
+ zero_plus < sequence <
1026
+ optional_css_whitespace, sign,
1027
+ optional_css_whitespace, digits
1028
+ > >
1029
+ >(src);
1030
+ }
1031
+ const char* percentage(const char* src) {
1032
+ return sequence< number, exactly<'%'> >(src);
1033
+ }
1034
+ const char* ampersand(const char* src) {
1035
+ return exactly<'&'>(src);
1036
+ }
1037
+
1038
+ /* not used anymore - remove?
1039
+ const char* em(const char* src) {
1040
+ return sequence< number, exactly<em_kwd> >(src);
1041
+ } */
1042
+ const char* dimension(const char* src) {
1043
+ return sequence<number, unit_identifier >(src);
1044
+ }
1045
+ const char* hex(const char* src) {
1046
+ const char* p = sequence< exactly<'#'>, one_plus<xdigit> >(src);
1047
+ ptrdiff_t len = p - src;
1048
+ return (len != 4 && len != 7) ? 0 : p;
1049
+ }
1050
+ const char* hexa(const char* src) {
1051
+ const char* p = sequence< exactly<'#'>, one_plus<xdigit> >(src);
1052
+ ptrdiff_t len = p - src;
1053
+ return (len != 5 && len != 9) ? 0 : p;
1054
+ }
1055
+ const char* hex0(const char* src) {
1056
+ const char* p = sequence< exactly<'0'>, exactly<'x'>, one_plus<xdigit> >(src);
1057
+ ptrdiff_t len = p - src;
1058
+ return (len != 5 && len != 8) ? 0 : p;
1059
+ }
1060
+
1061
+ /* no longer used - remove?
1062
+ const char* rgb_prefix(const char* src) {
1063
+ return word<rgb_fn_kwd>(src);
1064
+ }*/
1065
+ // Match CSS uri specifiers.
1066
+
1067
+ const char* uri_prefix(const char* src) {
1068
+ return sequence <
1069
+ exactly <
1070
+ url_kwd
1071
+ >,
1072
+ zero_plus <
1073
+ sequence <
1074
+ exactly <'-'>,
1075
+ one_plus <
1076
+ alpha
1077
+ >
1078
+ >
1079
+ >,
1080
+ exactly <'('>
1081
+ >(src);
1082
+ }
1083
+
1084
+ // TODO: rename the following two functions
1085
+ /* no longer used - remove?
1086
+ const char* uri(const char* src) {
1087
+ return sequence< exactly<url_kwd>,
1088
+ optional<spaces>,
1089
+ quoted_string,
1090
+ optional<spaces>,
1091
+ exactly<')'> >(src);
1092
+ }*/
1093
+ /* no longer used - remove?
1094
+ const char* url_value(const char* src) {
1095
+ return sequence< optional< sequence< identifier, exactly<':'> > >, // optional protocol
1096
+ one_plus< sequence< zero_plus< exactly<'/'> >, filename > >, // one or more folders and/or trailing filename
1097
+ optional< exactly<'/'> > >(src);
1098
+ }*/
1099
+ /* no longer used - remove?
1100
+ const char* url_schema(const char* src) {
1101
+ return sequence< optional< sequence< identifier, exactly<':'> > >, // optional protocol
1102
+ filename_schema >(src); // optional trailing slash
1103
+ }*/
1104
+ // Match CSS "!important" keyword.
1105
+ const char* kwd_important(const char* src) {
1106
+ return sequence< exactly<'!'>,
1107
+ optional_css_whitespace,
1108
+ word<important_kwd> >(src);
1109
+ }
1110
+ // Match CSS "!optional" keyword.
1111
+ const char* kwd_optional(const char* src) {
1112
+ return sequence< exactly<'!'>,
1113
+ optional_css_whitespace,
1114
+ word<optional_kwd> >(src);
1115
+ }
1116
+ // Match Sass "!default" keyword.
1117
+ const char* default_flag(const char* src) {
1118
+ return sequence< exactly<'!'>,
1119
+ optional_css_whitespace,
1120
+ word<default_kwd> >(src);
1121
+ }
1122
+ // Match Sass "!global" keyword.
1123
+ const char* global_flag(const char* src) {
1124
+ return sequence< exactly<'!'>,
1125
+ optional_css_whitespace,
1126
+ word<global_kwd> >(src);
1127
+ }
1128
+ // Match CSS pseudo-class/element prefixes.
1129
+ const char* pseudo_prefix(const char* src) {
1130
+ return sequence< exactly<':'>, optional< exactly<':'> > >(src);
1131
+ }
1132
+ // Match CSS function call openers.
1133
+ const char* functional_schema(const char* src) {
1134
+ return sequence <
1135
+ one_plus <
1136
+ sequence <
1137
+ zero_plus <
1138
+ alternatives <
1139
+ identifier,
1140
+ exactly <'-'>
1141
+ >
1142
+ >,
1143
+ one_plus <
1144
+ sequence <
1145
+ interpolant,
1146
+ alternatives <
1147
+ digits,
1148
+ identifier,
1149
+ exactly<'+'>,
1150
+ exactly<'-'>
1151
+ >
1152
+ >
1153
+ >
1154
+ >
1155
+ >,
1156
+ negate <
1157
+ exactly <'%'>
1158
+ >,
1159
+ lookahead <
1160
+ exactly <'('>
1161
+ >
1162
+ > (src);
1163
+ }
1164
+
1165
+ const char* re_nothing(const char* src) {
1166
+ return src;
1167
+ }
1168
+
1169
+ const char* re_functional(const char* src) {
1170
+ return sequence< identifier, optional < block_comment >, exactly<'('> >(src);
1171
+ }
1172
+ const char* re_pseudo_selector(const char* src) {
1173
+ return sequence< identifier, optional < block_comment >, exactly<'('> >(src);
1174
+ }
1175
+ // Match the CSS negation pseudo-class.
1176
+ const char* pseudo_not(const char* src) {
1177
+ return word< pseudo_not_fn_kwd >(src);
1178
+ }
1179
+ // Match CSS 'odd' and 'even' keywords for functional pseudo-classes.
1180
+ const char* even(const char* src) {
1181
+ return word<even_kwd>(src);
1182
+ }
1183
+ const char* odd(const char* src) {
1184
+ return word<odd_kwd>(src);
1185
+ }
1186
+ // Match CSS attribute-matching operators.
1187
+ const char* exact_match(const char* src) { return exactly<'='>(src); }
1188
+ const char* class_match(const char* src) { return exactly<tilde_equal>(src); }
1189
+ const char* dash_match(const char* src) { return exactly<pipe_equal>(src); }
1190
+ const char* prefix_match(const char* src) { return exactly<caret_equal>(src); }
1191
+ const char* suffix_match(const char* src) { return exactly<dollar_equal>(src); }
1192
+ const char* substring_match(const char* src) { return exactly<star_equal>(src); }
1193
+ // Match CSS combinators.
1194
+ /* not used anymore - remove?
1195
+ const char* adjacent_to(const char* src) {
1196
+ return sequence< optional_spaces, exactly<'+'> >(src);
1197
+ }
1198
+ const char* precedes(const char* src) {
1199
+ return sequence< optional_spaces, exactly<'~'> >(src);
1200
+ }
1201
+ const char* parent_of(const char* src) {
1202
+ return sequence< optional_spaces, exactly<'>'> >(src);
1203
+ }
1204
+ const char* ancestor_of(const char* src) {
1205
+ return sequence< spaces, negate< exactly<'{'> > >(src);
1206
+ }*/
1207
+
1208
+ // Match SCSS variable names.
1209
+ const char* variable(const char* src) {
1210
+ return sequence<exactly<'$'>, identifier>(src);
1211
+ }
1212
+
1213
+ // parse `calc`, `-a-calc` and `--b-c-calc`
1214
+ // but do not parse `foocalc` or `foo-calc`
1215
+ const char* calc_fn_call(const char* src) {
1216
+ return sequence <
1217
+ optional < sequence <
1218
+ hyphens,
1219
+ one_plus < sequence <
1220
+ strict_identifier,
1221
+ hyphens
1222
+ > >
1223
+ > >,
1224
+ exactly < calc_fn_kwd >,
1225
+ word_boundary
1226
+ >(src);
1227
+ }
1228
+
1229
+ // Match Sass boolean keywords.
1230
+ const char* kwd_true(const char* src) {
1231
+ return word<true_kwd>(src);
1232
+ }
1233
+ const char* kwd_false(const char* src) {
1234
+ return word<false_kwd>(src);
1235
+ }
1236
+ const char* kwd_only(const char* src) {
1237
+ return keyword < only_kwd >(src);
1238
+ }
1239
+ const char* kwd_and(const char* src) {
1240
+ return keyword < and_kwd >(src);
1241
+ }
1242
+ const char* kwd_or(const char* src) {
1243
+ return keyword < or_kwd >(src);
1244
+ }
1245
+ const char* kwd_not(const char* src) {
1246
+ return keyword < not_kwd >(src);
1247
+ }
1248
+ const char* kwd_eq(const char* src) {
1249
+ return exactly<eq>(src);
1250
+ }
1251
+ const char* kwd_neq(const char* src) {
1252
+ return exactly<neq>(src);
1253
+ }
1254
+ const char* kwd_gt(const char* src) {
1255
+ return exactly<gt>(src);
1256
+ }
1257
+ const char* kwd_gte(const char* src) {
1258
+ return exactly<gte>(src);
1259
+ }
1260
+ const char* kwd_lt(const char* src) {
1261
+ return exactly<lt>(src);
1262
+ }
1263
+ const char* kwd_lte(const char* src) {
1264
+ return exactly<lte>(src);
1265
+ }
1266
+ const char* kwd_using(const char* src) {
1267
+ return keyword<using_kwd>(src);
1268
+ }
1269
+
1270
+ // match specific IE syntax
1271
+ const char* ie_progid(const char* src) {
1272
+ return sequence <
1273
+ word<progid_kwd>,
1274
+ exactly<':'>,
1275
+ alternatives< identifier_schema, identifier >,
1276
+ zero_plus< sequence<
1277
+ exactly<'.'>,
1278
+ alternatives< identifier_schema, identifier >
1279
+ > >,
1280
+ zero_plus < sequence<
1281
+ exactly<'('>,
1282
+ optional_css_whitespace,
1283
+ optional < sequence<
1284
+ alternatives< variable, identifier_schema, identifier >,
1285
+ optional_css_whitespace,
1286
+ exactly<'='>,
1287
+ optional_css_whitespace,
1288
+ alternatives< variable, identifier_schema, identifier, quoted_string, number, hex, hexa >,
1289
+ zero_plus< sequence<
1290
+ optional_css_whitespace,
1291
+ exactly<','>,
1292
+ optional_css_whitespace,
1293
+ sequence<
1294
+ alternatives< variable, identifier_schema, identifier >,
1295
+ optional_css_whitespace,
1296
+ exactly<'='>,
1297
+ optional_css_whitespace,
1298
+ alternatives< variable, identifier_schema, identifier, quoted_string, number, hex, hexa >
1299
+ >
1300
+ > >
1301
+ > >,
1302
+ optional_css_whitespace,
1303
+ exactly<')'>
1304
+ > >
1305
+ >(src);
1306
+ }
1307
+ const char* ie_expression(const char* src) {
1308
+ return sequence < word<expression_kwd>, exactly<'('>, skip_over_scopes< exactly<'('>, exactly<')'> > >(src);
1309
+ }
1310
+ const char* ie_property(const char* src) {
1311
+ return alternatives < ie_expression, ie_progid >(src);
1312
+ }
1313
+
1314
+ // const char* ie_args(const char* src) {
1315
+ // return sequence< alternatives< ie_keyword_arg, value_schema, quoted_string, interpolant, number, identifier, delimited_by< '(', ')', true> >,
1316
+ // zero_plus< sequence< optional_css_whitespace, exactly<','>, optional_css_whitespace, alternatives< ie_keyword_arg, value_schema, quoted_string, interpolant, number, identifier, delimited_by<'(', ')', true> > > > >(src);
1317
+ // }
1318
+
1319
+ const char* ie_keyword_arg_property(const char* src) {
1320
+ return alternatives <
1321
+ variable,
1322
+ identifier_schema,
1323
+ identifier
1324
+ >(src);
1325
+ }
1326
+ const char* ie_keyword_arg_value(const char* src) {
1327
+ return alternatives <
1328
+ variable,
1329
+ identifier_schema,
1330
+ identifier,
1331
+ quoted_string,
1332
+ number,
1333
+ hex,
1334
+ hexa,
1335
+ sequence <
1336
+ exactly < '(' >,
1337
+ skip_over_scopes <
1338
+ exactly < '(' >,
1339
+ exactly < ')' >
1340
+ >
1341
+ >
1342
+ >(src);
1343
+ }
1344
+
1345
+ const char* ie_keyword_arg(const char* src) {
1346
+ return sequence <
1347
+ ie_keyword_arg_property,
1348
+ optional_css_whitespace,
1349
+ exactly<'='>,
1350
+ optional_css_whitespace,
1351
+ ie_keyword_arg_value
1352
+ >(src);
1353
+ }
1354
+
1355
+ // Path matching functions.
1356
+ /* not used anymore - remove?
1357
+ const char* folder(const char* src) {
1358
+ return sequence< zero_plus< any_char_except<'/'> >,
1359
+ exactly<'/'> >(src);
1360
+ }
1361
+ const char* folders(const char* src) {
1362
+ return zero_plus< folder >(src);
1363
+ }*/
1364
+ /* not used anymore - remove?
1365
+ const char* chunk(const char* src) {
1366
+ char inside_str = 0;
1367
+ const char* p = src;
1368
+ size_t depth = 0;
1369
+ while (true) {
1370
+ if (!*p) {
1371
+ return 0;
1372
+ }
1373
+ else if (!inside_str && (*p == '"' || *p == '\'')) {
1374
+ inside_str = *p;
1375
+ }
1376
+ else if (*p == inside_str && *(p-1) != '\\') {
1377
+ inside_str = 0;
1378
+ }
1379
+ else if (*p == '(' && !inside_str) {
1380
+ ++depth;
1381
+ }
1382
+ else if (*p == ')' && !inside_str) {
1383
+ if (depth == 0) return p;
1384
+ else --depth;
1385
+ }
1386
+ ++p;
1387
+ }
1388
+ // unreachable
1389
+ return 0;
1390
+ }
1391
+ */
1392
+
1393
+ // follow the CSS spec more closely and see if this helps us scan URLs correctly
1394
+ /* not used anymore - remove?
1395
+ const char* NL(const char* src) {
1396
+ return alternatives< exactly<'\n'>,
1397
+ sequence< exactly<'\r'>, exactly<'\n'> >,
1398
+ exactly<'\r'>,
1399
+ exactly<'\f'> >(src);
1400
+ }*/
1401
+
1402
+ const char* H(const char* src) {
1403
+ return std::isxdigit(static_cast<unsigned char>(*src)) ? src+1 : 0;
1404
+ }
1405
+
1406
+ const char* W(const char* src) {
1407
+ return zero_plus< alternatives<
1408
+ space,
1409
+ exactly< '\t' >,
1410
+ exactly< '\r' >,
1411
+ exactly< '\n' >,
1412
+ exactly< '\f' >
1413
+ > >(src);
1414
+ }
1415
+
1416
+ const char* UUNICODE(const char* src) {
1417
+ return sequence< exactly<'\\'>,
1418
+ between<H, 1, 6>,
1419
+ optional< W >
1420
+ >(src);
1421
+ }
1422
+
1423
+ const char* NONASCII(const char* src) {
1424
+ return nonascii(src);
1425
+ }
1426
+
1427
+ const char* ESCAPE(const char* src) {
1428
+ return alternatives<
1429
+ UUNICODE,
1430
+ sequence<
1431
+ exactly<'\\'>,
1432
+ alternatives<
1433
+ NONASCII,
1434
+ escapable_character
1435
+ >
1436
+ >
1437
+ >(src);
1438
+ }
1439
+
1440
+ const char* list_terminator(const char* src) {
1441
+ return alternatives <
1442
+ exactly<';'>,
1443
+ exactly<'}'>,
1444
+ exactly<'{'>,
1445
+ exactly<')'>,
1446
+ exactly<']'>,
1447
+ exactly<':'>,
1448
+ end_of_file,
1449
+ exactly<ellipsis>,
1450
+ default_flag,
1451
+ global_flag
1452
+ >(src);
1453
+ };
1454
+
1455
+ const char* space_list_terminator(const char* src) {
1456
+ return alternatives <
1457
+ exactly<','>,
1458
+ list_terminator
1459
+ >(src);
1460
+ };
1461
+
1462
+
1463
+ // const char* real_uri_prefix(const char* src) {
1464
+ // return alternatives<
1465
+ // exactly< url_kwd >,
1466
+ // exactly< url_prefix_kwd >
1467
+ // >(src);
1468
+ // }
1469
+
1470
+ const char* real_uri(const char* src) {
1471
+ return sequence<
1472
+ exactly< url_kwd >,
1473
+ exactly< '(' >,
1474
+ W,
1475
+ real_uri_value,
1476
+ exactly< ')' >
1477
+ >(src);
1478
+ }
1479
+
1480
+ const char* real_uri_suffix(const char* src) {
1481
+ return sequence< W, exactly< ')' > >(src);
1482
+ }
1483
+
1484
+ const char* real_uri_value(const char* src) {
1485
+ return
1486
+ sequence<
1487
+ non_greedy<
1488
+ alternatives<
1489
+ class_char< real_uri_chars >,
1490
+ uri_character,
1491
+ NONASCII,
1492
+ ESCAPE
1493
+ >,
1494
+ alternatives<
1495
+ real_uri_suffix,
1496
+ exactly< hash_lbrace >
1497
+ >
1498
+ >
1499
+ >
1500
+ (src);
1501
+ }
1502
+
1503
+ const char* static_string(const char* src) {
1504
+ const char* pos = src;
1505
+ const char * s = quoted_string(pos);
1506
+ Token t(pos, s);
1507
+ const unsigned int p = count_interval< interpolant >(t.begin, t.end);
1508
+ return (p == 0) ? t.end : 0;
1509
+ }
1510
+
1511
+ const char* unicode_seq(const char* src) {
1512
+ return sequence <
1513
+ alternatives <
1514
+ exactly< 'U' >,
1515
+ exactly< 'u' >
1516
+ >,
1517
+ exactly< '+' >,
1518
+ padded_token <
1519
+ 6, xdigit,
1520
+ exactly < '?' >
1521
+ >
1522
+ >(src);
1523
+ }
1524
+
1525
+ const char* static_component(const char* src) {
1526
+ return alternatives< identifier,
1527
+ static_string,
1528
+ percentage,
1529
+ hex,
1530
+ hexa,
1531
+ exactly<'|'>,
1532
+ // exactly<'+'>,
1533
+ sequence < number, unit_identifier >,
1534
+ number,
1535
+ sequence< exactly<'!'>, word<important_kwd> >
1536
+ >(src);
1537
+ }
1538
+
1539
+ const char* static_property(const char* src) {
1540
+ return
1541
+ sequence <
1542
+ zero_plus<
1543
+ sequence <
1544
+ optional_css_comments,
1545
+ alternatives <
1546
+ exactly<','>,
1547
+ exactly<'('>,
1548
+ exactly<')'>,
1549
+ kwd_optional,
1550
+ quoted_string,
1551
+ interpolant,
1552
+ identifier,
1553
+ percentage,
1554
+ dimension,
1555
+ variable,
1556
+ alnum,
1557
+ sequence <
1558
+ exactly <'\\'>,
1559
+ any_char
1560
+ >
1561
+ >
1562
+ >
1563
+ >,
1564
+ lookahead <
1565
+ sequence <
1566
+ optional_css_comments,
1567
+ alternatives <
1568
+ exactly <';'>,
1569
+ exactly <'}'>,
1570
+ end_of_file
1571
+ >
1572
+ >
1573
+ >
1574
+ >(src);
1575
+ }
1576
+
1577
+ const char* static_value(const char* src) {
1578
+ return sequence< sequence<
1579
+ static_component,
1580
+ zero_plus< identifier >
1581
+ >,
1582
+ zero_plus < sequence<
1583
+ alternatives<
1584
+ sequence< optional_spaces, alternatives<
1585
+ exactly < '/' >,
1586
+ exactly < ',' >,
1587
+ exactly < ' ' >
1588
+ >, optional_spaces >,
1589
+ spaces
1590
+ >,
1591
+ static_component
1592
+ > >,
1593
+ zero_plus < spaces >,
1594
+ alternatives< exactly<';'>, exactly<'}'> >
1595
+ >(src);
1596
+ }
1597
+
1598
+ extern const char css_variable_url_negates[] = "()[]{}\"'#/";
1599
+ const char* css_variable_value(const char* src) {
1600
+ return sequence<
1601
+ alternatives<
1602
+ sequence<
1603
+ negate< exactly< url_fn_kwd > >,
1604
+ one_plus< neg_class_char< css_variable_url_negates > >
1605
+ >,
1606
+ sequence< exactly<'#'>, negate< exactly<'{'> > >,
1607
+ sequence< exactly<'/'>, negate< exactly<'*'> > >,
1608
+ static_string,
1609
+ real_uri,
1610
+ block_comment
1611
+ >
1612
+ >(src);
1613
+ }
1614
+
1615
+ extern const char css_variable_url_top_level_negates[] = "()[]{}\"'#/;";
1616
+ const char* css_variable_top_level_value(const char* src) {
1617
+ return sequence<
1618
+ alternatives<
1619
+ sequence<
1620
+ negate< exactly< url_fn_kwd > >,
1621
+ one_plus< neg_class_char< css_variable_url_top_level_negates > >
1622
+ >,
1623
+ sequence< exactly<'#'>, negate< exactly<'{'> > >,
1624
+ sequence< exactly<'/'>, negate< exactly<'*'> > >,
1625
+ static_string,
1626
+ real_uri,
1627
+ block_comment
1628
+ >
1629
+ >(src);
1630
+ }
1631
+
1632
+ const char* parenthese_scope(const char* src) {
1633
+ return sequence <
1634
+ exactly < '(' >,
1635
+ skip_over_scopes <
1636
+ exactly < '(' >,
1637
+ exactly < ')' >
1638
+ >
1639
+ >(src);
1640
+ }
1641
+
1642
+ const char* re_selector_list(const char* src) {
1643
+ return alternatives <
1644
+ // partial bem selector
1645
+ sequence <
1646
+ ampersand,
1647
+ one_plus <
1648
+ exactly < '-' >
1649
+ >,
1650
+ word_boundary,
1651
+ optional_spaces
1652
+ >,
1653
+ // main selector matching
1654
+ one_plus <
1655
+ alternatives <
1656
+ // consume whitespace and comments
1657
+ spaces, block_comment, line_comment,
1658
+ // match `/deep/` selector (pass-trough)
1659
+ // there is no functionality for it yet
1660
+ schema_reference_combinator,
1661
+ // match selector ops /[*&%,\[\]]/
1662
+ class_char < selector_lookahead_ops >,
1663
+ // match selector combinators /[>+~]/
1664
+ class_char < selector_combinator_ops >,
1665
+ // match pseudo selectors
1666
+ sequence <
1667
+ exactly <'('>,
1668
+ optional_spaces,
1669
+ optional <re_selector_list>,
1670
+ optional_spaces,
1671
+ exactly <')'>
1672
+ >,
1673
+ // match attribute compare operators
1674
+ alternatives <
1675
+ exact_match, class_match, dash_match,
1676
+ prefix_match, suffix_match, substring_match
1677
+ >,
1678
+ // main selector match
1679
+ sequence <
1680
+ // allow namespace prefix
1681
+ optional < namespace_schema >,
1682
+ // modifiers prefixes
1683
+ alternatives <
1684
+ sequence <
1685
+ exactly <'#'>,
1686
+ // not for interpolation
1687
+ negate < exactly <'{'> >
1688
+ >,
1689
+ // class match
1690
+ exactly <'.'>,
1691
+ // single or double colon
1692
+ sequence <
1693
+ optional < pseudo_prefix >,
1694
+ // fix libsass issue 2376
1695
+ negate < uri_prefix >
1696
+ >
1697
+ >,
1698
+ // accept hypens in token
1699
+ one_plus < sequence <
1700
+ // can start with hyphens
1701
+ zero_plus <
1702
+ sequence <
1703
+ exactly <'-'>,
1704
+ optional_spaces
1705
+ >
1706
+ >,
1707
+ // now the main token
1708
+ alternatives <
1709
+ kwd_optional,
1710
+ exactly <'*'>,
1711
+ quoted_string,
1712
+ interpolant,
1713
+ identifier,
1714
+ variable,
1715
+ percentage,
1716
+ binomial,
1717
+ dimension,
1718
+ alnum
1719
+ >
1720
+ > >,
1721
+ // can also end with hyphens
1722
+ zero_plus < exactly<'-'> >
1723
+ >
1724
+ >
1725
+ >
1726
+ >(src);
1727
+ }
1728
+
1729
+ const char* type_selector(const char* src) {
1730
+ return sequence< optional<namespace_schema>, identifier>(src);
1731
+ }
1732
+ const char* re_type_selector(const char* src) {
1733
+ return alternatives< type_selector, universal, dimension, percentage, number, identifier_alnums >(src);
1734
+ }
1735
+ const char* re_static_expression(const char* src) {
1736
+ return sequence< number, optional_spaces, exactly<'/'>, optional_spaces, number >(src);
1737
+ }
1738
+
1739
+ // lexer special_fn: these functions cannot be overloaded
1740
+ // (/((-[\w-]+-)?(calc|element)|expression|progid:[a-z\.]*)\(/i)
1741
+ const char* re_special_fun(const char* src) {
1742
+
1743
+ // match this first as we test prefix hyphens
1744
+ if (const char* calc = calc_fn_call(src)) {
1745
+ return calc;
1746
+ }
1747
+
1748
+ return sequence <
1749
+ optional <
1750
+ sequence <
1751
+ exactly <'-'>,
1752
+ one_plus <
1753
+ alternatives <
1754
+ alpha,
1755
+ exactly <'+'>,
1756
+ exactly <'-'>
1757
+ >
1758
+ >
1759
+ >
1760
+ >,
1761
+ alternatives <
1762
+ word < expression_kwd >,
1763
+ sequence <
1764
+ sequence <
1765
+ exactly < progid_kwd >,
1766
+ exactly <':'>
1767
+ >,
1768
+ zero_plus <
1769
+ alternatives <
1770
+ char_range <'a', 'z'>,
1771
+ exactly <'.'>
1772
+ >
1773
+ >
1774
+ >
1775
+ >
1776
+ >(src);
1777
+ }
1778
+
1779
+ }
1780
+ }